传输层知识点整理
传输层协议为运行在不同Host上的进程提供了一种逻辑通信机制
网络层与传输层之间的区别
网络层:提供主机之间的逻辑通信
传输层:应用进程之间的逻辑通信机制
多路复用/分用
多路分用
传输层依据头部信息将收到的Segment交给正确的Socket,即不同的进程。
- 主机接收到IP数据报
- 主机收到segment之后,传输层协议提取IP地址和端口号信息,将Segment导向相应的Socket
无连接分用(UDP)
利用端口号创建Socket
UDP的Socket用二元组标识,主机收到UDP段后,来自不同源IP地址和/或源端口号的ip数据报被导向一个Socket
多路复用
从多个Socket接收数据,为每块数据封装上头部信息,生成Segment,交给网络层
TCP的socket用四元组标识;源IP地址,源端口号,目的IP地址,目的端口号
接收端利用所有的四个值将Segment导向合适的Socket
服务器可能同时支持多个TCP Socket
Web服务器为每个客户端开不同的Socket
UDP协议
基于IP协议
实现复用/分用
简单的错误校验
无连接
尽力而为的服务模型,所以有可能丢失,非按序到达
UDP为什么存在
无需连接建立连接(减少延迟)
实现简单,无需维护连接状态
头部开销少
没有拥塞控制,应用可以更好地控制发送时间和速率
用途:流媒体应用,dns,SNMP
UDP校验和
目的:检测UDP段在传输中是否发生错误
可靠数据传输原理
可靠:不错,不丢,不乱
可靠数据传输的基本结构:接口