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

以太网和局域网

计算机网络的定义

计算机网络是一个将分散的、具有独立功能的计算机,通过通信设备与线路连接起来,由根据协议编写的软件来实现的资源共享和信息传递的系统

计算机网络的分类

广域网是互联网的核心部分

局域网

  • 常见的局域网拓扑结构有4大类:星形结构、环形结构、总线形结构、星形总线形复合型结构
  • 局域网可以使用双绞线、同轴电缆、光纤等多种传输介质,其中双绞线是主流
  • 局域网的分类如下图,最常用的局域网是以太网,现在以太网已经成为了局域网的同义词。其逻辑拓扑是总线型结构,物理拓扑是星形或拓展星形结构

  • IEEE802标准所描述的局域网参考模型只对应OS1参考模型的数据链路层与物理层。为了使数据链路层能更好的适应多种局域网标准,它将数据链路层划分为逻辑链路层LLC子层和介质访问控制MAC子层
  • LLC子层与传输媒体无关 ,主要功能:①负责识别网络层协议,为网络层提供服务:无确认无连接、面向连接、带确认无连接、高速传送②建立和释放数据链路层的逻辑连接,给帧加序号③LLC报头告诉数据链路层一旦帧被接收到时,应当对数据包做何处理
  • MAC子层与传输媒体有关,主要功能:①数据帧的封装/卸装,②帧的寻址和识别③帧的接收与发送④链路的管理,竞争处理、帧的差错控制⑤MAC子层的存在屏蔽了不同物理链路种类的差异性
  • 目前使用最多的局域网只剩下DIX Ethernet V2(以太网),而不是IEEE802委员会制定的以太网。IEEE802委员会制定的逻辑链路控制子层LLC(即IEEE802.2标准)的作用已经消失了,很多厂商生产的网卡上就仅装有MAC协议而没有LLC协议

以太网

两个以太网标准

如果每个站到集线器的距离太远,主机发送的信号经过铜线的传输就会衰减到使CSMA/CD协议无法正常工作

以太网的MAC帧(V2帧和802.3帧)

以太网 V2 的MAC帧格式如下

  • 严格来说,以太网应当是指符合DIX Ethernet V2标准(第一个以太网规约)的局域网,但DIX Ethernet V2标准与IEEE802.3标准只有很小的差别(帧格式有点不同),实际通常将802.3局域网称为以太网。个人觉得,其实两个标准都可以称为以太网,这两个标准是兼容的
  • 以太网使用CSMA/CD协议对总线进行访问控制
  • CSMA/CD(Carrier Sense Multiple Access with Collision Detection):载波监听多点接入/碰撞检测
  • 最短帧长的提出是要求发送时延必须 大于往返传播时延,这样才能够在发完数据之前检测到冲突

    网卡

  • 计算机通过适配器和局域网进行通信,适配器的作用:进行数据串行/并行转换 ,对数据进行缓存 、实现以太网协议(介质访问控制等)
  • 适配器的过滤功能如下图
  • 全世界每块网卡在出厂时都有一个唯一的代码,称为MAC地址(Medium Access Control,介质访问控制),数据链路层设备(网桥、交换机等)都使用MAC地址
  • 在同一个局域网中,每台设备必须有唯一的硬件地址。如果在同一个局域网中的两个设备有相同地址,那么两台设备都无法正常通信
  • 以太网采用两项重要措施简化通信:①采用无连接的工作方式②发送的数据都使用曼彻斯特(Manchester)编码
  • 传统以太网使用同轴电缆,采用总线形拓扑,1990年IEEE 制定出采用双绞线的星形以太网 10BASE-T 的标准 802.3i
  • 100BASE-T中的100指数据传输速率为100Mb/s,BASE是基带传输,T是传输介质为两对UTP双绞线(twist-pair),100BASE-T和10BASE-T每段双绞线最大传输距离都是100米。目前百兆网通常都是5类UTP,只有千兆网及以上才使用6类UTP。可支持共享式组网(集线器组网)和交换式组网(交换机组网)
  • 前导码:为了达到比特同步,在传输媒体上实际传送的要比 MAC 帧还多8个字节,由硬件在帧的前面插入 8 字节。第一个字段共 7 个字节,是前同步码,用来迅速实现 MAC 帧的比特同步。第二个字段 1 个字节是帧开始定界符,表示后面的信息就是MAC帧
  • 地址:6字节(48bit)的MAC地址
  • 类型:用来标志上一层使用的是什么协议, 以便把收到的 MAC 帧的数据上交给上一层的这个协议
  • 数据:正式名称是MAC客户数据字段。由于CSMA/CD算法的限制,以太网帧最短帧长为64字节,由于首部和尾部加起来有18字节,所以数据字段的最小长度为46字节,不够46字节需要填充。数据字段的最大长度为1500B,是规定的,称为MTU(最大传送单元)(有效的 MAC 帧长度为 64-1518 字节之间)
  • FCS(Frame Check Sequence,帧校验序列):校验范围从目的地址段开头到数据段末尾,算法采用32位循环冗余码
  • MAC帧并不需要帧结束符,因为以太网在传送帧时,各帧之间必须有一定的间隙,因此,接收端只要找到帧开始定界符,其后面连续到达的比特流就都属于同一个MAC帧。但不要误以为以太网MAC帧不需要尾部,在数据链路层上,帧即有尾部又有首部。FCS就是以太网帧的尾部

  • IEEE802.3MAC帧与以太网V2MAC帧格式的区别:长度域指出数据字段的长度

以太网的拓展

用集线器扩展

用集线器扩展的以太网增大了冲突域

光纤调制解调器的作用就是进行电信号和光信号的转换

用交换机拓展

用网桥或交换机拓展的以太网隔离了冲突域

从总线以太网到星形以太网

相关文章:

以太网和局域网

计算机网络的定义 计算机网络是一个将分散的、具有独立功能的计算机,通过通信设备与线路连接起来,由根据协议编写的软件来实现的资源共享和信息传递的系统 计算机网络的分类 广域网是互联网的核心部分 局域网 常见的局域网拓扑结构有4大类&#xff1a…...

【Git】第三篇:基本操作(配置本地仓库)

初次使用git需要设置你的用户名以及邮箱,这将作为当前机器git的标识,如果你用它来下载远程仓库一些需要登录权限的仓库会要求登录,git默认使用配置邮箱以及用户名登入,但会要求你手动输入密码。 配置本地仓库:git con…...

JS中sort排序

在我们JS排序中,有许多排序的方法,比如冒泡排序、选择排序等等。这次我为大家介绍一下sort排序! sort 按照 Unicode code 位置排序,默认升序 默认情况下,sort()会按照升序重新排序数组,即最小值在前最大值…...

【现场问题】datax中write部分为Oracle的时候插入clolb类型字段,插入的数据为string且长度过场问题

datax的Oraclewriter 报错显示查询报错展示查找datax中的数据插入模块 报错显示 occurred during batching: ORA-01704: string literal too long 查询报错展示 基本上查到的都是这样的,所以锁定是clob的字段类型的问题,而且是只有Oracle出问题&#…...

ASK、PSK、FSK的调制与解调

ASK、PSK、FSK的调制与解调 本文主要涉及数字信号的调制与解调,内容包括:2ASK、2PSK、2FSK的调制与解调以及频谱分析 关于通信原理还有其他文章可参考: 1、信息量、码元、比特、码元速率、信息速率详细解析——实例分析 2、模拟系统的AM信号的…...

基于XML的声明式事务

场景模拟 参考基于注解的声明式事务 修改Spring的配置文件 将Spring配置文件中去掉tx:annotation-driven标签&#xff0c;并添加配置&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org…...

力扣labuladong一刷day9滑动窗口共4题

力扣labuladong一刷day9滑动窗口共4题 文章目录 力扣labuladong一刷day9滑动窗口共4题一、76. 最小覆盖子串二、567. 字符串的排列三、438. 找到字符串中所有字母异位词四、3. 无重复字符的最长子串 一、76. 最小覆盖子串 题目链接&#xff1a;https://leetcode.cn/problems/m…...

ubuntu开机系统出错且无法恢复。请联系系统管理员。

背景&#xff1a; ubuntu22.04.2命令行&#xff0c;执行自动安装系统推荐显卡驱动命令&#xff0c;字体变大&#xff0c;重启后出现如下图错误&#xff0c;无法进入系统&#xff0c;无法通过CTRLALTF1-F3进入TTY模式。 解决办法&#xff1a; 1.首先要想办法进入系统&#xff…...

Transformer详解一:transformer的由来和先导知识

目录 参考资料前言一、预训练二、神经网络语言模型&#xff08;NNLM&#xff09;&#xff1a;预测下一个词one-hot编码的缺陷词向量&#xff08;word embedding&#xff09; 三、Word2Vec模型&#xff1a;得到词向量CBOWSkip-gramWord2Vec和NNLM的区别Word2Vec的缺陷 四、ELMO模…...

数字化产品经理的金字塔能力模型

在企业数字化转型的浪潮下&#xff0c;要求IT团队更加主动的服务业务、赋能业务&#xff0c;而数字化产品经理正是IT、业务融合的桥梁&#xff0c;该岗位需要具备业务、技术、商业的复合知识结构&#xff0c;并且拥有很强的自驱力。那么数字化产品经理在企业如何产生价值、赋能…...

这 11 个 for 循环优化你得会

日常开发中&#xff0c;经常会遇到一些循环耗时计算的操作&#xff0c;一般也都会采用 for 循环来处理&#xff0c;for 作为编程入门基础&#xff0c;主要是处理重复的计算操作&#xff0c;虽然简单好用&#xff0c;但在写法上也有很多的考究&#xff0c;如果处理不好&#xff…...

JVM字符串常量池StringTable

目录 一、StringTable为什么要调整 二、String的基本特性 三、String的内存分配 四、字符串拼接操作 五、intern()方法 六、Stringtable的垃圾回收 七、G1中String去重操作 一、StringTable为什么要调整 jdk7之前&#xff0c;hotspot对于方法区的实现是永久代&#xff…...

【华为OD题库-010】寻找矿堆的最大价值-Java

题目 给你一个由0(空地)、1(银矿)、2(金矿)组成的的地图&#xff0c;矿堆只能由上下左右相邻的金矿或银矿连接形成。超出地图范围可以认为是空地。 假设银矿价值1&#xff0c;金矿价值2&#xff0c;请你找出地图中最大价值的矿堆并输出该矿堆的价值 输入描述 地图元素信息如: 2…...

在PyTorch中使用CUDA, pytorch与cuda不同版本对应安装指南,查看CUDA版本,安装对应版本pytorch

目录 1 查看本机CUDA版本 2 查看对应CUDA的对应pytorch版本安装 3 用pip 安装 4 用conda安装 5 验证安装 在PyTorch中使用CUDA&#xff0c;根据你的具体环境和需求调整版本号&#xff0c;确保安装的PyTorch版本与你的CUDA版本兼容。 在PyTorch中使用CUDA&#xff0c;你需…...

copilot 产生 python工具函数并生成单元测试

stock.py 这个文件&#xff0c;我只写了注释&#xff08;的开头&#xff09;&#xff0c;大部分注释内容和函数都是copilot # split a string and extract the environment variable from it # input can be , pathabc, pathabc;pathdef, pathabc;pathdef;pathghi # output i…...

缓存与数据库双写一致性几种策略分析

一、背景 在高并发场景中&#xff0c;为防止大量请求直接访问数据库&#xff0c;缓解数据库压力&#xff0c;常用的方式一般会增加缓存层起到缓冲作用&#xff0c;减少数据库压力。引入缓存&#xff0c;就会涉及到缓存与数据库中数据如何保持一致性问题&#xff0c;本文将对几…...

Spring全家桶源码解析--2.6 Spring scope 限制bean的作用范围

文章目录 前言一、Scope是什么&#xff1f;二、Scope使用2.1 单例&#xff1a;2.1.1 单例Bean的特点如下&#xff1a;2.1.2 单例设计模式 与单例bean&#xff1a; 2.2 原型bean&#xff1a;2.2.1 原型Bean的特点&#xff1a;2.2.2 原型Bean的销毁&#xff1a; 2.3 Request bean…...

python 文本纠错库pycorrector的使用(API变更,许多介绍文章已不可用)

pycorrector是一个nice的中文检测库&#xff0c;在最新的版本API变更&#xff0c;导致许多之前的介绍文章不可用。 现将新API粘贴如下。...

【C++初阶(七)】类和对象(下)

本专栏内容为&#xff1a;C学习专栏&#xff0c;分为初阶和进阶两部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握C。 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;C &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&…...

Linux上C++通过LDAP协议使用kerberos认证AES加密连接到AD服务器

一.前言 记录自己在实现这个流程遇到的各种问题&#xff0c;因为我也是看了许多优质的文章以及组内大佬的帮助下才弄成的&#xff0c;这里推荐一个大佬的文章&#xff0c;写的非常优秀&#xff0c;比我这篇文章写得好得很多&#xff0c;最后我也是看这个大佬的代码最终才实现的…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

安卓基础(Java 和 Gradle 版本)

1. 设置项目的 JDK 版本 方法1&#xff1a;通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分&#xff0c;设置 Gradle JDK 方法2&#xff1a;通过 Settings File → Settings... (或 CtrlAltS)…...

通过MicroSip配置自己的freeswitch服务器进行调试记录

之前用docker安装的freeswitch的&#xff0c;启动是正常的&#xff0c; 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...