目录
封装和解封装
应用层 --- 取决与应用本身
传输层 --- 端口号
TCP协议与UDP协议的区别
TCP协议和UDP协议的应用场景
TCP协议的头部
TCP协议的三数次握手 --- TCP建立的过程
TCP断开连接的过程 --- 四次挥手
TCP传输的可靠性
UDP协议头部
网络层 --- IP地址
IP分片
数据链路层 --- MAC地址
以太网协议的帧结构:--- 以太网Ⅱ型帧 --- 目前最常用的
物理层 --- 不需要封装
封装:数据在每一层都有数据添加进去,此过程就可以理解为封装过程。
解封装:去除掉添加的这些数据的过程叫做解封装。
在传输层完成封装是由TCP协议、UDP协议来完成封装。
1,TCP协议是面向连接的协议,而UDP协议是无连接的协议
面向连接 --- 指在设备传输之前,先使用预备的协议(TCP协议)建立点到点的连接,然后再传输数据。
2,TCP协议的传输是可靠的,UDP协议的传输是“尽力而为”。
3,TCP协议可以进行流控,UDP协议不可以。
4,TCP协议可以分段,而UDP协议不可以。
5,TCP协议耗费资源比较大,传输速率较慢:UDP耗费资源较少,传输速度快。
TCP协议适合应用在对传输效率要求较低,但是对可靠性要求较高的场景;UDP协议更适用于对传输效率要求较高,但对可靠性要启用较低的场景。(即使通讯类)
序号(32位):在数据传输的过程中确保数据的顺序。
选项:在首部可有内容,也可以无内容。 --- 有了可选项,TCP协议的长度就不是固定的。
URG --- 紧急标记位(占1位)。此标记位置1代表有此数据包当中有紧急处理的内容,与此同时紧急指针会激活。这段紧急需要处理的内容会放在数据的最前端,而紧急指针则在此处标记需要紧急处理的这段内容的结尾处,用来让紧急处理数据与普通处理的数据进行分隔。
ACK --- 确认标记位(占1位)。此标记位置1代表是我的数据包是一个确认数据包,与此同时确认序号会被激活。
PSH --- 传送标记位(占1位)。在TCP协议当中,所有数据包过去后,TCP协议会有一个缓存空间,将所有数据包收集起来,按照序号进行排序,将完整的数据包排列好后才会进行传输,而此标记位置1代表数据包不需要在缓存空间中进行排序,而是直接将数据包进行处理。
RST --- 强制断开标记位(占1 位)。此标记位置1的数据包,将不经过四次回挥手的过程,直接断开TCP的连接。
SYN --- 请求标记位(占1位)。此标记为置1代表请求建立连接。
FIN --- 结束标记位(占1位)。此标记为置1代表请求断开连接。
窗口大小(16位):窗口值是多少,就相当于一次性发多少个数据包,只须确认一次。
校验和(16位) --- 伪头部校验:确保数据完整性
校验范围:整个TCP头部内容,数据内容,甚至会将网络层头部中的12个字节的内容一起拿出来进行校验。
这12个字节都要哪些内容?
32位源IP地址,32位目标IP地址,8位保留字段,8位协议字段,16位总长度(数据+头部)---反码相加法
TCP协议最短头部长度 --- 20字节
在TCP三次握手建立连接的过程中三次SYN是中是不包含数据。
排序,确认,重传,流控。
TCP的流控方式 --- 滑动窗口机制
处理流量不会是一个固定值,会一直处于一个试探方式。
传输层的TCP协议最大段长度:
MSS --- 最大段长度 --- 1460字节 --- 该值会在TCP协议的前两次握手中进行协商,取二者较小的。
为什么TCP协议的四次挥手不可以是三次挥手?
四次挥手牵扯到数据传输。
UDP协议头部长度 --- 8字节
在网络层完成封装是由IP协议来完成封装。目的是将IP地址封装到数据当中。
4位版本:IPV4或者IPV6
4位首部长度:标识头部总长度,用来区分从数据的开始和结尾。
8位服务类型:对需要做特殊处理的数据包标记,并对特殊标记的数据包进行特殊处理。
16位总长度:头部长度 + 数据长度
16位标识:数据包分出来的所有片,每一片都有一个相同的标识。
3位标志
1,Reserved bit --- 保留位
2,Don't fragment --- 没有分片,没有分片置1,分片置0
3,More fragments --- 更多地片,不是最后一片永远置1,是最后一片置0
13位片偏移:
8位生存时间:数据包每经过一次路由器的转发,TTL值将会减1,当TTL值为0时,路由器将不会转发该数据,直接将数据包丢弃。
8位协议:上层所使用的协议类型
TCP的协议号:6 UDP的协议号:17 ICMP的协议号:1
16位首部校验和:只校验头部内容。
IP协议最短头部长度 --- 20字节
IP分片包括:16位标识,3位标志,13位片偏移。
MTU --- 最大传输单元 --- 默认1500字节
超过1500字节就不进行封装了。
在数据链路层完成封装是由以太网协议来完成封装。
以太网:早期局域网的解决方案,依靠MAC地址进行寻址的网络,是工作在1,2层的一种网络。
Destination Address表示为为目标MAC地址
Source Addrss表示为为源MAC地址
Type表示为上层所使用的协议类型
Preamble表示为前导符 --- 固定格式的一段01 --- 目的:方便识别数据帧的开始和结束
FCS表示为帧校验序列 --- 检验数据的完整性
Data表示为数据