开放式系统互联模型------国际化标准组织ISO提出----协议组(协议模型)
应用层:接收用户数据,人机交互的接口
表示层:将编码转换为二进制(加密、解密)---统一格式
会话层:针对传输的每一种数据建立一条连接(防止不同数据之间相互干扰)
控制层面:上三层 数据层面:下四层
传输层:区分流量、定义数据传输方式;TCP、UDP
网络层:通过IP地址进行逻辑寻址
数据链路层:通过MAC地址进行物理寻址
LLC----逻辑链路控制层 MAC----介质访问控制层
物理层:定义协议物理特性(电压、电气、接口规范);传输比特流
补充:
PDU:传输数据单元
上三层----数据
传输层----数据段
网络层----数据包
数据链路层-数据帧
物理层----比特流
TCP协议----传输控制协议 是一种面向连接的可靠性协议
确认序列号:
1,该确认序列号表示接收方期望收到发送方发送到下一个字节的序号
2,表示接收方已收到该确认序列号之前的所有字节
窗口值:
指发送方可以不需要接受确认报文,就可以连续发送的最大数据量
选项字段:MSS,时间戳,选择确认机制,窗口因子
TCP的确认机制被称为累计确认
确认位ACK:当ACK=1时,确认序列号字段有意义。在TCP连接建立后,所有传输的报文段都必须将ACK置为1。
同步位SYN:代表连接请求
终止位FIN:表明此报文段发送方数据已全部发送完毕,要求释放连接
复位RST:表明TCP连接出现严重错误,必须释放连接,并重新建立新的传输连接。
紧急位URG:当URG=1时,表明此报文中存在紧急处理的数据,是高优先级数据,应尽快交付应用程序处理。与紧急指针配合使用。
推送位PSH:接收方应尽快交付接收应用进程,不再等待缓冲区填满在向上交付。
TCP的可靠性机制
排序机制
MTU:最大传输单元------包含数据部分、传输层头部、网络层头部----以太网中默认为1500字节
MSS:最大传输段------仅包含数据部分
重传机制:
RTT:往返时间
RTO:超时重传时间
RTO时间是动态变化的时间。会进行超时间隔时间加倍。
客户端通过服务端的反馈信息从而进行数据重传的方式被称为快速重传机制,此时的重传并非是因为RTO时间到达而触发,而是因为客户端连续接收到3个冗余ACK报文。快速重传机制会在RTO定时器超时之前重传报文段,从而解决超时重传时间加倍导致的延迟增大问题。
为了加快重传效率,将累积确认机制修改为SACK机制(选择确认机制),在TCP首部中的选项内容中携带未收到的数据字段,从而引发客户端重传。
TCP流量控制协议
接收方会在连接建立之前创建一个接收缓存,用以存放发送方发送的数据。而窗口大小在最初等于接收缓存大小。之后,窗口大小等于缓存大小减去已存在缓存中的数据量
(rwnd---接收窗口大小)
发送方根据每一次接收到的确认报文中的窗口字段,及时调整发送缓存大小,确保发送缓存用于小于等于窗口值
TCP连接管理
TCP存在一个保活计时器,该计时器2小时时间。若该计时器时间内没有收到任何客户端的数据,服务端会发送一个探测报文段,并每隔75秒发送一次。若连续发送10个探测报文仍没有反应,则服务器认为客户端出现故障,关闭连接。
TCP连接的释放
1、是为了释放在之前分配给TCP进程的资源
2、本地所有数据已传输完毕
TCP分段
TCP协议封装的数据不允许在IP层面进行分片操作。
MSS(最大传输段)= MTU-IP头部-TCP头部
PMTU---路径MTU发现协议
三次握手,四次挥手
谁先发报文谁是客户端
分析: