一点一点涨知识之TCP协议

来源:互联网 发布:大数据面临的问题 编辑:程序博客网 时间:2024/06/03 14:51

TCP协议的首部字段


TCP处于传输层,是一种面向连接的,可靠的协议。面向连接的意思即为在发送数据之前要先告知接收端,在发送和接收之间建立一条点到点的连接。

1、端口号

源端口号是为了标记发送端的一个应用进程,而接收端口号是为了标记接收端的一个应用进程。客户端通常对它所使用的端口号并不关心,只需保证该端口号在本机上是唯一的就可以了。客户端口号又称作临时端口号。给临时端口分配1024~5000之间的端口号。目的端口号一般是大家公认的一些端口号,例如FTP服务器的TCP端口号都是2180端口分配给HTTP服务

2、序列号:

序列号是发送SYN报文段建立连接时,系统分配的一个32bit的标号,目的是为了保证接收端在收到乱序的报文段时,能够将报文段按续重组。

3、首部长度:

因为首部字段中带有可选项,所以首部的长度不固定,最小长度为20个字节,最大长度为=60字节。

4、窗口大小(以字节为单位进行调整)

TCP支持滑动窗口协议,这里所谓的窗口的大小,是接收端用来进行流量控制的,以防止发送端发送太多的数据,接收端来不及处理。

5、紧急指针

       紧急指针指出的是紧急数据在报文段中结束的位置URG置为(数据从第一字节到指针所指字节就是紧急数据,不进入接收缓冲就直接交给上层进程,余下的数据要进入接收缓冲的
6、可选项

  TCP的选项是可选的,但是几乎在每一个SYN报文段中都含有TCP选项字段。最常见的可选字段为最长报文大小(MSS.

0 0
原创粉丝点击