计算机网络 - 数据链路层
来源:互联网 发布:gitlab ci java 编辑:程序博客网 时间:2024/06/05 18:13
数据链路层
数据链路层基于物理层提供的数据传输,信道复用技术要实现局域网内的主机间通信,通常具备点对点和广播信道,即一对一和一对多通信方式。这两种信道分别使用PPP协议及CSMA/CD协议。该层需解决三个基本问题:封装成帧、透明传输和差错检测。该层需要许多专有设备的支持,下文将一一阐述。
点对点信道通信
封装成帧: 数据链路层将网络层发下来的数据(如IP数据报)封装成数据单元(帧)发送到物理层链路上,如果数据超过链路层协议的最大传送单元MTU 才 切片。
透明传输: 由于封装的帧需要帧定界(特殊的一串字节),而数据中可能存在和帧定界一样的字节串,造成接收端错误的以为一个完整帧接收完毕,其实却是数据中存在和帧结束符一样的字节串。前辈们想出了字节(符)填充。即,但凡数据中存在和帧定界一样的字节串,就在该串前面插入一段转义字符,在接收端再去掉转义字符,使数据在链路层传输时不知道有帧的存在,像透明似的从网络层发送端到网络层接收端。
差错检测: 在物理层提及信号在信道中传输会出现失真的情况,为了防止数据在传输中出现错误,如0变成1,1变成0。在数据的末尾插入n位检验码FCS,链路层广泛使用的循环冗余检验CRC技术,接收端接收到数据进行校验,如果存在错误如帧丢失、帧重复、帧失序则分情况对待,有线传输链路则不理会,提交由上层协议(如运输层TCP协议)进行处理,无线传输则使用确认和重传机制。
PPP协议
PPP协议是主机与ISP进行通信时使用的数据链路层协议,除具备上诉点对点通信基本功能的补充外,还具备链路控制协议LCP和网络控制协议NCP
PPP协议工作状态
用户拨号接入ISP(建立物理连接)>>> 用户主机发送一系列链路控制协议LCP分组PPP帧 >>> 建立LCP连接 >>> 网络层配置 >>> 网络控制协议NCP给用户分配临时IP地址 ---------- 通信完毕 >>> NCP释放网络层连接,收回临时IP地址 >>> LCP释放数据链路连接 >>> 释放物理层连接
广播信道通信
广播通信即一对多通信,局域网使用的就是广播信道,局域网也称以太网
用户能够合理使用局域网的共享资源,有两种方法
1. 静态划分信道: 即物理层频分复用,时分复用,波分和码分复用etc。这种划分代价太高,不适合局域网使用。
2. 动态媒体接入控制: 其特点就是信道不是固定分配的,又可以分为两类: 1. 随机接入,用户可以随机发送信息,但两个用户同时发送会发生碰撞。详见下文解决碰撞的协议 2. 受控接入,用户不能随机发送信息。有分散控制的令牌环局域网和多点线路探询(轮询)
适配器
俗称:网卡 NIC (Network Interface Card)
网卡横跨链路层和物理层,自备处理器和存储器(RAM,ROM),适配器ROM里存储着计算机硬件地址,即MAC地址,而计算机软件地址存储在计算机的存储器。由于计算机与适配器通信使用的事并行传输,所以适配器具备串并行转换功能。计算机总线上的速率比网络快,所以网卡有缓存芯片。由于现代计算机集成度高,所以很多网卡直接集成在主板上。
CSMA/CD协议
上文提及局域网动态接入的其中一种随机接入,即用户在局域网中可随时发信息,但存在一起发会占用信道,出现碰撞。CSMA/CD就有解决碰撞的协议规定,详细说明因果:当一用户发送信息时,另一用户同时发就会碰撞,所以协议规定,任一用户在发送信息 前/中 都必须载波监听信道上是否有用户在发送信息,没有才可以发送。如果在发送中发现有人在发送信息(由于用户A监听时,用户B发送的信息还在路上,A监听时以为没有用户发送信息),则停止发送信息,并发送人为干扰信号。继续监听,直到信道空闲了,再发送刚才发送失败的信息。
MAC
MAC地址又称为硬件地址或物理地址,是48位的全球地址(唯一),每一适配器出厂时都已经写入到ROM。
MAC帧
前同步码: 让适配器在接收MAC帧时能调整其时钟频率
类型: 表示上层使用的协议,如 IP协议
FCS: 效验码
拓展以太网
局域网都优势显而易见,因为信号间传输会失真,导致CSMA/CD协议无法识别。所以前辈就用光纤调制解调器来远距离传输,这样我们就可以组件更庞大的局域网。
同时问题也出现了,庞大的局域网就会出现更多的信号,也就会更多的碰撞,为解决该问题,前辈提出了网桥。网桥工作在链路层,根据MAC帧的目的地址对其进行转发和过滤 。
但广播却是发给所有局域网用户的,所以如果局域网内出现许多广播,网桥无从过滤,也就是广播风暴。虽然存在该现象但以太网的优势还是明显的(虚拟局域网的提出,解决了广播风暴问题)。
为了能够即插即用不需要人工配置,又提出了透明网桥
用于探明最佳路由的源路由网桥,工作机制:广播发送发现帧,记录目的路由沿途所有路由信息,到达后返回,得出最佳路由。
多接口网桥(以太网交换机),交换机的概念已经模糊,现在许多交换机都具备了网桥和路由器功能,
高速以太网
- 计算机网络数据链路层
- 【计算机网络】数据链路层
- 计算机网络--数据链路层
- 计算机网络数据链路层
- 计算机网络 - 数据链路层
- 计算机网络 数据链路层
- 计算机网络--数据链路层
- 数据链路层--计算机网络
- 计算机网络-数据链路层
- 计算机网络 -- 数据链路层
- 计算机网络--数据链路层
- 计算机网络数据链路层
- 计算机网络--数据链路层
- 计算机网络--数据链路层
- 计算机网络:数据链路层
- 《计算机网络》之数据链路层
- 计算机网络之数据链路层
- 计算机网络 —> 数据链路层
- 解读 *(volatile unsigned int *)0x30008000 的含义
- 急速配置TFTP
- Linux下进程信息的深入分析
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- 使用<a>标签调用struts2的action、传递动态参数、以及参数中出现加号等特殊字符的处理方法
- 计算机网络 - 数据链路层
- 三层架构之登录
- [Qt]不带标题栏(FramelessWindowHint)的窗体移动及调整大小
- 如何生成android的keystore文件
- NSURLCache 2
- extern "c"用法解析
- Median of Two Sorted Arrays
- 关于电荷放大器的问题
- 数据离线缓存与读取