阅读 81

计算机网络中不同层的工作

你有没有想过网络的不同层是如何协同工作来发送消息的?在详细介绍之前,让我们先了解一些基本术语。

  • 地址解析协议(ARP) 请求是一种将 IP 地址转换为 MAC 地址的协议。

  • 路由表 是一组规则,通常以表格形式显示的,用于确定通过互联网协议(IP)网络传输的数据分组的路由位置。

在典型的网络中,主机设备或主计算机具有所有层,另一方面,路由器具有网络、数据链路层和物理层。

示例

假设我们要向位于不同网络的主机 2 上的接收器发送消息。

Host1的IP和MAC地址为I1,M1,Host2的IP和MAC地址为I2,M2

假设Host1的标准网关为router1(IP地址为IR1,Mac地址为MR1),Host2的标准网关为router2(IP地址为IR2,Mac地址为MR2)。

对于主机 1:

假设应用层要向Host2发送消息“M”。

  • Host1 的应用层将其传递给 Host1 的传输层。

  • 传输层给消息 M 添加一个头,其中包含 Host1、Host2 (x, y) 的端口号。因此,消息现在是 (M, x, y) 并传递到 Host1 的网络层。

  • 网络层还会在包含 Host1 和 Host2 的 IP 地址的消息中添加一个标头。消息现在是 (M, x, y, I1, I2) 并传递到数据链路层。

  • 数据链路层还在消息传递到物理层之前为消息添加一个头。由于Host2不在同一个网络中,所以会输入host1的MAC地址和标准网关的MAC地址(通过发送ARP请求知道MAC地址)。消息现在是 (M, x, y, I1, I2, M1, MR1) 并传递到物理层。

  • 物理层将给定的消息转换为比特并将其发送到路由器 1。

在路由器 1 中:

  • Router1 的数据链路层看到数据包后,向Host1 的数据链路层发送确认,并删除添加到host1 DLL 中的头信息,然后再转发到Router1 的网络层。

  • 网络层接收到的消息是(M, x, y, I1, I2)。

  • 网络层看到目标 IP 地址。由于目标在其网络中不存在,它将决定将其转发到 Router2。

  • Router 1 的网络层在查看Router 1 的路由表后做出决定,并做出决定。

  • 现在路由器的 DLL 向消息添加了一个标头。这次的源MAC地址是MR1,目的MAC地址是MR2(用Arp找出来)。

  • 这样,接收方只知道源的 IP 地址,而永远不知道源的 MAC 地址。消息现在是 (M, x, y, I1, I2, MR1, MR2) 并被发送到物理层。

  • 物理层将其转换为比特并将其发送到路由器 2。

对于路由器 2:

  • 位由物理层转换为消息,并通知路由器 2 的 DLL。

  • 现在,Router2 的 DLL 在看到消息后向 Router1 的 DLL 发送确认。

  • Router2的DLL删除MAC地址并转发到网络层。

  • 网络层通过检查router2上存在的路由表,发现host2在同一个网络上。

  • 现在消息是 (M, x, y, I1, I2, MR2, M2) 并传递到物理层,物理层将其转换为位并发送给主机 2。

使用主机 2:

  • 物理层将它们转换为位并将消息转发到 DLL。

  • DLL 向 router2 的 DLL 发送确认,并从传递给网络层的消息中删除 MAC 地址。

  • 现在网络层删除 IP 地址并将其提供给传输层。

  • 主机 2 的传输层向主机 1 的传输层发送确认并删除端口号并将消息提供给该位置的进程(或应用程序)。


文章分类
百科问答
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐