TCP/IP四层模型对比OSI七层网络模型的区别是啥?数据传输过程原来是这样的

一、TCP/IP四层模型对比OSI七层模型

它们两个定义的一些功能和协议都是差不多的。TCP/IP四层协议模型比我们的七层少了三层,把我们的数据链路层和物理层放在一层里面了,叫做数据链路层(网络接口层),对应网络协议也没有变。

网络层和传输层是非常重要的,所以也没有进行改变。

会话层和表示层并没有做太多的事情,也没有定义自己的协议,所以在TCP/IP四层协议里面,把它们两个归到了应用层里面。

TCP/IP四层协议模型包括:应用层、传输层、网络层、数据链路层。

TCP/IP四层协议比较常用

二、数据传输过程

在浏览器里面输入一个百度的网址,进行访问,百度服务器给我们返回了这样一个百度首页。这个过程在网络中到底是怎么实现的呢?

封装和解封装

在浏览器里输入网址,工作在应用层,是用户可见的层次。输入网址后,应用层传到传输层,传输层封装了一个TCP的头部,定义了2个协议,一个是TCP协议,一个是UDP协议。

Https的协议是基于TCP协议的,不是基于UDP协议的。所以这个地方的传输层封装了一个TCP的头部。

传输层除了定义协议,还定义了端口,端口是为了发到百度服务器的时候,它能够判断我能够用哪个应用程序来给它进行处理。这个地方是443端口,因为用的是Https协议。

传输层封装了头部以及端口信息之后,传到网络层。

网络层封装了一个Ip头部,这个Ip头部里面包括主机的Ip地址(源,目的)。

目的:是寻找对方的主机。源:是带上自己的Ip地址,方便对方回信。

跟Mac地址的思想一样,只不过这里是个Ip地址。

那这个Ip地址也会在网络层判断是不是在同一个子网,通过路由去进行一个寻址,再做一个路由转发。

这个地方在网络层封装了一个Ip头部用来寻找对方的Ip地址。

Ip地址可能中间用了Dns进行域名解析。

网络层传给数据链路层。封装了一个Mac头部,也就是一个源和目的的Mac地址。为了给对方的网卡发送数据,以及让对方的网卡给我回数据。

传给物理层,转换成比特流进行数据传输。百度服务器在物理层收到了这么一个数据,首先对比特流进行了一个重组。重组后进行分组,就能够到数据链路层,是一个以太帧的数据。进行有意义的识别,看到Mac头部,看到目的Mac地址。

拆开这个头部(源目Mac地址),看到里面的数据,这里是个Ip头部传给网络层。网络层也可以进行拆分,把Ip头部拆分,看到里面是个Tcp的头部。看到443端口,交给Https协议。

应用层看到是Https的请求消息,给它一个响应消息。这个响应消息就是百度页面。

通过一路的封装,传给主机A,主机A再一路的解封装,得到响应页面。以上就是数据包在网络七层模型里封装和解封装的过程。这个过程对于数据传输,还是非常重要的。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
JL1510 小时前
Agent工程-为什么Agent必须有观测和Tracing
服务器·网络·人工智能·安全
神州世通11 小时前
IP Office内置外显卡兼容性说明
服务器·网络·tcp/ip
GoFly开发者12 小时前
Go语言开发框架GoFlyGen新增 网站安全助手 插件,帮助开发者提供应用安全防护,保障平台系统数据安全。
网络·安全
程序员杰哥13 小时前
接口测试知识总结
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
happyprince13 小时前
07_NVIDIA_ModelOpt-Recipe配方系统
网络·modelopt
韦胖漫谈IT13 小时前
Apple M3 Max 与 Apple M5 Max 对比:本地算力的新旧王者之争
网络·人工智能·macos·transformer
coderhuo14 小时前
libcurl blind sleep导致的耗时问题
网络协议
treesforest14 小时前
做内容平台,IP地址精准定位和IP高精度定位查询怎么帮我们提升用户留存
网络·网络协议·tcp/ip
电商API_1800790524714 小时前
电商ERP 自动同步订单功能实现拆解与技术手段
服务器·前端·网络·爬虫
云计算-Security15 小时前
分组交换的可靠性来自哪里?
网络·智能路由器