先决条件–数据链路层
数据链路层通常代表程序中的协议层,该协议层仅用于处理和控制源计算机和目标计算机之间的数据传输。它仅负责通过物理网络媒体在节点或机器之间交换帧。该层通常最接近物理层(硬件)。
数据链路层基本上是计算机网络的七层开放系统互连(OSI)参考模型的第二层,位于物理层之上。
该层通常提供并提供数据可靠性,并提供各种工具来建立,维护和释放网络节点之间的数据链路连接。它负责通常从物理层接收和获取数据位,然后将这些位转换为称为数据链路帧的组,以便可以进一步传输。它还负责处理可能由于位传输而引起的错误。
提供给网络层的服务:
数据链路层的重要函数是为网络层提供接口。网络层是七层OSI参考模型的第三层,位于数据链路层的正上方。
数据链路层的主要目的是将它们接收到的数据帧传输到目标机器,以便可以将这些数据帧切换到目标机器的网络层。在网络层,这些数据帧基本上是寻址和路由的。
该过程如图所示:
1.实际交流:
在该通信中,存在物理介质,数据链路层通过该物理介质简单地传输数据帧。实际路径是网络层->数据链路层->发送机上的物理层,然后到物理介质,然后是物理层->数据链路层->接收机上的网络层。
2.虚拟交流:
在该通信中,不存在用于数据链路层传输数据的物理介质。只能通过可视化和想象的方式,借助或使用数据链路协议,两个数据链路层正在相互通信。
数据链路层提供的服务类型:
数据链路层通常提供或提供以下三种类型的服务:
1. Unacknowledged Connectionless Service
2. Acknowledged Connectionless Service
3. Acknowledged Connection-Oriented Service
- 未确认的无连接服务:
未经确认的无连接服务只是提供数据报样式的传递,而没有任何错误,问题或流控制。在此服务中,源计算机通常将独立的帧发送到目标计算机,而无需目标计算机确认这些帧。该服务称为无连接服务,因为在数据传输之前发送方或源计算机与目标或接收方计算机之间没有建立连接,或者在数据传输后没有建立连接。
在数据链路层中,如果帧由于噪声而丢失,则不会尝试仅检测或确定其丢失或恢复。这只是意味着不会有错误或流控制。一个示例可以是以太网。
- 确认无连接服务:
该服务仅提供已确认的无连接服务,即在停止和等待协议的帮助下简单地确认数据包的传递。在此服务中,只需简单地分别确认由数据链路层传输的每个帧,然后发送方通常会知道这些传输的数据帧是否被安全接收。没有建立逻辑连接,并且传输的每个帧都被单独确认。
此模式只是提供了一种方法,数据链接的用户可以通过该方法仅发送或传输数据并同时请求返回数据。它还使用特定的时间段,如果它已经通过了帧却没有得到确认,那么它将在该时间段上重新发送数据帧。
此服务比未确认的无连接服务更可靠。这项服务通常在几个不可靠的渠道上很有用,例如无线系统,Wi-Fi服务等。
- 确认的面向连接的服务:
在这种类型的服务中,首先在发送方和接收方之间或源与目的地之间建立连接,然后再传输数据。然后,数据与该已建立的连接一起传输或传输。在该服务中,首先为发送的每个帧提供单独的编号,以确认并保证每个帧也仅以适当的顺序和顺序被接收一次。