TCP 报文及传输
TCP 报文主要学习的内容包括, 报文格式, 连接管理, 流量控制, 差错控制.
TCP 报文是由报文头部和数据两个部分组成. 占 20 字节的报文头部包括源端口, 位目的端口, 序号,, 确认号, 首部长度, 保留, URG,ACK,PSH,RST,SYN,FIN, 窗口大小, 检验和以及紧急指针.
序号字段的值为本报文段所发送数据的第一个字节序号; 确认号字段则是指期望收到对方下一个报文段数据的第一个字节的序号; 紧急 URG 字段表示, 当报文 URG 字段值等于 1 时, 紧急指针字段有效; 确认 ACK 字段表示, 当报文 ACK 字段值等于 1 时, 确认号字段有效; 复位 RST 字段表示, 当报文 RST 字段值等于 1 时, TCP 连接中出现严重错误, 必须释放连接, 然后再重新建立传输连接; 同步 SYN 字段表示, 当报文 SYN 字段值等于 1 时, 此报文是一个连接请求或连接接受的报文; 发送端窗口大小字段值取决于对方设置的发送窗口大小, 接收端窗口大小的值取决于接收端的缓冲窗口大小.
TCP 建立连接的过程通常被称作三次握手. 第一步, 客户端的 TCP 向服务器发出连接请求报文段(SYN=1,seq=x). 第二步, 服务器的 TCP 收到连接请求后, 若同意, 则发回确认(ACK=1,ack=x+1), 同时向客户端发起连接请求(SYN=1,seq=y). 第三步, 客户端收到服务器的报文后向服务器给出确认(ACK=1,ack=y+1). 至此, 连接已建立.
TCP 与 UDP 的区别在于, UDP 报文没有可靠性保证和顺序保证字段, 但传输效率比 TCP 高. 例如, 在线看直播时出现画面卡顿不会重新加载 (类似 UDP) 看实况时出现的画面卡顿会产生缓冲加载(类似 TCP)
IP 通信基础课堂笔记 ---- 第二章(重点)
来源: http://www.bubuko.com/infodetail-3004565.html