丰县徐州网站开发,WordPress页脚随机文章,找做网站的人,网站建建设心的文章目录 1 数据链路基本概念和问题1.1 基本概念1.2 基本问题#xff08;1#xff09;封装成帧#xff08;2#xff09;透明传输#xff08;3#xff09;差错控制 2.数据链路层协议2.1 点对点 PPP协议2.1.1 需要实现的2.1.2 PPP组成2.1.3 帧格式2.1.4 工作流程 2.2 广播 … 文章目录 1 数据链路基本概念和问题1.1 基本概念1.2 基本问题1封装成帧2透明传输3差错控制 2.数据链路层协议2.1 点对点 PPP协议2.1.1 需要实现的2.1.2 PPP组成2.1.3 帧格式2.1.4 工作流程 2.2 广播 CSMA/CD协议2.2.1 协议要点 2.3 集线器交换器集线器MAC地址MAC帧格式 3 扩展以太网3.1 物理层扩展方式3.2 数据链路层扩展方式3.2.1 交换机的自学功能 3.3 虚拟局域网 4 高速以太网4.1 100BASE-T4.2 吉比特以太网 内容笔记来源于谢希任老师《计算机网络》 重点
理解MAC地址
理解交换机
理解VLAN
理解高速以太网
数据链路是计算机网络的底层
1 数据链路基本概念和问题
1.1 基本概念
链路 或者叫物理链路 是一段点到点的物理线段有线或者无线中间没有任何其他交换结点
一条链路只是一条通路的组成部分
数据链路 或者叫数据链路 在链路的基础上加上控制协议和实现协议的软件和硬件
现在最常用的是使用适配器网卡来实现这些协议的硬件和软件一般的适配器都包括了数据链路层和物理层的功能
数据链路使用的信道主要有以下两种类型
点对点信道使用PPP协议广播信道使用CSMA/CD协议
1.2 基本问题
对于数据链路层而言以下三个问题很重要
1封装成帧
我们知道互联网上传输数据都以分组即IP数据报为传输单位进行传输所以到了底层数据链路层也得保证不混淆不同的IP报
所以封装成帧就是在网络层的IP数据报上加上首部和尾部构成帧
那么首部和尾部有什么作用呢
最重要的
我们首部和尾部的重要作用就是进行帧定界通俗来讲就是 区分一个帧和另一个帧核心目的就是为了不让IP数据报混淆首部和尾部包含一些控制信息
所以综合来看一个帧包括的内容有我们要传输的数据和首部尾部
那么为了提高传输效率要尽可能使得传输数据部分长度大于首部尾部的长度但每一种数据链路协议都规定了数据部分的长度上限——称为最大传输单元MTU
数据链路层传送的是帧 帧是传输数据的单位
解决方式 用控制字符进行
2透明传输
传播的数据部分出现控制字段如开始和结束
如果不做处理的话会导致接收方误以为提前结束这个数据部分的EOS应该不被接收方看见
即应该被认为是透明的所以叫他为透明传输
实现的方式是怎样的呢
解决方式 通过字节填充解决.数据中出现控制字符的时候前面加入一个转义字符“ESC” 十六进制编码1B
可能问题
就是IP层交付的数据和DL数据链路层实际传输的数据不一样
3差错控制
在传输过程中不可能一点都不出错如0变成1,1变成0这就叫做比特差错。对于差错我们的解决方式是
目前采用较多的是循环冗余检测方法CRC
发送端
原始数据M进行n位冗余码商定一个除数P位数n1
1 原始数据M后面加n个零做被除数D
2 D除以P得到的余数该余数又叫帧检验序列FCS加在M后面
接收端
得到的信息除以除数P余数为0接受否则丢弃
注意我们上面讲到的是比特差错CRC仅能排查比特差错
实际上除了比特差错还有其他差错就是帧丢失帧重复和帧失序
其中我们要注意的是仅仅排除比特差错是不够的实现了无比特差错的传输叫做无差错传输
但是只有排除了所有错误如帧丢失帧重复和帧失序之后才能叫做可靠传输即发送什么就收到什么
这些排除错误的方法帧编号确认和重传机制是往往是更高层来实现的
2.数据链路层协议
2.1 点对点 PPP协议
使用最多的是点对点协议PPP
我们前面反复提到互联网用户如果想要连入互联网必须连接到某个ISP其中我们的PPP协议广泛应用于本地计算机和ISP的数据链路层的通信
2.1.1 需要实现的
PPP协议需要实现的一些功能
那么除了我们刚才讲到的 封装成帧透明传输差错检测这些基本问题还实现了简单高效支持多种网络层协议支持多种类型链路检测连接状态数据压缩算法的协商
2.1.2 PPP组成
一个将IP数据报封装到串行链路的方法是同步还是异步
一个链路控制协议LCP建立配置和测试数据链路的连接
一套网络控制协议NCP支持多种网络层协议
2.1.3 帧格式
开始结束字段 F0x7E 1字节
地址字段 A0xFF 因为是点对点所以设置就维持不变 1字节
控制字段 C0x03 1字节
开始结束和地址字段控制字段实际上没有携带什么信息。他是最初设计的时候考虑之后可能会用到但目前为止也没有用到
协议字段 不同值代表不同协议 2字节
如0x0021时是IP数据报若为0xC021 则为LCP数据报
信息字段 要传输的IP数据报或链路控制数据网络控制数据等
检验字段 FCS 对于透明传输问题
异步传输方法是——字节填充法
当信息字段中出现和标志字段一样的比特0x7E组合时在前面添加转义字符0x7D同时把0x7E变为0x5E传输。整体变为0x7D0x5E传输
当信息字段出现转义符0x7D的时候在前面再添加一个转义字符0x7D同时把0x7D变为0x5D传输。整体变为0x7D0x5D传输
当信息中出现ASCLL控制码时候也同理
同步传输方法是——零比特填充法
发送端先扫描整个信息字段往往硬件实现只要发现有5个连续的1则立即填入一个0因此经过这种比特的填充后信息字段就不会出现6个1 的情况
接收端首先找到标志字段F确定边界然后用硬件对内部比特流扫描去掉0
2.1.4 工作流程
建立工作状态
用户拨号接入ISP后建立了一条从用户个人电脑到ISP的物理连接用户个人电脑向ISP发送一系列的链路控制协议LCP分组封装成多个PPP帧以便建立LCP连接。这些分组及其响应选择了一些将要选择的PPP参数进行网络层配置NCP给新接入的用户分配一个临时IP正式接入互联网
通信完毕
NCP释放网络层连接收回去分配出去的IPLCP释放数据链路层连接释放物理层连接
2.2 广播 CSMA/CD协议
接下来重点讨论局域网部分的一对多通信其中以太网可以看成是一种实现局域网通信的技术标准目前逐渐大家把它当作局域网的同义词。以太网的拓扑结构有环形的星形的等等。局域网主要用双绞线速率更高
开始之前先探讨一个问题——我们本地的计算机是怎么连到局域网的
其中一个关键部件是适配器网卡
适配器是什么
适配器
网络接口板子又称作通信适配器或者网卡
他的核心作用如下
适配器的功能
进行串行并行转换
对数据进行缓存
在计算机的操作系统安装设备驱动程序
实现以太网协议
计算机通过适配器和局域网进行通信
好的我们已经了解了连接到局域网的关键设备适配器
接下来一个重要问题就是多用户如何共享信道资源一般两种方式 静态划分信道——频分复用时分复用码分复用等代价价高 不适合于这个局域网 动态媒体接入控制——又称为多点接入信道并非在用户通信时固定分配给用户这里又分为两类 随机接入即所有用户可以随机地发送信息如果恰巧有两个用户在同一时刻发送信息那么在共享媒体上就要发生碰撞使得用户的发送都失败。因此必须有解决碰撞的网络协议 受控接入用户不能随机的发送信息而必须服从一定的控制这类的典型代表有分散控制令牌环局域网和集中控制的多点线路探询或轮询
由于局域网信道质量比较高距离短所以设计的时候要尽可能的简单
为此局域网采取了如下的措施 以太网提供的是无连接不必先建立连接就可以直接发送数据的不可靠对发送的数据帧不进行编号不要求确认服务以太网采用CSMA/CD协议意味着载波监听多点接入\碰撞检测 以太网的数据采用曼彻斯特编码
2.2.1 协议要点
半双工通信
多点接入 表示计算机以多点的方式连接在一根总线上
载波监听 每一个站点在发送数据前先检测一下总线上有没有其他计算机在发送数据
载波监听的问题
监听到空闲的其实并不一定是空闲的哦所以需要碰撞检测
以太网端到端往返时延的两倍2t称为争用期或碰撞窗口如果这段时间还没有检测到碰撞这次发送就不会碰撞当发送碰撞后还会发送强化碰撞即人为发送干扰信息保证所有用户都知道已经发生了碰撞
碰撞检测 检测到碰撞后立即停止发送继续发送人为干扰信号以便让所有用户知道发生了碰撞等待一段随机时间后发送。
那么这个随机时间如何计算呢 随机时间计算
1 基本退避时间为争用期2t (以太网取51.2us为争用期)
2 从整数集合 [ 0 , 1 , 2 , . . . , ( 2 k − 1 ) ] [0,1,2,...,(2^k-1)] [0,1,2,...,(2k−1)]中随机取出一个数记为rkmin[重传次数10]
3 重传时延就是r倍的基本退避时间
4 如果重传16次依然不能成功时丢弃帧向高层报告
由于以太网取51.2us为争用期对于10Mbit/s的网络而言这期间可以发送512比特64字节如果发生冲突一定是在64节内这会导致检测到冲突停止发送从而数据小于64节所以64字节为最短有效帧长
还有帧间最小间隔即96帧方便刚刚收到数据帧的站接收缓存清理做好接受下一帧的准备
总结来看
该协议的要点
1 准备发送适配器从网络层获得一个分组加上以太网的首部和尾部组成以太网帧。放入适配器的缓存中发送之前检测信道
2 检测信道若检测信道忙则不停检测一直等待信道转为空闲且超过96帧后发送过程中继续监测信道如果超过争用期后还是未检测到碰撞就认为发送成功否则立刻停止发送然后利用指数退避算法再次发送
接下来我们探讨一下局域网的信道利用率
参数a T 0 L / C T_0L/C T0L/C L是帧长 C是数据发送速率T0是帧发送时间 a t / T 0 at/T_0 at/T0 参数a等于以太网单端时延与帧的发送时间T_0的比
a接近0的时候表示一发生碰撞就会被检测出来信道利用率很高
a越大争用期所占比例增大发生一次碰撞就浪费许多资源
当数据率一定时候以太网的连线长度受到限制否则t数值就会太大以太网帧长不能太短否则会导致T0值太小a太大
理想信道利用率 上面式子告诉我们 a a a要远小于才能提高这个利用率
2.3 集线器交换器
使用接线器比起刚刚的无源的总线结构更靠谱一些
集线器
星形拓扑结构中心叫集线器目前使用双绞线或光纤
一个集线器有许多个端口
集线器工作在物理层仅仅简单地做转发不进行碰撞检测
前面我们讲到适配器那么局域网的各个电脑如何区分要发送的目的地呢
就是通过适配器的MAC地址他是固化在适配的ROM中全球唯一
MAC地址
MAC地址又叫做硬件地址物理地址
通常表示为48位 6字节
表示的时候用12个16进制数每2个16进制数之间用冒号隔开如0800200A8C6D
地址段前三个字节由IEEE的注册管理机构RA向厂家分配后三个字节由厂家自行分配 IEEE规定地址字段的第一字节的最低位为I/G位
I/G0时候地址字段表示一个单站地址
I/G1时候地址字段表示一个组地址用来广播
当48位都为1时候为广播地址只能作为目的地址
IEEE规定地址字段的第一字节的最低第二位为G/L位
G/L位0时候是全球管理
IG/L位1时候是本地管理
当48位都为1时候为广播地址只能作为目的地址
MAC帧格式
常用以太网V2格式 源地址目标地址 上面讲到的MAC地址
类型 上一层使用的什么协议
数据字段
最小长度64-18字节的头尾46
最长1500
检测字段FCS
前同步码 8个字节前7个实现MAC帧同步第8个帧开始定界符
帧间最小间隔 9.6us
总结
互联网通过路由协议联通的N个局域网。
局域网以太网TCP/IP协议。
以太网基于广播(MAC寻址)和碰撞检测机制 CSMA/CD 的网络。 以太网是一种计算机局域网技术
3 扩展以太网
我们知道以太网的两台主机距离不能太远但是往往比如校园内一些主机的距离可能蛮远的
要实现这样距离较远的通信我们就需要扩展以太网
所以我们要搞清楚拓展的核心目的
那么拓展主要有两种方式物理层上扩展和数据链路层扩展
3.1 物理层扩展方式 很早之前拓展是通过接转发器 而现在拓展的简单方法就是使用光纤用到光纤调制解调器能够到达几公里的范围 还有一种方式就是多个集线器连接成覆盖更大范围的多级星型结构 比如一个学校有三个学院每个学院配备一个集线器最后再通过一个主干集线器连接在一起 多级集线器的优点是可以跨院通信同时扩大了范围缺点是碰撞域变大了三个独立的碰撞域合成了一个同时没有缓存功能不同学院必须使用相同的以太网技术
3.2 数据链路层扩展方式
扩展方式主要通过交换机交换机工作在数据链路层
特点
交换机实质是一个多端口的网桥通常有十几个或者更多个端口全双工工作方式具有存储器能够进行帧缓存即插即用避免人为配置通过内部帧交换表实现要了解交换机更新交换表的自学算法用户独占信道增大了交换机总容量有多种速率端口
3.2.1 交换机的自学功能
交换表组成 MAC地址端口写入时间
如果交换表内没有自己要发送的对方的地址则进行广播通知每一个主机其他主机收到后看看是否是要发送给自己不是的话则过滤掉是的话则接收同时将对应的信息加入交换表。如果有的话则直接一对一发送
3.3 虚拟局域网
当前面的扩展方式进行很多的扩展的时候就会遇到一些问题
首先一整个以太网是一个广播域那么以太网上经常就会出现大量广播帧浪费资源
其次不利于信息的安全
所以提出虚拟局域网核心思想是把一个较大的局域网分割为很多较小的局域网每一个局域网是一个广播域
实现方式是在MAC帧的基础上嵌入了VLAN标签一个虚拟局域网可以跨越多个交换机
4 高速以太网
4.1 100BASE-T
是在双绞线上传输100Mbit/s的系带信号的星形拓扑结构比之前的100Mbit/s快了很多
4.2 吉比特以太网
即传输速率是1Gbit/s
之前我们讲到大多通过电话线等方式接入互联网
但实际现在更多的是通过以太网进行宽带接入比如我们现在只要登录校园网就可以访问外网了
拓展
了解一下网速单位
Mbps是Mb/s 而不是MB/S”。
运营商说的1M宽带的M是指Mb/s也就是Mbps运营商为什么喜欢说这个呢数据传输大多是以“位”bit又名“比特”为单位的数据的传输以及运营商在流量收费的时候都是按照比特来计算的
所以比如运营商说1M带宽那么也就意味着是1Mb/s也就是0.125MB/s 我自己实际测试了网速
如图是300M-500M带宽
那么也就意味着是37.5MB/s到62.5MB/s