计算机网络(四):网络层(1)

一.简介

从发送主机向接收主机发送数据段(segment)

每个主机和路由器都运行网络层协议,路由器检验所有穿越它的IP数据报的头部域

核心功能是路由转发

转发:将分组从路由器输入端口转移到合适的输出端口

路由:确定分组从源到目的经过的路径

二.网络层服务模型

连接服务

首先为系列分组的传输确定从源到目的经过的路径,然后沿着路径传输系列分组,系列分组传输路径相同,传输结束后拆除连接。

虚电路网络

虚电路网络是典型的连接服务

虚电路网络典型应用是ATM网络,帧中继网络。电话网络属于ATM网络,目前Internet不采用。

虚电路:一条从源主机到目的主机,类似于电路的路径(逻辑连接)

基本步骤:

  1. 呼叫建立
  2. 数据传输
  3. 拆除呼叫

每条虚电路包括:

  1. 从源主机到目的主机的一条路径
  2. 虚电路号,沿路每段链路一个编号
  3. 沿路每个网络层设备(路由器),利用转发表记录经过的每条虚电路

每个分组携带虚电路标识(VCID)

虚电路经过的每个网络设备维护每条经过它的虚电路连接状态

同一条VC,在每段链路上VCID通常不同,路由器在转发分组时一句转发表替换虚电路号

虚电路信令协议:用于VC的建立,维护与拆除。

无连接服务(数据报网络)

不事先确定传输路径,每个分组独立确定传输路径,不同分组可能传输路径不同

网络层无连接

每个分组携带目的地址

路由器根据分组的目的地址转发分组

路由器通过维护转发表确定将分组转发出口,由于IP地址过多,故转发表中目的地址一般都是地址范围,地址范围则涉及到地址匹配问题,采用最长前缀匹配优先进行匹配

Internet(数据报网络) Vs ATM(VC网络)

数据报网络:

  1. 计算机之间的数据交换,没有严格时间需求
  2. 链路类型众多
  3. 智能端系统,可自适应,差错恢复
  4. 简化网络,复杂边缘

ATM网络:

  1. 电话网络演化
  2. 核心业务是实时对话
  3. 非智能端系统
  4. 简化边缘,复杂网络

三.IP协议

IP协议是Internet网络层核心协议

核心学习内容

  1. IP数据报
  2. IP分片
  3. IP编址
  4. 有类IP地址
  5. IP子网划分与子网掩码
  6. CIDR与路由聚合

数据报格式

IP数据报头部

  1. 版本号:IP协议的版本号。4代表IPv4,6代表IPv6
  2. 首部长度:IP分组首部长度。以4byte为单位,最长为60字节。
  3. 服务类型:期望获得哪种类型的服务。只有在网络提供区分服务时使用,一般情况下不使用
  4. 总长度:IP分组的总字节数(首部+数据)
  5. TTL:IP分组在网络中可以通过的路由器数。路由器转发一次分组,TTL-1;若TTL=0,则路由器丢弃该IP分组。
  6. 协议:指示IP分组封装的是哪个协议的数据包。6表示TCP,17表示UDP
  7. 首部校验和:对IP分组首部的差错检测。
  8. 源IP地址,目的IP地址
  9. 选项字段:长度可变,在1-40B之间,携带安全,时间戳和路由记录等内容。实际上很少被使用
  10. 填充字段:长度可变,在0-3B之间,目的是补齐首部,符合32位对齐
  11. 标识,标志位,片偏移是用于IP分片,到介绍IP分片时会介绍

IP分片

网络链路存在MTU(最大传输单元)——链路层数据帧可封装数据的上限,不同链路的MTU不同,当大IP分组向较小MTU链路转发时,需要对大IP分组进行分片(fragmented)

1个IP分组分为多片IP分组,IP分片到达目的主机后进行重组(reassembled)。前面说到标识,标志位,片偏移字段都是用于分片。

标识(16bit):标识一个IP分组,IP协议利用一个计数器,每产生Ip分组技术器加1,作为该分组的标识

标志位(3bit):保留字段,DF(Dont Fragment)和MF(More Fragment)。
DF=1:禁止分片,DF=0:允许分片;
MF = 1:非最后一片,MF=0:最后一片(或未分片)

片偏移(13bit):一个IP分组分片封装原IP分组数据的相对偏移量,片偏移字段以8byte为单位。

IP分片过程如下图
IP分片

IP编址

IP地址:32bit(IPv4),编号标识主机,路由器的接口。IP地址与每个接口关联。

IP地址:网络号(NetID),主机号(HostID)

IP子网:IP地址具有相同网络号的设备接口,不跨越路由器,可以批次物理联通的接口。

IP地址可以分为A,B,C,D,E类编址,D,E类编址属于保留地址。
有类编址
特殊IP地址列表如下,值得注意的是netId和hostId都是0标识本机,netId为特定值,host为全1,标识广播地址。
特殊IP地址
还有一些私有IP地址:
私有IP地址

子网划分

采用子网掩码形式,IP地址分为:网络号,子网号,主机号。

子网掩码=网络号,子网号位全取1,主机号号位全取0.

A网的默认子网掩码为:255.0.0.0

B网的默认子网掩码为:255.255.0.0

C网的默认子网掩码:255.255.255.0

借用3bit划分子网的B网的子网掩码:255.255.224.0。可以看出使用3bit划分子网的话可以划分出8个子网。使用IP地址与子网掩码按位与运算即可提取子网地址

CIDR与路由聚合

CIDR(Classless InterDomain Routing)叫做无类间路由。用来消除传统的A,B,C类地址界限,即netId+subId可以任意长度。标识形式为a.b.c.d/x,x标识前缀长度,也就是netId+subId的长度。

其作用是提高IPv4地址空间分配效率,提高路由效率(可以将多个子网聚合成一个较大的子网,而不受传统有类地址的限制)

将多个子网聚合成一个较大的子网,就叫做路由聚合,路由聚合可以减少路由表中的记录,路由采用最长前缀匹配优先。

四.其他协议

DHCP协议

用于主机获取IP地址。主机获取IP地址有两种方式,第一种静态配置,在Internet 协议版本中人工填写IP地址,子网掩码,默认网关等。第二种就是采用DHCP(Dynamic Host Configuration Protocol)动态主机配置协议。从服务器动态获取IP地址,子网掩码,默认网关,DNS服务器名称与地址。DHCP协议在应用层实现,请求报文封装到UDP数据报中,采用链路层广播。

DHCP分为四步:

  1. 主机使用0.0.0.0地址广播“DHCP discover”
  2. DHCP服务器发送“DHCP offer”进行响应
  3. 主机请求IP地址“DHCP request”
  4. DHCP服务器分配IP地址“DHCP ack”

NAT(Network Address Transfer)

动机:只需/能从ISP申请一个IP地址;本地网络设备IP地址的变更,无需通告外界网络;变更ISP时,无需修改内部网络设备IP地址;内部网络设备对外界网络不可见,即不可直接寻址。

实现步骤:

  1. 替换:利用NAT IP地址,新端口号替换每个外出IP数据报的IP地址和端口号
  2. 记录:将每对NAT IP地址,新端口号与源IP地址,源端口号的替换信息存储到NAT转换表中。
  3. 替换:根据NAT转换表,利用源IP地址,源端口号替换每个进入内网的IP数据报的NAT IP地址,新端口号

争议:路由器应该只处理到网络层功能,而NAT需要处理到传输层。违背端到端通信的远侧。地址短缺问题应该由IPv6来解决。

NAT穿透问题

NAT穿透问题就是客户希望访问内网地址的服务器,但对外可见地址是NAT地址。

方案一:静态配置NAT,将特定端口的连接请求转发给服务器

方案二:利用IGD(Internet Gateway Device)自动配置,学习到NAT公共IP地址,在NAT转换表中,增删端口映射。也就是前面实现步骤说的方式

方案三:中继(例如Skype)。NAT内部的客户与中继服务器建立连接,外部客户也与中继服务器建立连接,中继服务器桥接两个连接的分组。

ICMP(Internet Control Message Protocol)

互联网控制报文协议支持主机和路由器进行差错报告和网络探询。

差错报告有5种报文,分别为目的不可达,源抑制,超时,参数问题,重定向

网络探询:回声请求与应答报文,时间戳请求与应答报文
ICMP
几种不发送ICMP差错报告报文的特殊情况:

  1. 对ICMP差错报告报文不再发送ICMP差错报告报文
  2. 除第1个IP数据报分片外,对所有后续分片均不发送ICMP差错报告报文
  3. 对所有多播IP数据报均不发送
  4. 对具有特殊地址的IP数据报不发送

IPv6

原因:32位IPv4地址空间已分配殆尽;改进首部格式以支持快速处理/转发数据报;支持QoS(quality of service)

IPv6数据报格式:固定长度的40字节基本首部,不允许分片。
IPv6
优先级:标识数据报的优先级

流标签:标识同一流中的数据报

下一个首部:标识下一个选项首部或上层协议首部

移除了校验和,选项从基本首部中移出,定义多个选项首部,通过下一个首部字段指示。ICMPv6是新版的ICMP,附加报文类型,支持多播组管理功能。

一般形式:1080:0:FF:0:8:800:200C:417A

压缩形式:FF01:0:0:0:0:0:0:43
压缩为:FF01::43。

IPv4嵌入形式:0:0:0:0:0:FFFF:13.1.68.3
或 ::FFFF:13.1.68.3

IPv6不再使用掩码形式,都采用前缀形式。url形式:http://[3FFE::1:800:200C:417A]:8000。传播形式有单播,多播和任一播(一对一组之一通信,一般是最近的一个)

IPv4与IPv6共存:采用隧道技术,将IPv6数据报封装成IPv4数据报的载荷进行封装,穿越IPv4网络。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值