计算机网络自顶向下复习重点-第三章

1. 传输层的目的与提供的服务。

1.在运行不同主机上应用进程之间提供逻辑通信
2.运输协议运行在端系统中
3. 应用程序可供使用的运输协议不止一个

TCP(可靠的、按序的交付):拥塞控制 流量控制 连接建立;
UDP(不可靠、无序的交付): “尽力而为”IP不提供不必要服务的扩展

TCP和UDP都不提供时延和带宽的保证;

2. 多路复用与多路分解;端口号;标识 UDP 套接字的二元组、标识 TCP 套接字的四元组。

多路复用:
在源主机,传输层协议从不同的套接字收集应用进程发送的数 据块,并为每个数据块封装上首部信息(包括用于分解的信息)构成报文段,然后将报文段传递给网络层。

多路分解:
在目的主机,传输层协议读取报文段中的字段,标识出接收套接字,进而通过该套接字,将传输层的报文段中的数据交付给正确的套接字。

多路复用与多路分解(复用与分解/复用与分用):
支持众多应用进程共用同 一个传输层协议,并能够将接收到的数据准确交付给不同的应用进程

端口号是一个16比特的数

标识UDP套接字的二元组: 目的地IP地址, 目的地端口号

标识TCP套接字的四元组:源IP地址、源端口号、目的IP地址、目的端口号

3. TCP 和 UDP 的比较

1.TCP面向连接,即客户端需要通过三次握手才能和服务端建立起连接,在这个连接的基础上才可以进行数据传输;而UDP是无连接的,发送数据之前不需要建立连接。因此,TCP需要在端系统中维护连接状态,而UDP则不需要维护连接状态

2.TCP提供可靠的服务,即通过TCP连接传输的数据能确保无差错、不丢失、无重复且按序到达;UDP不提供可靠的传输服务,传输过程有可能出现丢包,同时也不保证数据报的到达顺序

3.TCP面向字节流,实际上TCP把数据看作是一连串无结构的字节流;UDP则是面向报文传输

4.TCP有拥塞控制机制,当源主机和目的主机间的一条或者多条链路变得极度拥塞时来遏制运输层TCP发送方,而UDP没有拥塞控制机制,相比之下,在出现拥塞的情况下,UDP不会降低源主机发送数据的速率,更适合用于支撑部分实时应用如IP电话、实时视频会议等

5.TCP连接是点对点的,而UDP支持一对一、一对多、多对一和多对多的交互通信

6.从报文段结构上考虑,每个TCP报文段都有20字节的首部开销,而UDP仅有8字节的开销

4. 不同信道特点下的可靠数据传输原理,各种可靠数据传输机制及作用;理解 rdt1.0、rdt2.0 有限状态机,包括理解其各步骤的作用或含义;停等协议及效率;TCP 的可靠数据传输机制; GBN 的恢复重传的特点。

Rdt1.0:经完全可靠信道的可靠数据传输(底层信号非常可靠,无比特差错,无分组丢失)

Rdt2.0:经具有比特差错信道的可靠数据传输(肯定确认、否定确认)
这种基于重传机制的可靠数据传输协议被称为自动重传请求(ARQ)协议
在ARQ协议中有三种协议功能来处理比特差错的情况:
1.差错检测 2.接收方反馈 3.重传
发送方将不会发送一块新数据,除非发送方确信接收方已正确接收当前分组。因此Rdt2.0这样的协议被称为停等协议。

Rdt2.1:如果ACK\NAK受损 可能导致冗余 为了处理冗余发送方对每个分组增加序列号 如果ACK\NAK受损,发送方重传当前分组,接收方丢弃冗余分组。

Rdt2.2 无NAK协议,代替NAK,接收方对最后正确接收的分组发送ACK。

Rat3.0:具有比特差错和丢包信道的可靠数据传输 为解决丢包问题,发送方等待ACK一段合理的时间,需要倒数计时器来解决这个问题。

接收方同Rdt2.2相同。

流水线协议:发送方允许发送多个、“传输中的”、还没有应答的报文段(序号范围必须增加,发送方和接收方没有缓冲)有两种形式:回退N步GBN 选择重传SR

回退N步:对失序的分组丢弃,不缓存,没有接收缓存区,;重新确认具有按序的分组

选择重传:通过让发送方仅重传那些他怀疑在接收方出错的分组而避免了不必要的重传。

其中窗口长度必须小于或者等于序号空间的一半。

利用率/效率:发送方实际忙于将发送比特送进通道的那部分时间与发送时间之比。

U = (L/R)/(RTT+L/R) RTT:往返时间可用流水线的方式提高效率。

TCP实现可靠数据传输服务的工作机制

1、应用层数据被分割成TCP认为最适合发送的数据块(最大报文段长度(Maximum Segment Size , MSS): 报文段中封装的应用层数据的最大长度)

2、序号,发送方对发送的数据包进行编号,确保数据按序提交给接收方。(序号:一个字节占用一个序号。序号字段指的就是一个报文段第一个字节的序号)

3、确认,接收方向发送方反馈接收状态,确认是否正确接收数据。 TCP采取累计确认。

4、查错检测,利用差错编码实现数据包传输过程中的比特查错检测(甚至纠正)。

5、重传,发送方重新发送接收方没有正确接收的数据(快速重传: TCP发送方接收到对相同序号的3次重复ACK,就说明被重复确认的报文段已丢失,这时候即便没有超时,也会重发该报文段)

6、计时器,在发送方引入计时器,解决数据丢失问题(计时器超时时间设置:TimeoutInerval=EstimatedRTT+4×DevRTT; EstimatedRTT:抽样RTT的加权移动平均值。 DevRTT:偏差RTT)

GBN:
发送端缓存能力高,可以在没有得到确认前发送多个分组。 接收端缓存能力很低,只能接收1个按序到达的分组,不能缓存未按序到达的分组

5. 流量控制和拥塞控制的比较;TCP 连接的建立(三次握手)原理; TCP 的序号与确认号的使用 方法。

TCP的流量控制:协调发送方与接收方数据的发送与接收速度;在通信过程中,接收方设置报文段的接收窗口字段来将窗口大小通知给发 送方。

TCP的拥塞控制:

网络拥塞:太多的主机以太快的速度向网络中发送太多的数据,超出了网 络处理能力,导致大量数据分组拥挤在中间设备队列中等待转发,网络性能显 著下降的现象

拥塞控制:通过合理调度、规范、调整向网络中发送数据的主机数量、发 送速率、数据量,以避免拥塞或消除已发生的拥塞;拥塞控制可以在不同的层实现,ATM网络是在网络层进行,Internet是在传输层进行(通过TCP实现)

拥塞控制算法:慢启动、 拥塞避免 、快速重传、 快速恢复

TCP连接的建立(三次握手)原理:
步骤 1:
客户机向服务器发送TCP SYN报文段
指定初始序号
没有数据

步骤 2:
服务器收到SYN报文段,用SYNACK报文段回复
服务器为该连接分配缓冲区和变量
指定服务器初始序号

步骤 3:
客户机接收到SYNACK,用ACK报文段回复
可能包含数据


TCP可靠数据传输机制:TCP在IP不可靠服务的基础上创建可靠数据传输服务

可靠传输的措施:1.错包:流水线发送报文段、累积确认。2.丢包:TCP使用单个重传计时器,重传超时事件和重复ACK事件。

TCP 的序号与确认号的使用 方法

TCP协议工作在OSI的传输层,是一种可靠的面向连接的数据流协议,TCP之所以可靠,是因为它保证了传送数据包的顺序。顺序是用一个序列号来保证的。响应包内也包括一个序列号,表示接收方准备好这个序列号的包。在TCP传送一个数据包时,它会把这个数据包放入重发队列中,同时启动计时器,如果收到了关于这个包的确认信息,便将此数据包从队列中删除,如果在计时器超时的时候仍然没有收到确认信息,则需要重新发送该数据包。另外,TCP通过数据分段中的序列号来保证所有传输的数据可以按照正常的顺序进行重组,从而保障数据传输的完整。
在这里插入图片描述
6.作业补充

1.UDP应用

.应用程序开发者可能不想其应用程序使用TCP的拥塞控制,因为这会在出现拥塞时降低应用程序的传输速率。通常,IP电话和IP视频会议应用程序的设计者选择让他们的应用程序运行在UDP上,因为他们想要避免TCP的拥塞控制。还有,一些应用不需要TCP提供的可靠数据传输。 (特定服务需要UDP的理由:a应用层能更好的控制要发送的数据和发送时间b无需连接建立c无连接状态d分组首部开销小)

2.处理多个客户机请求

对于每个持久连接,Web服务器创建一个单独的“连接套接字”,每个连接套接字由一个四元组(源IP地址,源端口号,目的IP地址,目的端口号)识别。当作为Web服务器的主机C接收到IP数据报时,检查数据报里相应的四元组字段决定导向到哪个套接字。虽然目的IP和目的端口号一样,但主机A和主机B的源IP地址不一样,所以主机C不能用相同的套接字与A、B两台不同主机进行通信。两个套接字都可以是80,区分它们的元组可以是不同的源IP地址。

猜你喜欢

转载自blog.csdn.net/weixin_44003265/article/details/106847312