计算机网络学习笔记-数据链路层

news2024/10/7 10:17:57

目录

概述

三个功能

封装成帧

 透明传输

差错检测

 点对点协议PPP

三个组成部分

帧格式

透明传输

工作状态

使用广播信道的局域网

以太网

两个主要标准

高速以太网(速率 >= 100Mb/s)

MAC层:

集线器

交换机

自学习和转发帧

生成树协议STP

虚拟局域网VLAN

实现机制


概述

链路:从一个结点到相邻结点的一段物理线路,而中间没有任何其他结点

数据链路:把实现通信协议的硬件和软件加到链路

单位:帧

信道类型:点对点信道(一对一)、广播信道(一对多)

三个功能

封装成帧

指在一段数据的前后分别添加首部和尾部,就构成了一个帧。

帧头和帧尾作用:帧定界

        MTU(1500字节):最大传送单元

 透明传输

指数据链路层对上层交付的传输数据无任何限制,就好像数据链路层根本不存在

实现方法:

        字节/字符填充

                若帧的数据部位出现帧定界控制字符,发送方在“SOH”或“EOT”前插入一个转义字符“ESC”(16进制编码:1B),接收方会自动删除插入的转义字符再发送到网络层

 ps:若数据中出现“ESC”,则在前面在添加一个转义字符“ESC”,接收方会就会删除其中一个的前面

        比特填充

                数据部分每5个连续的bit “1”后插入一个bit “0”

差错检测

比特差错:实际的通信链路都不是理想的,比特在传输过程中可能产生差错:1可能变成0,0可                能变成1

误码率(BER):在一段时间内,传输错误的比特占所传输比特总数的比率

解决方法:

        奇偶校验:在待发送的数据后添加1位奇偶校验位,使整个数据中的“1”个数为奇数(奇校验)或为偶数(偶校验)

        循环冗余校验CRC:实现无比特差错

         ps:检错码无法纠正错误

FCS(帧检验序列):在数据后面添加上的冗余码

 点对点协议PPP

PPP是目前使用最广泛的点对点数据链路层协议,只支持全双工链路,向上不提供可靠传输

可靠传输:数据链路层的发送端发送什么,在接收端就接收什么

三个组成部分

        1.将IP数据报封装到串行链路

        2.链路控制协议LCP:用于建立、配置和测试数据链路连接

        3.网络控制协议NCP:其中的每一个协议支持不同的网络层协议

帧格式

F(Flag) 标志字段:PPP的帧定界符,取值0x7E

A(Address) 地址字段:取值0xFF,预留(目前没有作用)

C(Control) 控制字段:取值0x03,预留(目前没有作用)

P(Prorocol) 协议字段:指明帧的数据部分送交哪个协议处理

        0x0021        帧的数据部分为IP数据报

        0xC021        帧的数据部分为LCP分组

        0x8021        帧的数据部分为NCP分组

        0xC023       帧的数据部分为鉴别数据

透明传输

同步:比特填充

异步:字符填充

        处理数据: 7E (PPP帧定界符)-> 7D 5E         7D(转义字符) -> 7D 5D

                若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变(例:0x03 -> 0x7D 0x23)

工作状态

​​​​​​​ 

建立连接过程:物理层连接->LCP链路层协商阶段->用户认证(鉴别)->IPCP网络层协议阶段->正常封装IP数据包阶段​​​​​​​

使用广播信道的局域网

主要特点:网络为一个单位所拥有,且地理范围和站点数目均有限

        ps:计算机通过适配器(网卡)和局域网进行通信

优点:1.具有广播功能        2.便于系统的扩展和逐渐演变,各设备可灵活调整和改变        3.提高了系统的可靠性、可用性、生存性

共享通信技术方法:

        1.静态划分信道:频分复用(FDM)、时分复用(TDM)、波分复用(WDM)、码分复用(CDM)

        2.动态媒体接入控制(多点接入)

        (1)随机接入:CSMA/CD(载波监听多点接入/碰撞检测)         CSMA/CA(载波监听多点接入/碰撞避免)

                CS:载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。

                MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。

                CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。

​​​​​​​ 

        (2)受控接入

以太网

两个主要标准

1.DIX Ethernet V2 是世界上第一个局域网产品(以太网)的规约

2.IEEE 802.3 是第一个 IEEE 的以太网标准

        ps:两个标准相差不大,因此将802.3简称为以太网

        IEEE802标准的两个子层:逻辑链路控制 LLC 子层、媒体接入控制 MAC 子层

高速以太网(速率 >= 100Mb/s)

        1.100BASE-T以太网:在双绞线上传送100Mb/s基带信号的星型拓扑以太网,仍使用IEEE802.3的CSMA/CD协议。

        2.吉比特以太网(半双工工作):在光纤或双绞线上传送1Gb/s信号。

        3.10吉比特:在光纤上传送10Gb/s信号。

MAC层:

MAC地址:每个适配器有一个全球唯一的48位二进制地址,前24位代表厂家(由IEEE规定),后24位厂家自己指定。常用6 个十六进制数表示,如02-60-8c-e4-b1-21。

        ps:MAC地址固化在适配器(网卡)的ROM中        

        格式:

MAC帧

        分类:单播帧、广播帧、多播帧

        以太网V2的格式:

        

        IEEE802.3的格式:与以太网V2格式相似

                区别:IEEE 802.3 规定的 MAC 帧的第三个字段是“长度(<0x0600)/ 类型(>0x0600)”。字段是“长度”时数据字段必须装入上面的逻辑链路控制 LLC 子层的 LLC 帧

         ps:IEEE802.3标准规定MAC帧的有效长度为64~1518字节之间

集线器

1.使用集线器的以太网拓扑结构是星形,在逻辑上是总线网,使用CSMA/CD协议

2.工作在物理层,相当于一个多接口的中继器

3.一般有少量的容错能力和网络管理能力

4.扩大冲突域和广播域

交换机

1.一般工作在全双工模式无碰撞(不使用CSMA/CD协议)

2.工作在数据链路层(包括物理层),实质上相当于一个多接口的网桥

3.在帧交换表(通过自学习算法建立)中查找帧的目的MAC地址所对应的接口号

4.帧的两种转发方式:存储转发、直通交换

5.隔离冲突域,扩大广播域

自学习和转发帧

步骤:

        

例:

                ​​​​​​​

 

        ps:开始时自学习表为空

具体观看视频:湖科大教书匠-计算机网络微课堂

3.9 以太网交换机自学习和转发帧的流程_哔哩哔哩_bilibili

生成树协议STP

利用生成树算法(选择一个交换机作为生成树的根,然后以最短路径为依据,找到树上的每个结点),在以太网络中,创建一个以某台交换机为根的生成树,避免环路。

作用:防止网桥网络中的冗余链路形成环路工作

        如:广播风暴(大量消耗网络资源,使得网络无法正常转发其他帧)、主机收到重复帧(大量消耗主机资源)、交换机的帧交换表震荡

ps:由IEEE 802.1D 标准制定

虚拟局域网VLAN

概念:是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求

作用:分离广播域

ps:路由器也可以分离广播域,但成本过高

实现机制

插入4字节的 VLAN 标记得出的帧称为 802.1Q 帧/带标记的以太网帧

格式:

                

         802.1Q 帧由交换机处理,而不是用户主机处理。

        “打标签”:交换机收到普通的以太网帧时,会插入4字节的VALN标记变成802.1Q帧

        “去标签”:交换机转发802.1Q帧时,可能会删除4字节的VALN标记变回普通帧

接口类型:Access(通常与主机相连)、Trunk(通常与其他交换机相连)、Hybrid

缺省VLAN ID:1.在思科交换机上称为Native VLAN(本征VLAN)

                          2.在华为交换机上称为Port VLAN ID(端口VALN ID)简记:PVID        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/507677.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

tkinter+re实现百度网盘分享链接自动跳转

目录 一、背景 二、需求分析 三、实现 三、打包 四、测试 一、背景 相信大家使用百度网盘的时候都会去一些链接网站吧&#xff0c;比如下面这个网站 这个网站具体实现的功能是&#xff1a;管理员上传百度网盘链接&#xff0c;用户点击复制链接按钮可以将百度网盘的分享链…

线性结构-数组

数组(Array)是最简单的数据结构&#xff0c;是由有限个相同类型的变量或对象组成的有序集合。因为数组中各元素之间是按顺序线性排列的&#xff0c;所以数组是一种线性数据结构。 数组是一类物理空间和逻辑形式都连续的线性数据结构&#xff1a; 数组用唯一的名字标识&#xf…

输出数字的位数(C语言)以及逆序输出

#include <stdio.h>int main() {int N;int i 0;scanf("%d",&N);int a[5];int j;while(N > 0){a[i] N%10;i;N N/10;}printf("这个数字是%d位数\n",i); for(j 0;j < i;j){printf("%d",a[j]);} } 原题如下&#xff1a;

并发编程08:原子操作类

文章目录 8.1 基本类型原子类8.1.1 常用API简介8.1.2 Case 8.2 数组类型原子类8.2.1 常用API简介8.2.2 Case 8.3 引用类型原子类8.4 对象的属性修改原子类8.4.1 使用目的8.4.2 使用要求8.4.3 Case 8.5 原子操作增强类原理深度解析8.5.1 常用API8.5.2 面试题8.5.3 点赞计数器8.5…

读书笔记-《ON JAVA 中文版》-摘要15[第十五章 异常]

文章目录 第十五章 异常1. 异常概念2. 基本异常2.1 基本异常2.2 异常参数 3. 异常捕获3.1 try 语句块3.2 异常处理程序3.3 终止与恢复 4. 自定义异常4.1 自定义异常 5. 异常声明6. 异常捕获6.1 捕获所有异常6.2 多重捕获6.3 栈轨迹6.4 重新抛出异常6.5 精准的重新抛出异常 6.6 …

ExpressGridPack Crack快速电子表格

ExpressGridPack Crack快速电子表格 ExpressEditors库 外壳对话框-对话框窗体不会出现在活动监视器中。 TdxVisualRefinements.PPadding属性对dxTokenEdit没有影响。 Express库 TdxVisualRefinements.PPadding属性对dxTokenEdit没有影响。 ExpressQuantumTreeList套件 TcxTreeL…

二层交换机和三层交换机到底区别在哪?

你好&#xff0c;这里是网络技术联盟站。 今天我们谈谈二层交换机和三层交换机。 二层交换机的概念和特点 二层交换机是一种工作在数据链路层的网络设备&#xff0c;主要功能是根据数据帧中的MAC地址进行转发&#xff0c;并将这些MAC地址与对应的端口记录在自己内部的一个地…

IDA常用宏定义函数

一.引言 做题目遇到了几个神奇的函数. SDWORD1(x), SDWORD2(x), SHIDWORD(x) 通过查询得知是IDA的宏定义函数 宏定义本身类似字符串替换,假设#define x 666 只是编译器在预处理阶段进行宏展开,将所有的x替换为666,然后再进行编译 二.IDA宏定义头文件 可以在路径\IDA_Pro_7.7…

Dubbo2.7 纯注解使用+ Nacos + Springboot 整合集成

Dubbo2.7 纯注解使用 NacosSpringboot 环境准备篇相关依赖nacos准备代码编写服务提供者服务使用者整体结构图 结果 常规操作篇服务分组服务版本参数传递泛化调用参数校验只订阅延迟暴露服务端异步回调多协议复用多注册中心本地存根 服务治理篇超时时间重试并发控制权限控制服务…

css04笔记

目录 盒子模型 5.7 外边距折叠现象 – ① 合并现象 5.8 外边距折叠现象 – ② 塌陷现象 5.9 行内元素的margin和padding无效情况 一、结构伪类选择器 &#xff08;了解&#xff09;nth-of-type结构伪类选择器 二、伪元素 三、标准流 四、浮动 浮动的代码&#xff1a; …

用 Pygal 模拟掷骰子

这篇博客&#xff0c;我们将学习使用 python可视化包 Pygal 来生成矢量图形文件。针对于需要在尺寸不同的屏幕上显示的图表具有很大用处。因为它们可以自动缩放&#xff0c;以此来适合观看者的屏幕。 . 在这个项目中&#xff0c;我们将对掷骰子的结果进行分析。掷6面的常规骰子…

<Linux> 基础IO(文件操作、文件描述符fd、重定向)

基础IO&#xff08;文件操作、文件描述符fd、重定向&#xff09; 文章目录 基础IO&#xff08;文件操作、文件描述符fd、重定向&#xff09;一、回顾C和C的文件操作二、C语言文件IO1.什么是当前路径&#xff1f;2.C语言文件接口汇总3.默认打开的三个流 三、系统文件IO1.open2.c…

真题详解(索引长度计算)-软件设计(七十一)

真题详解(哈希冲突)-软件设计&#xff08;七十)https://blog.csdn.net/ke1ying/article/details/130566800 在面向对象系统中&#xff0c;一个类定义了大体相似的对象&#xff0c;这些对象共享_____。 属性和行为。 &#xff08;属性就是状态&#xff09; 数据库主要分为用户…

shapefile.js实现shp数据的上传与展示

概述 shapefile是常见的矢量数据格式&#xff0c;但是由于其文件组成结构很难在webgis上直接展示。本文通过express和compressing实现打包后shapefile文件的上传&#xff0c;并结合shapefile.js实现shapefile数据的转换展示。 实现效果 实现代码 1. 后端实现 router.post(/…

Android 引入hunter-debug监测代码运行时函数耗时和参数及返回值,Java(1)

Android 引入hunter-debug监测代码运行时函数耗时和参数及返回值&#xff0c;Java&#xff08;1&#xff09; &#xff08;1&#xff09;在工程的根build.gradle文件里面添加cn.quinnchen.hunter:hunter-debug-plugin引用&#xff1a; buildscript {repositories {mavenCentra…

SAP CAP篇三:定义Model

SAP CAP篇一:快速创建一个Service&#xff0c;基于Java的实现 SAP CAP篇二&#xff1a;为Service加上数据库支持 文章目录 理解CAP的ModelDomain-Driven DesignKISSBasic TypesCommon Reuse TypecuidmanagedtemporalCountry, Currency, LanguagecodeList Assocation & Comp…

匹配算法之 匈牙利算法详解

参考&#xff1a; 算法学习笔记(5)&#xff1a;匈牙利算法漫谈匈牙利算法匈牙利算法、KM算法匈牙利算法&#xff08;二分图&#xff09;通俗易懂小白入门&#xff09;二分图最大匹配——匈牙利算法多目标跟踪之数据关联&#xff08;匈牙利匹配算法和KM算法&#xff09;【小白学…

手把手教你使用gtest写单元测试

开源框架&#xff1a;gtest&#xff0c;它主要用于写单元测试&#xff0c;检查真自己的程序是否符合预期行为。这不是QA&#xff08;测试工程师&#xff09;才学的&#xff0c;也是每个优秀后端开发codoer的必备技能。 本期博文内容及使用的demo&#xff0c;参考&#xff1a; …

40、Java 并发编程基础 ①

目录 一、进程&#xff08;Process&#xff09;二、线程&#xff08;Thread&#xff09;三、线程的串行四、多线程五、多线程原理六、多线程优缺点七、Java 的默认线程八、开启新线程(1) new Thread()(2) 继承 Thread&#xff0c;重写 run 方法(3) run() 和 start() 九、多线程…

AutoCV第八课:3D基础

目录 3D基础前言1. nuScenes数据集2. nuScenes数据格式3. 点云可视化总结 3D基础 前言 手写 AI 推出的全新保姆级从零手写自动驾驶 CV 课程&#xff0c;链接。记录下个人学习笔记&#xff0c;仅供自己参考。 本次课程主要学习点云数据的可视化。 课程大纲可看下面的思维导图。…