図1に示すように、IPv4のフラグメントのフラグメンテーション
なぜこれがCPU時間を節約できます
データグラムがすでにこれを使用すると、データをソートすることができますように1,3,2とデータの再編成を、達成することができたときなので、すべてのデータが到達は、並べ替えまで待っていませんが、4、設定時間を待たなければなりません図4は、この断片が失われ、待つことはありませんでした。
2、再組立て
なぜ、データグラムの断片化は、ホストに達成すべき
ため:これは、オーバーヘッドルーティングを低減させることができる場所がルーティングされている最も重要なことは動的であり、断片化されたパケットは、送信の異なる経路を移動することができます
IPデータ転送
1、ネットワークサービス仕様
- TCP / IPのサポートコネクションとコネクション指向のサービス
- インターネット層(レイヤ3)接続なしでの基本的なサービスの提供
- トランスポート層(レイヤ4)で代替的に信頼性の高いコネクション型サービス
2、IPデータグラム
- ルータの送信を介して、複数の物理ネットワーク間でパケット
- インターネットプロトコルは、一般的な仮想データグラムパケットを定義し-IP
- IPv4のヘッダとデータを含む、64Kオクテットまでパケット
- IPv6は64Kオクテットペイロードとヘッダまで含むことができ
2.1のIPv4データグラムヘッダフォーマット
2.2、IPv6のデータグラム
3、IPデータグラムの転送
- 各ルータはローカルフォワーディング仮想パケット転送を使用しています
- 各エントリは、ホストの代わりに、ネットワークに対応
•したがって、テーブル内のエントリの数は、ネットワークの数に比例します - 各エントリには含まれています:
•宛先アドレスを
•メイクアドレス
•次のホップ:ルーターまたは直接配達のIPアドレス - そして、アドレス解決
3.1、最長プレフィックス一致
- 現実はもっと複雑な転送アルゴリズムであります
- フォワーディングは、デフォルトのエントリが含まれていてもよいです
- ネットワーク管理者は、ルーティングホスト固有のを指定することができ
、ネットワークトラフィックの異なるパス上の他のホストと特定のホストに沿って直接トラフィックとして• - ホスト固有のルーティング:
フォワーディングテーブルエントリがアドレス全体を覆うマスクを含む•(のIPv4は32ビット、IPv6の128ビットである)
•アドレスマスクは、重複してもよいです!! - 考虑一个转发表,其中包含IPv4网络前缀的条目:
•128.10.0.0/16
•128.10.2.0/24 - 如果数据报到达目的地128.10.2.3,则两者都将匹配!
•因此,Internet转发使用最长的前缀匹配
3.2、最大努力交付
- IPv4和IPv6尝试尽力而为的传递,并且不保证处理: •数据报复制
•延迟或无序交货
•数据损坏
•数据报丢失 - 这些问题由其他协议层处理
4、封装形式
- 通过物理网络发送IP数据报时,它将放置在帧的数据区域中,并且帧类型设置为IP
5、最大传输单元(MTU)和数据报大小
- 最大传输单元-帧可以在给定网络上承载的最大数据量
- 数据包可能需要处理不同的MTU大小,因为它们通过Internet传递
- 数据报必须分段
- IPv4和IPv6的做法不同
5.1、IPv6片段大小
- 选择分片作为基础网络的MTU
- 但必须在原始来源完成,而不是在路由器上完成 •主机应选择不需要分段的数据报大小
•如果沿途的路由器收到的数据报大于MTU,它将丢弃并发送错误消息 - 因此,主机必须沿到达目的地的路径学习每个网络的MTU!
•path MTU是沿路径的最小MTU
•path MTU discovery 是学习路径MTU的过程 - 尝试大小并查看是否返回错误的迭代过程!
为什么要在主机中实现数据碎片化?
因为:这样能减少路由负担,最重要的是路由选址是动态变化的,碎片化的数据报,可能经过了不同的路由传送,若由路由器实现,则较为复杂
5.2、 重新组装
- 在最终主机处完成 •路由器需要较少的状态信息 •片段可以采取不同的路线
- 头部字段指示数据何时是片段以及其所属位置
- 每个数据报都包含一个片段
- 如果丢失任何片段,整个数据报将丢失
5.3、收集碎片数据报
- 碎片可以采取不同的路线
- 特定的发送方可以将多个数据报发送到同一目的地,因此多个片段可能会乱序到达并散布
- 需要能够识别碎片
- 识别字段
•与IP源地址一起使用以确定该片段属于哪个原始数据报 - 片段偏移字段
•允许接收者确定片段的有效载荷在原始数据报中的位置
5.4、 碎片丢失
- 接收方收到片段时,它将启动计时器 •重新组装计时器
- 如果丢失任何片段,则整个数据报都会丢失
- 接收器必须在内存中缓冲片段,直到所有片段到达或计时器到期
- 如果计时器在接收到所有片段之前已过期,则已接收的片段将被丢弃
- 全有或全无的方法
- 在有损网络上,如果数据报是分段的,则丢失数据报的可能性更高
•因此,通常应尽可能避免碎片化
5.5、 IPv4片段的片段
- 碎片可以碎片化
•但是子片段的形成方式相同 - Destination无需等待片段的所有子片段到达即可重新组合整个原始数据报
•减少CPU时间
•意味着需要更少的数据存储在片段头中 - 在Internet中,设计人员试图避免按减少的MTU顺序排列网络
为什么这个可以节省CPU时间
因为当部分数据报达到的时候就已经可以重组数据了,比如1,3,2这样就可以将数据进行排序了,不用等到所有数据达到再排序,但是必须等4,当在设定的时间里没有等到4,这个Fragment就丢掉。