计算机网络教案(第5章).pptVIP

  • 7
  • 0
  • 约1.41万字
  • 约 76页
  • 2017-02-23 发布于湖北
  • 举报
第 5 章 传输层 两个主机进行通信实际上就是两个主机中的应用进程互相通信。 应用进程之间的通信又称为端到端的通信。 传输层为应用进程之间提供端到端的逻辑通信(网络层是为主机之间提供逻辑通信)。 传输层还要对收到的报文进行差错检测。 传输层需要有两种不同的传输协议,即面向连接的 TCP 和无连接的 UDP。 两种不同的传输协议 传输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),它使应用进程看见的就是好像在两个传输层实体之间有一条端到端的逻辑通信信道。 当传输层采用面向连接的 TCP 协议时,尽管下面的网络是不可靠的(只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工的可靠信道。 当传输层采用无连接的 UDP 协议时,这种逻辑通信信道是一条不可靠信道。 5.1.3 应用进程、传输层接口与套接字 运行在计算机中的进程是用进程标识符来标志的。 运行在应用层的各种应用进程却不应当让计算机操作系统指派它的进程标识符。这是因为在因特网上使用的计算机的操作系统种类很多,而不同的操作系统又使用不同格式的进程标识符。 为了使运行不同操作系统的计算机的应用进程能够互相通信,就必须用统一的方法对 TCP/IP 体系的应用进程进行标志。 端口号(protocol port number) 简称为端口(port) 解决这个问题的方法就是在传输层使用协议端口号(protocol port number),通常简称为端口(port)。 虽然通信的终点是应用进程,但我们可以把端口想象是通信的终点,因为我们只要把要传送的报文交到目的主机的某一个合适的目的端口,剩下的工作(即最后交付目的进程)就由 传输层协议 来完成。 软件端口与硬件端口 在协议栈层间的抽象的协议端口是软件端口。 路由器或交换机上的端口是硬件端口。 硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进程与传输实体进行层间交互的一种地址。 TCP 的端口 端口用一个 16 位端口号进行标志。 端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的。 套接字 (socket) 套接字 socket = (IP地址: 端口号) (5-1) 每一条 TCP 连接唯一地被通信两端的两个端点(即两个套接字)所确定。即: TCP 连接 ::= {socket1, socket2} = {(IP1: port1), (IP2: port2)} (5-2) 传输层的一个很重要的功能就是复用和分解。应用层不同进程的报文通过不同的端口向下交到传输层,再往下就共用网络层提供的服务。 “传输层提供应用进程间的逻辑通信”。“逻辑通信”的意思是:传输层之间的通信好像是沿水平方向传送数据。但事实上这两个传输层之间并没有一条水平方向的物理连接。 5.2 传输层的两个主要协议 5.2.1 TCP/IP 传输层的两个不同协议 (1) 用户数据报协议 UDP (User Datagram Protocol) (2) 传输控制协议 TCP (Transmission Control Protocol) TCP 与 UDP TCP 传送的数据单位协议是 TCP 报文段(segment) UDP 传送的数据单位协议是 UDP 报文或用户数据报。 TCP/IP 体系中的运输层协议 TCP 与 UDP UDP 在传送数据之前不需要先建立连接。对方的运输层在收到 UDP 报文后,不需要给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是一种最有效的工作方式。 TCP 则提供面向连接的服务。TCP 不提供广播或多播服务。由于 TCP 要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。 5.3 用户数据报协议 UDP 发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。 应用层交给 UDP 多长的报文,UDP 就照样发送,即一次发送一个报文。 接收方 UDP 对 IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。 应用程序必须选择合适大小的报文。 UDP 是面向报文的 5.4 传输控制协议 TCP 概述 5.4.1 TCP 最主要的特点 TCP 是面向连接的运输层协议。 每一条 TCP 连接只能有两个端点(endpoint),每一条 TCP 连接只能是

文档评论(0)

1亿VIP精品文档

相关文档