概述
网络,已经从方方面面影响着我们的吃穿住行的日常习惯,人们往往对网络既熟悉又陌生,熟悉的是我们每天都在使用它,陌生的是它是原理。
我们通过网络来传输数据的过程,是怎样的呢?比如从主机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协议进行处理。
最后
以上就是拼搏大地为你收集整理的数据转发过程概述的全部内容,希望文章能够帮你解决数据转发过程概述所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复