计算机网络——数据链路层(三)

前言:

前面我们已经对计算机网络的物理层有了一个大概的了解,今天我们学习的是物理层服务的上一层数据链路层,位于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自物理层来的数据可靠地传输到相邻节点的目标机网络层。

目录

一、数据链路层的基础概况 

1.概念:

2.帧的概念:

3.以太网数据帧中的MAC和LLC:

(1)MAC:

(2)LLC:

(3)注解:

4.数据链路层的两种传输方式:

5.数据链路层的三个基本问题:

(1)封装成帧:

(2)透明传输:

(3)差错检测:

6.以太网中的设备:

(1)集线器:

(2)交换机:

(3)网桥:

二、数据链路层的通信协议

1.冲突域和广播域:

(1)冲突域:

(2)广播域:

(3)区别:

2.虚拟局域网(实验)VLAN:

(1)概念:

(2)优点和目的:

(3)划分VLAN的方式:

3.CSMA/CD:

(1)概念:

(2)四大要点:

4.PPP:

5.CRC:


一、数据链路层的基础概况 

1.概念:

数据链路层是在物理层和网络层之间的协议,提供相邻结点的可靠数据传输

2.帧的概念:

数据链路层的协议数据单元

组成:

        帧头:源MAC地址、目的MAC地址、类型

        数据

        帧尾:校验

3.以太网数据帧中的MAC和LLC:

(1)MAC:

        MAC介质访问控制

        作用:数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制等。MAC子层的存在屏蔽了不同物理链路种类的差异性,对接物理层

(2)LLC:

        LLC逻辑控制访问

        作用:LLC子层的主要功能为传输可靠性保障和控制,数据包的分段与重组,数据包的顺序传输,对接网络层

(3)注解:

        该协议位于OSI七层协议中数据链路层,数据链路层分为上层LLC(逻辑链路控制),和下层的MAC(媒体访问控制),MAC主要负责控制与连接物理层的物理介质。在发送数据的时候,MAC协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC(逻辑链路控制)层。

4.数据链路层的两种传输方式:

        单播、广播

5.数据链路层的三个基本问题:

(1)封装成帧:

        封装成帧就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧,接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。

(2)透明传输:

        透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。

(3)差错检测:

        收到正确的帧就要向发送端发送确认,发送端在一定的期限内若没有收到对方的确认,就认为出现了差错,因而就进行重传,直到收到对方的确认为止。

        分类:奇数校验、偶数校验、CRC

6.以太网中的设备:

(1)集线器:

        集线器的英文称为“Hub”。“Hub”是“中心”的意思,集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。

(2)交换机:

        交换机(Switch)意为“开关”是一种用于电(光)信号转发的网络设备。,它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。

(3)网桥:

        两个端口的交换机

二、数据链路层的通信协议

1.冲突域和广播域:

(1)冲突域:

        交换机的每一个端口都是一个冲突域;冲突域只能发生在一个网段

(2)广播域:

        交换机的所有端口都在一个广播域;广播域在一个或多个网段内发生。

(3)区别:

        广播域可以跨网段
        在冲突域中所有的数据传输都是以广播形式;在广播域中,只有广播帧才会被所有主机接收。
        冲突域是基于第一层(物理层),而广播域是机于第二层(数据链路层) 。
        HUB 所有端口都在同一个广播域,冲突域内。Swith所有端口都在同一个广播域内,而每一个端口就是一个冲突域。

2.虚拟局域网(实验)VLAN:

(1)概念:

        VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接通信,从而将广播报文限制在一个VLAN内。

(2)优点和目的:

        划分广播域、增强局域网的安全性、提高健壮性、灵活构建工作组

(3)划分VLAN的方式:

        基于端口给交换机的每个接口配置不同的PVID,当一个数据帧进入交换机接口时,如果没有带VLAN标签,且该接口上配置了PVID,那么,该数据帧就会被打上接口的PVID。如果进入的帧已经带有VLAN标签,那么交换机不会再增加VLAN标签,即使接口已经配置了PVID。        

        Access:只允许通过一个VLAN。Trunk:允许通过多个VLAN。hybird

        基于子网:配置好子网与VLAN映射表,如果交换设备收到的是untagged(不带VLAN标签)帧,交换设备根据报文中的源IP地址信息,确定添加的VLAN ID。将指定网段或IP地址发出的报文在指定的VLAN中传输,减轻了网络管理者的任务量,且有利于管理。

        基于MAC地址:先配置好MAC地址和VLAN ID映射关系表,当终端用户的物理位置发生改变,不需要重新配置VLAN。提高了终端用户的安全性和接入的灵活性。

        基于协议:将网络中提供的服务类型与VLAN相绑定,方便管理和维护。需要对网络中所有的协议类型和VLAN ID的映射关系表进行初始配置。需要分析各种协议的地址格式并进行相应的转换,消耗交换机较多的资源,速度上稍具劣势。

        基于匹配策略:先在交换机上配置好终端的MAC地址和IP地址,并与VLAN关联。只有符合条件的终端才能加入指定VLAN。符合策略的终端加入指定VLAN后,严禁修改IP地址或MAC地址,否则会导致终端从指定VLAN中退出。

3.CSMA/CD:

(1)概念:

        CSMA/CD即载波侦听多路访问/冲突检测,是广播型信道中采用一种随机访问技术的竞争型访问方法,具有多目标地址的特点。总线型网络传输数据。 总线型结构

(2)四大要点:

        先听再发、边听边发、冲突停止、延迟后发

4.PPP:

        点对点通信是一对一信道,因此不会发生碰撞,因此比较简单,采用PPP协议;其中PPP协议就是用户计算机和ISP(互联网服务提供商)进行通信时使用的数据链路层的协议。单播

        PPP 最初设计是为两个对等节点之间的 IP 流量传输提供一种封装协议

5.CRC:

        循环冗余校验

        是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。

例题:

要发送的数据为1101011011,采用CRC的生成多项式是P(x) = x^4 + x + 1,求余数

1.数据:1101011011

2.多项式数字:4

3.多项式系数:4 3 2 1 0   ==》 10011 

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

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

相关文章

Mac使用Vmware Fusion虚拟机配置静态ip地址

一、设置虚拟机的网络为NAT 二、修改虚拟机的网络适配器网络 1、查看虚拟机的网卡 cd /etc/sysconfig/network-scripts#有些系统显示的是ens33,ens160等等 #不同的系统和版本,都会有所不同 #Centos8中默认是ens160,在RedHat/Centos7则为ens33 2、查看网…

Java语法---使用sort进行排序

目录 一、升序 二、降序 (1)类实现接口 (2)匿名内部类 三、自定义排序规则 四、集合中的sort排序 (1)升序 (2)降序 (3)自定义排序 一、升序 升序排…

C++内存管理和模板初阶

C/C内存分布 请看代码: int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] { 1, 2, 3, 4 };char char2[] "abcd";const char* pChar3 "abcd";int* ptr1 (int*)mallo…

OpenHarmony之内核层解析~

OpenHarmony简介 技术架构 OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的组件…

一周工作问题总结(2023.12.18-2023.12.22)

一周工作问题总结 1. 接口调用频率2. 汉字在数据库中占用字节问题3. Map在循环中修改自己的key与value4. Group BY5.递归同步数据6.代码移动Idea飘红 1. 接口调用频率 供应商给的接口可以每秒调用5-10次,那么我为了保险每秒调用5次,为了防止过度调用接口…

BUG记录——drawio出现“非绘图文件 (error on line 7355 at column 83: AttValue: ‘ expected)”

BUG现象 drawio出现“非绘图文件 (error on line 7355 at column 83: AttValue: ’ expected)”,如下图: 解决办法 这只是我自己摸索到的解决办法并不一定适用于所以人,对我是适用的。 首先用记事本打开损坏的drawio文件,如下 …

mathtype公式章节编号

1. word每章标题后插入章节符 如果插入后显示章节符,需要进行隐藏 开始->样式->MTEquationSection->修改样式->字体,勾选隐藏 2. 设置mathtype公式编号格式 插入编号->格式化->设置格式

什么是动态代理?

目录 一、为什么需要代理? 二、代理长什么样? 三、Java通过什么来保证代理的样子? 四、动态代理实现案例 五、动态代理在SpringBoot中的应用 导入依赖 数据库表设计 OperateLogEntity实体类 OperateLog枚举 RecordLog注解 上下文相…

SpringMVC基础知识(持续更新中~)

笔记: https://gitee.com/zhengguangqq/ssm-md/blob/master/ssm%20md%E6%A0%BC%E5%BC%8F%E7%AC%94%E8%AE%B0/%E4%B8%89%E3%80%81SpringMVC.md 细节补充:

深度学习 | 梯度下降算法及其变体

一、最优化与深度学习 1.1、训练误差与泛化误差 1.2、经验风险 1.3、优化中的挑战 1.3.1、局部最小值 1.3.2、 鞍点 经常是由于模型复杂度过高或者训练样本数据过少造成的 —— Overfitting 1.3.3、悬崖 1.3.4、长期依赖问题 二、损失函数 2.1、损失函数的起源 损失函数(loss…

041_小驰私房菜_MTK平台添加支持通过原生Camera API接口调用UsbCamera

平台:MTK 问题:通过调用Android Camera API去调用UsbCamera,需要做哪些修改? Google官方文档,关于usbcamera的支持: 外接 USB 摄像头 | Android 开源项目 | Android Open Source Project 相关修改内容如下: 一、MTK平台支持通过标准接口打开USB Camera 1)device相…

每日一题——轮转数组

1. 题目描述 给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。 示例1: 输入:nums [1,2,3,4,5,6,7],k 3 输出:[5,6,7,1,2,3,4] 解释: 向右轮转 1步:[7,1,2,3,4,5,6] 向右…

Unity自带的NavMesh寻路组件

最近看了一下Unity自带的NavMesh寻路组件,先说一下基本的使用: 首先先把AI Navgation的package包给安装上。 给场景地图添加上NavMeshSurface组件,然后进行烘焙,烘焙出对应的场景地图文件。 给移动物体添加对应的Nav MeshAgent组…

【XML】TinyXML 详解(二):接口详解

【C】郭老二博文之&#xff1a;C目录 1、XML测试文件&#xff08;laoer.xml&#xff09; <?xml version"1.0" standalone"no" ?> <!-- Hello World !--> <root><child name"childName" id"1"><c_child…

可视化开发

可视化开发 数据可视化 交互式可视化 文章目录 可视化开发前言一、可视化开发二、Python数据可视化大屏GIS图像智能识别处理软件开发三、可视化开发必备总结前言 可视化开发可以帮助开发者通过图形化界面和拖放操作来创建、编辑和测试应用程序。使用这些工具,开发者可以提高开…

解决用Fiddler抓包,网页显示你的连接不是专用/私密连接

关键&#xff1a;重置fiddler的证书 在Fiddler重置证书 1、Actions --> Reset All Certificates --> 弹窗一路yes 2、关掉Fiddler&#xff0c;重新打开 3、手机删掉证书&#xff0c;重新下载安装。 &#xff08;如果还不行&#xff0c;重新试一遍&#xff0c;先把浏览器…

1223西站坐标更新

1223 西站坐标更新 1.Update for the station’s location def initial_out_map_indoor_points(self):Load the indoor data and update both the wall_matrix and the ditch_matrix.# Initialize the wall_matrix# List of coordinatescoordinates [(417, 287, 417, 290),(4…

CSS3新增特性

CSS3 CSS3私有前缀 W3C 标准所提出的某个CSS 特性&#xff0c;在被浏览器正式支持之前&#xff0c;浏览器厂商会根据浏览器的内核&#xff0c;使用私有前缀来测试该 CSS 特性&#xff0c;在浏览器正式支持该 CSS 特性后&#xff0c;就不需要私有前缀了。 查询 CSS3 兼容性的网…

非静压模型NHWAVE学习(14)—— 算例制作:开闸式异重流(lock-exchange flow)

NHWAVE学习—— 算例制作&#xff1a;开闸式异重流&#xff08;lock-exchange flow&#xff09; 算例简介模型配置代码修改及输入文件制作代码修改参数文件制作&#xff08;input.txt&#xff09;水深和初始密度场文件制作&#xff08;depth.txt & sali0.txt&#xff09; 模…

springboot实现发送邮件开箱即用

springboot实现发送邮件开箱即用 环境依赖包yml配置Service层Controller层测试 环境 jdk17 springboot版本3.2.1 依赖包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId><ver…