当前位置:网站首页>使用TCP/IP四层模型进行网络传输的基本流程
使用TCP/IP四层模型进行网络传输的基本流程
2022-07-07 02:18:00 【abs(ln(1+NaN))】
OSI七层模型将网络从逻辑上分成了7层,最主要的功能是实现了两台不同主机的通信。实际上OSI七层模型并不实用,我们一般使用其中的四层或者五层协议,四层的说法是 单纯的从软件方面来谈,我们需要了解四层,但是软件又是基于硬件,所以又有了五层的说法。
下面左半部分是七层模型,右半部分是四层模型,我们把这四层称为“TCP/IP五层(四层)模型”。这四层与计算机体系结构也有着一定的对应关系
目录
一、什么是协议
所谓的协议就是一种约定,一个宿舍有来自不同地方的人,如果大家只是各说各的方言,那根本无法沟通,此时有一个人提出建议,大家都说普通话,达成这个约定以后,大家就可以正常通信了。
站在网络的角度,在传输层有TCP和UDP协议,这个约定的是选择有连接传输还是无连接传输。
二、TCP/IP五层(四层)模型
TCP/IP是一组协议的代名词,你可以理解为几乎每一层都有自己的协议。
- 应用层:负责应用程序之间的沟通,如简单电子邮件传输协议(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)。
- 传输层:决定两台主机之间以什么样的方式进行的数据传输,如传输控制协议(TCP)。
- 网络层:负责地址管理和路由选择。可以理解为要走哪条路来传输数据到对方主机。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规 划出两台主机之间的数据传输的线路。路由器工作在该层。
- 数据链路层:负责设备之间的数据帧的传送和识别。例如冲突检测(如果检测到冲突,就自动重发)、数据差错校验等工作。交换机工作在数据链路层。
- 物理层:负责光/电信号的传递方式。我们常说的同轴电缆、光纤、wifi都属于该层的内容。可以简单理解为物理层的大多数内容都是有实体的。物理层决定了最大传输速率、抗干扰性等。集线器工作在物理层(将数据放大,降低数据损耗)。
三、网络传输的基本流程
你或许觉得,依然有点晦涩难懂,下面就以一个简单的例子来熟悉上面各层的作用,同时对网络传输有一个初步的了解。
网络传输可以看作是卖家和买家的关系,假设你从淘宝上买了一瓶洗发水,那么主机A的应用层就相当于卖家,主机B的应用层就相当于买家。
1、卖家(主机A)
(1) 应用层
卖家把洗发水装到盒子里,这个过程就相当于应用层给数据加上一个数据首部,这个首部包含了首部的长度、载荷的长度、上层协议是什么等信息。其实就相当于放到产品盒子里,产品盒子上有产品的质量、生产日期等信息。
应用层相当于OS中的用户,不管数据如何发送、以及数据如何送达。只负责处理应用程序的细节。
(2) 传输层
商品来到快递站以后,快递站要给商品贴上快递单,快递单上有发货地址。这个过程其实就相当于传输层又给数据加了一个数据首部。
这之后呢?那就是决定要发哪家快递了。传输层相当于OS的内核部分,通信方面的细节就是在这里,还有下一层的网络层决定的。传输层就是决定了数据的传输方式,是TCP还是UDP。
(3) 网络层
既然决定了发哪家快递,下面就要决定路线了。这一层同样要加一个首部。
网络层决定了数据的传输路线。
(4) 数据链路层
快递在路上了,假设现在到了南京,南京的快递站就会把你发给下一站浙江。数据链路层决定的是中转站传递数据这个过程。
2、买家(主机B)
买家收到货了,我们需要的东西可能被包了很多层,现在要一层一层拆。这个过程就是解包。
关于封装和解包的过程可以参考下面的博客。
边栏推荐
- [solution] final app status- undefined, exitcode- 16
- Array proof during st table preprocessing
- matlab / ENVI 主成分分析实现及结果分析
- JVM 全面深入
- How to find the literature of a foreign language journal?
- JWT 认证
- Symmetric binary tree [tree traversal]
- Abnova 体外转录 mRNA工作流程和加帽方法介绍
- 力扣62 不同路径(从矩阵左上到右下的所有路径数量) (动态规划)
- Wechat applet hides the progress bar component of the video tag
猜你喜欢
Common problems of caching in high concurrency scenarios
Go straight to the 2022ecdc fluorite cloud Developer Conference: work with thousands of industries to accelerate intelligent upgrading
Force deduction 62 different paths (the number of all paths from the upper left to the lower right of the matrix) (dynamic planning)
Navicat importing 15g data reports an error [2013 - lost connection to MySQL server during query] [1153: got a packet bigger]
string(讲解)
缓存在高并发场景下的常见问题
Learning notes | data Xiaobai uses dataease to make a large data screen
Markdown displays pictures side by side
Ant manor safety helmet 7.8 ant manor answer
直击2022ECDC萤石云开发者大会:携手千百行业加速智能升级
随机推荐
LM小型可编程控制器软件(基于CoDeSys)笔记二十三:伺服电机运行(步进电机)相对坐标转换为绝对坐标
MySQL的安装
CloudCompare-点对选取
Pinduoduo lost the lawsuit: "bargain for free" infringed the right to know but did not constitute fraud, and was sentenced to pay 400 yuan
Leite smart home longhaiqi: from professional dimming to full house intelligence, 20 years of focus on professional achievements
Audio distortion analysis of DSP and DAC based on adau1452
Install mongodb database
string(讲解)
VIM mapping large K
Navicat导入15G数据报错 【2013 - Lost connection to MySQL server during query】 【1153:Got a packet bigger】
【解决】Final app status- UNDEFINED, exitCode- 16
快速定量,Abbkine 蛋白质定量试剂盒BCA法来了!
docker-compose启动redis集群
Open the blue screen after VMware installation
Prompt for channel security on the super-v / device defender side when installing vmmare
【OpenCV】形态学滤波(2):开运算、形态学梯度、顶帽、黑帽
Implementation of VGA protocol based on FPGA
tkinter窗口选择pcd文件并显示点云(open3d)
dolphinscheduler3. X local startup
Markdown displays pictures side by side