概述和功能
网络层的主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。
网络层传输单位是数据报。
网络层的功能:
- 路由选择与分组转发
- 异构网络互联
- 拥塞控制:若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。
IP数据报格式
版本: IPv4 / IPv6?
首部长度:单位是4B,最小为5。
区分服务:指示期望获得哪种类型的服务。
总长度:首部+数据,单位是1B。
标识:同一数据报的分片使用同一标识
标志:三位长但只有后两位有意义 中间位DF(1 禁止分片 0 允许分片) 最低位MF(1 后面还有分片 0 后面没有分片)
片偏移:指出较长分组分片后,某片在原分组中的相对位置。以8B位单位
生存时间(TTL) : IP分组的保质期。经过一个路由器-1,变成0则丢弃。
协议:数据部分的协议。
首部检验和:只检验首部。
源IP地址和目的IP地址:32位。
可选字段:0~40B ,用来支持排错、测量以及安全等措施。
填充:全0,把首部补成4B的整数倍。
IP数据报分片
如果所传送的数据报长度超过某链路的MTU值(链路层数据帧可封装数据的上限),就要进行分片。
转发
IPV4地址
IP地址:全世界唯一的32位/4字节标识符,标识路由器主机的接口。
IP地址:={<网络号>,<主机号>} eg:1101111100000001 00000001 00000001=223.1.1.1
ip地址分类:
特殊的IP地址
私有IP地址
网络地址转换NAT
路由器对目的地址是私有IP地址的数据报一律不进行转发。
网络地址转换NAT (Network Address Translation) :在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址。
子网划分与子网掩码
分类的IP地址的弱点:
1.IP地址空间的利用率有时很低。
2.两级IP地址不够灵活。
子网划分:
子网掩码
网络号全1,主机号全0
子网掩码与IP地址逐位相与,就得到子网网络地址。
IPv6
32位IPv4地址空间已分配殆尽…
CIDR和NAT治标不治本
而IPv6从根本上解决地址耗尽问题,支持快速处理/转发数据报,支持QoS
QoS ( Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。
IPv6和IPv4
1.IPv6将地址从32位(4B) 扩大到128位(16B) ,更大的地址空间。
2.IPv6将IPv4的校验和字段彻底移除,以减少每跳的处理时间。
3.IPv6将IPv4的可选字段移出首部,变成了扩展首部,成为灵活的首部格式,路由器通常不对扩展首部进行检查,
大大提高了路由器的处理效率。
4.IPv6支持即插即用( 即自动配置),不需要DHCP协议。
5.IPv6首部长度必须是8B的整数倍,IPv4 首部是4B的整数倍。
6.IPv6只能在主机处分片,IPv4可 以在路由器和主机处分片。
7.ICMPv6:附加报文类型“分组过大”。
8.IPv6支持资源的预分配,支持实时视像等要求,保证一定的带宽和时延的应用。
9.IPv6取消了协议字段,改成下一个首部字段。
10.IPv6取消了总长度字段,改用有效载荷长度字段。
11.1Pv6取消了服务类型字段。
路由选择
ARP协议
ARP高速缓存:(IP地址与MAC地址的映射)
IP1发至IP3,不知道三号主机的mac地址,需要通过IP地址与mac地址的映射得知或者广播请求分组
由于在实际网络的链路上传送数据帧时,最终必须使用MAC地址。
ARP协议:完成主机或路由器IP地址到MAC地址的映射。解决下- -跳走哪的问题
ARP协议使用过程:
检查ARP高速缓存,有对应表项则写入MAC帧,没有则用目的MAC地址为FF-FFF-FF-FF的帧封装并广播ARP请求分组,同一局域网中所有主机都能收到该请求。目的主机收到请求后就会向源主机单播一个ARP响应分组,源主机收到后将此映射写入ARP缓存( 10-20min更新一次)。
ARP协议4种典型情况:
1.主机A发给本网络上的主机B:用ARP找到主机B的硬件地址;
2.主机A发给另一网络上的主机B:用ARP找到本网络上一个路由器(网关)的硬件地址; .
3.路由器发给本网络的主机A:用ARP找到主机A的硬件地址;
4.路由器发给另一网络的主机B:用ARP找到本网络上的一个路由器的硬件地址。
DHCP协议
主机如何获得IP地址
- 静态配置(IP地址,子网掩码,默认网关)
- 动态配置
动态主机配置协议DHCP是应用层协议,使用客户/服务器方式,客户端和服务端通过广播方式进行交互,基于UDP。
DHCP提供即插即用联网的机制,主机可以从服务器动态获取IP地址、子网掩码、默认网关、DNS服务器名称与IP地址,允许地址重用,支持移动用户加入网络,支持在用地址续租。
1.主机广播DHCP发现报文
“有没有DHCP服务器呀?”试图找到网络中的服务器,服务器获得一个IP地址。
2.DHCP服务器广播DHCP提供报文“有! ”“有!”“有!”服务器拟分配给主机一个IP地址及相关配置,先到先得。
3.主机广播DHCP请求报文“我用你给我的IP地址啦?”主机向服务器请求提供IP地址。
4.DHCP服务器广播DHCP确认报文“用吧! ”正式将IP地址分配给主机。
ICMP协议
ICMP协议支持主机或路由器:差错(或异常)报告、网络探询(发送特定的ICMP报文)
ICMP差错报告报文类型:
1.终点不可达:当路由器或主机不能交付数据报时就向源点发送终点不可达报文。无法交付
2.源点抑制:当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。
3.时间超过:当路由器收到生存时间TTL=0的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。TTL=0
4.参数问题:当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。
5.改变路由(重定向) :路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器
(可通过更好的路由)。
不应该发送ICMP差错报文的情况
1.对ICMP差错报告报文不再发送ICMP差错报告报文。
2.对第-一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。
3.对具有组播地址的数据报都不发送ICMP差错报告报文。
4.对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文。
ICMP询问报文
1.回送请求和回答报文
主机或路由器向特定目的主机发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。测试目的站是否可达以及了解其相关状态。
2.时间戳请求和回答报文请某个主机或路由器回答当前的日期和时间。用来进行时钟同步和测量时间。
3.掩码地址请求和回答报文
4.路由器询问和通告报文
ICMP的应用
- PING
- traceroute 跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文。