TCP/IP 网络分层概述

引言

重新看了 TCP/IP 分层概念,有了更深入的理解。

TCP/IP 网络分层概述

应用层中的应用程序通常是一个用户进程,而下三层则一般在(操作系统)内核中执行。
尽管这不是必需的,但通常都是这样处理的,例如 UNIX 操作系统。

TCP/IP 四层协议的顶层与下三层之间还有另一个关键的不同之处。
应用层关心的是应用程序的细节,而不是数据在网络中的传输活动。
下三层对应用程序一无所知,但它们要处理所有的通信细节。


我们可以划分出端系统( End system )(两边的两台主机)和中间系统
(Intermediate system)(中间的路由器)。
应用层和运输层使用端到端( End-to-end)协议。
在图中,只有端系统需要这两层协议。
但是,网络层提供的却是逐跳( Hop-by-hop)协议,两个端系统和每个中间系统都要使用它。


在 TCP/IP 协议族中,网络层 IP 提供的是一种不可靠的服务。
也就是说,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。
而另一方面, TCP 在不可靠的 IP 层上提供了一个可靠的运输层。
为了提供这种可靠的服务, TCP 采用了超时重传、发送和接收端到端的确认分组等机制。
由此可见,运输层和网络层分别负责不同的功能。

互联网的目的之一是在应用程序中隐藏所有的物理细节。
应用层不能关心(也不关心)一台主机是在以太网上,而另一台主机是在令牌环网上,
它们通过路由器进行互连。
随着增加不同类型的物理网络,可能会有 20 个路由器,但应用层仍然是一样的。
物理细节的隐藏使得互联网功能非常强大,也非常有用。


虽然 TCP 使用不可靠的 IP 服务,但它却提供一种可靠的运输层服务。
UDP 为应用程序发送和接收数据报。一个数据报是指从发送方传输到接收方的一个信息单元
(例如,发送方指定的一定字节数的信息)。
但是与 TCP 不同的是,UDP 是不可靠的,它不能保证数据报能安全无误地到达最终目的。

TCP/IP 协议族分为四层:链路层、网络层、运输层和应用层,每一层各有不同的责任。
在TCP/IP 中,网络层和运输层之间的区别是最为关键的:
网络层(IP)提供点到点的服务,
而运输层(TCP 和 UDP)提供端到端的服务。

Ref

《TCP/IP 详解 卷 1:协议》第 1 章 概述 1.2 分层 1.3 TCP/IP 分层