计算机数据传输的模型图(一般现在按四层模型划分):
数据传输模型

传输层主要存在两个协议:
TCP:面向连接–三次握手、四次挥手;保证高可靠性(数据无丢失—-重传机制、数据有序传输、数据无错误—-校验码、数据无重复到达)
UDP:无连接,不可靠传输,常用于视频播放之类

TCP

TCP头部正常情况下包含20个字节,主要包含以下内容:
端口号—–源端口(客户端浏览器打开的端口)占两个字节—-8位
目标端口(服务回应端口)占两个字节—-8位
注:常用服务及其端口端口(FTP:21 SSH:22 Telnet:23 SMTP:25 http:80 https:443 Mysql:3306)
序号——-发送序号(seq)占四个字节
确认序号(ack)占四个字节
注:ack一般为seq的数字加一,但所传输的包数量超过(2^16)时,会重新归零
偏移量—–标识TCP的实际使用长度占一个字节(4位)—-得出TCP最长字节数为60
标志位—–占6位,值为1代表启用
URG 紧急指针,不用吧这个报文放入缓冲区,直接交个上层处理
ACK 确认序号有效
PSH 立即把报文放入缓冲区,并且把缓冲区的内容一起交个上层处理
SYN 同步序号用来发去一个连接
FIN 发送端完成发送任务(断开连接)
RST 表示断开一个连接(访问出错时使用)
窗口大小—表示能够接受tcp报文的最大字节数(16位),控制发送报文大小
校验和—–验证报文的正确性(16位)

三次握手

数据传输模型
注:三次握手只是建立连接的过程,期间无任何数据传输。

四次挥手

数据传输模型
注:四次挥手服务端和客户端皆可以先发起,如果客户端有一段时间再无任何请求,则一般由服务端发起(节约资源)。

UDP

UDP头部非常简单,只占用8个字节。
端口号—–源端口(客户端浏览器打开的端口)占两个字节—-8位
目标端口(服务回应端口)占两个字节—-8位
length—–占两个字节,标识UDP头部的长度
Checksum—校验和,包含UDP头和数据部分。

最后更新: 2019年10月05日 10:06

原始链接: https://LiYuanSh.github.io/2019/08/15/运维笔记六-TCP模型相关/

× 请我吃糖~
打赏二维码