根据 OSI 参考模型,层与下层通信以将信息传输到其他网络。所以他们为数据添加头和尾,并将其传递给下层,最后通过有线或无线传递给其他计算机。交换机用于链路层之间的通信,路由器用于网络层。当2个网络层不能直接通信而需要传递给下层时,它们有什么用。
路由器的用途是什么?
OSI 模型的每一层都有一个独特的目的,最终目标是主机到主机的通信。
第 1 层负责在网络中移动比特(1
s 和0
s)。
第 2 层负责网络内的通信。为此,L2 使用称为 MAC 地址的寻址。MAC 地址本质上是特定 NIC 的地址。
第 3 层负责网络之间的通信。为此,L3 使用称为 IP 地址的寻址。
从根本上说,你的问题不是“什么是路由器的目的”,而是“什么是目的网络”,如果你明白为什么在互联网被分成多个网络,那么你就会明白,为什么你需要的设备,便于沟通在这些网络(又名,路由器)之间。
考虑您的邮寄地址。它看起来像这样:
432 Park Avenue
想象一下邮政员工必须将信件投递到您的地址。当地邮政员工不可能知道城市中的每一个住宅单元。但是,邮政员工了解城市中的每条街道更为可行。邮政工作人员会找到您居住的街道,然后从那里数出住所,直到达到 432。这样他们就会找到您的特定房屋。
在这个比喻中,街道就像一个网络(公园大道),它是一组房屋,单个邮政员工可以知道其位置。一条街道可以与许多其他街道相邻,只要每条街道的名称都是唯一的,您的邮政员工就可以找到它们。
建筑物编号 (432) 就像一个 MAC 地址,它是街道内的特定房屋/建筑物。其他街道可能具有相同的建筑物编号,但在特定街道内只能有唯一的房屋编号。
您的邮递员不需要知道每条街道上的每栋房子,他们只需要知道每条街道。找到街道后,他们可以根据门牌号追踪确切位置。
互联网也是一样。与强制路由器知道全世界每台主机的每个位置不同,路由器只关心知道每个网络的位置。一旦数据包被路由到正确的路由器(也就是正确的街道),数据包传送过程就可以查找适当的 MAC 地址(也就是正确的房子)来传送数据包。
所以最终,存在路由器以了解每个网络的位置,并将数据包从路由器移动到路由器,直到找到路径中的最终路由器。发生这种情况时,该路由器将查找特定的 MAC 地址以将数据包送到其预定目的地。
有关路由器如何完成其工作(以及路由器所服务的工作)的更多信息,请查看这篇讨论路由器如何通过网络移动数据包的文章。
OP 在评论中提出了这个问题:
只有比特从物理层出来进行传输。那么路由器在接收到位作为输入时是否将它们转换回数据包?
答案是“最终是的”。每一层都会向原始数据添加它为实现其目的而需要添加的内容:
- 第 3 层(路由器)将添加一个 IP 标头,其中包含源 IP 地址和目标 IP 地址
- 第 2 层(路由器上的 NIC)将添加一个以太网标头,其中包括源和目标 MAC 地址
然后,第 2 层会将结果帧转换为1
s 和0
s,并将它们发送到第 1 层以通过线路发送。
这个过程可以在这个动画中看到:
不同 IP 网络/VLAN(第 2 层 - MAC)中的流量无法相互通信。对于 IP 网络/VLAN 之间的通信,您需要一个路由器(第 3 层 - IP)。
层在逻辑上与其对应的层进行通信。这意味着传输层添加了接收器传输层理解的信息。
您的陈述“交换机用于链路层之间的通信,而路由器用于网络层。” 是对其功能的错误描述。看看这个问题是否对你有帮助。
封装是一个经常与层相关联的术语 - 数据报被封装然后交给下层。路由器的功能是路由数据包。一个开关功能是切换帧。