实际开发中,TCP / IP五层网络模型是如何工作的?

人生之路不会是一帆风顺的,我们会遇上顺境,也会遇上逆境,在所有成功路上折磨你的,背后都隐藏着激励你奋发向上的动机,人生没有如果,只有后果与结果,成熟,就是用微笑来面对一切小事。

导读:本篇文章讲解 实际开发中,TCP / IP五层网络模型是如何工作的?,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

目录

前言

一、五层网络模型分别是什么?(通俗理解)

1.1应用层

1.2传输层

1.3网络层

1.4数据链路层

1.5物理层

二、如何工作?

首先是封装过程:

2.1、应用层形成协议报文

2.2、传输层添加TCP报头

2.3、网络层添加IP报头

2.4、数据链路层添加帧头帧尾

2.5、物理层通过解析进行传输

最后是分用过程:

有了以上基础,一图带你了解分用~


前言

想要了解TCP / IP五层网络模型如何工作,首先要知道,这五层网络是什么?往下走


一、五层网络模型分别是什么?(通俗理解)

1.1应用层

        简单来说,可以理解为咱们生活中所看到的应用程序;

1.2传输层

        端到端传输,传输层主要关注端口的信息,好比发快递主要关注的是收件人,寄件人信息;

1.3网络层

        点到点传输,主要关注传输的路径,好比快递公司需要规划快递路径

1.4数据链路层

        相邻结点之间的传输,主要关注路径中的各相邻结点,好比快递路途中的“中转站”;

1.5物理层

        底层基础设施,一些硬件方面的东西,例如运快递时所经过的铁路,公路;


二、如何工作?

实际上是,封装和分用的过程,什么又是分装和分用?往下看你就清楚了~

假设场景:主机A通过微信给主机B发送了“What do you mean?”这个消息…

首先是封装过程:

2.1、应用层形成协议报文

        假设微信内部约定好一个应用协议——把用户输入的字符串构造成约定好的应用层协议报文,如下图:

实际开发中,TCP / IP五层网络模型是如何工作的?

         随后,微信就会把这个数据报交给传输层协议,进行下一步处理,如何交给传输层呢?传输层是操作系统内核实现,会提供一些API,就可以通过这写API把数据交给传输层(操作系统内核);

2.2、传输层添加TCP报头

        传输层有很多协议,最典型的便是TCP协议;

        TCP协议就是在原数据(载荷部分(payload))的基础上加上TCP报头(这里有很多信息,最关键的就是源端口和目的端口),如下图:

实际开发中,TCP / IP五层网络模型是如何工作的?

         之后,传输层又会将这个数据交给网络层;

2.3、网络层添加IP报头

        IP协议在解析的时候,会把TCP数据报视为一个整体,将这个整体作为载荷部分,之后再加上IP报头(数据有很多,但是最关键的就是源IP和目的IP),如下图:

实际开发中,TCP / IP五层网络模型是如何工作的?

         构造完IP数据报后,IP协议把整个数据交给数据链路层;

2.4、数据链路层添加帧头帧尾

        数据链路层最典型的就是“以太网”, 这个协议即管理数据链路层,又管理物理层,以太是什么,其实也就是指传输的介质;以太网这个协议会在数据包的头部和尾部分别加上帧头(主要存放源mac地址和目的mac地址)和帧尾(主要进行校验和);如下图

实际开发中,TCP / IP五层网络模型是如何工作的?

         这里的“报、包、段、帧”字眼可以不用太纠结,就像Java中可以管方法叫函数,管函数叫方法一样~;

        接下来就交给了物理层;

2.5、物理层通过解析进行传输

        数据组织好后,通过物理层的设备(网卡),就可以将上述二进制流,转化成光信号(光纤)/ 电信号(网线)进行传输

这个过程,数据由上到下,层层叠加信息的过程就是封装;


最后是分用过程:

此处省略中间传输过程,假设数据到达了接收端主机B;

有了以上基础,一图带你了解分用~

实际开发中,TCP / IP五层网络模型是如何工作的?

 


实际开发中,TCP / IP五层网络模型是如何工作的?

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/124318.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!