传输层(一)

概述

传输层是整个网络体系结构中的关键层次之一,主要负责向两个主机中进程之间的通信提供服务。传输层在终端用户之间提供透明的数据传输,向上层提供可靠的数据传输服务。传输层在给定的链路上通过流量控制、分段/重组和差错控制来保证数据传输的可靠性。主要的传输协议有TCP和UDP。

服务过程:

  • 发送方:将应用层的报文分成报文段,然后传递给网络层
  • 接收方:将报文段重组成报文,然后传递给应用层

服务类型:

  • 可靠的、保序的传输: TCP
    • 多路复用、解复用
    • 拥塞控制
    • 流量控制
    • 建立连接
  • 不可靠、不保序的传输:UDP
    • 多路复用、解复用
    • 没有为尽力而为的IP服务添加更
      多的其它额外服务

都不提供的服务:

  • 延时保证
  • 带宽保证

多路复用和解复用

  • 在发送方主机多路复用:

    从多个套接字接收来自多个进程的报文,根据套接字对应的IP地址和端口号等信息对报文段用头部加以
    封装(该头部信息用于以后的解复用)

  • 在接收方主机多路解复用:

    根据报文段的头部信息中的IP地址和端口号将接收到的报文段发给正确的套接字(和对应的应用进程)

面向连接的解复用(TCP):

由于UDP的Socket需要关联自身的IP和端口以及目标的IP和端口,每个连接会有单独的socket进行复用

image-20230413101857645

无连接的解复用(UDP):

由于UDP的Socket只关联自身的IP和端口,所以不管谁发送的都可以复用同一个Socket。

image-20230413101556588

无连接传输:UDP

  • UDP提供一种“尽力而为”的服务,报文可能丢失、乱序。
  • UDP属于无连接的服务:
    • UDP发送端和接收端之间没有握手
    • 每个UDP报文段都被独立地处理

数据报格式:

image-20230413115853860

优势:

  • 不建立连接(会增加延时)
  • 简单:在发送端和接收端没有连接状态
  • 报文段的头部很小(开销小)
  • 无拥塞控制和流量控制:
  • UDP可以尽可能快的发送报文段