如果数据包使用 MAC 地址从网络设备“跳跃”到网络设备,由 ARP 解析,这是否表明 IP 本质上是一种抽象?
通过抽象,我的意思是,数据包在网络中的实际移动是从 MAC 地址到 MAC 地址(尽管目标 IP 包含在数据包中),而 IP 的存在只是为了让软件开发人员的生活更轻松(即将多个 IP 映射到一个MAC,将设备分组到子网等)。
如果数据包使用 MAC 地址从网络设备“跳跃”到网络设备,由 ARP 解析,这是否表明 IP 本质上是一种抽象?
通过抽象,我的意思是,数据包在网络中的实际移动是从 MAC 地址到 MAC 地址(尽管目标 IP 包含在数据包中),而 IP 的存在只是为了让软件开发人员的生活更轻松(即将多个 IP 映射到一个MAC,将设备分组到子网等)。
您的家庭邮政地址是抽象的吗?
当有人给你寄一封纸质邮件时,他们会把你的地址放在信封上,然后把信封放进邮箱(第一个“路由器”)。
然后这封邮件通过不同的方式从一个跳到另一个:从邮箱到当地邮局(第二个路由器),从当地邮局乘汽车到分拣中心(第三个路由器),通过卡车到下一个邮局,等等。 ..
可能这封信可以乘飞机,甚至乘船携带,也可以骑自行车运送到最终目的地,但发射者不在乎。
发射器需要知道的唯一信息是您的邮政地址。它不需要知道路径中每一跳的地址,也不需要知道使用的传输方式。
IP 的工作方式完全相同:发射器知道目标的 IP 地址,而不关心每个跃点的地址或遇到的网络类型。请注意,您只是在谈论以太网,但在第 2 层还使用了许多其他技术。
IP 不存在“让软件开发人员的生活更轻松”。系统工作需要第 3 层地址。
IP 是一种抽象,但不是您描述它的方式。在 OSI 和 TCP/IP 模型中,层抽象了它们下面的层。例如,像 http 这样的应用程序协议只需要一个字节流。Http 不知道也不关心字节是如何到达的。应用层之下发生的一切都是抽象的。媒体、数据速率、时钟速度、路由、流量控制、错误检测——所有这些都被抽象掉了。
通过抽象低层,上层不必关心细节。无论您使用的是 IPv4 还是 IPv6、以太网还是 Wi-Fi、DSL 还是卫星,HTTP 都没有关系。一切都被抽象为字节流。
使用 MAC 地址的以太网数据链路层是物理层的抽象吗?物理层是唯一实际移动位的层。这一切都取决于你的观点。
每一层都有自己的用途,它们都需要协同工作才能使复杂的网络正常工作。
传输层的工作是允许在主机上运行的应用程序之间进行通信。应用程序不必关心两者之间的细节。
网络层的工作(例如IP)是允许主机之间使用逻辑分组地址通过任意大型网络进行通信。网络层不必关心物理连接以及网络的实际构建方式。
数据链路层的工作(例如以太网)是允许连接到共享局域网的主机(接口)之间的通信。这主要是使用 MAC 寻址(“物理”地址)的点对多点。数据链路层并不关心其帧的实际传输方式。
物理层的工作是将位从一个地方移动到另一个地方。通常,这是点对点的,从电缆的一端到另一端。只有在这里,链接速度、媒体、距离、线路代码等很重要。
每一层都在某种程度上复用并细化了它下面更简单的层。功能会随着每一层的增加而增加。
是的,每一层都是下面一层的抽象。但它还有更多,引入了另一个级别的功能。