带你最详细了解网络模型和封装及解封装过程

一. OSI的参考模型和TCP/TP协议

1.什么叫OSI模型 ?

国际标准化组织(ISO),1984年颁布了开放系统互联(OSI)参考模型,一个开放式体系结构。将网络分为七层

1.1 OSI 的七层功能

在这里插入图片描述

1.2 OSI 七层分别的含义

应用层:网络服务与最终用户的一个接口;人机交互窗口,把人的语言输入到计算机当中。例如,在QQ的对话窗口输入字符

表示层:数据的表示,安全、压缩 ;将接收到的数据翻译成二进制数组成的计算机语言,并对数据进行压缩和解压,数据加密和解密等工作

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

传输层:定义传输数据的协议端口号,以及流控和差错校验;将上层应用数据分片井加上端口号时装成数据段,或通过对报文头中的端口识别,实现网络中不同主机上的用户进程之间的数据通信

网络层:进行逻辑地址寻址,实现不同网络之间的路径选择;将上层数据加上源和日的方的逻辑(IP)地址封装成数据也,实现数据从源端到日的端的化输

数据链路层:建立理辑连接,进行硬件地址寻址、原销校验等功能;将上层数据加上源和目的方的物理(MAC)地址封装成数据帧,MAC地址是用来标识网卡的物理地址,建立数据链路 当发现数据错误时,可以重传数据帧。

物理层:建立、维护、断开物理连接;报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数字组成的比特流转换成电信号在网络中传输

2.什么叫TCP/TP协议?

TCP/IP(Transmission Control Protocol/Internet Protocol)传输控制协议/互联网协议
开放系统互联协议中最早的协议之一,它为连接不同操作系统和shu不同硬件体系结构的互联网络提供通信支持,是一种网络通用语言。TCP/IP协议定义了在互联网络中如何传递、管理信息(文件传送、收发电子邮件、远程登录等),并制定了在出错时必须遵循的规则。

2.1 TCP/TP协议分层

应用层:HTTP ,FTP ,TFTP ,SMTP ,SNMP ,DNS

传输层:TCP ,UDP

网络层:IP ,ICMP ,IGMP ,RARP ,ARP

数据链路层 物理层:有底层网络定义的协议;IEEE 802.3有线局域网标准;IEEE 802.11无线局域网标准

在这里插入图片描述

2.2 TCP协议

TCP(传输控制协议):协议应用的端口及其协议功能----传输更加稳定可靠

端口80 HTTP(超文本传输协议〉: 用于浏览器和Web服务器之间的请求和响应的交互

端口21FTP (文件传输协议):用于控制连接FTP服务器

端口53 DNS(域名系统): 用于连接DNS服务器

端口25 SMTP (简单邮件传输协议): 用于发送邮件

端口110 PoP3(邮局协议版本3): 用于接收邮件

端口22 SSH(安全外壳协议): 用于计算机之间的远程加密登录

2.3 UDP协议

UDP(用户数据报协议):协议应用的端口及其协议功能----传输效率更高

端口69TFTP(简单文件传愉协议〕: 用于小文件的传输

端口53 DNS(域名系统): 用于解析DNS

端口111 RPCC(远程调用协议): 用于远程过程调用

端口161 SNMP(简单网络管理协议): 用于网络设备的管理

端口123 NTPC(网络时间协议): 用于网络时间同步

2.4 IP协议

IP(网际协议)协议及其功能:

ARP(地址解析协议): 用于在局域网中根据IP地址获取物理地址

RARP(逆地址解析协议): 用于在局域网中通过ARP表根据物理地址请求IP地址

ICMP (网际控制报文协议): 用于验i证网络是否畅通
IGMP (网际组管理协议): 用子主机写组播路由器之间组播通信

3.OSI模型与TCP/IP协议的对应

在这里插入图片描述

二. 数据传输中的封装和解封装的过程

1.封装过程

  1. 应用层将数据交给传输层,传输层添加上TCP的控制信息(称为TCP头部),这个数据单元称为数据段(Segment),加入控制信息的过程称为封装。然后,将数据段交给网络层。

  2. 网络层接收到数据段,再添加上IP头部,这个数据单元称为数据包(Packet)。然后,将包数据交给数据链路层。

  3. 数据链路层接收到数据包,再添加上MAC头部和尾部,这个数据单元称为数据帧(Frame)。然后,将数据帧交给物理层。

  4. 物理层将接收到的数据转化为比特流,然后在网线中传送。

img

2. 解封装过程

  1. 物理层接收到比特流,经过处理后将数据交给数据链路层。

  2. 数据链路层将接收到的数据转化为数据帧,再除去MAC头部和尾部,这个除去控制信息的过程称为解封装,然后将包交给网络层。

  3. 网络层接收到包,再除去IP头部,然后将段交给传输层。

  4. 传输层接收到段,再除去TCP头部,然后将数据交给应用层。

img

3. 总结封装和解封装

从以上传输过程中,可以总结出以下几点。如下所示:

  1. 发送方数据处理的方式是从高层到底层,逐层进行数据封装。

  2. 接收方数据处理的方式是从底层到高层,逐层进行数据解封装。

  3. 接收方的每一层只把对该层有意义的数据拿走,或者说每一层只能处理发送方同等层的数据,然后把其余的部分传递给上一层

    ————————————————
    版权声明:本文为CSDN博主「kele_baba」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/kele_baba/article/details/114306587

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇