跳转至

计算机网络 传输层

运输层要解决的问题?

  • 网络层实现了异构网络之间的通信,尽最大努力在主机之间交付数据
  • 遗留的问题:

  • 参与通信的主机中,到底是谁在发送和接受应用程序的数据?(特指只知道找到电脑,不知道数据给哪个APP/进程(端口))

  • 如果出现了分组的重复、丢失、失序等不可靠传输的问题,如何处理?(该实现可靠传输了)

运输层有点特殊

  • 运输层是用户功能中的最低层,从这一层往上都是和用户使用的程序接触了
  • 运输层又是面向通信部分的最高层

主机之间的通信,实际上是两台主机中的应用进程之间的通信

复用/分用

两个协议UDP/TCP

端口

  • 运输层协议负责把数据交给指定的端口
  • 操作系统负责让正确的进程对应正确的端口

套接字 socket = (IP地址 : 端口号)

UDP套接字:

TCP套接字:<源IP地址,目的IP地址,源端口号,目的端口号>

UDP

概述

网络层提供的服务:

  • 尽最大努力将数据包交付到目的主机
  • 不保证投递的可靠性和顺序
  • 不保证带宽及延迟要求

UDP只在IP的数据包服务之上增加了一些功能:

  • 复用和分用
  • 差错检测

TCP

这里只是概述

  1. TCP是面向连接的运输层协议
  2. 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的
  3. TCP在无连接、不可靠的IP之上,提供面向连接的可靠交付服务:流水线式发送,报文段检错,丢失重传等
  4. TCP提供全双工通信,发送方和接收方可以同时与对方收发数据