【学习】link layer1

学习了网络层提供的通信服务后,我们开始链路层的学习。首先,学习一些术语。我们将运行链路层协议的任何设备都称做结点 (包括主机、路由器、交换机和 WiFi接入点)同时我们把沿着通信路径连接相邻节点的通信信道成为链路(可以是 wired links / wireless links / LANs)传输节点会把数据报封装在链路层帧中,并将该帧传送到链路中。

链路层使用的信道主要有以下的两种类型:
在这里插入图片描述
前者由于许多主机与相同的广播信道连接,需要 medium access protocol 来协调帧传输(某些场合可以使用中心控制器来协调);后者的协调比较简单。
不同的链路上传递 datagram 的协议是不同的,每个链路层协议都提供了不同的服务(可能会提供RDT也可能不会)

下面是链路层提供的基本服务?
在这里插入图片描述

那链路层是怎么实现的呢?下图现实的是一个典型的主机体系结构。链路层的主体部分实在 网络适配器(network adapter 也叫 network interface card NIC)中实现的。位于网络适配器核心的是链路层控制器,该控制器通常是一个实现了许多链路层服务的专用芯片。所以它的许多功能都是由硬件实现的,当然还是有部分链路层是在运行于主机CPU上的软件中实现的。现在很多网络适配器被综合进主机的主板。
在这里插入图片描述

从发送方和接收方的角度来看链路层的功能?
在这里插入图片描述

前面我们提到了链路层提供了差错检验和纠正的服务,下面来详细讲解一下。最简单的差错检测就是奇偶校验了,但它只能检测到一位的错误,这是远远不够的,所以引入了二维奇偶校验(two-dimensional parity)
在这里插入图片描述
注意二维奇偶校验虽然能检测并纠正一位的错误,但对于两位错误,就只能检测无法纠正了。除了 checksum 的方法,还有一种叫做循环冗余检测编码(Cyclic Redundancy Check,CRC)的差错检测技术,并广泛应用在如今的计算机网络中。具体步骤是这样的?
在这里插入图片描述
在这里插入图片描述
用硬件实现CRC非常方便,只需要一个 XOR 和一个 shift register 即可。16比特的CRC可以检测所有的:
在这里插入图片描述
错误纠正可以减少重传的次数,但我们经常更倾向于检测错误并且重传(这样更高效)最简单的纠正1bit错误的方式就是一位传输三次,但这个效率很低。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值