标签:linux
1)IP分组 中3位标志
标志位共三位
最高位为0 该值必须复制到所有的分组中
DF(Do not Fragment)
DF 值为1 表示不能分片 如果分组的长度超过MTU 又不可以分片 则这个分组丢弃 并用ICMP差错报文向主机报告
0 表示可以分片
MF (More Fragment)
MF 值为1 表示接收的不是最后一个分片
0 表示 接收的是最后一个分片
2)分片、组装 过程 描述
IP分组头中 ,与分组和组装相关的 字段有: 标识(16位)、标志(3位)、片偏移(13位)。
最大传输单元:每中局域网 中规定的 帧的数据字段的最大长度。
分片过程:
当IP分组的长度大于数据链路层MTU时, 就必须对IP分组进行分片。IP分组首先需要确定片长度,然后将原始IP分组包括分组头分成第一片。
如果剩下的数据仍然超过片长度,则需要进行第二次分片, 第二次分片数据加上原来的分组头,构成第二片。这样一直分割下去,到最后一片剩下的数据小于MTU为止。
标识位:16位,最多分配ID65535个 标记是哪一个分组的
每个分组由多个分片组成,每个分片的标识位一样,这样到达目的主机,目的主机可以根据标识 将不同分组的分片找出来。
片偏移: 片偏移以8字节位单位来计算。利用片偏移可以对 通过标识位找到的同一分组的分片 进行排序,一位只要根据片偏移将他们进行排序,就找到了
一个分组。
标志位: 知道哪一个分片是当前分组的最后一个。
组装过程:
分组可能通过不同的传输路径到达目的主机。属于同一分组的不同片到达时会出现乱序,或者与其他分组混合在一起。首先,根据标识字段将属于同一分组的所有片挑出来,主机在第一个分片到达时分配一个存储缓冲区,当数据报的后序分片到达时,数据根据片位移被复制到缓冲区存储器中的指定位置,当所有的分片都到达时,原始数据报就恢复了。
3)路由表是 如何建立的
一般路由器只需要记录 子网掩码、目的网络地址、下一跳路由器地址与路由器转发端口,不需要也不可能记录完整的路径。
路由表就是记录上面信息的一张表。
路由表中的最后一行,主要由下一跳地址和发送接口两部分组成,当目的地址与路由表其他行都不匹配时,就按缺省路由条目规定的接口发送到下一跳地址。
路由表的生成 主要是通过 路由选择算法。
路由表的更新主要是通过 路由选择协议。如 路由信息协议 RIP、开放最短路径优先的OSPF协议。协议都是基于算法的。RIP基于向量-距离(V-D)路由选择算法。
V-D算法设计思想:
路由器周期性的通知相邻的路由器:自己可以到达的网络,以及到达该网络的距离(跳数)。
其他路由器在接收到这个路由器的(V,D)报文后,按照最短路径原则对自己的路由表进行刷新。
注意:刚开始路由器路由表没有信息,要经过初始化,初始化的路由表包含所有与该路由直接相连的网络的路由。然后就是不断的更新。
本文出自 “城市猎人” 博客,请务必保留此出处http://alick.blog.51cto.com/10786574/1833860
标签:linux
原文地址:http://alick.blog.51cto.com/10786574/1833860