IP数据报报头中,包含下列内容:数据单元标识(ID),数据长度,偏移(offset),还有标识(more flag)。路由器中IP分段的功能:offset=0是整个数据的开始,more-flag=0是整个数据报的结束。
(1)建立两个新的数据报,它们的头部就是原先数据报的头报
(2)以64位为边界,把原先的数据报分成长度差不多的两部分,把它们分别放入新的数据报中。第一部分必须是64位的倍数。
(3)把第一个新数据报的长度设置为所插入的数据,把more-flag设置成1,offset不变。
(4)把第二个新数据报的长度设置为所插入的数据,把more-flag设置成0,offset设置成第一部分数据长度除以8。
生命周期:一种是对来到的第一段设置一个生命周期,如果在生命周期内没有完成重级工作,那么就撤销已经到达的分段;第二种是利用数据报的生命周期,它包含在每一段的头部中,若重组工作没有在数据报生命周期内完成,则撤销接收到的分段。
四、IP数据报的路由选择
1、直接传送和间接传送
直接传送将一个数据报从一台机器经过单个物理网络直接传送至目的站点,这是所有internet通信的基础。只有当两台机器连在同一底层物理传输系统时,才能采用直接传送方式。否则只能用间接传送方式,发送方将数据发送给一个路由器再传送。
2、IP路由选择表
路由表存储各个目的站点以及如何到达目的站点的信息。为了尽可能使用最少的信息进行路由选择,采用信息隐蔽原则。
路由表的选择表的大小仅取决于互联网中网络的数量,与连到网上的主机的数量无关。IP路由选择软件仅需要维护有关目的网络地址的信息,而与主机地址的信息无关。
保持路由表尽可能小的技术是把多个表项统一到一个默认的情况。
3、ICMP差错与控制报文协议
(1)为了使互联网中的路由器报告差错或提供有关意外的情况信息,在TCP/IP中设计了一个特殊用的报文机制,称internet控制报文协议ICMP,它是IP的一部分。
(2)ICMP机制:ICMP报文放在一个IP数据报的数据部分中通过互联网。允许路由器向其他路由器或主机发送差错或控制报文。ICMP是一个差错报告机制,它为发生差错的路由器提供了向初始源站点报告差错的方法。
(3)ICMP报文格式:由三个字段组成,即一个8位整数的报文类型字段用来标识报文、一个8位代码字段提供有关报文类型的进一步信息、以及一个16位校验和字段。
(4)ICMP报文类型:回送请求/应答报文(回送请求/应答、时间戳请求/应答、地址请求/应答),差错报告(包括主机不可达报告、超时报告、参数出错报告),控制报文(源抑制报文、重定向报文)。
五、路由选择算法
1、距离矢量路由选择V-D,
2、链路状态路由选择或称最短路径优先算法(SPF),要求每个参与的路由器都要具有完全的拓扑结构,只需要完成两项任务:负责检测所有相邻路由器状态;周期地向其他路由器传递链路状态信息。其优点:每个路由器用相同的原始状态数据独立地计算路由,并不依赖于中间的机器。
六、内部网关协议
在一个自治系统内的两个路由器彼此互为内部路由器,使用内部网关协议(IGP),自治系统之间的使用外部网关协议(EGP)来通信。
1、路由选择信息协议(RIP)采用V-D算法,距离矢量路由选择算法,分成主动和被动两类,只有路由器工作在主动模式,主机必须使用被动模式。工作在主动模式的路由器进行监听,并根据收到的通知更新其路由。以主动方式运行RIP的路由器每间隔30秒广播一次报文。
RIP对点到点连接和广播型网络两者都提供支持。RIP分组是通过UDP和IP传输的。RIP进程使用UDP的520端口来进行发送和接收。
RIP报文格式:报头32位,命令字为1表示请求部分的或全部的路由选择信息。命令字为2表示响应,包含发送方路由选择表内的网络地址和距离值一对信息。