TCP协议:
报文格式和三次握手和四次挥手的过程。
它的可靠就是数据包不丢失、不错误、不乱序。
TCP协议的报文格式
它是由两个部分组成的:一部分是TCP首部(头部)+TCP数据部分(我们需要传输的东西)
TCP首部也是有两个部分组成:一个部分是20个字节的固定首部,一个是选项部分
端口号分为:熟知端口(公认端口)、注册端口、动态端口(临时端口或者短暂端口,范围:49152-65535)
两个端口的作用:用于区别应用程序的。
-
序号:在TCP协议当中,它传送的数据流中,每一个字节都会遍上一个序号。
-
URG:紧急比特(紧急数据),它可以是0也可以是1.表示紧急指针字段有效。
-
ACK:确认。当这个字段值是1时,回复才算有效,如果为0时,确认号就是无效的。
-
RST:复位比特,拒绝连接请求时会出现(对应不上端口或对端没有这个端口) RST=1.
异常终止的情况或者终止空闲的情况。
-
SYN:初始或者同步。第一访问远端设备的时候,经过三次握手,第一次请求就是SYN=1;
-
FIN:结束(终止比特) FIN=1。
上面这个五个字段,表示的是标志位。
-
窗口:用来控制对方发送数据的量(大小)
-
校验和:主要是保障数据从源端到目的端 发送数据的过程中,不要出现 差错、不要被修改、不要被丢弃。
三次握手:
第一次握手:序列号初始情况下是随机产生的。
服务器:响应
序列号初始情况下是随机产生的。
ACK=X+1:它有两个功能
一个功能是:告诉客户端,我已经收到你发给我的请求。
第二个功能:告诉客户端,希望下一次再给发的时候,你的序号要是X+1
(SEQ=X+1).
RWND:是服务器告诉客户端,我现在可以接收多少个字节。窗口–提高数据传输的效率设置。
SYN:泛洪