参考链接
- CSKAOYAN.COM
重要协议
ARP协议(MAC地址和IP地址的映射)
由于在实际网络的链路上传送数据时,最终必须用MAC地址,所以有ARP协议
ARP协议:完成主机或路由器IP地址到MAC地址的映射(解决下一跳走哪的问题)
APR协议的使用过程:
检查ARP高速缓存,有对应的表项则写入MAC地址,没有则用目的MAC地址为FF-FF-FF-FF-FF-FF的帧封装并广播ARP请求分组,同一局域网中所有主机都能收到该请求。目的主机收到请求后就会向源主机单播一个ARP相应分组,源主机收到后将此映射写入ARP缓存(10-20min更新一次)
ARP协议4中典型情况:
- 主机A发给本网络上的主机B:用ARP找到主机B的硬件地址
- 主机A发给另一网络上的主机B:用ARP找到本网络上一个路由器(网关)的硬件地址
- 路由器发个本网络的主机A:用ARP找到主机A的硬件地址
- 路由器发给另一个网络上的主机B:用ARP找到本网络上的一个路由器的硬件地址
ARP协议自动进行
DHCP协议(动态获取IP地址)
动态主机配置协议DHCP是应用层协议,使用用户/服务器方式,客户端和服务端通过广播方式进行交互,基于UDP
DHCP提供即插即用联网的机制,主机可以从服务器动态获取IP地址、子网掩码、默认网关、DNS服务器名称与IP地址,允许地址重用,支持移动用户加入网络,支持在用地址续租
- 主机广播DHCP发现报文。试图找到网络中的服务器,服务器获得一个IP地址
- DHCP服务器广播DHCP提供报文。服务器拟分配给主机一个IP地址以及相关配置,先到先得
- 主机广播DHCP请求报文。主机向服务器请求提供IP地址
- DHCP服务器广播DHCP确认报文。正式将IP地址分配给主机
网际控制报文协议ICMP
ICMP差错报告报文
-
终点不可达:当路由器或主机不能交付数据报时就向源点发送终点不可达报文。(无法交付)
-
源点抑制:当路由器或主机由于拥塞而丢弃数据时,就向源点发送源点抑制报文,使原点知道应当把数据报的发送速率放慢。(拥塞丢数据)
-
时间超过:当路由器收到生存时间TTL=0的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。(TTL=0)
-
参数问题:当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。(首部字段有问题)
-
改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。(值得更好的路由)
ICMP差错报告报文数据字段
不应发送ICMP差错报文的情况
-
对ICMP差错报告报文不再发送ICMP差错报告报文
-
对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文
-
对具有组播地址的数据报都不发送ICMP差错报告报文
-
对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文
ICMP询问报文
-
回送请求和回答报文。主机或路由器向特定目的主机发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。测试目的站是否可达以及了解其相关状态
-
时间戳请求和回答报文。请某个主机或路由器回答当前的日期和时间。用来进行时钟同步和测量时间
-
掩码地址请求和回答报文
-
路由器询问和通告报文
ICMP的应用
-
PING。测试两个主机之间的连通性,使用了ICMP回送请求和回答报文
-
Traceroute。跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文
网际组管理协议IGMP
IGMP协议让路由器知道本局域网上是否有主机(的进程)参加或退出了某个组播组
ICMP和IGMP都使用IP数据报传递报文
IGMP工作的两个阶段
阶段1
某主机要加入组播组时,该主机向组播组的组播地址发送一个IGMP报文,声明自己要成为该组的成员
本地组播路由器收到IGMP报文后,要利用组播路由选择协议把这组成员关系发给因特网上的其他组播路由器
阶段2
本地组播路由器周期性探询本地局域网上的主机,以便知道这些主机是否还是组播组的成员
只要有一个主机对某个组响应,那么组播路由器就认为这个组是活跃的;如果经过几次探询后没有一个组件响应,组播路由器就认为本网络上没有此组播组的主机,因此就不再把这组的成员关系发给其他的组播路由器
组播路由器知道的成员关系只是所链接的局域网中有无组播的成员
组播路由选择协议
组播路由选择协议目的是找出以源主机为根节点的组播转发树
构造树可以避免在路由器之间兜圈子
对不同的多播组对应于不同的多播转发树;同一个多播组,对不同的源点也会有不同的多播转发树
组播路由选择协议常使用的三种算法:
- 基于链路状态的路由选择
- 基于距离-向量的路由选择
- 协议无关的组播(稀疏/密集)