| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 数据链路层 -> 正文阅读 |
|
[网络协议]数据链路层 |
1.数据链路层概述?链路是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。 数据链路:除了物理链路之外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。 2.点对点协议PPPppp协议应满足的需求: 检测连接状态--能够及时自动检测出链路是否处于正常工作 最大传送单元--必须对每一种类型的点对点链路设置最大传送单元MTU的标准默认值,促进各种实现之间的互操作性 网络层地址协商--必须提供一种机制使通信的两个网络层实体能够通过协商知道或能够配置彼此的网络层地址 数据压缩协商--必须提供一种方法来协商使用数据压缩算法 ppp协议有三个组成部分: (1)一个将IP数据报封装到串行链路的方法 (2)链路控制协议LCP (3)网络控制协议NCP PPP协议的工作状态 1.当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接 2.PC机向路由器发送一系列的LCP分组(封装成多个ppp帧) 3.这些分组及其响应选择一些ppp参数,并进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址,使PC机成为因特网的一个主机 4.通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着,LCP释放数据链路层连接。最后释放的是物理层的连接。 3.使用广播信道的数据链路层概述局域网的主要特点: 网络为一个单位所拥有 通常局域网比广域网具有较高的数据率,较低的时延和误码率 具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源 具有较高的可靠性,可用性和残存性 媒体共享技术 动态媒体接入控制(多点接入) 受控接入,用户不能随机地发送信息而必须服从一定的控制,如令牌环网,多点线路探询 随机接入,用户可以随机地发送信息 以太网提供的服务 以太网提供的服务是不可靠的交付,即尽最大努力的交付 当目的站收到有差错的数据帧时就丢弃此帧,其他什么都不做 差错的纠正由高层来决定 如果高层发现丢失了一些数据流而进行重传,但以太网并不知道这是一个重传的帧,而是当做一个新的数据帧来发送。 以太网发送的数据都是使用曼切斯特编码 4.CSMA/CD协议CSMA/CD实现思路:共用一个总线,各主机动态使用总线,随机接入方式。 碰撞的处理: 发现碰撞就废弃已经传输的部分 使用截断二进制指数退避算法 CSMA/CD含义:载波监听多点接入/碰撞检测 载波监听指:每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发送碰撞。 碰撞检测: 就是计算机边发送数据边检测信道上的信号压力大小。 当几个站同时在总线上发送数据时,总线上的信号电压摆动值会增大(互相叠加) 当一个站检测到的信号电压摆动值超过了一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明了产生了碰撞。 在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。 使用CSMA/CD协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信) 如何应对“一小段时间”的不确定性?-》争用期的概念 发送方在发送数据帧后至多经过时间2r(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞 以太网的端到端往返时延2r称为争用期,或碰撞窗口 经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发送碰撞 解决方法:二进制指数类型退避算法 发送碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据 基本退避时间:争用期2r 从整数集合【0,1,......,(-1)】中随机地取出一个数,记为r. 重传所需的时延就是r倍的基本退避时间。 参数k=Min[重传次数,10] 当k<=10时,参数k等于重传次数 当重传达16次仍不能成功时即丢弃该帧,并向高层报告 争用期的长度 10Mbit/s以太网取51.2us为争用期的长度。 对于10Mbit/s以太网,在争用期内可发送512bit,即64字节 以太网在发送数据时,若前64字节没有发送冲突,则后续的数据就不会发送冲突 最短有效帧长 如果一个帧小于64字节,会出现什么情况呢? 如果发送冲突,就一定是在发送的前64字节内。如果一个帧20字节,有可能在发送完毕后,才发生碰撞。 以太网规定了最短有效帧长为64字节,凡长度小于64字节的帧都是由于冲突而异常中止的无效帧 5.CSMA/CD协议的要点1.准备发送。但在发送之前,必须先检测信道 2.检测信道。若检测到信道忙,则应不停地检测,一直等待信道转为空闲。若检测到信道空闲,并在96比特时间信道保持空闲(以太网规定了帧间最小间隔为9.6us),就发送这个帧 3.检查碰撞。在发送过程中仍不停地检测信道,即网络适配器要边发送边监听。这里只有两种可能: 发送成功:在争用期内一直未检测到碰撞。这个帧肯定能够发送成功。发送完毕后,其他什么都不做,然后回到(1) 发送失败:在争用期内检测到碰撞。这时立即停止发送数据,并按规定发送人为干扰信号。 适配器接着就执行指数退避算法,等待r倍512比特时间后,返回步骤2继续检测信道。但若重传达16次仍不能成功,则停止重传而向上报告 6.使用集线器的星型拓扑以及以太网的信道利用率采用双绞线的以太网采用星型拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器 星形以太网10BASE-T :10表示速率为10Mbit/s? BASE表示基带? T表示双绞线 每个站需要用两对双绞线,分别用于发送和接收 双绞线的两端使用RJ-45插头 集线器使用了大规模集成电路芯片,因此集线器的可靠性提高。 使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是CSMA/CD协议,并共享逻辑上的总线。 集线器像一个多接口的转发器,工作在物理层,它的每个接口仅仅简单地转发比特:收到1就转发1到所有其他端口,收到0就转发0. 7.以太网的MAC层IEEE 802标准规定MAC地址字段可采用6字节(48位)或2字节(16位)这两种中的一种 IEEE的注册管理机构RA负责向厂家分配地址字段6个字节中的前三个字节(即高位24位)称为组织唯一标识符OUI。 地址字段6个字节中的后三个字节(即低24位)由厂家自行指派,称为扩展唯一标识符,必修保证生产出的适配器没有重复地址。 IEEE规定地址字段的第一字节的最低位I/G位。I/G表示Individual/Group. 当 I/G位=0 时,地址字段表示一个单站地址。 当 I/G位=1?时,表示组地址,用来进行多播。此时,IEEE只分配地址字段前三个字节中的23位 当 I/G 位分别为0和1时,一个地址块可分别生成2的24个单站地址和2的24个组地址。 所有48位都为1时,为广播地址。只能作为目的地址使用 IEEE把地址字段第一字节的最低第2位规定为G/L位,表示Global/Local 当 I/G位=0 时,是全球管理(保证全球没有相同的地址),厂商向IEEE购买的OUI都属于全球管理 当 I/G位=1?时,是本地管理,这时用户任意分配网络上的地址。 适配器检查MAC地址 适配器从网络中每收到一个MAC帧就首先用硬件检查MAC帧中的MAC地址。 如果是发往本站的帧则收下,然后再进行其他的处理。 否则将此帧丢弃,不再进行其他的处理。 “发往本站的帧”包括以下三种帧: 单播帧(一对一) 广播帧(一对全体) 多播帧(一对多) 以混杂方式,工作的以太网适配器只要“听到”有帧在以太网上传输就都接收下来 常用的以太网MAC帧格式有两种标准:DIX Ethernet V2标准和IEEE 的802.3标准 数据字段的正式名称是MAC客户数据字段 最小长度64字节-18字节的首部和尾部 = 数据字段的最小长度(46字节) 8.扩展的以太网用户独享带宽,增加了总容量 使用以太网交换机时,虽然在每个接口到主机的带宽还是10Mbit/s,但由于一个用户在通信时是独占而不是和其他网络用户共享传输媒体的带宽,因此对于拥有N个接口的交换机的总容量为Nx10Mbit/s. 以太网交换机的交换方式 存储转发方式:把整个数据帧先缓存后再进行处理 直通方式:接收数据帧的同时就立即按数据帧的目的MAC地址决定该帧的转发接口,因此提高了帧的转发速率。 缺点:是它不检查差错就直接将帧转发出去了,因此有可能也将一些无效帧转发给其他的站。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 4:23:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |