网络层的任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层的传输单位是数据报。将数据报分为多个分组后在进行发送。
IP数据报中的标识:如果一个IP数据报进行了分片,那么每个分片的标识都是一样的。
如果路由器处理分组的速率赶不上分组进入队列的速率,则缓存队列的存储空间必定减少到零,这就使后面再进入队列的分组由于没有存储空间而被丢弃。
路由器的输入和输出队列产生溢出是造成分组丢失的重要原因。
特殊IP地址
网络号全0,主机号也为0:这个地址是在你不知道你的IP地址是多少的时候用的,不可以做目的地址。
网络号全0主机号为指定值:这个地址不可以作为源地址,他可以作为目的地址向本网络中的其他主机发送数据。
网络号为指定值主机号全0:即不可以做源地址也不可以做目的地址。用于标识一个网络(一个网络有多个主机)
网络号与主机号全1:向本网络内发送广播。路由器不会转发到其他网络
网络号为指定值主机号全1:对指定网络进行广播
网络号为127主机号为任意数(非全0/1):用于软件测试的回环地址
私有IP地址:这类地址只能用于单位或学校的局域网,路由器对目的地址是私有IP地址的路由器一律不转发。如果需要与外界通信那么就要用到NAT转发技术
A类:10.0.0.0~10.255.255.255;网段个数(网络号位数)为1
B类:172.16.0.0~172.31.255.255;网段个数为2
C类:192.168.0.0~192.168.255.255;网段个数为3
NAT(网络地址转换)
在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址。
ARP协议
ARP协议的四种典型情况(路由和主机的角色是一样的)
- 主机A发给本网络上的主机B,用ARP找到主机B的MAC地址
- 主机A发给另一个网络上的主机B,用ARP找到本网络上的一个网关(路由器)的MAC地址。将含有A和B的IP地址的数据帧发送给路由器,然后主角就是路由器了,就这样一步步将数据送到目的IP B主机上。
- 路由器发给本网络的主机A,用ARP找到主机A的MAC地址
- 路由器发给另一个网络的主机B,用ARP找到本网络上的另一个路由器的MAC地址,然后一步步走向主机B
DHCP协议
动态配置协议DHCP是应用层协议,使用客户/服务器的方式,客户端和服务器端通过广播的方式进行交互,基于UDP。
DHCP执行过程
- 主机广播DHCP发现报文==》有没有DHCP服务器啊?
- DHCP服务器广播DHCP提供报文==》 有有有,服务器就会拟分配一个IP给他
- 主机广播DHCP请求报文==》我用你给我的啦。主机请求使用这个IP
- DHCP服务器广播DHCP确认报文==》用吧。服务器会将这个分配出去的IP地址从空闲IP地址中去除。
网际控制报文协议ICMP
ICMP分为差错报文和控制报文
差错报文
- 终点不可达:当路由器或主机不能交付数据报时就向源点发送重点不可达报文
- 时间超过:当路由器收到生存时间TTL=0的数据报时,除了丢弃该数据报外还要向源点发送时间超过报文。终点在预先的规定时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。
- 参数问题:当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就应该丢弃该数据报,并向源点发送参数问题报文
- 改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好更近的路由)
ICMP报文的数据部分为收到的IP数据报的首部加上收到的IP数据部分的前8个字节。ICMP报文是IP报文的数据部分,IP报文的协议字段将会是ICMP(1)。
不会发送ICMP报文的情况
- 对于ICMP报文的差错不会再发送ICMP差错报文
- 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文
- 对具有组播地址的数据报都不发送ICMP差错报告报文
- 对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文
ICMP询问报文
- 回送请求和回答报文:主机或路由器向特定的主机发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。测试目的站是否可达以及了解其相关状态。具体应用如:ping
- 时间戳请求和回答报文:请某个主机或路由器回答当前的日期和时间。
ICMP应用
PING:测试两个主机之间的连通性,使用了ICMP询问报文
image-20200407090153965.png
可以看到IP首部的协议字段为ICMP
Traceroute:跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报文。第一次发送一个报文并且置TTL=1,那么发送到离自己最近的路由时就会返回一个ICMP超时报文。然后再发,并将TTL=2,这是就能够看到第二个路由器,就这样发发发TTL加加加,直到TTL的值能够着目的IP地址时这么一条路由线路就产生了。
路由选择协议
路由选择协议分为内部网关协议和外部网关协议
内部
RIP、OSPF
外部
BGP
自治系统AS:在单一的技术管理下的一组路由器,这些路由器使用一种AS内部的选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由。
一个自治系统内使用的内部网关协议在外部是看不到它用的什么协议的
组播(多播)
IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址(一群共同需求主机的相同标识)
组播地址属于D类地址,范围为224.0.0.0~239.255.255.255。一个D类地址标识一个组播组。只能用作分组的目的地址。源地址肯定只能为单播地址。一点对多点。
组播特点
- 组播数据报也是“尽最大努力交付”,不提供可靠交付,应用于UDP。
- 对组播数据报不产生ICMP差错报文
- 并非所有的D类地址都可以做组播地址
