TCP协议
可靠性:数据包不丢失、不错误、不乱序
TCP协议的报文格式
- 由两个部分组成
- TCP首部(头部)+TCP数据部分(传输的数据)
- TCP首部由两个部分组成:一个部分是20字节的固定首部,一个是选项部分
端口号分为:熟知端口(公认端口)、注册端口、动态端口(临时端口或者短暂端口,范围:49152-65535)
-
源端口和目的端口作用:用于区别应用程序
-
序号:传送的数据流中,每一个字节都会编上一个序号
-
标志位
- URG:紧急比特(紧急数据),可以是0页可以是1,1表示紧急指针字段有效
- ACK:确认号,当字段值是1时,回复有效,字段值为0时,确认号无效
-
RST:复位比特,拒绝请求时会出现 RST-1,如:
- 对应不上端口或对端没有这个端口
- 异常终止的情况或需要终止空闲时
- SYN:初始或者同步。第一次访问远程设备时,经过三次握手,第一次握手就是SYN=1
- FIN:结束(终止比特) FIN=1
-
窗口:用来控制对方发送数据的量(大小)
-
检验和:保证数据从源端发送到目的端的过程中,不出差错、不被修改、不被丢弃
-
RWMD:服务器告诉客户端,可以接受多少字节的数据,窗口–提高数据传输的效率设置
三次握手,四次挥手
威胁:SYN泛洪,或拒绝式服务攻击