计算机网络-----数据链路层
Posted 胜天半月子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络-----数据链路层相关的知识,希望对你有一定的参考价值。
文章目录
五、媒体接入控制⭐⭐
- 基本概念
共享信道要着重考虑的一个问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用,即媒体接入控制MAC(Medium Acess Control)。
- 分类
静态划分信道
信道复用
复用是通信技术中的一个重要概念。复用就是通过一条物理线路同时传输多路用户的信号。
当网络中传输媒体的传输容量大于多条单一信道传输的总通信量时,可利用复用技术在一条物理线路上建立多条通信信道来充分利用传输媒体的宽度。
发送端使用复用器,接受端使用分用器,这三对用户就可以共享一条物理线路进行通信。
频分复用
时分复用
波分复用
码分复用
-
码片序列挑选原则
-
思考
任何一个码片向量和该码片向量自己的规格化内积是多少呢?(答案:1)
任何一个码片向量和其他各占码片反码的向量的内积也是0
任何一个码片向量和该码片反码的向量的内积是-1
- 练习
- 码分多址应用举例
- 练习题
随机接入
动态接入控制:随机接入
多个主机连接到一根总线上,各主机随机发送帧,多两个或多个主机同时发送帧时,代表帧的信号就会产生碰撞或称为冲突。又或者当某个主机正在使用总线发送帧的过程中,另一台主机也要发送帧,这也要发生碰撞。
早期的共享式以太网采用载波监听多址接入/碰撞检测 CSMA/CD解决问题。
- 多址接入MA
多个站(主机)连接在一条总线上,竞争使用总线。
- 载波监听CS
96比特时间:指发送96比特时间所耗费的时间,也成为帧间最小间隔。作用:使接收方可以检测出一个帧的结束,同时也使得所有其他站点都能有机会平等竞争信道发送帧。
- 碰撞检测CD
CSMA/CD协议
- 争用期(碰撞窗口)
-
最小帧长
-
最大帧长
-
截断二进制指数退避算法
-
信道利用率
-
帧发送流程图
-
帧接收流程
-
练习题
- 总结
CSMA/CA 协议
无线局域网使用的协议:载波监听多址接入/碰撞避免
- 思考
- 帧间间隔IFS
- CSMA/CA协议工作原理
思考:源站为什么在检测到信道空闲后还要等待一段时间DIFS后才发送数据帧呢?
就是考虑到可能有其他的站有高优先级的帧要发送。若有,就要让高优先级的帧先发送。
思考:目的站为什么正确接收到数据帧后还要等待一段时间SIFS才能发送ACK帧?
SIFS是最短的帧间间隔,用来分隔开属于一次对话的各帧。在这段时间内,一个站点应当能够从发送方式切换到接收方式。
解释GIF图中的问题:
目的:防止多个站点同时发送数据而产生碰撞。
- CSMA/CA协议退避算法
- CSMA协议信道预约和虚拟载波监听
为了尽可能减少碰撞的概率和降低碰撞的影响,802.11标准允许要发送的数据的站点对信道进行预约。
(1)源站在发送数据帧之前先发送一个短的控制顿,称为请求发送RTS(Request To Send),它包括源地址、目的地址以及这次通信(包括相应的确认帧)所需的持续时间。
(2)若目的站正确收到源站发来的RTS帧,且媒体空闲,就发送一个响应控制帧,称为允许发送CTS(Clear To Send),它也包括这次通信所需的持续时间(从RTS帧中将此持续时间复制到CTS帧中)
(3)源站收到CTS帧后,再等待一段时间SIFS后,就可发送其数据帧。
- 除源站和目的站以外的其他各站,在收到CTS帧(或数据帧)后就推迟接入到无线局域网中。这样就保证了源站和目的站之间的通信不会受到其他站的干扰。
- 如果RTS帧发生碰撞,源站就收不到CTS帧,需执行退避算法重传RTS帧。
- 由于RTS顿和CTS帧很短,发送碰撞的概率、碰撞产生的开销及本身的开销都很小。而对于一般的数据帧,其发送时延往往大于传播时延(因为是局域网),碰撞的概率很大,且一旦发生碰撞而导致数据帧重发,则浪费的时间就很多,因此用很小的代价对信道进行预约往往是值得的。
802.11标准规定了3种情况供用户选择:
■ 使用RTS帧和CTS帧
■不使用RTS帧和CTS帧
■只有当数据帧的长度超过某一数值时才使用RTS顿和CTS帧
- 除RTS顿和CTS帧会携带通信需要持续的时间,数据帧也能携带通信需要持续的时间,这称为802.11的虚拟载波监听机制。
- 由于利用虚拟载波监听机制,站点只要监听到RTS帧、CTS帧或数据顿中的任何一个,就能知道信道被占用的持续时间,而不需要真正监听到信道上的信号,因此虚拟载波监听机制能减少隐蔽站带来的碰撞问题。
- 练习题
六、MAC地址、IP地址&ARP协议
- 基本概念
MAC地址
当多个主机连接在同一个广播信道上,要想实现两个主机之间的通信,则每个主机都必须有一个唯一的标识,即一个数据链路层地址;
在每个主机发送的帧中必须携带标识发送主机和接收主机的地址。由于这类地址是用于媒体接入控制MAC(Media Access Control),因此这类地址被称为MAC地址;
- MAC地址一般被固化在网卡(网络适配器)的电可擦可编程只读存储器EEPROM中,因此MAC地址也被称为硬件地址;
- MAC地址有时也被称为物理地址。请注意:这并不意味着MAC地址属于网络体系结构中的物理层!
一般情况下,用户主机会包含两个网络适配器:有线局域网适配器(有线网卡)和无线局域网适配器(无线网卡)。每个网络适配器都有一个全球唯一的MAC地址。而交换机和路由器往往拥有更多的网络接口,所以会拥有更多的MAC地址。综上所述,严格来说,MAC地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。
IEEE 802局域网MAC地址格式
- 扩展
知道设备的MAC地址,而不知道设备厂商的信息,可以通过设备MAC地址查询。
IEEE 802局域网MAC地址发送顺序
-
单播MAC地址与广播MAC地址
-
多播MAC地址
IP地址
网络层范畴,并非数据链路层范畴!
IP地址是因特网上的主机和路由器所使用的地址,用于标识两部分信息:
- 网络编号:标识因特网上数以百计的网络
- 主机编号:标识同一网络上不同主机(或路由器各接口)
很显然,之前介绍的MAC地址不具备区分不同网络的功能。
- 如果只是一个单独的网络,不接入因特网,可以只使用MAC地址(这不是一股户的应用方式)
- 如果主机所在的网络要接入因特网,则IP地址和MAC地址都需要使用。
-
从网络体系结构看IP地址与MAC地址
-
数据包转发过程中IP地址与MAC地址的变化情况
结论:
- 数据包转发过程中源IP地址和目的IP地址保持不表;
- 数据包转发过程中源MAC地址和目的MAC地址逐个链路(或诸逐个网络)改变。
- 练习题
ARP协议
- 思考:
解答:
否定。ARP协议只能在一段链路或一个网络中使用,不能跨网络使用
- 总结
七、集线器和交换机的区别
- 早期的总线型以太网
- 使用双绞线和集线器HUB的星型以太网
- 使用集线器HUB在物理层扩展以太网
使用集线器的以太网在逻辑上是共享总线的,需要使用CSMA/CD协议来协调各主机征用总线,只能工作在半双工模式,也就是收发帧不能同时进行。
- 以太网交换机
直通交换:不必把整个帧先缓存后进行处理,而是在接收帧的同时就立即按帧的目的MAC地址决定该帧的转发接口,因而提高了帧的转法速率。
- 对比集线器和交换机
- 单播帧
同时给另一台发送单播帧:
- 广播帧
- 使用集线器扩展以太网和交换机扩展以太网的区别:
- 总结
工作在数据链路层的以太网交换机,其性能远远超过工作在物理层的集线器,而且价格并不贵,这就使得集线器逐渐别市场淘汰,市场上很难在见到集线器了。
八、以太网交换机自学习和转发帧的流程
以太网交换机工作在数据链路层(也包括物理层).
以太网交换机收到帧后,在帧交换表中查找帧的目的MAC地址所对应的接口号,然后通过该接口转发帧。
以太网交换机是一种即插即用设备,刚上电启动时其内部的帧交换表是空的。随着网络中各主机间的通信,以太网交换机通过自学习算法自动逐渐建立起帧交换表。
- 举例说明
以太网交换机丢弃帧的情况
- 习题
- 总结
九、以太网交换机的生成树协议STP
- 如何提高以太网的可靠性?
添加冗余链路可以提高以太网的可靠性
冗余链路的负面效应:形成网络环路
网络环路会带来一系列问题:
- 广播风暴:会大量消耗网络资源,使得网络无法正常转法其他数据帧
- 主机收到重复的广播帧:大量消耗主机资源
- 交换机的帧交换表震荡(漂移)
以太网交换机使用生成树协议STP(Spanning Tree Protocol)
可以在增加冗余链路来提高网络可靠性的同时又避免网络环路带来的各种问题。
- 不论交换机之间采用怎样的物理连接,交换机都能够自动计算并构建一个逻辑上没有环路的网络,其逻辑拓扑结构必须是树型的(无逻辑环路);
- 最终生成的树形拓扑要确保连通整个网络。
- 当首次连接交换机或网络物理拓扑发生变化时(有可能是人为改变或故障),交换机都将进行生成树的重新计算。
- 总结
十、虚拟局域网VLAN
VLAN概述
- 广播风暴举例
广播风暴会浪费网络资源和各主机的CPU资源!
网络中会频繁出现广播信息:
- TCP/IP协议栈中的很多协议都会使用广播:
- 地址解析协议ARP(已知IP地址,找出其相应的MAC地址)
- 路由信息协议RIP(一种小型的内部路由协议)
- 动态主机配置协议DHCP(用于自动配置IP地址)
- NetBEUl:Widnows下使用的广播型协议
- IPX/SPX:Novell网络的协议栈
- Apple Talk:Apple公司的网络协议栈
- 分割广播域的方法
- 使用路由器可以隔离广播域
路由器成本较高,实现起来不现实。
- 虚拟局域网VLAN技术应运而生
虚拟局域网VLAN(Virtual Local Area Network)是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求。
- 总结
VLAN实现机制
- 如何实现VLAN?
虚拟局域网VLAN技术是在交换机上实现的,需要交换机实现以下两大功能:
- 能够处理带有VLAN标记的帧(IEEE 802.1Q帧)
- 交换机的各个端口可以支持不同的端口类型,不同端口类型对帧的处理方式有所不同。
- IEEE 802.1Q帧
- 交换机的端口类型
- Acess
- Trunk
- Hybrid(思科交换机没有该端口)
交换机各端口的缺省VLAN ID
- 在思科交换机上称为Native VLAN,即本征VLAN。
例如,思科交换机在用户未配置VLAN时,所有端口都默认属于VLAN1,即所有端口的本征VLAN都是VLAN1。- 在华为交换机上称为 VLAN ID,简记为PVID。【注意:交换机的每一个端口有且仅有一个PVID】
- Acess 端口
一般用于连接用户交换机,
只能属于一个VLAN,
Access端口的PVID值与端口所属VLAN的ID
相同(默认为1)
Acess端口接收处理方法:一般只接受“未打标签”的普通以太网MAC帧。根据接收帧的端口的PVID给帧"打标签",即插入4字节VLAN标记字段,字段中的VID取值与端口的PVID取值相等。
Access端口发送处理方法:若帧中的VID与端口的PVID相等,则"去标签"并转发该帧;否则不转发。
- Trunk 端口
Trunk端口一般用于交换机之间或交换机与路由器之间的互连
Trunk端口可以属于多个VLAN
用户可以设置Trunk端口的PVIDE。默认情况下,Trunk端口的PVID值为1.
Trunk端口发送处理方法:
- 对VID等于PVID的帧,"去标签"再转发;
- 对VID不等于PVID的帧,直接转发;
计算机网络(谢希仁 第七版) 第三章(数据链路层)-- 3.1 使用点对点信道的数据链路层(数据链路层概述 & 数据链路和帧 & 三个基本问题(封装成帧透明传输差错控制))