CH5 运输层.ppt
文本预览下载声明
第 5 章 运输层 第 5 章 运输层 5.1 运输层协议概述 5.2 用户数据报协议 UDP 5.3 传输控制协议 TCP 5.4 可靠传输的工作原理 5.5 TCP 报文段的首部格式 5.6 TCP 可靠传输的实现 5.7 TCP的流量控制 5.8 TCP 的拥塞控制 5.9 TCP 的运输连接管理 5.1 运输层协议概述5.1.1 进程之间的通信 只有进行端到端的通信的两个主机的协议栈才有运输层。 路由器在转发分组时都只用到下三层的功能。 运输层为相互通信的应用进程提供了逻辑通信 运输层的主要功能 运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)。 运输层还要对收到的报文进行差错检测。 运输层有两种不同的运输协议: 面向连接的传输控制协议TCP (Transmission Control Protocol) 无连接的用户数据报协议 UDP (User Datagram Protocol)。 TCP 与 UDP 运输层传输的数据单元叫作运输协议数据单元 TPDU (Transport Protocol Data Unit)。 TCP 传送的数据单元是 TCP 报文段(segment) UDP 传送的数据单元是 UDP 报文或用户数据报。 TCP/IP 体系中的运输层协议 TCP 与 UDP 5.1.3 运输层的端口 端口(port): TCP/IP 体系中服务接入点的代名词。 软件端口与硬件端口 在协议栈层间的抽象的协议端口是软件端口。 路由器或交换机上的端口是硬件端口。 硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进程与运输实体进行层间交互的一种地址。 TCP 的端口 端口用一个 16 位端口号进行标志。 端口号具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。 三类端口 熟知端口(well-known),数值一般为 0~1023。 登记端口号(registered port),数值为1024~49151,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在 IANA 登记,以防止重复。 客户端口号或短暂端口号,数值为49152~65535,留给客户进程选择暂时使用。 5.2 用户数据报协议 UDP 5.2.1 UDP 的主要特点 UDP 是无连接的,即发送数据之前不需要建立连接。 UDP 使用尽最大努力交付,不保证可靠交付,也不使用拥塞控制。 UDP 是面向报文的。UDP 没有拥塞控制,很适合多媒体通信的要求。 UDP 支持一对一、一对多、多对一和多对多的交互通信。 UDP 的首部开销小,只有 8 个字节。 面向报文的 UDP 发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。 应用层交给 UDP 多长的报文,UDP 就照样发送,即一次发送一个报文。 接收方 UDP 对 IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。 应用程序必须选择合适大小的报文。 UDP 是面向报文的 UDP 基于端口的分用 5.2.2 UDP 的首部格式 计算 UDP 检验和的例子 5.3 传输控制协议 TCP 概述 5.3.1 TCP 最主要的特点 TCP 是面向连接的运输层协议。 每一条 TCP 连接只能有两个端点(endpoint),每一条 TCP 连接只能是点对点的(一对一)。 TCP 提供可靠交付的服务。 TCP 提供全双工通信。 面向字节流。 TCP 面向流的概念 应当注意 TCP 根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(UDP 发送的报文长度是应用进程给出的)。 TCP 可把太长的数据块分段(segment)再传送,TCP 也可以等到有足够多的字节后再构成报文段发送出去。 5.3.2 套接字 (socket) 套接字 socket = (IP地址: 端口号) (5-1) 每一条 TCP 连接被通信两端的两个端点(即两个套接字)所确定。 TCP 连接 ::= {socket1, socket2} = {(IP1: port1), (IP2: port2)} (5-2) TCP 可靠通信的具体实现 TCP 连接的每一端都必须设有两个窗口:一个发送窗口和一个接收窗口。 TCP 的可靠传输机制用字节的序号进行控制。TCP 所有的确认都是基于序号而不是基于报文段。 TCP 两端的四个窗口经常处于动态变化之中。 TCP连接的
显示全部