【链路层和局域网】

news2024/11/15 13:28:32

文章目录

  • 链路层和局域网
    • 网络节点的连接方式
    • 数据链路层和局域网
    • 链路层导论
    • 链路层:上下文
    • 链路层服务
    • 链路层在哪里实现?
    • 适配器通信
    • 错误检测
    • 奇偶校验
    • 校验和:CRC(循环冗余校验)
    • 多点访问链路和协议
    • 多路访问协议
    • MAC(媒体访问控制)协议:分类
    • a.信道划分MAC协议:TDMA
    • a.信道划分MAC协议:FDMA
    • a.码分多路访问(CDMA)
    • b.随机存取协议

链路层和局域网

导引:

  • 网络层解决了一个网络如何到达另一个网络的路由问题。
  • 在一个网络内部如何由一个节点(主机或路由器)到达另一个相邻节点
    • 链路层的点到点传输层服务

网络节点的连接方式

  • 点到点连接
  • 多点连接:
    • 共享型介质
    • 通过网络交换机

数据链路层和局域网

  • WAN(广域网):网络形式采用点到点链路。
    • 带宽大,距离远(延迟大),就会使链路容量变大,产生碰撞。
    • 如果采用多点连接
      • 竞争方式:一旦冲突代价大
      • 令牌等协调方式:在其中协调节点的发送代价大
  • 点到点链路的链路层服务实现非常简单,封装和解封装
  • LAN(局域网):一般采用多点连接的方式
    • 连接节点非常方便
    • 连接到共享介质上(或网络交换机),就可以连接所有其他节点。
  • 多点连接方式网络的链路层功能实现相当复杂
    • 多点接入:协调各节点对共享性介质的访问和使用
    • 竞争方式:冲突之后的协调
    • 令牌方式:令牌产生,占有和释放等

链路层导论

一些术语:

  • 主机和路由器是节点(网桥和交换机也是):nodes
  • 沿着通信路径,连接个相邻节点通信信道的是链路:links
    • 有线链路
    • 无线链路
    • 局域网,共享性链路
  • 第二层协议数据单元帧frame,封装数据报
    数据链路层:负责从一个节点通过链路将(帧中的)数据报发送到相邻的物理节点

链路层:上下文

  • 不同的链路上的数据报以不同的链路协议传送。
  • 不同的链路协议提供不同的链路

链路层服务

  • 成帧,链路接入:

    • 将数据报封装在帧中,加上帧头,帧尾部
    • 如果采用的是共享性介质,信道接入获得信道访问权
    • 在帧头部使用“MAC”(物理)地址来标示源和目的
  • 在(一个网络内)相邻两个节点完成可靠数据传递
    一般化的链路层服务,不是所有的链路层都提供这些服务
    一个特定的链路层只是提供其中一部分的服务

  • 在相邻节点间(一个子网内)进行可靠的转发
    链路层服务:

  • 流量控制:

    • 使得相邻的发送方和接收方节点的速度匹配
  • 错误检测

    • 差错由信号衰减和噪声引起
    • 接收方检测出的错误:
      • 通知发送端进行重传或丢弃帧
  • 差错纠正

    • 接收端检查和纠正bit错误,不通过重传来纠正错误
  • 半双工和全双工

    • 半双工:链路可以双向传输,但一次只有一个方向(同一方向的发和收)。

链路层在哪里实现?

  • 在每一个主机上
    • 也在每个路由器上
    • 交换机的每个端口
  • 链路层在一个“适配器上实现”
    • 以太网卡
    • 实现链路层和相应的物理层功能
  • 接到主机的系统总线上
  • 硬件,软件和固定的综合体

适配器通信

在这里插入图片描述

  • 发送方:
    • 在帧中封装数据报
    • 加上差错控制编码,实现RDT(可靠数据传输)和流量控制功能等
  • 接收方:
    • 检查有无出错,执行rdt(可靠数据传输)和流量控制功能等
    • 解封装数据报,将交至给上层

错误检测

EDC=差错检测和纠正位(冗余位)
D =数据由差错检测保护,可以包含头部字段
错误检测不是100%可靠的!

  • 协议会漏检一些错误,但是很少
  • 更长的EDC字段可以得到更好的检测和纠正效果

奇偶校验

奇偶校验(Parity Check)是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。

单bit奇偶校验
检测单个bit级错误
在这里插入图片描述
2维奇偶校验
检测和纠正单个bit错误
在这里插入图片描述
在这里插入图片描述

校验和:CRC(循环冗余校验)

在这里插入图片描述
在这里插入图片描述

多点访问链路和协议

两种类型的链路(一个子网内部链路连接形式)

  • 点对点
    • 拨号访问的PPP
    • 以太网交换机和主机之间的点对点链路
  • 广播
    • 传统以太网
    • HFC上行链路
    • 802.11无线局域网

多路访问协议

  • 单个共享的广播型链路
  • 2个或更多站点同时传送: 冲突(collision)
    • 多个节点在同一个时刻发送,则会收到2个或多个信号叠加

多路访问协议(介质访问控制协议:MAC)
在这里插入图片描述

MAC(媒体访问控制)协议:分类

  • 信道划分
    • 把信道划分成小片(时间、频率、编码)
    • 分配片给每个节点专用
  • 随机访问
    • 信道不划分,允许冲突
    • 冲突后恢复
  • 依次轮流
    • 节点依次轮流
    • 但是有很多数据传输的节点可以获得较长的信道使用权

a.信道划分MAC协议:TDMA

TDMA:time division multiple access

  • 轮流使用信道,信道的时间分为周期
  • 每个站点使用每周期中固定的时隙(长度=帧传输时间)传输帧
  • 如果站点无帧传输,时隙空闲-》浪费

a.信道划分MAC协议:FDMA

FDMA: frequency division multiple access

  • 信道的有效频率范围被分成一个个小的频段
  • 每个站点被分配一个固定的频段
  • 分配给站点的频段如果没有被使用,则空闲

a.码分多路访问(CDMA)

CDMA (code division multiple access) :

  • 所有站点在整个频段上同时进行传输, 采用编码原理加以区分
  • 完全无冲突
  • 假定:信号同步很好,线性叠加
    在这里插入图片描述

b.随机存取协议

  • 当节点有帧要发送时
    • 以信道带宽的全部 R bps发送
    • 没有节点间的预先协调
  • 两个或更多节点同时传输,会发生➜冲突“collision”
  • 随机存取协议规定:
    • 如何检测冲突
    • 如何从冲突中恢复(如:通过稍后的重传)
  • 随机MAC协议:
    • 时隙ALOHA
    • ALOHA
    • CSMA, CSMA/CD, CSMA/C

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

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

相关文章

立创EDA绘制PCB电路板

1、绘制好原理图后,点击设计---原理图转PCB,生成PCB文件 2、将元器件拖入电路板方框内,摆放布局并使用工具栏布线、放置过孔及丝印 3、然后顶层和底层铺铜 4、后面就可以生成制板文件发送嘉立创制板了。

基于国产LoRa的智慧农业解决方案--ASR6601、SX1278

我国《数字乡村发展战略纲要》明确指出“要推进农业数字化转型”,加快推广云计算、大数据、物联网、人工智能在农业生产经营管理中的运用。 然而,目前我国的农业数字化转型还面临着诸多挑战。我国整体农业机械化程度和自动化控制水平仍然较低。由于农田面…

ubuntu quota配置磁盘配额

安装quota工具:sudo apt-get install quota这条命令会安装quota工具&#xff0c;它用于在Linux系统中管理和强制执行磁盘配额。编辑用户quota:sudo edquota -u <username> /data这条命令会打开默认的文本编辑器&#xff0c;允许你为用户liushenshen在/data文件系统上设置…

三.Ubuntu安装MySql数据库

三.Ubuntu安装MySql数据库 1.首先进入Console,登录Ubuntu系统后,更新源,命令:apt update,如图所示。 安装MySQL命令:apt install mysql-server 执行期间按回车,进行下一步,执行过程如图所示: 选择yes或no,此步选择yes 安装完成。 2.提高MySQL安全性,该命令…

代码行数统计工具cloc

Release v2.00 AlDanial/cloc GitHub 代码量代码行数统计工具cloc的正确使用(windows平台亲测有效&#xff0c;本人踩过坑&#xff0c;文中提到&#xff01;)_cloc代码统计工具-CSDN博客

libssh C++封装之六(Dir)

1 概述 libssh是一个在客户端和服务器端实现SSHv2协议的多平台C库。使用libssh,您可以远程执行程序、传输文件、使用安全透明的隧道、管理公钥等等。本文描述的对libssh客户端功能的C++封装。 libssh下载地址 3 实现 3.5 Dir Dir类型管理远程路径,通过SFTP和Channel实现(有…

so-vits-svc:AI翻唱,语音克隆

前言 这个项目是为了让开发者最喜欢的动画角色唱歌而开发的&#xff0c;任何涉及真人的东西都与开发者的意图背道而驰。 项目地址&#xff1a;https://github.com/svc-develop-team/so-vits-svc/blob/4.1-Stable/README_zh_CN.md 安装 可以自行配置&#xff0c;应该也不难 …

做简单易用的GIS资源管理软件

在室外资源管理领域&#xff0c;采用基于GIS的解决方案已成为主流趋势&#xff0c;旨在实现资源的高效利用和管理。GIS技术结合资源对象的规划、定位和监控&#xff0c;为企业提供全面的管理方案&#xff0c;从而优化资源使用、提高运营效率和降低成本。 然而&#xff0c;许多资…

新手也能看懂的前端单元测试框架:Vitest

单元测试的概念及作用 1.什么是单元测试&#xff1f; 单元测试是测试中的一个重要环节&#xff0c;它针对软件中的最小可测试单元进行验证&#xff0c;通常是指对代码中的单个函数、方法或模块进行测试。 单元测试旨在确定特定部分代码的行为是否符合预期&#xff0c;通过针…

618值得入手的数码好物如何选?热门爆款数码好物清单分享

618购物节即将到来&#xff0c;作为年中最重要的购物狂欢盛会之一&#xff0c;各大电商平台将推出众多优惠活动。如果你正准备购买数码产品&#xff0c;那么不要错过这个机会。在本文中&#xff0c;我们将为你介绍几款值得关注的热门数码产品&#xff0c;帮助你在618购物节中做…

linux使用教程(命令介绍、命令格式和命令的使用技巧)

一、命令的格式 1.1 打开终端的方式 ubuntu中的命令基本都是在终端执行的 打开终端的方式&#xff1a; 第一种方法&#xff1a;在ubuntu桌面中鼠标右键选择“打开终端” 第二种方法&#xff1a;使用快捷键ctrl alt t 1.2 终端提示符 stuqfedu:~$ 对于这个提示符 stu&…

css画三角形

使用border div {border-top: 50px solid yellowgreen;border-bottom: 50px solid deeppink;border-left: 50px solid bisque;border-right: 50px solid chocolate; }如果想要单个的三角形&#xff0c;把其它三边的颜色设为transparent即可 使用 conic-gradient 绘制三角形 …

Mysql数据库二进制日志导致磁盘满了处理过程

数据库的二进制日志是数据库管理系统&#xff08;DBMS&#xff09;用来记录所有对数据库进行修改的操作的记录。这种日志对于数据库的备份、恢复、复制和审计等操作至关重要。 以MySQL数据库为例&#xff0c;二进制日志&#xff08;Binary Log&#xff09;记录了所有更改数据的…

无代码无国界:我们正在走向软件安全的狂野西部吗?

我们使用的几乎所有东西都是基于代码构建的&#xff0c;从汽车到智能冰箱再到门铃。在企业中&#xff0c;无数的应用程序保持设备、工作流程和操作的运行。因此&#xff0c;当早期的无代码开发平台于 2010 年推出时&#xff0c;承诺为公民开发人员提供更易于访问的应用程序开发…

QT状态机2-含终止状态的嵌套状态机

#include "MainWindow.h" #include "ui_MainWindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)

有哪些好用的3dMax大神插件?

有哪些好用的3dMax大神插件&#xff1f; Mesh Insert 3DMAX网格插入插件Mesh Insert&#xff0c;在选择的面上安门窗、打螺丝、挖洞、插入眼耳口鼻及其它网格模型等可以分分钟搞定&#xff01;它通过将面选择替换为库中的资源来加快建模过程。非常适合硬网格和有机建模&#xf…

NVM镜像源报错:Could not retrieve https://npm.taobao.org/mirrors/node/index.json.

NVM镜像源报错&#xff1a;Could not retrieve https://npm.taobao.org/mirrors/node/index.json. 淘宝前端node镜像源已更换 NVM安装教程&#xff1a;http://t.csdnimg.cn/dihmG 背景 笔者在安装版本切换工具NVM时&#xff0c;配置完镜像源后&#xff0c;在控制台输入&#x…

CSS 根据子元素选择父元素,并设置父元素的样式

场景举例&#xff1a;当子元素有增加了一个class时&#xff0c;需要影响其父元素的样式 可以使用":has"伪类来实现选择父元素的效果 <style>.parent:has(.child){background-color: #eee;}p{width:100px;border:1px solid #000;} </style> <body>…

C语言收尾 预处理相关知识

一. 预处理详解 1.1 预定义符号 FILE //进行编译的源文件LINE //文件当前的行号DATE //文件被编译的日期TIME //文件被编译的时间FUNCTION //文件当前所在的函数STDC //如果编译器遵循ANSI C标准&#xff0c;其值为1&#xff0c;否则未定义 这些预定义符号都是语言内置的 我们…