IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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参考模型

国际标准化组织(ISO)在1984年颁布了开放系统互连(OSI)参考模型,OSI是一个开放式体系结构,它将网络分为7层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
image.png
1.应用层:应用层是网络服务与最终用户的一个接口

人机交互窗口,把人的语言输入到计算机中

2.表示层:表示层的主要作用就是数据的表示、安全和压缩

将接收到的数据翻译成二进制数组成的计算柷语言,并对数据进行
压缩和解压、数据加密和解密等工作

3.会话层:建立,管理,终止会话

管理是否允许不同机器上的用户之间建立会话连接关系

4.传输层:定义传输数据的协议端口号,以及进行流控和差错校验

将上层应用数据分片并加上端口号封装成数据段,或通过对报文头中的端口
识别,实现网络中不同主机上的用户进程之间的数据通信

5.网络层:进行逻辑地址寻址,实现不同网络之间的路径选择

将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从
源端到目的端的传输

6.数据链路层:进行逻辑连接、硬件地址寻址、差错校验等功能

将上层数据加上源和目的方的物理(MAC)地址封裝成数据帧,MAC地址是用来
标识网卡的物理地址,建立数据链路;当发现数据错误时,可以重传数据帧

7.物理层:建立,维护,断开物理连接

报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数字
组成的比特流转换成电信号在网终中传输

3、点到点/端到端的通信

  • 点对点的通信→可以看作主机到主机之间的通讯
    (网络层以下的通讯为点对点通讯)
  • 端到端的通信→可以看作端口到端口的通讯
    (传输层的通讯为端到端的通讯)

4、OSI模型 VS TCP/IP模型

TCP/IP是传输控制协议/网络互联网协议的简称。早期TCP/IP模型是分为四层,应用层、传输层、互联网层、网络接口层。后来借鉴OSI七层参考模型,有划分网络接口层划分为数据链路层和物理层。
image.png


5、TCP/IP协议族

应用层HTTP FTP TFTP SMTP SNMP DNS
传输层TCP IP
网络层IP ICMP IGMP RARP ARP
数据链路层及物理层IEEE 802.3(有线) IEEE802.11(无线)

二、传输过程

1、数据封装过程

应用层、表示层、会话层为软件应用
1.传输层将应用数据加上TCP(加入端口号) 封装成 数据段
2.网络层将数据段加上IP(源和目的IP) 封装成 数据包
3.数据链路层将数据包加上MAC(源和目的MAC) 封装成 数据帧
4.物理层将数据帧转换成比特流进行转换成电信号在网络中传输
image.png


2、解封装

解封装其实就是封装过程的逆向:在物理层,首先将比特流装换成数据帧,数据链路层将查看目标MAC地址,判断是否与自己的MAC地址吻合,地址吻合则拆除数据的MAC头部,并将剩下的数据传输上到网络层,网络层核实目标IP,IP吻合则拆除数据的IP头部,并将剩下的数据传输上到传输层,传输层根据TCP判断数据段送往哪个应用程序,应用层还原发送者的最原始信息

在这里插入图片描述
其实分层思想很简单,就像我们平时吃到的面包,从原材料,到我们桌子上的面包,也是通过分层思想,把整个流程分割成若干个相对简单的任务,去解决每一层对应的任务,其实和我们的封装过程很像

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-09 16:37:35  更:2021-10-09 16:38:32 
 
开发: 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年12日历 -2024/12/31 6:10:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码