所在位置:主页 > 数据处理 > 数据链路层的工作原理是怎样的?

数据链路层的工作原理是怎样的?

发布时间:2023-10-30 06:11来源:www.sf1369.com作者:宇宇

数据链路层最重要的作用就是:通过一些数据链路层协议(即链路控制规程),在不太可靠的物理链路上实现可靠的数据传输。

工作原理:

1.链路管理:当网络中的两个结点要进行通信时,数据的发方必须确知收方是否已经处在准备接收的状态。为此,通信的双方必须先要交换一些必要的信息。或者用我们的术语,必须先建立一条数据链路。同样地,在传输数据时要维持数据链路,而在通信完毕时要释放数据链路。数据链路的建立、维持和释放就叫做链路管理。

2.帧同步:在数据链路层,数据的传送单位是帧。数据一帧一帧地传送,就可以在出现差错时,将有差错的帧再重传一次,而避免了将全部数据都进行重传。帧同步轿庆指的是收方如何从收到的比特流中准确地区分出一帧的开始和结束。

3.流量控制:发方发送数据的速率必须使收方来得及接收。当收方来不及接收时,就必须及时控制发方发送数据的速率。

4.差错控制:在计算机通信中,一般都要求有极低的比特差错率。为此,广泛地采用了编码技术。编码技术有两大类。一类是前向纠错,即收方收到有差错的数据帧时,能够自动将差错改正过来。这种方法的开销较大,不适合于计算机通信。另一类是检错重发,即收方可以检测出收到的帧中有差错(但并不知道是哪几个比特错了)。于拦物是就让发方重复发送这一帧,直到收方正确收到这一帧为止。这种方法在计算机通信中是最常用的。本章所要讨论的协议,都是采用检错重发这种差错控制方法。为了防止发送方等待收方应答时出现等待死锁,还将提供超时控制机制。重发帧后,为了防止收方收到重复帧,通常为帧给定一个帧序号。

5.区分数据和控制信息:由于数据和控制信息都是在同一信道中传送,而在许多情况下,数据和控制信息处于同一帧中。因此一定要有相应的措施使收方能够将它们区分开来。

6.透明传输:简单的说,透明传输就是发送方发送什么的数据,不管数据传输过程是如何实现的接收方将收到什么样的数据。更确切地说,所谓透明传输就是不管所传数据是什么样的比特组合,都应当能够在链路上传送。当所传数据中的比特组合恰巧出现了与某一个控制信息完全一样时,必须采取适当的措施,使收方不会将这样的闭衡握数据误认为是某种控制信息。这样才能保证数据链路层的传输的透明的。

7.寻址:在多点连接的情况下,必须保证每一帧都能送到正确的目的站。收方也应当知道发方是哪一个站。

比IP和路由更重要的是什么?当网络2层出现故障的时候,链路层的知识显得更重要。许多人都没有掌握构建富有弹性的2层网络必须具备的生成树协议的握耐知识。当一台交换机出现问题时,除非主机直接连接到这台交换机。否则不应该影响其它人的网络连接。在我们深入介绍生成树协议之前,你必须要理解2层内部的工作原理。

2层是数据链路层,是以太网所在的层。在这一层我们将讨论网桥、交换和虚拟局域网,要让一个网络运行起来,你实际上不需要学习以太网内部的工作原理,当然,如果你愿意学习的话,你可以利用其它的时间学习这方面的知识。

以太网交换机是一种“网桥”设备。传统的网桥是这样工作的,一开始它接收以太网帧,然后,把它们发送到除接收端口之外的全部其它端口。以太网交换机具允许允许双绞线连接的能力。它渐学习哪一个端口连接了哪些MAC地址。这时候,网桥就变成了一台学习设备,能够存储在一个端口上看到的全部的MAC地址表。当一个帧需要发出时,网桥将查看在网桥表中的目标MAC地址,并且知道应该在哪一个端口发送这个帧。这种仅向正确的主机发送数据的能力是交换技术中的一个巨大的进步,因为这可能显著减少通信冲突。如果在网桥表中没有目标MAC地址,交换机就简单地把数据发送到全部端口。这是首次发现主机到底在什么地方的惟一方法,因此,正如你看到的那样,把数据发送到全部端口是交换技术中的一个重要原则。这个原则在路由中也非常必要。

2层相关的重要词汇包括:

单播分段(Unicast segmentation):网桥能够限制哪些主机能够收到单播帧(仅发送给一个MAC地址的帧)。集线器只是简单地把一切数据发送给所有的端口,因此,单播分段本身可以节省大量的带宽。

冲突域(Collision Domain):冲突域是能够发生冲突的网段。由于交换机采用了直通发送技术以及网卡全部采用双工技术,冲突已经不再发生了。如果你在一个端口看到冲突,这就意味着有人意外地使用半双工的设备,或者是出现了其它的故障。让备

广播域:发送和接收广播帧的网段。

在交换机产品几年后,网桥运行所采用的老式的存储和发送方式改变了。新的交换机仅查看帧的目标MAC地址,然后立即把这个帧发送出去。这种技术称作“直通发送”可以帧更快地直接通过交换机,因为这种方式对帧很少进行处理。这种方式也暗示了一件重要的事情:一台交换机不再检查CRC(循环冗余校验)以便查看数据包是否损坏。这还暗示着不可能发生冲突。

另外,为了解决广播网段的问题,我们引入了虚拟局域网技术。如果你不能向另一台机器发送广播帧,那些机器就不在你的本地网络中,你要把全部数据包发送给一台路由器,接着由路由器发送这些数据包。实际上,这就是虚拟局域网做的事情:虚拟局域网将网络划分段滑春为更多的子网。

你可以在一台交换机上设置虚拟局域网,然后向一个虚拟局域网分配端口。如果主机A是虚拟局域网1,这台主机就不能与虚拟局域网2中的任何人通话,就像它们生活在完全没有网络连接的设备中一样。不过需要注意,这毕竟只是虚拟的,如果交换机的MAC地址表空间已经被数据填满从而无法继续维护这个交换MAC地址表,为了继续维持通讯交换机将会把收到的所有数据转发到所有端口。很多人将VLAN视为一种很好的安全措施,实际上任何一个半吊子黑客使用合适的工具都可以很快的攻克交换机的VLAN限制,事实上,当交换机出现MAC地址表溢出的情况时,它会变成一台单纯的HUB。

正如我们已经知道的那样,如果你无法使用ARP协议获得目标的MAC地址,那你必须要使用一台路由器。这是不是意味着你必须在每个VLAN之间物理的连入一台路由器呢?不需要,因为我们现在拥有3层交换机!设想一个例子,如果你愿意,一台交换机可以配置48个端口。这台交换机有两个虚拟局域网,虚拟局域网1采用1至24端口,虚拟局域网2采用25至48端口。要把这两个虚拟局域网连接起来,你基本上有三种选择。第一,使用一台路由器分别连接这两个虚拟局域网中的一个端口,并且分为VLAN中的主机配置正确的默认路由。第二种方法是你还可以简单地在每个虚拟局域网中各自建立一个虚拟路由器接口(virtual interfaces)。在思科的设备,这种虚拟路由器接口可能称作“vlan1”和“vlan2”。它们拥有自己的IP地址,而VLAN中的主机使用这些虚拟路由器接口作为自己的路由器。

在第三种方法使我们回到了2层概述的最终话题。如果你拥有多台需要包含同样的虚拟局域网的交换机,你可以通过端口汇聚(trunk)的方式它们都连接起来。这样,交换机A中的虚拟局域网1和交换机B中的虚拟局域网1就完全是一样的了。这是采用802.1q标准完成的。802.1q标准为将离开第一台交换机的数据包打上一个虚拟局域网的标识符。思科把这些交换机间的链路

数据链路层:OSI参饥让答考模烂慧型中的第二滑亮层

数据连接分三项WEBWDLKLFDEDSDHGCFDWWDERT2RTUJHGFDTRGREWQWH\';LKJH