4.3.8 ICMP
主机在发送数据报,由于各种原因发送错误,路由器或主机把错误报告通过一些控制消息告诉源主机。源主机根据ICMP报文确定错误类型,并且确定如何更好的重发失败的数据报。
ICMP差错报文:
1.终点不可达。路由器或主机不能交付数据报,原点发送终点不可达报文。
2.源站抑制。路由器或主机拥塞丢弃数据报。
3.时间超过。IP的TTL为0,丢弃该分组,向源点发送抑制报文。
4.参数问题。参数配置错误。
5.重定向改变路由。
ICMP询问报文:
有回送请求和回答报文。
时间戳请求和回答报文。
掩码地址请求和回答报文。
路由器询问和通告报文。
不应该发送ICMP差错报文报告几种情况:
(1对ICMP差错报文不再发送ICMP差错报文
(2第一个数据报分片 以后的数据报片都不发送ICMP差错报文。
(3具有组播地址的数据报不发送ICMP差错报文。
(4特殊地址的数据报不发送ICMP差错报文。
ICMP报文应该包括类型和代码,源主机收到该报文就知道由于什么障碍重传。
需要将错误的数据报首部放在ICMP报文中,还要将出错IP数据报的数据部分的前八个字节放入ICMP中,(用于区分tcp或udp)
找到源主机和用户进程,找到了发送数据的源泉。

ICMP数据包括,IP数据报首部和IP数据报的8个字节(TCP/UDP)。
两个应用:
(1ping 使用了ICMP回送请求与回送回答报文,应用层直接使用网络层
(2tracert跟踪分组经过的路由,工作在网络层
4.4IPV6
4.5路由协议
(一)
内部网关协议:
自治系统内部使用的路由选择协议,与互联网中其他自治系统路由选择协议无关。
RIP和OSPF
外部网关协议:
源站和目的站处于不同自治系统种,需要外部网关协议将选择信息传送到另一个自治系统中。
(二)RIP
指的是路由器,原则:再传送数据报到目的网络的途中经过的路由器数目最少,时延小,但是经过路由器多的路不走。RIP只关心与自己相邻的路由交换信息。
特点:
(1选择通过的路由器数目少的路由,如果经过的路由数量多,那么就舍弃。
(2仅和相邻路由器交换信息。
(3交换信息时当前本路由器所知道的全部信息。(路由表)
(4按固定的时间间隔交换路由信息
距离-向量算法:
RIP报文:

RIP报文使用的是UDP传输。
首部+路由部分=RIP报文
RIP报文+UDP首部= UDP用户数据报
UDP数据报+IP首部= IP数据报
RIP首部为4B,1B命令,1B版本,2B肯定为0
路由:
每个路由器把自己的路由表告诉相邻路由器,需要通过RIP报文来传送。
首先构造4B首部,剩下把路由表分成几段,一段25个路由,一个路由20B。
RIP报文大小:4+25×20=504
RIP优缺点:
优点:实现简单、开销小、收敛过程快
缺点:
RIP限制网络规模,最大15跳
路由器交换完整路由表,随着网络规模大,开销更大。
网络出现故障,RIP经过比较长的时间才能将此信息传送到所有路由器,坏消息传得慢。
OSPF:
用于比较大的自治系统。
BGP:
边界网关协议在不同自治系统路由器之间交换路由信息的协议。
路径-向量路由选择协议,力求找到一条能够到达目的网络且较好的路由。
原因:
(1因特网规模太大
(2对于自治选择之间的路由选择,寻找最佳路由是不现实的。
(3自治系统之间的路由选择必须考虑有关策略。
原理:
(1每一个自治系统管理员要选择至少一个路由器作为BGP发言人。
(2一个BGP发言人要与其他自治系统种BGP发言人先建立TCP连接。
(3再TCP连接接触上交换BGP报文以建立BGP会话,利用BGP会话交换路由信息。
(4BGP发言人交换网络可达性信息,BGP发言人找到到达各自治系统比较好的路由了。
BGP特点:
(1BGP交换路由信息节点数量级是自治系统数
(2每一个自治系统BGP发言人数目很少,自治系统之间的路由选择不复杂。
(3BGP支持CIDR,BGP路由表也就应当包括目的网络前缀、下一跳路由器、到达该目的网络要经过的各个自治系统序列。
(4BGP刚刚开始运行,BGP是交换整个路由表,以后需要再发生变化时更新需要变化的部分就可以。
BGP四种报文:
打开:相邻的另一个BGP发言人建立关系。
更新:发送某一路由的信息以及列出要撤销的多条路由。
保活:打开报文和周期性的证明邻站关系。
统治:发送检测到的差错
4.6IP组播
组播仅应用于UDP
















