1、数据链路层知识介绍
1、 Mac地址 media access control address 媒体存取(访问)控制地址/物理地址
2、 链路Link:就是从一个节点到相邻节点的一段物理线路,中间没有任何其他的交换节点;
数据链路Data Link:是指把实现的通信协议的硬件软件加到链路上;
数据链路层以帧为单位传输和处理数据;
3、 封装成帧(数据链路层封装成帧称MAC帧)、差错检测、可靠传输;
3.1、封装成帧:
帧内容中帧头包含目标地址+源地址
帧头和帧尾中含有重要的控制信息;用于帧与帧之间定界;
透明传输(透传);
转义处理:针对传输的帧中间内容(除帧头尾外)中含有和帧头尾相同的字符时,一般在该字符前增加个转义字符,当接收到转义字符时就将后面的字符识别为数据而不是帧头尾字符,同时把转义字符剔除不缓存;
发送前先对发送帧内容进行扫描,添加转义字符;
没出现一个帧头尾字符或转义字符,在该字符前插入转义字符,其长度为一个byte;十进制是27,十六进制1B(字符ESC,退出键),并不是E,S,C这3个字符;
面向字节的物理链路使用字节或字符填充实现透明传输;
面向比特的物理链路使用比特填充的方式实现透明传输;
3.2、差错检测:
在一段时间内,传输错误的比特占所传输比特的总数的比率称为误码率bit error rate;
循环冗余CRC校验 8位校验码 16位校验码 cyclic redundancy check 现成的封装函数;漏检率极低
被广泛应用于数据链路层,嵌入式通信交互;
FCS 帧检验序列 frame check sequence
奇偶校验:在待发送的数据最后添加一个1或者0,使整个数据中1的个数为奇数或偶数;
检错码只能检测出帧在传输过程中出现了差错,但不能定位错误,因此无法纠正错误;
3.3、不可靠/可靠传输:
当交互帧经过差错检测识别传输过程中产生了误码后的处理方式;
取决于数据链路层向上层提供的服务类型;
如果提供的是不可靠传输服务,仅丢弃该有误码的帧,其他什么也不做;
如果提供的是可靠传输服务,那么在上一帧出现误码丢弃后,接收方需回帧告诉发送方重发;
一般情况下,有线链路误码率低(采用不可靠传输),无线链路误码率高(可靠传输);
3.3.1 三种可靠传输实现机制
1、停止-等待协议SW(自动请求重传ARQ automatic repeat request )
分组编号0和1,前一个分组0和当前分组0不是同一个分组;
该协议下的信道利用率;
2、回退N帧协议GBN (流水线分组传输)
发送方维持一个发送窗口,序号落在发送窗口内的数据分组可被连续发送,而不必等待接收方相应的确认分组信号后再发送;
回退N帧就是当发送窗口范围内序号的所有的发送分组中有差错误码,即便剩余分组无误码也不被接收方接收,接收方就会返回上一次窗口所有分组的最近一个分组序号确认分组信号,假设为ACK4,然后累计到规定值后发送方重新发送有误码的一组分组(包括里面无误码的剩余分组);
发送窗口序号尺寸超过取值范围
假设ACK7丢失了,同时接受的一组分组的序号出现重复的序号无法分辨新旧数据
回退N帧协议在流水线传输的基础上利用发送窗口来限制发送发连续发送分组的数量,是一种连续ARQ协议;
超时重传:发送方超过规定时间没有接收到对应分组的确认分组信号后重新发送该数据分组;
3、选择重传协议
为了进一步提高传输性能,仅重传出现误码的数据分组,接收窗口尺寸不应只等于1而应大于1,以便接受方先收下失序但无误码并且序号在接收窗口内的数据分组,等到所缺的分组收齐后再一并送交到上层;
4、 点对点信道的数据链路层;
4.1、点对点point to point protocol PPP协议
是目前使用最广泛的点对点数据链路层协议;
PPPoE协议 PPP over Ethernet 在以太网上运行的PPP协议;
ISP(互联网服务提供商,中国移动/联通/电信)可以通过DSL digital subscribe line 电话线接网、电路调制解调器、以太网等这些宽带接入技术 并以以太网接口的物理形式为用户提供上网接入服务;
广播信道的数据链路层
4.2、媒体接入控制:
无线局域网共享式;
【问题】:广播共享式链路,当其中多个主机同时发送消息到总线中时,该如何仲裁区分信号,解决信号冲突(处理信号碰撞)?
共享信道意味着要着重考虑一个问题就是信号同时发送到该信道时产生的信号冲突碰撞,那么如何协调多个发送和接收站点对一个共享传输媒体的占用,即媒体访问控制MAC media access control
Mac地址 media access control address 媒体存取(访问)控制地址/物理地址:
静态/动态接入(随机接入);
随着技术的发展,交换技术的成熟和降本,具有更高性能的使用,点对点链路和链路层交换机的交换式局域网在优有线领域已完全取代了共享式局域网,但由于无线信道的广播天性,无线局域网仍然使用的是共享媒体技术;
4.2.1、静态划分信道
信道复用:一条物理线路同时传输多路用户的信号;
Division multiplexing
多址
白噪声:白噪声(white noise)随机起伏噪声的统称。它的幅度遵从高斯(正态)分布,而功率谱(分贝与频率)类似于白色光谱,均匀分布于整个频率轴,故称为白噪声;
用收到的叠加码片序列(叠加信号):
通过设置的游戏规则实现多路信号复用的通信方式;
4.2.2、动态接入控制-----随机接入
多地址接入+总线载波监听+碰撞检测
波特率是指通信双方各自的硬件在单位时间能产生/允许接收的波形频率(波形周期等,例如1Mbps,1秒钟能抖出来1Mbit波形),但是如果双方之间通信距离足够远,必然有传播时延(比如从北京接根线到广州 铜线传播速度2x10的8次方m/s),所有总时间:发送时延+传播时延;
以太网端到端一对主机就最多2τ(δ→0)时间,总线上主机越多,总的端到端往返传播时延就越大;
以太网总线局域网:CSMA/CD carrier sense multiple access /collision detection
协议不适用于无线网络;
无线局域网使用CSMA/CA协议;carrier sense multiple access /collision avoidance
既然CSMA/CD协议已经成功地应用于使用广播信道的有线局域网,那么同样使用广播信道的无线局域网能不能也使用CSMA/CD协议呢?
1、硬件本身灵敏度,要求更高;
2、无线局域网存在隐蔽站特殊情况,不适合碰撞检测;
帧间间隔: interframe space
(无线通信)所有站点必须在持续检测到信道空闲一段时间后才能发送帧;
针对数据冲突的协议层制定的退避算法;
信道预约 request to send RTS / clear to send CTS帧/虚拟载波监听
短帧间间隔SIFS(28μs)
DCF方式下的帧间间隔DIFS(128μs)
DCF distributed coordination function 分布式协调功能 在DCF下,没有中心控制站点,每个站点使用
CSMA/CA协议通过竞争信道来获取发送权,802.11协议默认方式;
信号碰撞即信号冲突;
5、MAC地址、IP地址、ARP协议
数据链路层分:LLC逻辑链路控制子层和MAC媒体访问控制子层;
MAC地址属于数据链路层,是数据链路层地址-物理地址;
IP地址和ARP协议属于TCP/IP体系结构的网际层(网络层);
两个点之间的数据链路层通信不需要物理地址,但对于广播信道上的多主机的数据链路层通信需要物理地
址来区分各主机发送的信号;
MAC地址一般被写死/固化在网卡(网络适配器—是一个集成模组)的E2PROM上(Flash上),出厂即写死且唯一,跟产品的SN号很像;
Network adapter 网络适配器 有线网络适配器/无线网络适配器,各具有全球唯一的MAC地址
而交换机/路由器拥有多个网络接口,也就拥有多个MAC地址,所有MAC地址是网络接口的唯一标识,而不是网络设备的唯一标识;
全球单播/多播:
本地单播/多播:
广播:一对所有;
单播:一对一;多播:一对多(有的多播组列表中无或不支持多播者不能接收);
随机MAC地址技术:通过监视电子设备的MAC地址来跟踪每个人的行动,因此采用随机MAC地址技术
在接入/扫描不同网络时,采用随机MAC地址技术;
IP地址是因特网上主机和路由器所使用的地址,分为网络编号+主机编号
网络编号:标识因特网上数以百万计的不同网络;
主机编号: 标识同一网络上不同主机或路由器接口,同一个网络上的各主机/路由器的各接口的IP地址的网络编号部分应该相同,主机编号不相同
接入因特网需要IP地址,MAC地址;不接入因特网仅需要MAC地址即可;
【问题】:主机H1是如何获取知道路由器R1的IP3地址?在网络层获取答案;
在知道路由器的IP地址后,是如何获取路由器R1的MAC地址?换句话说如何通过相应的IP地址找到对应的MAC地址?
针对问题2:是协议ARP的功能;ARP协议 address resolution protocol 地址解析协议;
每台主机都有一个ARP高速缓存表,先对比看有无自己符合想发送的目标主机IP地址,若未找到,就发送广播帧(IP地址? MAC地址 FF-FF-FF-FF-FF )(ARP请求报文)给所有主机,告诉我主机IP和MAC地址, 【注意】ARP协议仅仅只在一个相同网络上使用,不能跨网络使用;
6、集线器、交换机、路由器
路由器route:路由器的各接口有IP地址/MAC地址,不同网络间连接过渡,包含网络层/数据链路层/物理层
交换机switch:交换机没有; 网桥 包含数据链路层/物理层
集线器hub:、 仅包含物理层 B站解释
PDU地址:protocol data unit 协议数据单元 目的MAC地址
以太网交换机自学习和转发帧流程
集线器、交换机、路由器
集线器hub
源计算机给目的计算机通信,所有计算机都会收到数据,尽管数据不是发给他们的,物理层;在局域网内(一个网络内),不能用于跟外网传输数据,只能在自己的网络内;不能读取IP地址;
交换机switch
源计算机给目的计算机通信,最初仍泛传,后交换机通过自学习输入数据的计算机MAC地址对应相应输出端口号,仅目的计算机会收到数据,数据链路层+物理层;
在局域网内(一个网络内),不能用于跟外网传输数据,只能在自己的网络内;不能读取IP地址;
路由器router
路由器也是网关Gateway,网络出入口;the router is the gateway of network;data rejected by router sent off to another network;不同的网络间传输数据需要读取各网络的IP地址(网络编号+主机编号),能读取IP地址+MAC地址
7、以太网交换机生成树协议STP
Spanning tree protocol 用于检查同一网络中的链路冗余性,网络环路;
如何提高以太网可靠性
添加冗余链路是当某一链路出现故障不至于与其他计算机间不能通信,但是添加冗余链路后容易形成环形链
路导致广播风暴,所有采用STP协议来动态调整保证逻辑上没有环形链路,避免网络环路;正常/阻塞/故障;
8、 虚拟局域网VLAN
在一个局域网内针对使用广播时产生广播风暴问题;
需要将一个局域网(广播域)分割成更小的广播域;
考虑到用路由器成本昂贵,局域网内全部用路由器去隔离广播域不现实;
故采用虚拟局域网技术 virtual local area network;
VLAN: 是一种将局域网内的设备划分与物理位置无关的逻辑组技术,这些逻辑组具有某些共同的需求;
同一VLAN内计算机能相互广播通信,不同VLAN之间不能广播通信;
VLAN 帧(IEEE 802.1Q帧),普通以太网Mac帧被打上VLAN ID标签;其中交换机各默认VLAN ID (即VID)
思科交换机 Native VLAN 即本征VLAN;华为交换机 Port VLAN ID 端口VLAN ID,简称PVID;
针对广播帧,打VLAN ID标签,具备建立VLAN虚拟局域网功能的交换机会通过开发者已固化的软硬件逻辑设置归类好端口归属那个VLAN局域网;
交换机的端口类型:
Access:交换机上用于连接用户计算机的端口;
Trunk:交换机之间或交换机与路由器之间的互连;在由多个交换机互连而成的交换式以太网划分VLAN时,连接主机的交换机的端口应设置为Access类型,交换机互连的端口应设置为Trunk类型,
Hybrid(华为私有端口类型):Access和Trunk类型二合一;
持续更新。。。