数据转发过程概述

网络,已经从方方面面影响着我们的吃穿住行的日常习惯,人们往往对网络既熟悉又陌生,熟悉的是我们每天都在使用它,陌生的是它是原理。

我们通过网络来传输数据的过程,是怎样的呢?比如从主机A访问服务器A的HTTP(80端口)的过程,数据是怎么转发的?

《数据转发过程概述》

第一步:TCP封装

              当主机A建立了到达目的地服务器A的TCP连接后,便开始对应用层数据进行封装;

              《数据转发过程概述》

第二步:IP封装

            《数据转发过程概述》

第三步:查找路由

              主机A必须要拥有到达目的地A的路由

            《数据转发过程概述》

        如果是主机A到主机B传输数据,那就需要ARP

       通过ARP缓存表找到主机B的MAC地址。

       如果表项里没有主机B的MAC地址,主机A发送ARP请求。

    《数据转发过程概述》

第四步:以太网封装;

《数据转发过程概述》

第五步:数据帧转发;

             《数据转发过程概述》

       

        网关检查是否具有到达目的网络的路由条目。

       如果存在转发路径,则为数据包添加一个新的二层帧头和帧尾,并继续转发。

第六步:数据帧的解封装

       《数据转发过程概述》

      RTB以服务器A的MAC地址作为目的MAC继续转发。

     服务器A接收到该数据帧后,发现目的MAC为自己的MAC,于是会继续处理该数据帧。

第七步:数据包解封装

    《数据转发过程概述》

       服务器A检查数据包的目的IP地址,发现目的IP与自己的IP地址相同。

       服务器A剥掉数据包的IP头部后,会送往上层协议TCP继续进行处理。

第八步:数据段解封装

    《数据转发过程概述》

        服务器A检查TCP头部的目的端口,然后将数据段发送给应用层的HTTP协议进行处理。

    原文作者:林锋Space
    原文地址: https://blog.csdn.net/WannaHaha/article/details/112174295
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞