目录
TCP协议
-
TCP (Transmission Control Protocol)
传输控制协议。(面向连接)
-
UDP(User Datagram Protocol)
用户数据报协议。(无连接)
-
TCP是面向连接的、可靠的进程到进程通信的协议
-
TCP提供全双工服务,即数据可在同一时间双向传输
-
TCP报文段
-
TCP将若千个字节构成一个分组,叫报文段(Segment)
-
TCP报文段封装在IP数据报中
TCP特性
1.工作在传输层
2.面向连接协议
3.全双工协议
4.半关闭(四次挥手)
5.错误检查
6.将数据打包成段,排序(分片)
7.确认机制
8.数据恢复,重传
9.流量控制,滑动窗口
TCP报文段
源端口号:
客户端
目标端口号:
服务端
序号:
是随机生成的(首次进行数据包沟通时是随机生成的)用于分组
A电脑-------------->B电脑
A会随机产生一个序号为x的数据包发给B
A电脑<--------------B电脑
B电脑收到以后 会随机产生一个 回复包随机产生序号
y在 回复包中会产生 一个 新的字段 确认号: 规定了 A
下一次发送的序号 x+1
不允许随机产生
在回复包中会产生一个新的字段,规定A下一次必须发送的数据包,就是确定号,用于确定AB互通
确认号:
用于确认发送端的信息
窗口大小:
用于说明本地可接收数据段的数目,窗口大小是可变的
控制位:
决定A和B的连接处于什么状态(共11种)
请求连接
结束连接
已连接
syn=1 ACK=1 确认结束
fin=1 ack=1 确认同步
SYN(同步位)
FIN(结束位)
ACK(确认位)
URG(紧急位)
PSH(急切位)
RST(重置位
校验和:
提供额外的可靠性紧急指针:标记紧急数据在数据字段中的位置
TCP连接4-1
TCP建立连接的过程称为三次握手
SYN=1:请求建立连接
ack=x+1:同意建立连接
x+1:确认号(随机产生的)
三次握手:
pc1想和pc2建立连接
pc1会发送syn=1序号为随机数x的报文给pc2
pc2收到pc1的报文会回复一个syn+ack报文给pc1
该报文序号为随机生成的y确认号为x+1(ack=x+1)
syn(同步位)=1 ACK(确认位)=1
pc1 收到 pc2 同意建立连接的报文,会回复一个 ACK 报文该报文 序号为 x+1 确认号为 y+1 ACK (确认位) =1
这样pc1和 pc2 就建立连接了
UDP协议
UDP特性
1、工作在传输层
2、提供不可靠的网络访问
3、非面向连接协议
4、有限的错误检查
5、传输性能高
6、无数据恢复特性