计算机网络笔记 - 链路层

本贴最后更新于 1805 天前,其中的信息可能已经时移世改

数据链路层的通道类型

l 点对点信道:这种信道使用一对一的点对点通信方式。

l 广播信道:这种信道一对多的广播通信方式,因此过程比较复杂,广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。

链路与数据链路

l 链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分。

l 数据链路(data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。

数据链路层的协议数据单元——帧

三个基本问题

封装成帧

l 封装成帧就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。

l 首部和尾部的重要功能就是确定界限,对帧进行定界。

l MTU(最大传输单元)—— 帧数据部分的长度上限。以太网 MTU 为 1500 个字节。

l 接受端收到的数据必须有明确的帧定界符(帧开始符和帧结束符),否则丢弃收到的数据(该数据不完整)。

l 帧结构图如下:

透明传输

对数据部分出现的帧开始符和帧结束符前面加上转义字符,将其与真正的帧开始符和帧结束符区分开来。如果数据部分也有转义字符,就在其前面再加一个转义字符。

差错检测

现实的通信链路在传输过程中可能会产生差错,1 变成 0,0 变成 1。

循环冗余检验 CRC

例如一数据 M = 101001。CRC 就是在 M 后面加上 n 位冗余码,然后构成一个帧。n 位冗余码如何获得?

收发双方商定一个 n+1 位的除数 P,假定 P = 1001 ,n = 3。在 M 后面加 n 个 0,然后进行模 2 除法运算。

每一次商上面要上几就要看被除数第一位是几,然后进行不进位加法。最后得的 n 位余数就是冗余码序列(FCS)。最后要发送的数据序列就是在 M 后面加上冗余码。然后接收方把接收到的数据序列除以 P,余数为 0 则证明无差错。

需要注意:如果接受方发现接受数据有差错,则直接丢弃,不进行重传。这种错误交给上一层处理。

PPP 协议(点到点协议)

l 全世界用的最多的数据链路层协议----PPP 协议(Point-to-Point Protocol)

l 用户使用拨号电话线接入因特网时,一般都是使用 PPP 协议

PPP 帧格式

7E 表示 PPP 的头,FF03 是固定的,协议说明信息部分是什么内容。

解决透明传输的两种方式

字节填充

  1. 将信息部分中出现的 0x7E 字节转换成 0x7D 和 0x5E。

  2. 若信息部分有 0x7D 的数据字节转变成 0x7D 和 0x5D。

零比特填充

l 高级数据链路控制(High-Level Data Link Control 或简称 HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议。

l 如果 HDLC 协议使用的同步传输的话就是传输的比特流。

l 发送端的数据部分在 5 个连 1 之后填入 0 比特再发送出去,在接收端把 5 个连 1 之后的 0 比特删除。

局域网(以太网)

l 局域网具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。

l 局域网的拓扑采用的是星型。

l 在局域网的链路上所有电脑共享,同时只能有一个电脑发送。

l 以太网提供的服务是不可靠的交付,不过会尽最大努力去交付。

l 当接收端发现有差错的数据帧就直接丢弃,其他什么也不会做,差错的纠正由上层决定。

l 如果高层发现发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当做一个新的帧发送。

共享通信媒体

静态划分信道(一般物理层用)

l 频分复用

l 时分复用

l 波分复用

l 码分复用

动态媒体接入控制(多点接入)

l 随机接入(主要被以太网采用)

l 受控接入(目前已不使用)

以太网通信协议(CMSA CD)

l **多点接入,**表示许多计算机多点接入的方式连接在一根总线上。

l **载波监听,**是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。

碰撞检测

说明:涛计算机端到端的单程时延。

争用期

l 最先发送数据帧的站,在发送数据帧后至多经过时间 2t (涛)(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。

l 以太网的端到端往返时延 2t**(涛) 称为争用期,或碰撞窗口。

l 如果一个计算机 A 发送一串数据,经过争用期这段时间还没有检测到碰撞,那么这次的发送肯定不会发生碰撞。因为已经过 2t(涛),计算最晚受到碰撞消息的时间就是 2t(涛)。说明争用期没有发生碰撞,而且其他计算机端也已经知道链路已经被计算机 A 占用不会再发送数据。

l 对于以太网:对于 10 Mb/s 以太网,以太网取 51.2 ms 为争用期的长度,在争用期内可发送 512 bit,即 64 字节。以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突。

l 10Mb/s 以太网争用期为 51.2 ms ,则 100Mb/s 为 5.12ms

二进制指数类型退避算法

发生碰撞的端点在停止发送数据后,会随机选取 2 的碰撞次数的幂次方中的一个数,要推迟随机数乘以争用期的时间再发送数据。

理想条件下以太网的信道利用率(不会发生碰撞)

参数 a

l t(**涛)代表以太网单程端到端的时延,如果以太网的线越长,那么就越大。

l T0 表示帧发送时间,帧越小,T0 就越小,那么 a 就越小,那么 S 就会很小。

MAC 地址

l 在局域网中,硬件地址又称为物理地址,或 MAC 地址,是在电脑网卡芯片里面。

l 全球唯一

l IEEE 的注册管理机构 RA 负责向厂家分配地址字段的前三个字节(即高位 24 位)

l 地址字段中的后三个字节(即低位 24 位)由厂家自行指派,称为扩展标识符,必须保证生产出的适配器没有重复 MAC 地址

适配器检查 MAC 地址

适配器从网络上收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址

l 如果是发送到本站的就收下,否则直接丢弃。

发送到本站的帧包括以下三种帧:

单播(一对一)

多播(一对多)

广播(一对全体)

以太网的帧格式

可以看到是数据部分最小是 46,因为以太网最小的帧大小是 64 字节,所以 46+(6+6+2+4)= 64。

以太网帧**只有开始定界符,没有结束定界符,**因为以太网采用的曼彻斯特编码,根据信号每一位中间的电平跳变,来判断是 1 还是 0。所以没有必要使用结束定位符,没信号了,就结束了。曼彻斯特编码链接:https://blog.csdn.net/colesky/article/details/78788820

网桥与交换机

网桥

l 网桥也称为桥接器,是连接两个局域网的储存转发设备,网桥工作链路层。

l 局域网的计算机所发出 MAC 帧都要经过网桥,由网桥根据帧的 MAC 地址转发到目的地址。即使目的地址是在同一局域网。也要先发给网桥。

l 这样做的目的是为了减少碰撞,使各局域网成为隔离的碰撞域,而不会组成一个大的碰撞域。

网桥工作原理

如图所示,就是两个网桥把三个局域网连起来了,如果 A 想要向 B 发送消息,要先发给网桥 B1,那么 B1 就会记录 A 的位置和 MAC 地址,下次某台计算机发送 MAC 帧到 A,那么 B1 就直接把帧给 A,这样就减少了碰撞。如果说 A 从来没有发送任何数据,那么网桥就需要广播发送了!!

这样做缺点是:存储转发增加了时延;网桥只适合于用户数不太多(不超过几百个)和通信量不太大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞。这就是所谓的广播风暴。

生成树算法

防止多个交换机或网桥之间产生循环链路,循环转发帧。

l 根据交换机的转发原则,如果交换机从一个端口上接收到的是一个广播帧,或者是一个目的 MAC 地址未知的单播帧,则会将这个帧向除源端口之外的所有其他端口转发。如果交换网络中有环路,则这个帧会被无限转发,此时便会形成广播风暴,网络中也会充斥着重复的数据帧。

l 主机 A 向外发送了一个单播帧,假设此单播帧的目的 MAC 地址在网络中所有交换机的 MAC 地址表中都暂时不存在。SWB 接收到此帧后,将其转发到 SWA 和 SWC,SWA 和 SWC 也会将此帧转发到除了接收此帧的其他所有端口,结果此帧又会被再次转发给 SWB,这种循环会一直持续,于是便产生了广播风暴。交换机性能会因此急速下降,并会导致业务中断。

交换机

局域网交换机的基本功能与网桥一样,具有帧转发、帧过滤和生成树算法功能,但与网桥有以下几点不同。

l 交换机工作时,实际上允许许多组端口间的通道同时工作。所以,交换机的功能体现出不仅仅是一个网桥的功能,而是多个网桥功能的集合。即网桥一般分有两个端口,而交换机具有高密度的端口,每个端口可以直接连接计算机,组成一个局域网。

l 由于交换机能够支持多个端口,因此可以把网络系统划分成为更多的物理网段,这样使得整个网络系统具有更高的带宽。而网桥仅仅支持两个端口,所以,网桥划分的物理网段是相当有限的。

l 交换机与网桥数据信息的传输速率相比,交换机要快于网桥。

l 网桥在发送数据帧前,通常要接收到完整的数据帧并执行帧检测序列 FCS 后,才开始转发该数据帧。交换机具有存储转发和直接转发两种帧转发方式。直接转发方式在发送数据以前,不需要在接收完整个数据帧和经过 32bit 循环冗余校验码 CRC 的计算检查后的等待时间。

虚拟局域网

LAN:表示局域网, 是在物理意义上的,比如一个机房是一个局域网。

VLAN: 表示虚拟局域网,是在交换机逻辑上的, 默认电脑连接到交换机上都在 VLAN1 上。不同交换机下的电脑可以配置到一个 VLAN 中。

扩展的以太网

l 以太网上的主机之间的距离不能太远(例如,10BASE-T 以太网的两主机之间的距离不超过 200 米),否则主机发送的信号经过铜线的传输就会衰减到使 CSMA/CD 协议无法正常使用。

l 过去,广泛使用粗缆或细缆以太网时,常使用工作在物理层的转发器来扩展以太网的地理覆盖范围。

l 现在,双绞线以太网成为以太网的主流类型,扩展主机和集线器之间的距离的一种简单方法就是使用光纤(通常是一对光纤)和一对光纤调制解调器。

l 光纤调制解调器的作用,是进行电信号和光信号的转换。

100BASE-T 以太网的特点

l 可在全双工方式下工作而无冲突发生。因此,不使用 CSMA/CD 协议。

l MAC 帧格式仍然是 802.3 标准规定的。

l 保持最短帧长不变,但将一个网段的最大电缆长度减小到 100 m。

l 帧间时间间隔从原来的 9.6 ms 改为现在的 0.96 ms。

声明:
此篇文章的主体内容均出自计算机网络相关书籍和韩立刚老师视频,非本人原创,只是在学习的过程中觉得有必要将其写入个人博客之中,且最终目的只是为了方便自己或有需要的人进行查阅。此外,若需转载本文仍需本人同意。

  • 网络
    138 引用 • 177 回帖 • 4 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    325 引用 • 1395 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...