首页 > 其他分享 >网络--数据链路层

网络--数据链路层

时间:2023-05-14 22:33:37浏览次数:40  
标签:字节 -- 信道 网络 MAC 以太网 链路层

数据链路层使用信道两种类型:点对点信道,广播信道(集线器,交换机)。 链路(link):物理线路 数据链路(data link):物理线路外还有通讯协议。 使用适配器(网卡)实现这些协议的硬件和软件,一般适配器都包含了数据链路层和物理层功能。   数据链路层解决的三个问题:封装成帧,透明传输(加减转义字符),差错控制。 控制字符进行帧定界:帧开始符(SOH)0000 0001,帧结束符(EOT)0000 0100。 转义字符(ESC:十六进制编码是1B):数据里面有开始符结束符转义字符前加ESC。 循环冗余检验(CRC):余数作为FCS (冗余码) 检验:(二进制+FCS)/ 除数 = 0   两种情况下的数据链路层: 点对点协议 -- PPP协议 0 标记字段F=0x7E (符合‘0x’表示后面的字符是用十六进制表示。7E为0111 1110) 地址字段A只置为0xFF,地址字段实际上并不起作用。 控制字段C通常置为0x03. PPP是面向字节的,所有的PPP帧的长度都是整数字节。 字节填充:信息字段出现标志字段的值 将0x7E字节转变成为2字节序列(0x7D,0x5D),出现ASCLL码的控制字符(数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变。 零比特填充方法:PPP用在SONET/SDH链路时,是使用同步传输(一连串的比特连续传送)发送端发现有5个连续1,则立即填入一个0.接收端对帧比特流扫描,发现5个连续1把后面的一个0删除。 不使用序号和确认机制。 使用点到点信道的数据链路层 PPP 局域网 使用广播信道的数据链路层 动态媒体接入控制(多点接入):随机接入(主要被以太网采用),受控接入(多点线路探询或轮询--目前已不被采用)。   总线型(集线器hub) CSMA/CD(载波监听多点接入/碰撞检测): “多点接入”:表示许多计算机以多点接入的方式连接在一根总线上。 “载波监听”:就是用电子技术检测总线上有没有其他计算机发送的数据信号。有则不发。 使用CSMA/CD协议的以太网只能进行双向交替通信(半双工通信)。   以太网的争用期: 以太网的端到端往返时延2τ称为争用期,或碰撞窗口。通常,取51.2μs为争用期长度。 对于10Mb/s以太网,在争用期内可发送512bit,即64字节。 以太网发送数据,前64字节未发生冲突,后续不会发生冲突。 最短有效帧长: 如果发生冲突,就一定是在发送前64字节之内。 一检测到冲突就立即终止发送,这时发送的数据一小于64字节。 以太网规定最短有效帧长为64字节,小于64字节的帧都是由于冲突而异常中止的无效帧。   二进制指数类型退避算法 发生碰撞的站在停止发送数据后,要推迟一个随机时间才能发送数据。 确定基本退避时间,一般取争用期2τ。 定义参数k, k=Min[重传次数,10] 从整数集合[0,1,2,3....(2的k次幂-1)]中随机取出一个数,记为r,重传所需的时延就是r倍的基本退避时间。 当重传达16次仍不能成功时即丢弃该帧,并向高层报告。 以太网标准:(满足CSMA/CD) DIX Ethernet V2 -- (TCP/IP经常使用) IEEE的802.3标准 以太网与数据链路层的两个子层 网络的数据链路层拆分两个子层: 逻辑链路控制LLC子层 --- 多数厂商生产的适配器没有LLC协议 媒体接入控制MAC子层 --- 与接入到传输媒体有关的内容 数据链路层只有媒体接入控制这一层。 10Base-T标准:集线器不超过100米。 100Base-FT: (100兆 基带信号 光纤)   以太网的信道利用率:参数a a=τ/T0 (τ:单程端到端时延,T0:帧发送时间) a->0 已发生碰撞就检测出来了 a越大 争用期占比大,碰撞浪费许多信道资源,信道利用率明显降低。 以太网的信道利用率最大值 S=T0/(T0+τ)=1/(1+a)   MAC地址(MAC层的硬件地址(物理地址)):48位二进制(前24位代表厂家) 修改使用MAC地址:网络连接-->属性-->配置-->高级-->NetworkAddress-->值。 注册表查看(regedit-->编辑-->查找) 用于指定MAC地址上网。 有效帧:整数个字节,FCS无差错,长度在64~1518字节。无效的丢弃。 帧的格式:   0   0 广播地址 0   使用网桥和交换机优化以太网 扩展以太网 距离扩展 100M 光纤。 集线器级联 使网络计算机数量增加 组建一个大的冲突域。 数据链路层扩展局域网 -- 使用网桥 网桥:根据MAC帧的目的地址对收到的帧进行转发。(过滤帧) 交换机:存储,转发。(全双工,带宽独享,安全)。基于MAC地址转发,通过学习构建MAC地址表。   100Base-T:全双工无冲突发生,不使用CSMA/CD。 吉比特以太网:1Gb/s 1000BASE-X 基于光纤通道的物理层 1000BASE-SX SX表示短波长,传输距离275米或550米 1000BASE-LX LX表示长波长 , 550米或5000米 1000BASE-CX CX表示铜线 传输距离25米 1000BASE-T 使用4对5类线UTP(非屏蔽双绞线) 10吉比特以太网:全双工,只使用光纤

标签:字节,--,信道,网络,MAC,以太网,链路层
From: https://www.cnblogs.com/circlecircle/p/17400435.html

相关文章

  • Redis数据结构一之对象的介绍及各版本对应实现
    本文首发于公众号:Hunter后端原文链接:Redis数据结构一之对象的介绍及各版本对应实现本篇笔记开始介绍Redis数据结构的底层实现。当我们被问到Redis中有什么数据结构,或者说数据类型,我们可能会说有字符串、列表、哈希、集合、有序集合。其实这几种数据类型在Redis中都由......
  • NOIP 2023 模拟赛五 题解
    A.[NOIP2023模拟赛五ByFXTA]简单数学题summarization给出一个值域为\([1,m]\)的正整数序列\(a_{1\simn}\),序列中的数各不相同,求出使\(a_i^2+a_j\)为完全平方数的\((i,j)\)的对数。solution实际上就是求\(x^2+y=z^2\quad(x,y,z\in\mathbb{N}^+)\)的\((x,y)\)......
  • Java电影订票管理系统
    电影订票系统主要是为了实现电影院的电影信息能够实时的展现上映电影信息以及对顾客能够根据上映电影进行网上购票支付的系统。一个经典的电影订票系统一般都需要提供良好的交互界面页面,但由于还没有学习前端方面的知识,所以交互仍在控制台中。从功能上来看,需要包括网民可以通过电影......
  • 关于 Web 可访问性的神话
    网络可访问性是每个Web开发项目中的必去之处,但对于许多Web开发人员来说,它似乎仍是个谜。就像这是传奇的东西,而不是工作所需的基本技能。围绕Web可访问性存在许多误解,大多数时候,由于对此事缺乏了解(或兴趣),这些误解都助长了这种误解。本文收集了其中一些无障碍误解或神话。无......
  • 服务器环境(插件)搭建
    PHP开发工具:neteasecloudmusic,phpstorm,postman,rdm,navicatformysql,iterm,googlechrome,dingtalk,wechat,youdao正式和测试区别开有:域名,数据库,代码仓库分支(正式master,测试dev,开发app).app-->合并->owen(自己)-->合并->app-->合并->devapp-->合并->master主流环境(插件):最笨......
  • 如何优雅地删除 Linux 中的垃圾文件
    本文正在参与“性能优化实战记录”话题征文活动不知道大家是否也跟我一样,是一只要把的自己电脑文件安排的条理有序,把没用的文件会及时删掉的程序猿呢?如果是的话,那么我们可以愉快地探讨下文章的内容。如果不是的话,你也可以留下来凑凑热闹嘛(>-<)。下面要介绍的是今天的主角——tm......
  • 删除集合元素
    importjava.util.ArrayList;publicclassArrayListTest4{/***创建一个存储String的集合,内部存储(test,张三,李四,test,test)字符串*删除所有test字符串,删除后,将集合剩余元素打印在控制台*/publicstaticvoidmain(String[]args){ArrayLi......
  • 前后端微信小程序订阅消息推送
    小程序端开发前需要获取小程序设置模板ID,没有设置模板消息时可以添加新的模板mp.weixin.qq.com拥有模板ID后,需要获取到下发消息权限用户下发推送消息权限在订单或者其它操作完成时,调起客户端小程序订阅消息界面,获取到用户操作结果//index.wxml<buttonbindtap="bindSubscribe......
  • MySQL学习笔记:mycat2原理与实现
    mycat2官网:MyCat2(mycatone.top)参考学习视频这可能是B站唯一把数据库中间件Mycat2讲的如此深入透彻的教程!_哔哩哔哩_bilibili什么是mycat2?Mycat是开源社区在阿里Cobar基础上进行二次开发的数据库中间件,也是目前最流行的基于java语言编写的数据库中间件;是一个开源的分布式数据......
  • yoloV5环境搭建与运行(windows+pytorch+kaggle)
    运行yoloV5一开始对图像处理一无所知,只是因为课堂作业要求去运行代码,所以要从环境搭建开始,一步步建立环境并且运行代码,其中还不包括调参,写下来记录一下。环境:Windows+anaconda+pytorchyolov5:https://github.com/ultralytics/yolov5云端GPU:kaggle1、环境搭建为什么要搭建环境?是因为......