1. Ip分片


  2.  分片和重新组装的过程对于传输层是透明的,原因是IP数据报进行分片以后,只有它到达下一站时才可以 进行重新组装,且它是由目的端的IP层来完成的,分片之后的数据报根据需要可以再次 分片;

  3.      IP分片和完整的报文差不多拥有相同的IP头,ID域对美英分片都是一致的,这样才能在进行组装的时候识别出来 同一个IP数据报文分片。在IP头里面,16位识别号唯一记录了一个IP报的ID,具有同一个ID的IP分片将会重新进行组装;而13位片偏移则记录了某IP片相对于整个包的位置;这两个表中间的3位标志则标志着该分片后面是否还有新的分片。这三个域组成了IP分片的所有信息,接受方可以利用这些信息对IP数据进行重新组装。

  4. (1)标志字段的作用

  5.    0   DF  MF

  6. 标志字段共三位,最高位为0,该值必须复制到 所有 分组中


  7. 不分片(Do not Fragment ,DF)值必须复制。DF=1表示 接受主机不能对分组进行分片。如果分组的长度超过 MTU,又不可以分片,那么这个分组只能丢弃,并要用ICMP差错报文向源主机报告 。DF=0,表示可以分片


  8. 分片(MF)表示分片是不是最后一个分片,MF=1表示接受分片不是 最后一个分片,MF=0表示 接受分片时是最后一个分片

    2.Ip分片步骤

   一个未分片的数据报的分片信息字段全为0,即多个分片标志位为 0,并且偏移量 为0,分片一个数据报需要经过一下步骤

  1. (1)检查DF标志位,查看是否允许分片,如果设置了该位,则数据报将被丢弃 ,并将ICMP错误返回给源端

  2. (2)基于MTU值,把数据字段分成两个或对个部分,除了最后的数据 部分外,所有新建的数据选项 长度必须为8字节的倍数

  3. (3)每个数据被放入一个IP数据报,这些数据报的包头略微改了原先的报文头

  4. (4)除了最后的数据报分片外,所有的分片都设置了多个分片标志位

  5. (5)每个分片中的片偏移量字段设为这个数据部分在原来数据报中所占的位置,这个位置相对于原来未分片数据报中的开头处。
    (6)如果在原来的数据报中包括了选项,则选项类型字节的高位字节决定了这个信息是被复制到所有分片数据报,还是只复制到第一个数据报。
    (7) 设置新数据报的报文头字段及总长度字段。
    (8)重新计算报文头部校验和字段。

  6.    此时这些分片数据报如一个完整的IP数据报一样被转发,IP独立的处理每个数据报分片,数据报分片能够通过不同的路由 ,到达目的,如果他们通过了那些规定了更小的MTU路由,还能够进一步对他们进行分片

  7.     在目的主机上,数据被 重新组合成原来的数据报 ,发送主机设置的标示字段与数据报中的袁IP地址和目的IP地址一起使用,分片过程不改变这个字段

  8. 3.Ip组装过程

  9.  为了重新组合这些数据报分片,接受主机在第一个分片到达时分配一个存储缓冲区。这个主机还将启动一个计时器。当数据报的后续分片到达时,数据被复制到缓冲区存储器中片偏移量指定的位置,当所有分片都到达时,完整的未分片的原始数据报就被恢复了。

  10.     如果计时器超时并且分片保持尚未认可状态,则数据将被丢弃。这个计时器的初始值为IP数据报的生存期值,它依赖于实现的,一些实现允许对他进行配置。

  11. 重组步骤

  12. 在接受方,一个由发送方发出的原始数据IP报,将所有的分片重新组合,才能够提交到上一层协议,每一个将被重组的IP数据报都用一个ipq结构来表示

  13. 为了能够有效提高组装分片,用于保存分片的结构必须做到以下几点

  14. (1)快速定位某一个数据报的一组分组

  15. (2)在属于某一个数据报的一组分片中快速插入新的分片

  16. (3)有效的判断一个数据报的所有分片是否已经被全部接收

  17. (4)具有重组超时机制,如果在重组完成之前超时溢出,则删除该数据报的所有内容

  18. 4.路由选择算法

     (1)、下一站选路的基本思想

      路由表仅指定从该路由器到目的地路径上的下一步,而不知道到达目的地的完整路径。

      静态路由和动态路由

      静态路由是由人工建立和管理的,不会自动发生变化,必须手工更新以反映互联网拓扑结构连接方式变化。

      动态路由可以通过自身学习,自动修改和刷新路由表。动态路由要求路由器之间不断的交换由信息。

       路由选择协议:

      1、使用动态路由的基本条件

      路由器运行相同的路由选择协议,执行相同的路由选择算法。

      2、广泛采用的路由选择协议

      路由信息协议RIP:利用向量-距离算法

      开放式最短路径优先协议OSPF:利用链路-状态算法

      路由选择算法:

      1、向量-距离路由选择算法

      基本思想:路由器周期性地向其相邻路由器广播自己知道的路由信息,用以通知相邻路由器己可以到达的网络以及到达该网络的距离。相邻路由器可以根据收到的路由信息修改和刷新自己的路由表。

      优点:算法简单、易于实现

      缺点:慢收敛问题:路由器的路径变化需要像波浪一样从相邻路由器传播出去,过程缓慢

     

      2、链路-状态路由选择算法

      基本思想:互联网上的每个路由器周期性地向其它路由器广播自己与相邻路由器的连接关系,互联网上的每个路由器利用收到的路由信息画出一张互联网拓扑结构图。利用画出的拓扑结构图和最短路径优先算法,计算自己到达各个网络的最短路径。

      OSPF路由选择协议

      优点:收敛速度快;支持服务类型选择;提供负载均衡和身份认证。

  缺点:要求较高的路由器处理能力;一定的带宽需求。