计算机网络——链路层(1)
计算机网络——链路层(1)
- 小程一言
- 专栏链接: [link](http://t.csdnimg.cn/ZUTXU)
- 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家, [跳转到网站](https://www.captainbed.cn/qianqiu)
- 链路层
- 概述
- 常见协议
- 主要作用
- 总结
- 差错检测和纠正技术
- 差错检测技术方法
- 总结
- 多路访问链路和协议
- 常见的多路访问链路和协议
- 总结
- 交换局域网(计算机网络自顶向下参考书加入)
- 工作原理
- 优点
- 总结
- 链路虚拟化(了解)
- 通过技术实现
- 优点
- 总结
小程一言
我的计算机网络专栏,是自己在计算机网络学习过程中的学习笔记与心得,在参考相关教材,网络搜素的前提下,结合自己过去一段时间笔记整理,而推出的该专栏,整体架构是根据计算机网络自顶向下方法而整理的,包括各大高校教学都是以此顺序进行的。
面向群体:在学计网的在校大学生,工作后想要提升的各位伙伴,
专栏链接: link
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家, 跳转到网站
链路层
概述
计算机网络中的链路层负责在相邻节点之间传输数据帧。链路层主要包括物理层和数据链路层两个子层。
物理层负责传输数据比特流,包括传输介质、接口、传输速率等物理特性。数据链路层则负责将数据帧从一个节点传输到另一个节点,包括数据帧的封装、帧同步、流量控制、差错检测和纠正等功能。
常见协议
以太网、无线局域网(Wi-Fi)、蓝牙、PPP(点对点协议)、HDLC(高级数据链路控制)等
主要作用
实现可靠的数据传输,并提供了数据链路的逻辑和物理连接。
总结
链路层在计算机网络中起着连接相邻节点、传输数据帧和控制数据流的重要作用,是网络通信中不可或缺的一部分。
差错检测和纠正技术
在计算机网络中,差错检测和纠正技术是非常重要的,它们可以帮助网络系统检测和纠正数据传输过程中可能出现的错误,确保数据的完整性和可靠性。
差错检测技术方法
- 常见的是循环冗余校验(CRC)和校验和。
- CRC是一种基于多项式的差错检测方法,通过对数据进行除法运算并将余数附加到数据末尾,接收方可以利用余数来检测出数据传输中是否出现了差错。
- 校验和则是一种简单的差错检测方法,它将数据进行求和运算并将结果附加到数据末尾,接收方可以通过重新计算校验和并与接收到的校验和进行比较来检测差错。
- 差错纠正技术则是指在检测到差错后,可以通过一定的方法来对数据进行修正,以保证数据的正确性。
- 常见的差错纠正技术包括海明码和纠删码。
1.海明码是一种能够检测并纠正多位差错的编码技术,它通过对数据进行编码并添加冗余位来实现差错检测和纠正。
2.纠删码则是一种能够检测并纠正数据丢失和差错的编码技术,它通过对数据进行编码并添加冗余信息来实现数据的纠正和恢复。
总结
差错检测和纠正技术在计算机网络中起着至关重要的作用,它们可以帮助网络系统确保数据传输的可靠性和完整性,提高网络的性能和可靠性。
多路访问链路和协议
多路访问是指多个节点共享同一条通信链路的技术。这种技术可以有效地提高网络资源的利用率,实现多个节点之间的数据传输。
常见的多路访问链路和协议
CSMA/CD、CSMA/CA、TDMA和CDMA等。
-
CSMA/CD
是一种常见的多路访问协议,它主要用于以太网中。在CSMA/CD中,节点在发送数据之前会先监听信道,如果信道空闲,则节点可以发送数据;如果信道被占用,节点会等待一段随机的时间后再次监听。如果多个节点同时发送数据导致碰撞,节点会停止发送并等待一段随机的时间后再次发送。这样可以避免碰撞,提高网络的效率。 -
CSMA/CA
是另一种多路访问协议,主要用于无线局域网(WLAN)中。与CSMA/CD不同的是,CSMA/CA在发送数据前会发送一个RTS(Request to Send)信号,接收方在收到RTS后回复CTS(Clear to Send)信号,表示信道空闲,发送方才可以发送数据。这样可以避免碰撞,提高了无线网络的效率。 -
TDMA和CDMA
是另外两种多路访问技术。在TDMA中,时间被划分成多个时隙,不同节点在不同的时隙中发送数据,从而避免碰撞。而在CDMA中,不同节点使用不同的码来进行数据传输,接收方可以通过解码来获取自己需要的数据,从而实现多路访问。
总结
多路访问链路和协议在计算机网络中扮演着重要的角色,它们可以有效地提高网络资源的利用率,实现多个节点之间的数据传输,从而提高网络的效率和可靠性。
交换局域网(计算机网络自顶向下参考书加入)
交换局域网是指在局域网中使用交换机来实现数据传输和通信的网络。交换局域网的特点是具有高速、低延迟和高效的数据传输能力,能够满足局域网中大量数据传输的需求。
在交换局域网中,交换机起着关键的作用。交换机是一种网络设备,可以根据目的地址将数据包从一个端口转发到另一个端口,从而实现数据传输。交换机可以根据数据包的目的地址和端口的状态来决定数据包的转发路径,从而实现高效的数据传输。
工作原理
当一台计算机发送数据包时,交换机会根据目的地址将数据包转发到目标计算机所在的端口,而不会广播到整个网络中。这样可以避免网络拥堵和数据碰撞,提高数据传输的效率和稳定性。
优点
高速、低延迟、高效和可靠的数据传输能力,可以满足局域网中大量数据传输的需求。而且,交换局域网还支持多种网络协议和服务,可以实现多种应用和服务的需求。
总结
交换局域网通过使用交换机来实现高效的数据传输和通信,提高了局域网的性能和稳定性,满足了局域网中大量数据传输的需求。
链路虚拟化(了解)
链路虚拟化是指通过软件技术将物理网络链路划分成多个独立的虚拟链路,使得不同的网络流量可以在同一物理链路上进行独立传输,从而实现对网络资源的更有效利用和管理。
通过技术实现
包括虚拟局域网(VLAN)、虚拟私有网络(VPN)、虚拟链路聚合(VLA)、虚拟链路交换(VLS)、虚拟链路路由(VLR)等。这些技术可以在不同的网络设备上实现,如交换机、路由器、防火墙等。
优点
提高网络资源的利用率、降低网络管理成本、增强网络安全性等。它也可以为不同的网络应用提供更灵活的网络配置和管理方式,从而更好地满足不同用户的需求。
总结
链路虚拟化是计算机网络中非常重要的一项技术,它可以为网络的性能、安全性和管理提供更多的选择和灵活性。
相关文章:

计算机网络——链路层(1)
计算机网络——链路层(1) 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU)前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家, [跳转到网站](https://www.captainbed.…...

OpenCV 0 - VS2019配置OpenCV
1 配置好环境变量 根据自己的opencv的安装目录配置 2 新建一个空项目 3 打开 视图->工具栏->属性管理器 4 添加新项目属性表 右键项目名(我这是opencvdemo)添加新项目属性表,如果有配置好了的属性表选添加现有属性表 5 双击选中Debug|x64的刚添加的属性表 6 (重点)添…...
eCos flash模拟EEPROM实现NV系统
Flash需要擦除的原因:先擦除后写入的原因是为了工业上制作方便,即物理实现方便。 #include <cyg/infra/diag.h> #include <cyg/io/flash.h> #include <stdarg.h> #include <stdio.h> #include <stdlib.h> // SPI flash…...

【MongoDB】跨库跨表查询(python版)
MongoDB跨表跨库查询 1.数据准备:2.跨集合查询3.跨库查询应该怎么做? 讲一个简单的例子,python连接mongodb做跨表跨库查询的正确姿势 1.数据准备: use order_db; db.createCollection("orders"); db.orders.insertMan…...

Ruoyi-Cloud-Plus_Nacos配置服务漏洞CVE-2021-29441_官方解决方法以及_修改源码解决---SpringCloud工作笔记199
CVE-2021-29441 这个漏洞是Nacos的,通过使用postman,直接访问接口: 就可以直接添加nacos的用户 Nacos是Alibaba的一个动态服务发现、配置和服务管理平台。攻击者通过添加Nacos-Server的User-Agent头部将可绕过(nacos.core.auth.enabled=true)鉴权认证,从而进行API操作。 …...

和鲸科技与智谱AI达成合作,共建大模型生态基座
近日,上海和今信息科技有限公司(简称“和鲸科技”)与北京智谱华章科技有限公司(简称“智谱AI”)签订合作协议,双方将携手推动国产通用大模型的广泛应用与行业渗透,并积极赋能行业伙伴探索领域大…...

计算机网络实验五
目录 实验五 路由器基本配置 1、实验目的 2、实验设备 3、网络拓扑及IP地址分配 4、实验过程 (1)路由器设备名称的配置 (2)路由器每日提示信息配置 (3)路由器端口的IP地址配置 (4&…...
通过 React 来构建界面
1- 通过 React 来构建界面 第1步:下载所需要的二个库文件至本地,如果需要加载指定版本的 react 和 react-dom,可以把 18 替换成所需加载的版本号。 react.js:React中的核心库文件。 // 开发版 https://unpkg.com/react18/umd/rea…...

真机调试,微信小程序,uniapp项目在微信开发者工具中真机调试,手机和电脑要连同一个wifi,先清空缓存,页面从登录页进入,再点真机调试,这样就不会报错了
微信小程序如何本地进行真机调试?_unity生成的微信小程序怎么在电脑上真机测试-CSDN博客 微信小程序 真机调试 注意事项 uniapp项目在微信开发者工具中真机调试,手机和电脑要连同一个wifi,先清空缓存,页面从登录页进入…...

vue3快速入门
文章目录 1. Vue3简介1.1. 性能的提升1.2.源码的升级1.3. 拥抱TypeScript1.4. 新的特性 2. 创建Vue3工程2.1. 基于 vue-cli 创建2.2. 基于 vite 创建(推荐)vite介绍创建步骤项目结构安装插件项目结构总结 2.3. 一个简单的效果Person.vueApp.vue 3. Vue3核…...
go 问题记录(日志丢失)
问题描述: 在go程序中,通过执行一个命令启动一个子命令,并通过pipe读取子程序的标准输入和输出,通过scanner默认按行读取,此时如果子程序输出时没有携带’\n’,scanner就不会打印输出,而是会累…...

彻底解决 MAC Android Studio gradle async 时出现 “connect timed out“ 问题
最近在编译一个比较老的项目,git clone 之后使用 async 之后出现一下现象: 首先确定是我网络本身是没有问题的,尝试几次重新 async 之后还是出现问题,网上找了一些方法解决了本问题,以此来记录一下问题是如何解决的。 …...

计算机网络第4章(网络层)
4.1、网络层概述 简介 网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输 这些异构型网络N1~N7如果只是需要各自内部通信,他们只要实现各自的物理层和数据链路层即可 但是如果要将这些异构型网络互连起来,形成一个更大的互…...

SpringbootWeb案例
准备工作 需求说明 部门管理 部门管理功能开发包括:查询部门列表、删除部门、新增部门、修改部门 员工管理功能开发包括:查询员工列表(分页、条件)、删除员工、新增员工、修改员工 环境搭建 环境搭建步骤:1. 准备数据库表(dept、emp)…...

【初中生讲机器学习】4. 支持向量机算法怎么用?一个实例带你看懂!
创建时间:2024-02-02 最后编辑时间:2024-02-03 作者:Geeker_LStar 你好呀~这里是 Geeker_LStar 的人工智能学习专栏,很高兴遇见你~ 我是 Geeker_LStar,一名初三学生,热爱计算机和数学,我们一起加…...

CentOS下安装vlc
一、引言 vlc是一跨多媒体播放器,可以播放本地媒体文件和网络串流,帮助我们排查音视频开发过程中遇到的问题。大部分情况下,我们只需要在Windows系统下安装vlc就可以了。但有一种情况是需要在Linux下安装vlc的:我们的音视频拉流软…...

概率论中的全概率公式、贝叶斯公式解析
全概率公式 定义 全概率公式是用来计算一个事件的概率,这个事件可以通过几个互斥事件的并集来表示。这几个互斥事件称为“完备事件系”。实质是由原因推结果。 公式 用途 全概率公式通常用于计算一个事件的总概率,特别是当这个事件与几个不同的因素相关…...

亿赛通-数据泄露防护(DLP)UploadFileList;login接口存在任意文件读取漏洞 附POC软件
@[toc] 亿赛通-数据泄露防护(DLP)UploadFileList;login接口存在任意文件读取漏洞 附POC软件 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文…...

如何使用 Google 搜索引擎保姆级教程(附链接)
一、介绍 "Google语法"通常是指在 Google 搜索引擎中使用一系列特定的搜索语法和操作符来精确地定义搜索查询。这些语法和操作符允许用户过滤和调整搜索结果,提高搜索的准确性。 二、安装 Google 下载 Google 浏览器 Google 官网https://www.google.c…...
SpringBoot实现轻量级接口反向代理、转发
目录 1、基本的对象1.1 配置类1.2 实体DTO1.3 路由代理拓展器1.4 请求对象 RestTemplate 2、核心转发代码3、暴露接口4、基础配置 前言:想实现一个轻量级的接口反向代理和转发的一个接口服务,可以通过这个服务做一些需要认证才能访问的接口给到前端使用&…...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...

如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...

【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...
0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
是不是受够了安装了oracle database之后sqlplus的简陋,无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话,配置.bahs_profile后也能解决上下翻页这些,但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可,…...

若依登录用户名和密码加密
/*** 获取公钥:前端用来密码加密* return*/GetMapping("/getPublicKey")public RSAUtil.RSAKeyPair getPublicKey() {return RSAUtil.rsaKeyPair();}新建RSAUti.Java package com.ruoyi.common.utils;import org.apache.commons.codec.binary.Base64; im…...
【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解
一、前言 在HarmonyOS 5的应用开发模型中,featureAbility是旧版FA模型(Feature Ability)的用法,Stage模型已采用全新的应用架构,推荐使用组件化的上下文获取方式,而非依赖featureAbility。 FA大概是API7之…...