一、TCP协议
1.什么是TCP
传输控制协议(TCP,TransmissionControlProtocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议由IETF的RFC793定义。TCP旨在适应支持多网络应用的分层协议层次结构。连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。
2.TCP特点
-
工作在传输层
-
面向连接协议
-
全双工协议
-
半关闭
-
错误检查
-
将数据打包成段,排序
-
确认机制
-
数据恢复,重传
-
流量控制,滑动窗口
3.TPC报文格式
4.TCP三次握手
第1次握手: 客户端发送 个带有SYN 标志的数据包给服务端:
第2次握手: 服务端接收成功后,回传一个带有SYIN/ACK标志的数据包传递确认信息,表示我收到了:
第3次握手: 客户端再回传一个带有ACK标志的数据包,表示我知道了。
其中: SYN标志位数置1,表示建立TCP连接: ACK标志表示验证字段.
5.四次挥手
第1次挥手: 客户端发送一个FIN,用来关闭客户端到服务端的数据传送,客户端进入FIN WAIT 1状态
第2次挥手:服务端收到FN后,发送一个ACK给客户端,确认序号为收到序号+1(与SYN相同,一个FN占用一个房号),服务端进入CLOSE WAIT状态;
第3次挥手:服务端发送一个FIN,用来关闭服务端到客户端的数据传送,服务端进入LAST ACK状态
第4次挥手:客户端收到FIN后,客户进入TIME WAIT状态,接着发送一个ACK给Sever,确认序号为收到序号+1,服务端进入CLOSED状态,完成四次挥手。
其中: FIN标志位数置1,表示断开TCP连接。
二、UDP协议
1.什么时UDP
UDP 协议即用户数据报协议,该协议主要为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。nternet 的传输层有两个主要协议无连接的是 UDP,它除了给应用程序发送数据包功能并允许它们在所需的层次上架构自己的协议之外,几乎没有做什么特别的事情。面向连接的是 TCP,该协议几乎做了所有的事情。UDP 协议在 OSI 模型中,处于 IP 协议的上一层,提供面向事务的简单不可靠信息传送服务。
2.UDP特点
- 工作在传输层
- 提供不可靠的网络访问
- 非面向连接协议
- 有限的错误检查
- 传输性能高
- 无数据恢复特性
标签:协议,ACK,TCP,传输层,服务端,客户端 From: https://www.cnblogs.com/lwqpl/p/17548585.html