データ転送処理(RPM)

TCP / IPプロトコルスイートと、基礎となるプロトコルで、データ伝送の終了を達成することができることを確実にします。データ転送プロセスは非常に複雑なプロセスであり、例えば、データの転送中にカプセル化およびカプセル化解除の一連あろう。
したがって、ことを可能にする、異なるデバイスの様々なネットワーク技術、データ転送処理の深い理解は、正しくネットワークを分析して検出します。

 

一貫性のあるパケット転送は同じネットワークセグメントまたは原理間の異なるネットワークセグメントに基づいています。

データは基本的に同じ原理異なるネットワーク間で送信されるか、または、同一のネットワークデータ転送プロセスは、ローカルおよびリモートの転送前方に分割されている内、両方のデータ転送することができ、TCP / IPプロトコルスイートを追従することです。

この例では、ホストAは、サーバにWebサービスにアクセスする必要があり、嘉定確立されたTCP接続の間で持っています。

TCPラッパー

 

 

送信するホスト・アプリケーション・データは、トランスポート層のカプセル化に続いて、暗号化および圧縮に関する第1動作を行うに扱われます。Webアプリケーションは、データを送信するためのTCPトランスポート層プロトコルに基づいています。TCPパケットのカプセル化を使用して、ホストは、ソースポートと宛先ポートフィールド、初期シーケンス番号と確認応答シーケンス番号フィールド、フラグ、ウィンドウフィールドとチェックサムフィールドで満たされなければなりません。この場合、データ部1027の送信元ポート番号がランダムにホストポートを選択し、宛先ポート番号は、TCP周知ポートサーバ80です。

IPカプセル化

IPパケットは、ネットワークの最大伝送単位(MTU)よりも大きい場合、Aは、転写層パッケージ、典型的には、ネットワーク層データ・パッケージを完成ホスト後、IPカプセル化を使用する場合は、IPパケットの明示的なソースおよび宛先アドレスを必要とします、メッセージは(断片化IP層である)送信中に断片化される可能性があります。
生存時間(TTL)フィールドは、ネットワークループに起因する影響を低減するために使用されます。ルータは、値0を低減することが見出された場合、データパケットを転送する255デフォルトルータのTTL値生成ARG3シリーズルータパケットは、値が1だけデクリメントされ、パケットを廃棄します。このように、ネットワークにループがあっても、パケットがネットワーク上で転送されなかったであろう。
プロトコルフィールドは、トランスポート層で使用されるプロトコルを識別する。本実施例では、トランスポート層は、TCPプロトコル、単語の充填値を使用します0x06

ルート検索

 

ホストが宛先に到達するルートを持っている必要があります。

每个主机都会独立维护各自的路由表项。主机A在发送数据前需要先检查是否能够到达目的端,这个过程是通过查找路由来完成的。在此示例中,主机A拥有一条到达『任何网络』(在IP编址部分已经简要介绍过)的路由,它发往其他网络的数据都会通过IP地址为10.1.1.1的接口转发到下一跳,即网关10.1.1.254

ARP

 

通过ARP缓存表找到下一跳的MAC地址。
如果表项中没有下一跳的MAC地址,主机A会发送ARP请求。

接下来,由于数据包要被封装成数据帧,所以主机A需要获取下一跳的MAC地址,也就是网关的MAC地址。主机首先会查询ARP缓存表。
本例中,主机A的ARP缓存表中存在网关MAC地址的表项。
如果没有查找到网关的MAC地址表项,主机A会通过发送ARP请求来获取网关的MAC地址。

以太网封帧

 

主机A在链路层封装数据帧的时候,会遵循IEEE 802.3或者Ethernet_II标砖,Ethernet_II帧头的类型字段填充为0x0800,以表示网络层使用的是IP协议。源MAC地址为主机A的MAC地址,目的MAC地址为网关路由器E0/0接口的MAC地址。

数据帧转发过程

 

 

主机工作在半双工状态下,所以会使用CSMA/CD来检测链路是否空闲。
前导码(Preamble)用于使接收者进入同步状态,定界符(SFD)用于指示帧的开始。
前导码是包括了7个字节的二进制1,0交替的代码,即1010...10共56位。帧首定界符是长度为1个字节的1010...二进制序列,它的作用是使接受端对帧的第一位进行定位。

 

 

同一个冲突域里的设备都会接受到主机A发送的数据帧。
只有网关(RTA)会处理该数据帧,并基于转发。

本例中,主机A发送数据帧到共享以太网,此网络中的所有设备都会受到该帧。设备收到帧之后,首先会进行FCS校验。如果FCS校验未能通过,则帧被立即丢弃。对于通过了FCS校验的帧,设备会检查帧中的目的MAC地址。如果帧中的目的MAC地址与自己的MAC地址不同,设备将丢弃帧,如果相同,则会继续处理。处理过程中,帧头帧尾会被剥去(就是解封装),生效的数据报文会被根据帧头中的类型字段的值来送到网络层中的对应协议模块去处理。

数据包转发过程

 

 

网关检查是否具有到达目的网络的路由条目。
如果存在转发路径,则为数据包添加一个新的二层帧头和帧尾,并继续转发。

RT-A收到此数据报文后,网络层会对该报文进行处理。RT-A首先根据IP头部信息中的校验和字段,检查IP数据报文头部的完整性,然后根据目的IP地址查看路由表,确定是否能够将数据包转发到目的端。RT-A还必须对TTL的值进行处理。另外,报文大小不能超过MTU值。如果报文大小超过MTU值,则报文将被分片。
网络层处理完成后,报文将被送到数据链路层重新进行封装,称为一个新的数据帧,该帧的头部会封装新的源MAC地址和目的MAC地址。如果当前网络设备不知道下一跳的MAC地址,将会使用ARP来获得。

おすすめ

転載: www.cnblogs.com/snow-storm/p/10990103.html