传输层协议为运行在不同Host上的进程 提供了一种逻辑通信机制

端系统运行传输层协议

  • 发送方:将应用递交的消息分成一个或多 个的Segment,并向下传给网络层。
  • 接收方:将接收到的segment组装成消息, 并向上交给应用层。

Internet传输层协议

  • 可靠、按序的交付服务(TCP) : 拥塞控制 流量控制 连接建立
  • 不可靠的交付服务(UDP) :基于“尽力而为(Best-effort)”的网络层 ,没有做(可靠性方面的)扩展
  • 两种服务均不保证: 延迟 带宽

屏蔽作用
运输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。

传输层和网络层的关系

网络层:提供主机之间的逻辑通信机制
传输层:提供应用进程之间的逻辑通信机制

  • 位于网络层之上
  • 依赖于网络层服务
  • 对网络层服务进行(可能的)增强

image.png

进程到进程的数据交付

复用和分用

image.png

  • 接收端进行多路分用: 传输层依据头部信息将收到的 Segment交给正确的Socket, 即不同的进程
  • 发送端进行多路复用:从多个Socket接收数据,为每 块数据封装上头部信息,生成 Segment,交给网络层

分用的工作原理

传输层协议把应用层报文(message)切分成segments

  1. 主机接收到IP数据报(datagram)
  • 每个数据报携带源IP地址、目的IP地址。
  • 每个数据报携带一个传输层的段(Segment )。 每个段携带源端口号和目的端口号
  1. 主机收到Segment之后,传输层协议提 取IP地址和端口号信息,将Segment导 向相应的Socket
  • TCP做更多处理

    无连接分用

  1. UDP的Socket用二元组标识 (目的IP地址,目的端口号)
  2. 主机收到UDP段后
  • 检查段中的目的端口号
  • 将UDP段导向绑定在该端口号的 Socket

来自不同源IP地址和/或源端口号的 IP数据包被导向同一个Socket

面向连接的分用

TCP的Socket用四元组标识(源IP地址 ,源端口号 ,目的IP地址 ,目的端口号 )
接收端利用所有的四个值将 Segment导向合适的Socket

  • 服务器可能同时支持多个TCP ,Socket 每个Socket用自己的四元组标识
  • Web服务器为每个客户端开不同的 Socket