IP是抽象的吗

网络工程 ip tcp MAC地址 苹果电脑
2022-02-18 01:03:04

如果数据包使用 MAC 地址从网络设备“跳跃”到网络设备,由 ARP 解析,这是否表明 IP 本质上是一种抽象?

通过抽象,我的意思是,数据包在网络中的实际移动是从 MAC 地址到 MAC 地址(尽管目标 IP 包含在数据包中),而 IP 的存在只是为了让软件开发人员的生活更轻松(即将多个 IP 映射到一个MAC,将设备分组到子网等)。

3个回答

您的家庭邮政地址是抽象的吗?

当有人给你寄一封纸质邮件时,他们会把你的地址放在信封上,然后把信封放进邮箱(第一个“路由器”)。

然后这封邮件通过不同的方式从一个跳到另一个:从邮箱到当地邮局(第二个路由器),从当地邮局乘汽车到分拣中心(第三个路由器),通过卡车到下一个邮局,等等。 ..

可能这封信可以乘飞机,甚至乘船携带,也可以骑自行车运送到最终目的地,但发射者不在乎。

发射器需要知道的唯一信息是您的邮政地址。它不需要知道路径中每一跳的地址,也不需要知道使用的传输方式。

IP 的工作方式完全相同:发射器知道目标的 IP 地址,而不关心每个跃点的地址或遇到的网络类型。请注意,您只是在谈论以太网,但在第 2 层还使用了许多其他技术。

IP 不存在“让软件开发人员的生活更轻松”。系统工作需要第 3 层地址

IP 是一种抽象,但不是您描述它的方式。在 OSI 和 TCP/IP 模型中,层抽象了它们下面的层。例如,像 http 这样的应用程序协议只需要一个字节流。Http 不知道也不关心字节是如何到达的。应用层之下发生的一切都是抽象的。媒体、数据速率、时钟速度、路由、流量控制、错误检测——所有这些都被抽象掉了。

通过抽象低层,上层不必关心细节。无论您使用的是 IPv4 还是 IPv6、以太网还是 Wi-Fi、DSL 还是卫星,HTTP 都没有关系。一切都被抽象为字节流。

使用 MAC 地址的以太网数据链路层是物理层的抽象吗?物理层是唯一实际移动位的层。这一切都取决于你的观点。

每一层都有自己的用途,它们都需要协同工作才能使复杂的网络正常工作。

传输层的工作是允许在主机上运行的应用程序之间进行通信。应用程序不必关心两者之间的细节。

网络层的工作(例如IP)是允许主机之间使用逻辑分组地址通过任意大型网络进行通信。网络层不必关心物理连接以及网络的实际构建方式。

数据链路层的工作(例如以太网)是允许连接到共享局域网的主机(接口)之间的通信。这主要是使用 MAC 寻址(“物理”地址)的点对多点。数据链路层并不关心其帧的实际传输方式。

物理层的工作是将位从一个地方移动到另一个地方。通常,这是点对点的,从电缆的一端到另一端。只有在这里,链接速度、媒体、距离、线路代码等很重要。

每一层都在某种程度上复用并细化了它下面更简单的层。功能会随着每一层的增加而增加。

是的,每一层都是下面一层的抽象。但它还有更多,引入了另一个级别的功能。