> 文章列表 > 计算机网络考试复习——第五章

计算机网络考试复习——第五章

计算机网络考试复习——第五章

本章考察范围为5.1 5.3 5.4这三部分。

该层传输的单位是报文段

5.1 运输层协议概述:

5.1.1 进程之间的通信:

运输层是向它上面的应用层提供通信服务。它属于面向通信部分的最高层,同时也是用户功能的最低层。

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

信道这里分为可靠的信道和不可靠的信道,考察范围主要是全双工可靠信道使用面向连接的协议TCP而不可靠的信道面向无连接的协议UDP这里不做考察。

5.1.2   运输层的两个主要协议

互联网的正式标准:

用户数据报协议 UDP

传输控制协议 TCP运输协议单位:两个对等运输实体在通信时传送的数据单位叫作运输协议数据单元 TPDU。

TCP 传送的数据单位协议是 TCP 报文段。

UDP 传送的数据单位协议是 UDP 报文或用户数据报。

UDP:传送数据之前不需要先建立连接。 收到 UDP 报后,不需要给出任何确认。 不提供可靠交付,但是一种最有效的工作方式。

TCP:提供可靠的、面向连接的运输服务。 不提供广播或多播服务。 开销较多。

5.1.3   运输层的端口

复用:应用进程都可以通过运输层再传送到 IP 层(网络层)。分用:运输层从 IP 层收到发送给应用进程的数据后,必须分别交付给指明的各应用进程。

在运输层使用协议端口号,或通常简称为端口。把端口设为通信的抽象终点。

软件端口:协议栈层间的抽象的协议端口。 是应用层的各种协议进程与运输实体进行层间交互的地点。 不同系统实现端口的方法可以不同。

硬件端口:不同硬件设备进行交互的接口。

TCP/IP 运输层端口的标志:端口用一个 16 位端口号进行标志,允许有 65,535 个不同的端口号。 端口号只具有本地意义,只是为了标志本计算机应用层中的各进程。 在互联网中,不同计算机的相同端口号没有联系。

端口分为两大类,三种类型:分别为客户端类型和服务器端类型。服务器端分为两类:熟知端口 (全球通用端口号) (IANA 负责分配)和登记端口 (在 IANA 登记)。客户端端口只有一类为:短暂端口 (通信结束后,被系统收回)

常用的熟知端口:

5.3 传输控制协议 TCP 概述 

5.3.1  TCP 最主要的特点

TCP 是面向连接的运输层协议,在无连接的、不可靠的 IP 网络服务基础之上提供可靠交付的服务。为此,在 IP 的数据报服务基础之上,增加了保证可靠性的一系列措施。

TCP最主要的特点:

1)TCP 是面向连接的运输层协议。

2)每一条 TCP 连接只能有两个端点,每一条 TCP 连接只能是点对点的(一对一)。

3)TCP 提供可靠交付的服务。

4)TCP 提供全双工通信。

5)面向字节流

5.1)TCP 中的“流”指的是流入或流出进程的字节序列。

5.2)面向字节流:虽然应用程序和 TCP 的交互是一次一个数据块,但 TCP 把应用程序交下来的数据看成仅仅是一连串无结构的字节流。

TCP面向流的概念:TCP 不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块具有对应大小的关系。 但接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样。

TCP 不关心应用进程一次把多长的报文发送到 TCP 缓存。 TCP 根据对方给出的窗口值和当前网络拥塞程度来决定一个报文段应包含多少个字节,形成 TCP 报文段。

TCP 把连接作为最基本的抽象。 TCP 连接的端点:套接字 (socket) 或插口。每一条TCP连接有两个端口。

 套接字 (socket):套接字 socket = (IP地址 : 端口号) 例如:(192.169.1.20 : 2028)

每一条 TCP 连接唯一地被通信两端的两个端点(即两个套接字)所确定:TCP 连接 ::= {socket1, socket2} = {(IP1: port1),(IP2: port2)}

TCP 连接,IP 地址,套接字三者的联系:TCP 连接就是由协议软件所提供的一种抽象。 TCP 连接的端点是抽象的套接字,即(IP 地址:端口号)。 同一个 IP 地址可以有多个不同的 TCP 连接。 同一个端口号也可以出现在多个不同的 TCP 连接中。

5.4 可靠传输的工作原理

IP 网络提供的是不可靠的传输

理想传输条件的特点:传输信道不产生差错。 不管发送方以多快的速度发送数据,接收方总是来得及处理收到的数据。

在理想传输条件下,不需要采取任何措施就能够实现可靠传输。 但实际网络都不具备理想传输条件。必须使用一些可靠传输协议,在不可靠的传输信道实现可靠传输。

5.4.1停止等待协议

每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。 全双工通信的双方既是发送方也是接收方。 假设仅考虑 A 发送数据,而 B 接收数据并发送确认。因此 A 叫做发送方,而 B 叫做接收方。

1. 无差错情况

2.出现差错分为两种情况:

1)B 接收 M1 时检测出了差错,就丢弃 M1,其他什么也不做(不通知 A 收到有差错的分组)。 2)M1 在传输过程中丢失了,这时 B 当然什么都不知道,也什么都不做。 

在这两种情况下,B 都不会发送任何信息。

问题:A 如何知道 B 是否正确收到了 M1 呢?

解决方法:超时重传

1.A 为每一个已发送的分组设置一个超时计时器。

2.A 只要在超时计时器到期之前收到了相应的确认,就撤销该超时计时器,继续发送下一个分组 M2 。

3.若 A 在超时计时器规定时间内没有收到 B 的确认,就认为分组错误或丢失,就重发该分组。确认丢失和确认迟到 

确认丢失:若 B 所发送的对 M1 的确认丢失了,那么 A 在设定的超时重传时间内将不会收到确认,因此 A 在超时计时器到期后重传 M1。 假定 B 正确收到了 A 重传的分组 M1。

这时 B 应采取两个行动: (1) 丢弃这个重复的分组 M1,不向上层交付。 (2) 向 A 发送确认。 

确认迟到: B 对分组 M1 的确认迟到了,因此 A 在超时计时器到期后重传 M1。 B 会收到重复的 M1,丢弃重复的 M1,并重传确认分组。 A 会收到重复的确认。对重复的确认的处理:丢弃停止等待协议要点总结:

停止等待:发送方每次只发送一个分组。在收到确认后再发送下一个分组。 暂存:在发送完一个分组后,发送方必须暂存已发送的分组的副本,以备重发。 编号:对发送的每个分组和确认都进行编号。 超时重传:发送方为发送的每个分组设置一个超时计时器。若超时计时器超时位收到确认,发送方会自动超时重传分组。 超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些,防止不必要的重传。 简单,但信道利用率太低。

为了提高传输效率:流水线传输。流水线传输:在收到确认之前,发送方连续发出多个分组。5.4.2   连续 ARQ 协议

发送窗口:发送方维持一个发送窗口,位于发送窗口内的分组都可被连续发送出去,而不需要等待对方的确认。

发送窗口滑动:发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。 累积确认:接收方对按序到达的最后一个分组发送确认,表示:到这个分组为止的所有分组都已正确收到了。累计确认的优缺点:

优点:容易实现,即使确认丢失也不必重传。

缺点:不能向发送方反映出接收方已经正确收到的所有分组的信息。