网络层和数据链路层

时间:2015-08-29 16:02:46

标签: networking ip data-link-layer

网络层负责定义消息从发送主机到目标主机的路由。特别是,网络层决定在前往目的地的途中下一跳的目标是什么。

数据链路层仅涉及在网络中的两个节点之间传输数据。据我所知,数据链路层必须以某种方式从网络层获取信息 - 下一个节点转发数据。

我的问题是 - 数据链路层如何从网络层获取此信息?

IP-header包含源主机和目标主机的IP。但我正在寻找的是一些字段“将数据转发到下一个直接邻居的IP”

2 个答案:

答案 0 :(得分:1)

如果链路层地址与其硬件地址匹配,则计算机会接收数据包。通常在链路层使用mac地址。如果链路层发送给它们,适配器将接收数据包。在接收到这样的分组时,系统(O.S)读取分组的网络层报头以获得目的地ip。从目标IP,如果机器是智能路由器,它将尝试计算到目标的最简单路径(或发送到某个默认路由器),一旦发现链路层标头已更改并将设置为匹配路径中下一个节点的硬件地址。但是,网络层标题不会更改。

  

"下一个直接邻居的IP,用于将数据转发到"

这正是链接层所做的,而不是ip它使用mac地址。它是在读取网络层后由操作系统设置的。

答案 1 :(得分:0)

您正在寻找Address Resolution Protocol (ARP)

  1. 首先,您的计算机确定路径上下一台计算机的IP(例如您的本地网关(例如您的DSL路由器))。
  2. 您的计算机使用ARP识别与IP对应的mac地址。
  3. 将IP数据包发送到此mac地址。