我是靠谱客的博主 拼搏大地,最近开发中收集的这篇文章主要介绍数据转发过程概述,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

我们通过网络来传输数据的过程,是怎样的呢?比如从主机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协议进行处理。

最后

以上就是拼搏大地为你收集整理的数据转发过程概述的全部内容,希望文章能够帮你解决数据转发过程概述所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部