TCP/IP协议簇及封装与解封装
TCP/IP协议簇
现如今用的参考模型TCP/IP 是一个协议簇,它组建了整个互联网
最主要的是TCP/IP 和这两个协议,所以起名为TCP/IP
TCP/IP模型
TCP/IP标准模型——四层
TCP/IP对等模型——五层
数据链路层分为两个子层:
LLC子层:逻辑链路控制子层
MAC子层:介质访问控制子层
PDU (协议数据单元)—— 数据在不同层中的单位
它是在不同层次协议中传输的最小数据单元,用于在网络中传递信息。PDU的大小和结构取决于所用协议的要求和设计。PDU在计算机网络中有着重要的作用。它通过封装和解封装的过程,在不同层次的协议之间进行数据传输和交互。PDU的作用是将上层协议的数据封装成适合下层协议传输的格式,同时也负责将接收到的数据解封装并传递给上层协议进行处理。
OSI中可分为:
L1PDU
L2PDU
L3PDU
L4PDU
L5PDU
L6PDU
L7PDU
在TCP、IP中被称作:
- 应用层:APDU
- 表示层:PPDU
- 会话层:SPDU
- 传输层:段(segment)
- 网络层:包(packet)
- 数据链路层:帧(frame)
- 物理层:比特(bit)
封装和解封装
封装:将数据变为比特流的过程中,在参考模型的每一层需要添加上特定的协议报头动作。从高层往低层依次封装,在每一层使用特定的协议,对数据进行处理,在数据前添加特定的协议报头。
解封装 :封装的逆过程,数据从比特流还原为数据的过程。从底层往高层依次解封装,每解封装一层,就去除相应的协议头部。
应用层存在封装,只不过,应用层的封装内容取决于不同的应用协议。
常见的协议有
- HTTP ---超文本传输协议---获取网页信息---80(TCP 80)
- HTTPS ---HTTP + SSL(安全传输协议)/TLS ---443(TCP 443)
- FTP ---文件传输协议---TCP 20 21
- Tftp ---简单文件传输协议---UDP 69
- Telnet ---远程登陆协议---TCP 23
- SSH ---Telnet + SSL ---TCP 22
- DHCP ---动态主机配置协议---UDP 67 68
- DNS ---域名解析协议---TCP/UDP 53
tftp跟ftp有什么区别?
tftp只能文件上传和下载 ftp有认证
HTTPS = HTTP + SSL(现在叫TLS)是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性-------TCP443号端口
接下来我们一起来学习一下各层的封装与解封装过程 :
封装过程:
应用层:原始数据被转换成二进制数据
传输层(实现端到端的传输):二进制数据被分割成小的数据段,并封装TCP头部 (数据段)
(TCP头部的关键信息–端口号)网络层:传输层传来的数据被封装上IP头部 (数据包)
(IP头部的关键信息–IP地址)数据链路层(控制物理层):网络层传来的数据被封装上MAC头部 (数据帧)
(MAC头部的关键信息–MAC地址)物理层:二进制数据组成的比特流转化为电信号在网络中传输 (比特流)
解封装过程:
物理层:将电号转化为二进制数据,并将其送至数据链路层
数据链路层:查看MAC地址,地址是自己,就拆掉MAC头部,继续传输;地址不是自己,就丢弃数据
网络层:查看IP地址,IP地址是自己,就拆掉IP头部,继续传输;如果IP地址不是自己,则会路由表查找去往该网段的下一跳地址。如果存在转发路径,会为数据包添加一个新的二层帧头和帧尾部。
传输层:查看TCP头部,判断应该传到哪里,然后重组数据,传输到应用层
应用层:二进制转化为原始数据
封装和解封装图
网络层封装所需 IP协议
TTL (生存时间):数据包每经过一个路由器的转发,其数值减1,当一个数据包的TTL值为0是,路由器将不再转发而直接丢弃。
协议号:上层所适用的协议类型
TCP——6
UDP ——17
IP协议最短是20个字节
IP的分片和TCP的分段:
MTU (最大传输单元 ):默认值1500字节
MSS (最大段长度): 理论值1460字节,这个值需要进行协商,这个参数在TCP的SYN包携带,如果双方不一致,则将按照小的执行。