| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> TCP/IP四层模型对比OSI七层网络模型的区别是啥?数据传输过程原来是这样的!... -> 正文阅读 |
|
[网络协议]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再一路的解封装,得到响应页面。以上就是数据包在网络七层模型里封装和解封装的过程。这个过程对于数据传输,还是非常重要的。 三、总结计算机专业里有一门课叫做计算机原理,我感觉还是挺重要的。以后的日子,我会继续总结计算机专业的重要知识。 随着岁月的增长,也曾迷茫过,纠结过。时刻提醒自己要自律,努力攒钱读书,把书念下去,不枉活一世。 感谢在自己最无助的时候,幸运地选择了计算机,做了软件测试。计算机将是我一生的热爱与希望。 公众号 「清菡软件测试」 首发,更多原创文章:清菡软件测试149+原创文章,欢迎关注、交流,禁止第三方擅自转载。如有转载,请标明出处。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 7:33:53- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |