TCP(Transmission Control Protocol)
传输控制协议
可靠的、面向连接的协议
传输效率低
TCP的工作原理
1.TCP的封装格式
2.连接与断开
3.流量控制
4.拥塞控制
5.差错控制
6.计时器
在传输层封装一个TCP头部或UDP头部,根据需要选择。
1.TCP的封装格式
Tcp头部最小20个字节,端口号占16位。一个主机可使用的端口号有2 的十六次方个,端口号范围:0-65535.
源端口号和目标端口不一定一样。
数据:应用层传来的数据。
源端口号:发送TCP进程对应的端口号
目标端口号:目标端接收进程的端口号
32位序列号:0 ~ 232(2的32次方)-1范围内,数据段标记,用于到目的端对到达包的重组(当发送的数据较多时,将大数据分成多个小数据传送,给每个小数据一个序列号,然后根据在接收端,根据数据的序列号将小数据重组,组成新的大数据。)
32位确认号:0 ~ 232(2的32次方)-1范围内,对发送端的确认信息,告诉发送端这个序号之前的数据段都收到了(与序列号类似,收到小数据后确认的)
4位首部长度:表示此TCP的头部长度。
保留(6位):留给以后需要用的,暂时没用。
后面的这6个是控制位:
URG:紧急指针有效位,与16位紧急指针配合使用,当URG为1时,16位紧急指针才有效。
ACK:确认序列号有效位,表明该数据包包含确认信息,当ACK为1时,确认号才有效。
PSH:通知接收端立即将数据提交给用户进程,不在缓存中停留,等待更多的数据.正常情况下,接收端收到数据后,会缓存的,缓存结束后才会将数据提交给用户进程。当PSH为1时,不缓存。
RST:为1时,请求重新建立TCP