传输层回顾

  • 三个传输层协议:TCP、UDP、ICMP

  • TCP是如何工作的,连接和重传

  • UDP是如何工作的

  • ICMP如何工作

  • 端到端原则

小结1

在本单元中,你了解了传输层。具体来说,你了解了当今使用的三个最重要的传输层协议:

  • 第一个协议是TCP,或传输控制协议,被95%以上的互联网应用所使用。TCP几乎被普遍使用,因为它提供了可靠的、端到端的、双向的字节流服务,这几乎是所有应用程序所希望的。本单元中的大部分视频都是关于TCP的,你学到了我们如何检测一个分组没有被送达或在途中被破坏,你还了解了TCP用来成功地重传数据直到其被正确送达的机制。我们花了3个视频来探索在不可靠的互联网上可靠地传输数据的不同方法。

  • 我们研究的第二个传输层协议是UDP,即用户数据报协议。UDP被那些不需要TCP保证交付服务的应用所使用,这是因为应用以其自己的专用方式处理重传,或者因为应用不需要可靠的交付。UDP所做的就是接收应用数据并创建一个UDP数据报,数据报确定了数据应该被发送到另一端的应用程序。尽管很少有应用程序使用UDP,但我们看到了DNS和DHCP的例子,它们都是简单的请求-响应查询协议。

  • 我们研究的第三个传输层协议是ICMP,即互联网控制消息协议。ICMP的主要工作是在事情出错时发送反馈。例如,如果路由器收到一个IP数据报,但不知道下一步该把它送到哪里,那么它会将ICMP消息发送回源以让其知道。ICMP对于理解端到端通信无法正常工作的原因非常有用。

你还了解了指导互联网设计的最重要的总体架构原则之一,并继续指导我们今天的思考,这被称为"端到端原则"。我们了解了端到端原则的两个版本:

  • 较温和的版本说,如果有一些功能只能在网络的边缘或边缘正确实现,那么这些功能显然需要在那里实现 。端到端的可靠文件传输和网络安全就是两个例子:通过向网络添加功能来帮助这些功能是可以的,但这些功能只能帮助,而不能取代端到端的功能。

  • 端到端原则的第二个更有力的版本是,如果我们能在终端主机上实现一个功能,那么我们就应该这样做 。其基本思想是,网络应该保持简单、精简,尽可能少的功能出错、减缓或需要升级。这里假定终端主机是相当智能的,如笔记本电脑或智能手机,并能实现应用程序所需的许多功能。

小结2

在本单元中,你主要学习了五个主题:

  1. 三个广泛使用的传输层。TCP用于在应用程序之间可靠地传送字节流,UDP作为应用程序之间不可靠地传送数据报,ICMP作为检测出错时的一种方法。

  2. TCP如何工作,特别强调它如何在两个应用程序之间可靠地传送字节。你了解了如何检测数据错误和丢失的分组,分组如何被重传,以及几种不同的重传策略,包括选择性重复和Go-Back-N。你了解了基本的TCP机制如何使用Go-Back-N,并使用滑动窗口跟踪未确认的字节。你还了解了跟踪TCP连接当前状态的TCP状态机。

  3. UDP是如何工作的,为什么它被少数应用所使用。

  4. ICMP是如何工作的,以及它如何帮助我们检测通信出错,并监测两台终端主机之间的路由性能。

  5. 你了解了端到端原则,这是一个重要的总体原则,用于设计互联网和许多其他通信系统。在这门课中,以及在你走向世界后,你会发现许多人在谈论这个原则,以帮助指导他们的设计决策。

小结3

  • 你现在应该对三个不同的传输层有了很好的了解。

  • 你应该了解不同的重传策略以及为什么TCP使用"滑动窗口"。

  • 你应该知道为什么TCP使用连接,如何建立连接,以及如何通过状态机维护连接。

  • 你应该能够解释"端到端原则"。

Last updated