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

计算机网络(三)——局域网和广域网

一、局域网

       特点:覆盖较小的地理范围;具有较低的时延和误码率;使用双绞线、同轴电缆、光纤传输,传输效率高;局域网内各节点之间采用以帧为单位的数据传输;支持单播、广播和多播(单播指点对点通信,广播指点对全部通信,多播指点对一部分通信)。

    1.有线局域网(以太网)

       目前在使用的以太网一种是以双绞线为传输介质的交换机以太网,中间采用交换机连接,在物理和逻辑上都是星型拓扑,支持全双工或半双工通信(全双工指双方可以同时向对方发送数据,半双工指可以向对方发送数据但不能同时发送);在半双工模式下会使用CSMA/CD协议来进行介质访问控制,全双工模式下由于允许同时发送数据,所以不需要介质访问控制。

       另一种是使用光纤为传输介质的以太网,光纤通常用于中继器、交换机、集线器之间的传输,不会直接连接设备。这种以太网通常在两个节点中至少使用两条光纤来实现全双工通信,因此不需要介质访问控制。

        在以太网中使用曼彻斯特编码的数字信号传输数据。

        以太网适配器:设备通过以太网适配器与外界以太网进行连接,包括ROM和RAM芯片,ROM存储了在一台网上的一个全球唯一的MAC物理地址,RAM用作帧缓冲,设备和外界网络收发消息的滑动窗口机制就是在这里面进行的。

    2.无线局域网(WiFi/802.11)

       WiFi为星型结构,各个设备连接的是无线接入点AP,AP负责和网络通信,然后将数据传输给各个设备。采用CSMA/CA协议实现介质访问控制。

        在无线网中使用电磁波的模拟信号传输数据。

       无线网络适配器:用于和外界无线局域网连接,也包括ROM和RAM芯片,ROM存储了在无线局域网中的一个全球唯一的MAC物理地址,RAM用作帧缓冲。

    3.虚拟局域网VLAN

        实现VLAN技术的三种方式:

        ①通过将交换机上每个接口的编号划分给不同的VLAN来实现。如果使用这种方式,那么无法保证一个VLAN中的设备不能访问另一个VLAN中的设备:由于VID只和接口编号绑定,可以通过将设备接入不同的接口来接入不同的VLAN。

       ②通过将MAC地址划分到不同VLAN来实现。这种方式直接将设备的MAC地址和VID进行绑定,由于MAC地址是唯一的,所以设备不会改变它所处的VLAN。

       ③通过将IP地址划分到不同VLAN来实现。在一个局域网中每台设备都有自己的IP地址,通过IP地址与VID绑定就可以划分VLAN了。这种方式还可以让VLAN跨越不同的局域网,即不同局域网下的设备可以同属于一个VLAN。因为用到了IP地址,所以使用这种方式需要交换机能够实现网络层的一些功能。

       标准以太网帧:包括6个字节的目的地址、源地址,2个字节要指明这个帧需要网络层的哪个协议处理,然后是数据部分,最后是4个字节的校验码。

       802.1Q帧:会在源地址和协议之间加上一个4字节的VLAN标签,其中前2个字节是固定的值,用于标明这个帧是802.1Q帧,后面的4个比特没有实际意义可以随便添加,最后的12个比特则是VID。

二、广域网

       特点:通常跨接很大的地理范围,主要使用分组交换技术实现资源共享。

       PPP协议和HDLC协议是广域网中数据链路层的两个协议。PPP协议和HDLC协议都只支持全双工链路,都可以实现透明传输,都会进行差错检测,但都不纠错。

       PPP协议是面向字节的,有两个字节的协议字段,没有序号和确认机制,是不可靠的;HDLC协议是面向比特的,没有协议字段,有编号和确认机制,是可靠的。

三、补充

       网络适配器(又称网卡)的作用 

       ①负责将数据帧发送到局域网中。将分组封装成数据帧的步骤在有些系统中是通过主机完成的,在有些系统中是通过网络适配器完成的。

       ②负责接收局域网发送过来的帧。如果收到的帧目的地址和自己的MAC地址相同且无差错,就会接收这个帧到RAM的帧缓冲中,然后给主机的CPU发送中断信号,此时CPU会告诉要把这个帧放到主存的哪个位置,然后网络适配器再将这个数据帧放到指定位置;如果收到的帧目的地址和自己的MAC地址不同或者数据有差错则会直接丢弃。

       ③需要根据接入的局域网类型来实现不同的物理层和数据链路层的功能。以太网和无线网的标准是不同的。 

       ④需要实现数据的串并行通信转换。主机和网络适配器之间是利用I/O总线并行通信的,即每次传输多个bit;网络适配器和以太网之间采用串行通信,每次只能传输单个bit。

       串行通信和并行通信的对比

       串行通信使用一条数据线,每次传输单个比特,传输速率较低,信号干扰少,硬件成本低,适合低速长距离传输。

       并行通信使用多条数据线同时发送或接收多个比特,传输速率高,但数据线之间可能会存在信号干扰,硬件成本高,适合高速短距离传输,如图像、视频处理等。

       路由器、交换机、集线器的对比

       路由器工作在网络层,用于连接两个不同的网络;能够隔绝冲突域和广播域,一个终端发送的广播信号只能在自己所处的网络中广播,并不会广播到其他网络上。路由器还支持路径决策,能够选择合适的路线传输数据。路由器之间传输的是IP数据报。路由器为点到点通信。自身包括物理层、数据链路层、网络层,具有IP地址和MAC地址。采用网状等复杂拓扑结构。

       交换机工作在物理链路层,通常用于局域网内的通信;能够过滤短帧和碎片,具有更高的数据转发速率和网络带宽利用率。采用点到点通信。自身包括物理层和数据链路层,具有MAC地址。采用星型等较复杂拓扑结构。对于普通的交换机只能隔绝冲突域,对于支持VLAN的交换机既可以隔绝冲突域,也可以隔绝广播域。

       集线器工作在物理层,负责数据的同步、整型、放大,并会简单地将收到的数据广播给所有端口,没有对数据的差错检查能力,安全性较差。由于集线器只有物理层,所以既没有IP地址也没有MAC地址。采用总线型等简单的拓扑结构。

       同轴电缆仅支持半双工通信,双绞线既支持半双工也支持全双工通信,光纤支持全双工通信

相关文章:

计算机网络(三)——局域网和广域网

一、局域网 特点:覆盖较小的地理范围;具有较低的时延和误码率;使用双绞线、同轴电缆、光纤传输,传输效率高;局域网内各节点之间采用以帧为单位的数据传输;支持单播、广播和多播(单播指点对点通信…...

STM32F4分别驱动SN65HVD230和TJA1050进行CAN通信

目录 一、CAN、SN65HVD230DR二、TJA10501、TJA1050 特性2、TJA1050 引脚说明 三、硬件设计1、接线说明2、TJA1050 模块3、SN65HVD230 模块 四、程序设计1、CAN_Init:CAN 外设初始化函数2、CAN_Send_Msg、CAN_Receive_Msg 五、功能展示1、接线图2、CAN 数据收发测试 …...

将光源视角的深度贴图应用于摄像机视角的渲染

将光源视角的深度贴图应用于摄像机视角的渲染是阴影映射(Shadow Mapping)技术的核心步骤之一。这个过程涉及到将摄像机视角下的片段坐标转换到光源视角下,并使用深度贴图来判断这些片段是否处于阴影中。 1. 生成光源视角的深度贴图 首先&…...

docker一键安装脚本(docker安装)

第一种方法一键安装命令 curl -O --url http://luyuanbo79.south.takin.cc/wenjian/docker_install.sh && chmod x docker_install.sh && ./docker_install.sh 备用方法 curl -O --url https://file.gitcode.com/4555247/releases/untagger_0896d4789937405…...

【SY2】Apollo10.0 Cyber基于Writer/Reader的通信方式

实验前提 Apollo10.0已经安装完毕Vscode及相关插件安装完成启动容器并进入在Vscode连接进入到Apollo工作空间下学习资料 部分配置如实验一https://blog.csdn.net/weixin_60062799/article/details/145029669?spm1001.2014.3001.5501 学习资料 Apollo7.0或其他版本可以参…...

【YOLOv8杂草作物目标检测】

YOLOv8杂草目标检测 算法介绍模型和数据集下载 算法介绍 YOLOv8在禾本科杂草目标检测方面有显著的应用和效果。以下是一些关键信息的总结: 农作物幼苗与杂草检测系统:基于YOLOv8深度学习框架,通过2822张图片训练了一个目标检测模型&#xff…...

在Java中实现集合排序

使用字面量的方式创建一个集合 //使用字面量的方式初始化一个List集合List<User> userList Arrays.asList(new User("小A",5),new User("小鑫",18),new User("小昌",8),new User("小鑫",8));注意&#xff1a;使用Arrays.asLis…...

el-descriptions-item使用span占行不生效

需要实现的效果是客户状态单独占满一行 错误代码&#xff1a; <el-descriptions title"基本信息" :column"3"> <el-descriptions-item label"公司电话:">Suzhou</el-descriptions-item><el-descriptions-item label"…...

Android 绘制学习总结

1、刷新率介绍 我们先来理一下基本的概念&#xff1a; 1、60 fps 的意思是说&#xff0c;画面每秒更新 60 次 2、这 60 次更新&#xff0c;是要均匀更新的&#xff0c;不是说一会快&#xff0c;一会慢&#xff0c;那样视觉上也会觉得不流畅 3、每秒 60 次&#xff0c;也就是 1…...

Linux下部署SSM项目

作者主页&#xff1a;舒克日记 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 Linux部署SSM项目 打包项目 1、修改pom.xml文件&#xff0c;打包方式改为war <packaging>war</packaging>2、idea 通过maven的clean&#xff0c;…...

计算机网络 笔记 数据链路层 2

1,信道划分&#xff1a; (1)时分复用TDM 将时间等分为“TDM帧”&#xff0c;每个TDM帧内部等分为m个时隙&#xff0c;m个用户对应m个时隙 缺点&#xff1a;每个节点只分到了总带宽的1/m,如果有部分的1节点不发出数据&#xff0c;那么就会在这个时间信道被闲置&#xff0c;利用…...

xml简介

目录 基本语法特点及应用场景一个简单示例 xml&#xff08;全称eXtensible Markup Language&#xff09;是一种用于存储和传输数据的标记语言&#xff0c;跨平台并且跨语言&#xff0c;xml内容较多&#xff0c;这篇文章会介绍一些基础的内容。 基本语法 xml文档通常以xml声明开…...

透明部署、旁路逻辑串联的区别

背景 需讨论防火墙到底是串联&#xff0c;还是旁挂。 通常串联指的就是“透明部署”&#xff0c;旁挂指的就是“逻辑串联”。 透明部署&#xff08;串联&#xff09; 也称为透明模式或桥接模式&#xff0c;是一种安全设备的部署方式。在这种模式下&#xff0c;安全设备被串联…...

【网络安全渗透测试零基础入门】之XSS攻击获取用户cookie和用户密码(实战演示)

前言 大家好&#xff0c;我是demon 这是demon给粉丝盆友们整理的网络安全渗透测试入门阶段XSS攻击教程。 本阶段主要讲解XSS攻击获取用户cookie和用户密码。 喜欢的朋友们&#xff0c;记得给晓晓点赞支持和收藏一下&#xff0c;关注我&#xff0c;学习黑客技术。 简介 该…...

c#版本、.net版本、visual studio版本之间的对应关系

最近这几年一直没用过c#开发&#xff0c;都是从事Qt c开发工作&#xff0c;回想一下之前c#还要追溯到2019年&#xff0c;算算时间大概都已过去4&#xff0c;5年了&#xff0c;时间飞快。 2019真是个神奇的数字&#xff0c;vs2019是我用的时间最长的一个IDE&#xff0c;新冠起始…...

熵与交叉熵:从不确定性角度理解 KL 散度

从不确定性减少视角理解KL散度 【 Transformer 系列&#xff0c;故事从 d k \sqrt{d_k} dk​ ​说起】 LLM这么火&#xff0c;Transformer厥功甚伟&#xff0c;某天心血来潮~&#xff0c;再去看看&#xff01; 它长这个样子&#xff1a; 深入浅出 Transformer 看完后&#xff…...

Redis:数据类型

1. 字符串&#xff08;String&#xff09; 简介 概念&#xff1a;这是最简单的数据类型&#xff0c;可以存储字符串、整数或浮点数。特点&#xff1a;支持原子操作&#xff0c;如递增和递减数值。 示例 # 设置一个键值对 SET mykey "Hello, Redis!"# 获取该键的值…...

搭建Node.js后端

从头开始搭建一个Node.js后端&#xff0c;并实现查询历史数据的功能&#xff0c;下面是详细的步骤说明&#xff0c;包括环境配置、项目初始化、代码编写、以及服务器启动。 1. 环境配置 1.1 安装 Node.js 和 npm 首先&#xff0c;你需要在你的电脑上安装 Node.js 和 npm&…...

集合——数据结构

数据结构 就是计算机存储数据的方式。 不同情况下采取不同数据结构会让数据查找&#xff0c;存储更加有效率。 栈...

从CentOS到龙蜥:企业级Linux迁移实践记录(系统安装)

引言&#xff1a; 随着CentOS项目宣布停止维护CentOS 8并转向CentOS Stream&#xff0c;许多企业和组织面临着寻找可靠替代方案的挑战。在这个背景下&#xff0c;龙蜥操作系统&#xff08;OpenAnolis&#xff09;作为一个稳定、高性能且完全兼容的企业级Linux发行版&#xff0…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求&#xff0c;本次涉及的主要是收费汇聚交换机的配置&#xff0c;浪潮网络设备在高速项目很少&#xff0c;通…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...