链路层和网络层有什么区别?

问题描述 投票:-1回答:1

我一遍又一遍地遇到这个问题,但从未找到足够的答案。我想了解第2层网络和第3层网络之间的根本,理论上的区别,除了“ LAN仅用于一栋建筑物”或“ LAN使用MAC地址而不是IP地址”。

这两层都与连接各个机器有关,以便它们可以相互通信。第2层交换机使用的协议主要基于广播树和生成树,而第3层路由器使用更通用的算法,适用于具有复杂拓扑的大型网络。

  • 假设您的办公室有连接局域网的计算机。为什么所有计算机都不能充当自己的路由器并使办公室成为第3层拓扑?

  • 为什么整个互联网不只是一个大局域网?

  • 是什么使我们无法将防火墙实现为任意第3层拓扑中的节点,而不是将其实现为网络层和链路层的接口?

  • 我们为什么使用不同的协议(生成树还是路由)来解决同一问题?

networking tcp lan
1个回答
0
投票

链路层是电气(或照明等),它允许两个点(通常是集线器/交换机/路由器和主机)进行通信。最重要的是协议,例如mac地址的分布方式,数据包格式等。

OSI模型对如何定义它也有意见。来自:

https://en.wikipedia.org/wiki/OSI_model#Layer_architecture

Layer   Protocol data unit (PDU)    Function[6]
Host layers 
7   Application Data    High-level APIs, including resource sharing, remote file access
6   Presentation    Translation of data between a networking service and an application; including character encoding, data compression and encryption/decryption
5   Session Managing communication sessions, i.e. continuous exchange of information in the form of multiple back-and-forth transmissions between two nodes
4   Transport   Segment, Datagram   Reliable transmission of data segments between points on a network, including segmentation, acknowledgement and multiplexing
Media layers
3   Network Packet  Structuring and managing a multi-node network, including addressing, routing and traffic control
2   Data link   Frame   Reliable transmission of data frames between two nodes connected by a physical layer
1   Physical    Symbol  Transmission and reception of raw bit streams over a physical medium

链接层是第2层,仅指定字节在两个节点之间流动,而不指定字节的格式-即第3层。

您随后的一些问题:

假设您的办公室有连接局域网的计算机。为什么所有计算机都不能充当自己的路由器并使办公室成为第3层拓扑?

您可以。这称为环形拓扑,每个节点必须确定给定的数据包是用于“我的主机”还是“某个其他主机”。如果是我的,我将其从应用程序的进一步通信和处理中删除。如果不是我的,我将其发送给下一个主机。这不是很有效,因为您依赖每个主机进行处理和转发,并且可能需要一段时间才能使数据包到达目的地。

您仍然需要所有其他层-例如如何在第4层中将应用程序数据与路由信息等隔离开来。第5+层通常是应用程序关注的问题(例如HTML中的会话令牌)。

为什么整个互联网不只是一个大局域网?

您可以从逻辑上这样思考。但是,从安全性和所有权的角度来看,隔离是有意义的。将IBM拥有的网络与Cisco拥有的网络分开是很有用的,因为IBM不想让它们的资源暴露给Cisco,反之亦然。责任转移-例如在ISP之间...一个数据包可能会从Comcast到Google再到Orange,并且每个感兴趣的团体都可能需要在边缘应用策略。

是什么使我们无法将防火墙实现为任意第3层拓扑中的节点,而不是将其实现为网络层和链路层的接口?

绝对没有。但是,如果还有其他到达目的地的路由,则恶意攻击者可能会发现该路由并避开防火墙。因此,通常存在以分隔路线形式出现气隙的情况。

在大型网络安装中,可以通过使用VLAN技术来提供此空隙,基本上可以在不提供单独布线的情况下限制连接性。

为什么我们使用不同的协议(生成树还是路由)来解决相同的问题?

生成树是一种发现网络如何连接以最有效地配置路由的方法。因此,它们不是解决同一问题的不同协议,而是彼此支持的不同网络应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.