当前位置: 首页 > news >正文

【计算机网络笔记】数据链路层概述

系列文章目录

什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 vs 电路交换
计算机网络性能(1)——速率、带宽、延迟
计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率
计算机网络体系结构概念
OSI参考模型基本概念
OSI参考模型中非端-端层(物理层、数据链路层、网络层)功能介绍
OSI参考模型中端-端层(传输层、会话层、表示层、应用层)功能介绍
TCP/IP参考模型基本概念,包括五层参考模型
网络应用的体系结构
网络应用进程通信
网络应用对传输服务的需求
Web应用之HTTP协议(涉及HTTP连接类型和HTTP消息格式)
Cookie技术
Web缓存/代理服务器技术
传输层服务概述、传输层 vs. 网络层
传输层——多路复用和多路分用
传输层——UDP简介
传输层——可靠数据传输原理之Rdt协议
传输层——可靠数据传输之流水线机制与滑动窗口协议
传输层——TCP特点与段结构
传输层——TCP的可靠数据传输
TCP连接管理(图解三次握手和四次挥手)
传输层——拥塞控制原理与解决方法
TCP的拥塞控制机制
网络层服务与核心功能
网络层服务模型——虚电路网络
网络层服务模型——数据报网络
Internet网络的网络层——IP协议之IP数据报的结构
IP分片
IP编址与有类IP地址
IP子网划分与子网掩码
CIDR与路由聚合
DHCP协议
网络地址转换(NAT)
ICMP(互联网控制报文协议)
IPv6简介
路由算法之链路状态路由算法
路由算法之距离向量路由算法
路由算法之层次路由


  • 系列文章目录
  • 概述
  • 数据链路层提供哪些服务


概述

先来简单看一下数据链路层以及这一层经常使用到的术语。

在这里插入图片描述

图中红色部分标注的就是一段段链路,数据链路层主要就是针对这一段段的链路如何实现结点到结点的数据传输。概括起来就是:数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报

在数据链路层中,我们经常会用到这几个术语:

  • 结点(nodes):主机和路由器
  • 链路:实际上包括物理链路和数据链路。这里介绍的链路是数据链路,就是在物理链路之上,如何实现一个个数据包(帧)的传输。同时和物理链路紧密相关
    • 有线链路(wired links)
    • 无线链路(wireless links)
    • 局域网(LANs)
  • (frame),:数据链路层所封装的数据包或者分组

数据链路层提供哪些服务

概括性地说,主要有这么几点:

  • 组帧(framing):封装数据报构成数据帧,通常会增加首部和尾部。组帧的另外一个重要的任务是实现帧同步

  • 链路接入(link access):有时候也称链路访问。当网络中使用的链路是共享的时候就要解决信道接入问题。确定谁能使用、谁不能使用、怎样确定使用这个链路发送数据成功了等等。

    • 伴随链路接入,还有链路层的寻址问题。帧首部中的“MAC”地址,用于标识帧的源和目的
  • 相邻结点间可靠交付

    • 在低误码率的有线链路上很少需要解决这个问题(如光纤,某些双绞线等)
    • 对于误码率很高的比如无线链路,需要可靠交付
  • 流量控制(flow control) :协调(pacing)相邻的发送结点和接收结点

  • 差错检测(error detection):应对信号衰减和噪声等等因素引起的差错。不同的协议对于如何处理差错可能有所不同

  • 差错纠正(error correction):接收端直接纠正比特差错

  • 全双工和半双工通信控制

    • 全双工:链路两端结点同时双向传输
    • 半双工:链路两端结点交替双向传输

链路层的具体实现实际上就是网络接口卡来实现的,比如以太网网卡、802.11网卡 、以太网芯片组等等,同时实现了链路层和物理层的功能。

在这里插入图片描述

数据链路层的数据传输形式往往是下面这样的:

在这里插入图片描述

网卡将高层的数据报构造成数据帧,通过物理链路发送出去,接收端检测差错,实现可靠数据传 输和流量控制等,然后提取数据报,交付上层协议实体

相关文章:

【计算机网络笔记】数据链路层概述

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…...

vscode-insiders Remote-SSH XHR failed无法访问远程服务器

问题概述: destFolder/home/apple/.vscode-server-insiders > destFolder2/vscode-cli-05cd2640ec8a106a4ee99cb38e6ee34fbec04f11.tar.gz > 194f252f7426:trigger_server_download_end > Waiting for client to transfer server archive... > W…...

Ubuntu开机显示No bootable devices found

Ubuntu开机报错,显示显示No bootable devices found,如下图所示: 解决方案如下: 1. F2进入BIOS (1) 重启开启,按F2进入BIOS系统。 (2) 进入Boot Sequence,目前系统选择了UEFI,而Legacy选项为…...

设计模式——行为型模式(二)

6.8 迭代器模式 6.8.1 概述 定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。 6.8.2 结构 迭代器模式主要包含以下角色: 抽象聚合(Aggregate)角色:定义存储、添加、删除聚合元素以及创建迭代器对象的接口。具体聚合(ConcreteAggreg…...

SpringBoot中企业微信的API调用

说明 企业微信官方提供的均为API接口,没有提供集成SDK。因此无需引入Maven依赖,直接以Https方式请求即可。 有些第三方提供了集成的Java SDK,可根据需求自行选用。 本文采用直接调用官方API的方式。 基础配置 企业微信注册后,可…...

[前端] V8引擎编译原理

文章目录 1.什么是V81.1 扫描器Scanner1.2 解析器parser1.3 预解析PreParser1.4 解释器Ignition1.5 编译器TurboFan 1.什么是V8 V8是谷歌的开源高性能JavaScript和WebAssembly引擎,用C编写。它被用于Chrome和Node.js等。它实现ECMAScript和WebAssembly,…...

使用Pytorch实现linear_regression

使用Pytorch实现线性回归 # import necessary packages import torch import torch.nn as nn import numpy as np import matplotlib.pyplot as plt# Set necessary Hyper-parameters. input_size 1 output_size 1 num_epochs 60 learning_rate 0.001# Define a Toy datas…...

网络安全等级保护收费标准?

不同省份价格会略有不同,二级等保一般不低于5万元;三级等保不低于9万元,个别省份也可能7万也能办理,根据企业实际情况和省市选定的代理机构确定。 等级保护二级? 第二级等保是指信息系统受到破坏后,会对公民、法人和其他组织的合…...

16 Go的反射

概述 在上一节的内容中,我们介绍了Go的并发,包括:Goroutines、Channels、WaitGroups、Mutex、Select等。在本节中,我们将介绍Go的反射。Go语言中的反射是一种在运行时检查类型信息并操作对象的能力,通过反射&#xff0…...

SQL Server 百万数据查询优化技巧三十则

点击上方蓝字关注我 互联网时代的进程越走越深,使用MySQL的人也越来越多,关于MySQL的数据库优化指南很多,而关于SQL SERVER的T-SQL优化指南看上去比较少,近期有学习SQLSERVER的同学问到SQL SERVER数据库有哪些优化建议&#xff1f…...

list转map(根据某个或多个属性分组)

需要将对应的list换成本地list&#xff0c;和对象换成本地对象 1、List转Map<String,List> // 根据一个字段分组 Map<String, List<String>> map objectLists.stream().collect(Collectors.groupingBy(Object::getName,Collectors.mapping(Object::getId, …...

常见树种(贵州省):012茶、花椒、八角、肉桂、杜仲、厚朴、枸杞、忍冬

摘要&#xff1a;本专栏树种介绍图片来源于PPBC中国植物图像库&#xff08;下附网址&#xff09;&#xff0c;本文整理仅做交流学习使用&#xff0c;同时便于查找&#xff0c;如有侵权请联系删除。 图片网址&#xff1a;PPBC中国植物图像库——最大的植物分类图片库 一、茶 灌…...

千云物流 - 使用k8s负载均衡openelb

openelb的介绍 具体根据官方文档进行安装官方文档,这里作为测试环境的安装使用. OpenELB 是一个开源的云原生负载均衡器实现,可以在基于裸金属服务器、边缘以及虚拟化的 Kubernetes 环境中使用 LoadBalancer 类型的 Service 对外暴露服务。OpenELB 项目最初由 KubeSphere 社区…...

C语言之字符串函数

C语言之字符串函数 文章目录 C语言之字符串函数1. strlen的使用和模拟实现1.1 strlen的使用1.2 strlen的模拟实现 2. strcpy的使用和模拟实现2.1 strcpy的使用2.2 strncpy的使用2.3 strcpy的模拟实现 3. strcat的使用和模拟实现3.1 strcat的使用3.2 strncat3.3 strcat的模拟实现…...

python中一个文件(A.py)怎么调用另一个文件(B.py)中定义的类AA详解和示例

本文主要讲解python文件中怎么调用另外一个py文件中定义的类&#xff0c;将通过代码和示例解读&#xff0c;帮助大家理解和使用。 目录 代码B.pyA.py 调用过程 代码 B.py 如在文件B.py,定义了类别Bottleneck&#xff0c;其包含卷积层、正则化和激活函数层&#xff0c;主要对…...

spark shuffle 剖析

ShuffleExchangeExec private lazy val writeMetrics SQLShuffleWriteMetricsReporter.createShuffleWriteMetrics(sparkContext)private[sql] lazy val readMetrics SQLShuffleReadMetricsReporter.createShuffleReadMetrics(sparkContext)用在了两个地方&#xff0c;承接的是…...

C语言之认识柔性数组(flexible array)

在学习之前&#xff0c;我们首先要了解柔性数组是放在结构体当中的&#xff0c;知道这一点&#xff0c;我们就开始今天的学习吧&#xff01; 1.柔性数组的声明 在C99中&#xff0c;结构中的最后一个元素允许是未知大小的数组&#xff0c;这就叫做柔性数组成员 这里的结构是结构…...

【MATLAB基础绘图第17棒】绘制玫瑰图

MATLAB绘制玫瑰图 玫瑰图&#xff08;Nightingale Rose Chart&#xff09;风玫瑰图&#xff08;WindRose&#xff09;准备工作&#xff1a;WindRose工具包下载案例案例1&#xff1a;基础绘图 参考 玫瑰图&#xff08;Nightingale Rose Chart&#xff09; 玫瑰图&#xff08;Ni…...

Qt 基于海康相机的视频绘图

需求 在视频窗口上进行绘图&#xff0c;包括圆&#xff0c;矩形&#xff0c;扇形等 效果&#xff1a; 思路&#xff1a; 自己取图然后转成QImage &#xff0c;再向QWidget 进行渲染&#xff0c;根据以往的经验&#xff0c;无法达到很高的帧率。因此决定使用相机SDK自带的渲染…...

FlinkCDC实现主数据与各业务系统数据的一致性(瀚高、TIDB)

文章末尾附有flinkcdc对应瀚高数据库flink-cdc-connector代码下载地址 1、业务需求 目前项目有主数据系统和N个业务系统,为保障“一数一源”,各业务系统表涉及到主数据系统的字段都需用主数据系统表中的字段进行实时覆盖,这里以某个业务系统的一张表举例说明:业务系统表Ta…...

Gemini-CLI:在终端中无缝集成Google大模型,提升开发运维效率

1. 项目概述&#xff1a;当Gemini大模型遇上命令行 如果你和我一样&#xff0c;日常工作中大量时间都在和终端打交道&#xff0c;那么你肯定理解那种在浏览器、代码编辑器、终端之间反复切换的割裂感。尤其是在需要快速查询一个技术概念、生成一段代码片段&#xff0c;或者分析…...

Vue2 + Cesium 1.95.0 保姆级配置教程:解决三维地球不显示和wasm报错

Vue2与Cesium 1.95.0深度集成实战&#xff1a;破解三维地球渲染与WASM加载难题 当WebGIS开发者尝试在Vue2项目中集成Cesium 1.95.0时&#xff0c;往往会遇到两个典型问题&#xff1a;三维地球无法正常显示和控制台出现WASM相关报错。这些问题的根源通常隐藏在Webpack配置的细节…...

自动滴定装置及其驱动单元设计

摘 要 本文围绕自动滴定装置及其驱动单元设计展开研究。在自动滴定装置部分&#xff0c;首先进行制品材料选用分析&#xff0c;接着对装置进行测绘&#xff0c;并阐述成型设备选用&#xff0c;包括注塑机、模架的选择以及模具参数校核。随后拟定模具结构形式&#xff0c;涵盖型…...

视频字幕提取终极指南:用Video-subtitle-extractor本地提取87种语言字幕

视频字幕提取终极指南&#xff1a;用Video-subtitle-extractor本地提取87种语言字幕 【免费下载链接】video-subtitle-extractor 视频硬字幕提取&#xff0c;生成srt文件。无需申请第三方API&#xff0c;本地实现文本识别。基于深度学习的视频字幕提取框架&#xff0c;包含字幕…...

Fashion-MNIST图像分类实战:CNN实现93%+准确率

1. 项目概述&#xff1a;当深度学习遇上时尚Fashion-MNIST数据集自2017年发布以来&#xff0c;已成为机器学习领域的"新MNIST"。这个包含7万张28x28灰度服装图像的数据集&#xff0c;涵盖了T恤、裤子、套头衫等10个类别&#xff0c;完美复刻了经典MNIST的格式却带来了…...

贪心算法(Greedy Algorithm)详解:从理论到C++实践

目录1. 什么是贪心算法2. 贪心算法的适用条件3. 贪心算法的通用模板4. 经典贪心算法问题详解4.1 活动选择问题4.2 哈夫曼编码4.3 零钱兑换问题4.4 区间调度问题4.5 背包问题&#xff08;分数背包&#xff09;5. 贪心算法的证明技术6. 贪心算法的局限性7. 实际应用场景8. 总结与…...

个人学习笔记12

最终版 test_macro.svhifndef TEST_MACRO_SVH define TEST_MACRO_SVH// // Color Definition // define COLOR_RESET "\033[0m" define COLOR_BOLD_BLUE "\033[1;34m" define COLOR_BOLD_GREEN "\033[1;32m" define COLOR_BOLD…...

7个TanStack Query网络优化策略:从入门到精通的请求效率提升指南

7个TanStack Query网络优化策略&#xff1a;从入门到精通的请求效率提升指南 【免费下载链接】query &#x1f916; Powerful asynchronous state management, server-state utilities and data fetching for the web. TS/JS, React Query, Solid Query, Svelte Query and Vue …...

本地GPU预训练Llama模型:技术与优化实践

1. 本地GPU预训练Llama模型的核心价值在本地GPU上预训练Llama模型这件事&#xff0c;本质上是在挑战大模型训练的传统范式。过去三年我尝试过各种规模的模型训练&#xff0c;从Colab的免费GPU到AWS的8卡A100集群&#xff0c;最深刻的体会就是&#xff1a;当你可以用消费级显卡完…...

Windows平台AI硬件加速:ONNX Runtime实战指南

1. 项目概述&#xff1a;当Windows应用遇上硬件加速AI在Windows平台上集成AI功能时&#xff0c;开发者常面临两大痛点&#xff1a;一是不同硬件环境下的性能差异巨大&#xff0c;二是从训练到部署的工程链路复杂。三年前我在开发一个文档分类工具时&#xff0c;就曾为如何让模型…...