| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 计算机网络参考模型 -> 正文阅读 |
|
[网络协议]计算机网络参考模型 |
目录1. 分层思想2. OSI参考模型3. TCP/IP协议族4. 数据封装与解封装过程5. 总结1. 分层思想? 将复杂的流程简化为几个功能相对单一的子过程 ? ? ? ? 整个流程更加清晰,复杂问题简单化 ? ? ? ? 更容易发现问题并针对性的解决? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?例如下图: 2. OSI参考模型? ? ? ?国际标准化组织(ISO),1984年颁布了开放系统互连(OSI)参考模型,一个开放式体系结构,将网络分为七层?? 应用层:网络服务与最终用户的一个接口(用户操作)? ?? ? ? ? ? ? ? ? 人机交互窗口,把人的语言输入到计算机当中? ? 例如,在QQ的对话窗口输入字符 表示层:数据的表示、 安全、压缩(人的语言翻译成计算机)?? ? ? ? ? ? ? ? ?将接收到的数据翻译成二进制数组成的计算机语言,并对数据进行压缩和解压、数据? ? ? ? ? ? ? ? ? ? ? ?加密和解密等工作? ?? 会话层:建立、 管理、中止会话? ?? ? ? ? ? ? ? ? ?管理是否允许不同机器上的用户之间建立会话连接关系? ? ? 传输层:定义传输数据的协议端口号,以及流控和差错校验(防火墙? ?端到端)? ?? ? ? ? ? ? ? ? ?将上层数据分片并加上端口号封装成数据段,或通过对报文头中的端口识别,实现网络? ? ? ? ? ? ? ? ? ?中不同主机上的用户进程之间的数据? ? 网络层:进行逻辑地址寻址,实现不同网络之间的路径选择(路由器)? ? ? ? ? ? ? ? ? ? ?将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源端到目的端的传? ? ? ? ? ? ? ? ?输? ? ? ?? 数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能(交换机网卡)? ?? ? ? ? ? ? ? ? ? ? ? ? 将上层数据加上源和目的方的物理(MAC)地址封装成数据帧,MAc地址是用来标识? ? ? ? ? ? ? ? ? ? ? ? ? 网卡的物理地址,建立数据链路;当发现数据错误时,可以重传数据帧? ? ? ? 物理层:建立、维护、断开物理连接(网卡、网线、光纤、集线器、中继器、调制解调器)? ? ?? ? ? ? ? ? ? ? ?报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数字组成的比特? ? ? ? ? ? ? ? ? ?流转换成电信号在网络中传输? ? ? ? 3.? TCP/IP协议族TCP/IP协议族的组成 4.? 数据封装与解封装过程?? ?4.1数据封装过程原理:应用层:? ? ? ?人的语言转换为机器语言(二进制语言),然后进行打包? ? ? ? ? ? ? ? ?传输层:? ? ? ?将应用层传输过来的数据包进行保存,然后找到源端口和目的端口进行封装? ?? ? ? ? ? ? ?网络层:? ? ? ?将传输层的数据包进行保存,然后找到源ip和目的ip(逻辑地址)进行封装? ?? ? ? ? ? ? ?数据链路层:将网络层的数据包进行保存,然后找到源MAC地址和目的MAC地址(物理地? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?址)进行封装? ? ? ? ? ? ? ? ? 物理层:? ? ? ?将这些二进制数据组成的比特流转换成电信号在网络中传输? ? ?? ? ?4.2 数据解封装过程?原理:物理层:? ? ? ? ?将比特流电信号转换成为二进制数据,并将数据发送到数据链路层? ? ?? ? ? ? ? ? ? ?数据链路层:校验MAC地址(物理地址)是否正确,如正确 进行解封装? ?? ? ? ? ? ? ? ?网络层:? ? ? ? 校验ip地址(逻辑地址)是否正确,如正确 进行解封装? ? ? ? ? ? ? ? ? ? ?传输层:? ? ? ? 校验端口号是否正确,如正确 进行解封装? ? ? ? ? ? ? ? ? ?应用层:? ? ? ? 将数据进行解封装? ? ? ? ? 4.3 设备与层的对应关系4.4? 各层之间的协议?5.? ?总结? ? ? ? ? ? ? ? ? ? ?1.OSI模型的分层结构:共七层? ?1.应用层? ?2.表示层? ?3.会话层? ?4.传输层? ?5.网络层? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?6.数据链路层? ?7.物理层 ? ? ? ? ? ? ? ? ? ? ? 2.TCP/IP模型的分层结构: 分? 四层? 和? 五层? 两种结构 ? ? ? ? ? ? ? ? ? ? ? ? ? 四层结构:1.应用层? ?2. 传输层? ?3.网络层? ?4.网络接口层 ? ? ? ? ? ? ? ? ? ? ? ? ? 五层结构:1.应用层? ?2.传输层? ? 3.网络层? ?4.数据链路层? ?5.物理层 ? ? ? ? ? ? ? ? ? ? ? 3.TCP/IP协议族的组成 ? ? ? ? ? ? ? ? ? ? ? 4.数据传输过程中的封装与解封装过程 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
|
网络协议 最新文章 |
使用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:20:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |