全面解析计算机网络:从局域网基础到以太网交换机!!!

一、局域网的基本概念和体系结构

特点:

  1. 覆盖较小的地理范围
  2. 较低的时延和误码率
  3. 局域网内的各节点之间以“帧"为单位进行传输
  4. 支持单播、广播、多播
  • 单播(一对一发送帧):如 A->B
  • 广播(一对全部发送帧):如 A->B+C+D+E+F+G
  • 多播(一对部分发送帧):如 A->B+D+E

有线局域网

以太网(802.3):

物理层采用曼彻斯特编码 是从 1980 开始商用的

早期同轴电缆以太网特点:

  • 总线形拓扑结构
  • 同轴电缆(可用中继器连接多个同轴电缆网段)
  • CSMA/CD 协议

80 年代后期双绞线以太网特点:

  • 物理上星形,逻辑上总线形
  • 双绞线(用集线器连接)
  • CSMA/CD 协议

1994 年交换机以太网特点:

  • 物理上、逻辑上都是星形
  • 双绞线(用交换机连接)
  • CSMA/CD 协议或 NULL

半双工模式下,采用 CSMA/CD 争抢信道

全双工模式下,不用争抢信道,也就不需要使用 CSMA/CD 协议

90 年代后期光纤以太网特点:

(用于扩大以太网覆盖范围)

  • 点对点(用于中继器/集线器/交换机之间的传输,也就是说通常不会直接连接终端节点)
  • 光纤
  • NULL(用两条光纤实现全双工通信)

令牌环网

特点:

  • 环形
  • 同轴电缆或双绞线
  • 令牌传递协议

无线局域网

WIFI(802.11)

特点:

  • IEEE 802.11 定义为星形(1个AP+N 台移动设备)
  • 无线(Wireless)
  • CSMA/CA 协议

硬件架构

网络适配器(又名:网络接口卡、网卡)要点:

  • 负责把帧发送到局域网
  • 注:关于“将 IP 数据报(IP 分组)封装成帧”,有些系统由主机实现,有些系统由网络适配器负责。
  • 负责从局域网接收帧。

如果收到正确帧,就用“中断”通知 CPU;

如果收到异常帧,就直接丢弃

  1. 需要根据接入的局域网类型,按照标准实现数据链路层+物理层功能
  2. 需要完成数据的串/并行转换
  3. 需要支持帧缓冲

网络适配器的厂商可以找IEEE 公司花钱申请 MAC 地址段

IEEE 公司会给出高 24bit 作为厂商号,低 24bit 位厂商自由分配

网络适配器厂商就可以生产全球唯一的 MAC 地址给适配器

二、以太网与IEEE802.3

在IEEE 802的层次划分中 把数据链路层又分成了介质访问控制子层(MAC子层)逻辑链路控制子层(LLC 子层)

介质访问控制子层(MAC 子层):

  • 与访问传输介质有关的部分功能(如:组帧、差错检测、透明传输、介质访问控制等)

逻辑链路控制子层(LLC 子层):

  • LLC 子层的存在是为了兼容各种局域网技术(LLC 子层目前已名存实亡),目前有线局域网已被 802.3 垄断,无线局域网技术已被 802.11 垄断
  • 与访问传输介质无关的部分功能,由IEEE 802.2工作组(已解散)负责

IEEE 802.3 推出的以太网标准(物理层)

半双工 or 双工

同轴电缆

双绞线

光纤

集线器

交换机

只能半双工

速率<2.5Gbps 可支持半双工 or全双工(节点连接时协商)

速率>2.5Gbps 仅支持支全双工

只支持全双

默认连接的终端节点都可以全双工

连接的节点仅支持半双工模式

两种常见的 以太网 MAC 层 标准

  • DEC、Intel、Xerox 推出的 DIX Ethernet V2 标准
  • IEEE 802.3 推出的IEEE 802.3 标准

两种标准在“帧”格式上有细微差别。 市面上常用 V2 标准

V2 标准的 以太网 MAC 帧

记忆口诀:6 6 2 N 4,收发协数验

目的地址:接收方 MAC 地址,48bit

目的地址全1表示“广播帧

源地址:发送方 MAC 地址,48bit

类型:指明网络层协议

IP 数据报:

  • IP 数据报太长,就“分片”
  • IP 数据报太短,就“填充”

数据:46~1500 需要限制最长帧长

FCS:CRC 校验码

帧结尾定界采用“违规编码法”,且一个帧传完会留一段间隙

IEEE 802.3 标准的 以太网 MAC 帧

记忆口诀:6 6 2 N 4,收发长数验

单播帧、广播帧如何传播?

注:MAC 地址是数据链路层的概念。

路由器、交换机都有 MAC 地址,而集线器没有 MAC 地址

单播帧:

  • A ->C 仅 C 能收到并接收帧
  • A ->F E、F、G 能收到,仅F会接收帧
  • E ->A F、G、A 能收到,仅 A 会接收帧
  • E ->F F、G 能收到,仅F 会接收帧

广播帧(目的地址全为1):

  • A 发出广播帧,B、C、D、E、F、G、R 都能收到并接收帧
  • E 发出广播帧,A、B、C、D、F、G、R 都能收到并接收帧

注意:路由器 R 收到广播帧后,不会再转发至其他网络

有同一个局域网内的各节点才属于同一个“广播域”

  • 冲突域:如果两个节点同时发送数据,会导致冲突,则二者处于同一个“冲突域”
  • 广播域:如果一个节点发送广播帧,可以被另一个节点接收,则二者处于同一个“广播域”
  • 集线器不隔离冲突域,也不隔离广播域
  • 以太网交换机隔离冲突域,但不隔离广播域
  • 路由器隔离冲突域,也隔离广播域

三、VLAN(虚拟局域网)

一个大型局域网(如校园网)面临的问题

  1. 局域网内任何一个节点 发出的广播帧,都会被 广播至所有节点。可能 出现“广播风暴”
  2. 不安全,局域网内可能会有一些敏感节点

可将一个大型局域网分割成若干个较小的 VLAN,每个 VLAN 是一个广播域

  • 需要使用支持 VLAN 功能的以太网交换机来实现
  • 每个 VLAN 对应一个 VID

VLAN 划分方式:

基于接口

交换机内的数据结构。记录 VID 和接口号的映射关系

交换机 1

VLAN-10

VLAN-20

交换机 2

VLAN-10

VLAN-20

接口号

1,2,3,4,8

5,6,7,8

接口号

1,2,3

1,5,6,7

基于MAC地址

交换机内的数据结构。记录VID和MAC地址的映射关系

交换机 1

VLAN-10

VLAN-20

交换机 2

VLAN-10

VLAN-20

MAC地址

A,B,C,D,H,I

E,F,G,J,K,L

MAC地址

A,B,C,D,H,I

E,F,G,J,K,L

基于IP地址

交换机内的数据结构。记录VID和MAC地址的映射关系

交换机 1

VLAN-10

VLAN-20

交换机 2

VLAN-10

VLAN-20

IP地址

A,B,C,D,H,I

E,F,G,J,K,L

IP地址

A,B,C,D,H,I

E,F,G,J,K,L

注:这种方式可以让 VLAN 范围跨越路由器,让多个局域网的主机组成一个 VLAN(需要网络层功能支持)

802.1Q 帧的作用

  • 主机与交换机之间,传输标准以太网帧 6 6 2 N 4
  • 交换机与交换机之间,传输 802.1Q 帧 6 6 4 2 N 4
  • 如果帧的传输跨越 交换机,需指明 VID

在标准以太网帧的源地址之后,插入 VLAN 标签,得到 802.1Q 帧

802.1Q 标签类型:固定为 0x8100,表示这是 802.1Q 帧

VID(12 位):指明发送方所属 VLAN 的 VID

四、IEEE802.11 无线局域网

无线局域网分类:

  • 有固定基础设施无线局域网:如 802.11 无线局域网(WiFi)
  • 无固定基础设施移动自组织网络:如苹果隔空投送等

802.11 无线局域网的基本概念

  • 802.11无线局域网是星形拓扑,中心称为接入点(AP),也可称为无线接入点(WAP)
  • 基本服务集 BSS:1个基站(AP)+多个移动站
  • 服务集标识符 SSID:也就是无线局域网的名字,不超过 32bit
  • 基本服务区 BSA:指一个基本服务集能够覆盖的地理范围
  • 门户(Portal):可将 802.11 无线局域网接入 802.3 有线以太网

  • 扩展服务集 ESS:将多个 AP 连接到同一个分配系统,组成一个更大服务集
  • 漫游:一个移动站从一个基本服务集切换到另一个基本服务集,仍然可以保持通信

802.11 帧的分类

  • 数据帧
  • 控制帧:如 ACK、RTS、CTS 帧
  • 管理帧:如 探测请求/探测响应帧

802.11 局域网的数据帧格式

记忆口诀:

  1. 30 N 4 首数验,首部 3+1地址
  2. 九十比特表去来,帧的中转靠 AP
  3. 去往 AP 中起止,来自 AP 止中起

重点关注:

地址 1、2、3,地址4 在有固定基站的网络中没啥用

类型:①管理帧 00 ②控制帧 01 ③数据帧 10

子类型:①数据帧 0000 ②RTS 1011 ③CTS 1100 ④ACK 1101

去往来自 AP:01 表示来自 AP ;10 表示去往 AP

注意:在 802.11 无线局域网内,两个移动站之间不能直接通信,必须通过基站(AP)转发

  • 802.11 帧用于无线链路传输,通常是 AP 与移动站之间的传输
  • 在有线链路上通常使用太网帧格式,AP 与 AP 之间、AP 与路由器之间、AP 与以太网交换机之间使用有线链路
  • AP 通常具备“帧格式转换”功能。可以将在无线链路上传输的 802.11 帧格式,与有线链路上传输的以太网帧格式 相互转换

五、广域网

广域网(WAN,Wide Area Network),通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。

广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机系统互连起来达到资源共享的目的。如因特网(Internet是世界范围内最大的广域网。

广域网和局域网的区别和联系

点对点协议 PPP:

点到点协议(Point to Point Protocol,PPP)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。 这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。

只支持全双工链路。

PPP 协议应满足的要求:

  • 简单: 对于链路层的帧,无需纠错,无需序号,无需流量控制。
  • 封装成帧:帧定界符
  • 透明传输:与帧定界符一样比特组合的数据应该如何处理:异步线路用字节填充,同步线路用比特填充。
  • 多种网络层协议:封装的IP 数据报可以采用多种协议。
  • 多种类型链路:串行/并行,同步/异步,电/光…..
  • 差错检测:错就丢弃。
  • 检测连接状态:链路是否正常工作。最大传送单元数据部分最大长度 MTU.
  • 网络层地址协商:知道通信双方的网络层地址。
  • 数据压缩协商

三个组成部分

  1. 一个将IP 数据报封装到串行链路(同步串行/异步串行)的方法。
  2. 链路控制协议 LCP:建立并维护数据链路连接。身份验证
  3. 网络控制协议 NCP:PPP 可支持多种网络层协议,每个不同的网络层协议都要一个相应的NCP 来配置,为网络层协议建立和配置逻辑连接。

状态图

  • 当线路处于静止状态时,不存在物理层连接。
  • 当线路检测到载波信号时,建立物理连接,线路变为建立状态。此时,LCP 开始选项商定,商定成功后就进入身份验证状态,
  • 双发身份验证通过后,进入网络状态。这时,采用NCP配置网络层,配置成功后,进入打开状态,然后就可进行数据传输。
  • 当数据传输完成后,线路转为终止状态。载波停止后则回到静止状态。

  • 以太网交换机

网桥:

  • 工作在数据链路层,可以根据目的 MAC 地址转发帧
  • 两个端口

交换机:

  • 多端口的网桥

以太网交换机具有自学习功能:

交换表:初始为空,会记录 MAC 地址与端口号的映射关系

每收到一个帧,就会将发送方的 MAC 地址与端口号信息更新到交换表中

  • 如果不知道接收方在哪:就把帧广播到除了入口以外的其他端口
  • 如果知道接收方在哪:就把帧精准转发到某个端口的位置

交换表中的每一项都有对应的“有效时间”,过期自动作废

练习:

借助上述图片与 MAC 地址推导以下过程,写出对应的交换机1与交换机2的交换表

①E->A ②C->D ③H->E ④K-B ⑤B->广 ⑥L->B ⑦F->E

交换表1

MAC地址

端口号

E

6

C

3

H

8

K

8

B

2

L

8

F

6

交换表2

MAC地址

端口号

E

1

C

1

H

2

K

5

B

1

L

5

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实战经验:使用 Python 的 PyPDF 进行 PDF 操作

文章目录 1. 为什么选择 PyPDF&#xff1f;2. 安装 PyPDF3. PDF 文件的合并与拆分3.1 合并 PDF 文件3.2 拆分 PDF 文件 4. 提取 PDF 文本5. 修改 PDF 元信息6. PDF 加密与解密6.1 加密 PDF6.2 解密 PDF 7. 页面旋转与裁剪7.1 旋转页面7.2 裁剪页面 8. 实战经验总结 PDF 是一种非…

不重启JVM,替换掉已经加载的类

不重启JVM&#xff0c;替换掉已经加载的类 直接操作字节码 使用ASM框架直接操作class文件&#xff0c;在类中修改代码&#xff0c;然后retransform就可以了 下边是BTrace官方提供的一个简单例子&#xff1a; package com.sun.btrace.samples;import com.sun.btrace.annotati…

Android系统开发(十五):从 60Hz 到 120Hz,多刷新率进化简史

引言 欢迎来到“帧率探索实验室”&#xff01;今天&#xff0c;我们要聊聊 Android 11 中对多种刷新率设备的支持。你可能会问&#xff1a;“这和我写代码有什么关系&#xff1f;”别急&#xff0c;高刷新率不仅仅让屏幕更顺滑&#xff0c;还会直接影响用户体验。想象一下&…

Genetic Prompt Search via Exploiting Language Model Probabilities

题目 利用语言模型概率的遗传提示搜索 论文地址&#xff1a;https://www.ijcai.org/proceedings/2023/0588.pdf 项目地址&#xff1a;https://github.com/zjjhit/gap3 摘要 针对大规模预训练语言模型(PLMs)的即时调优已经显示出显著的潜力&#xff0c;尤其是在诸如fewshot学习…

css动画水球图

由于echarts水球图动画会导致ios卡顿&#xff0c;所以纯css模拟 展示效果 组件 <template><div class"water-box"><div class"water"><div class"progress" :style"{ --newProgress: newProgress % }"><…

接口 V2 完善:基于责任链模式、Canal 监听 Binlog 实现数据库、缓存的库存最终一致性

&#x1f3af; 本文介绍了一种使用Canal监听MySQL Binlog实现数据库与缓存最终一致性的方案。文章首先讲解了如何修改Canal配置以适应订单表和时间段表的变化&#xff0c;然后详细描述了通过责任链模式优化消息处理逻辑的方法&#xff0c;确保能够灵活应对不同数据表的更新需求…

postgresql15的停止

PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统&#xff0c;且因为许可证的灵活&#xff0c;任何人都可以以任何目的免费使用、修改和分发PostgreSQL。介绍过postgresql的启动方法&#xff0c;就很有必要介绍下postgresql的停止方法。 一、停止…

IP协议格式

在传输层中有两个重要的协议&#xff0c;分别为UDP和TCP。UDP追求高效的效率&#xff0c;TCP追求更可靠的传输。但是这两个协议都太极端了&#xff0c;有没有一个协议可以在保证可靠性的同时又不失较高的效率。 针对上面的问题&#xff0c;网络层的IP协议是更好的解决方案。 …

Qt Creator 15.0.0如何更换主题和字体

1.打开Qt Creator 15.0.0 (Community)&#xff0c; 2.点击编辑栏3.点击Preferences... 4.修改主题&#xff0c;点击环境&#xff0c;修改Theme:栏 5.修改字体大小&#xff0c;点击文本编辑器&#xff0c;修改字号栏。&#xff0c;修改Theme:栏

靶机复现-pikachu靶机文件包含漏洞

本篇文章旨在为网络安全渗透测试靶机复现学习。通过阅读本文&#xff0c;读者将能够对渗透pikachu靶场文件包含漏洞复现有一定的了解 原文学习链接 CSDN博主&#xff1a;One_Blanks主页地址 靶机资源下载 PHPStudy pikachu 一、前言 文件包含漏洞是编程中的一种安全隐患&a…

机器学习-线性回归(简单回归、多元回归)

这一篇文章&#xff0c;我们主要来理解一下&#xff0c;什么是线性回归中的简单回归和多元回归&#xff0c;顺便掌握一下特征向量的概念。 一、简单回归 简单回归是线性回归的一种最基本形式&#xff0c;它用于研究**一个自变量&#xff08;输入&#xff09;与一个因变量&…

5.SQLAlchemy对两张有关联关系表查询

问题 例如&#xff0c;一个用户可以有多个收获地址。 定义表如下&#xff1a; 用户表 地址表 一般情况&#xff0c;我们会先查询用户表&#xff0c;拿到用户id后&#xff0c;再到地址表中查询关联的地址数据。这样就要执行两次查询。 仅仅为了方便查询&#xff0c;需要一些属…

【Unity】ScrollViewContent适配问题(Contentsizefilter不刷新、ContentSizeFilter失效问题)

最近做了一个项目&#xff0c;菜单栏读取数据后自动生成&#xff0c;结果用到了双重布局 父物体 尝试了很多方式&#xff0c;也看过很多大佬的文章&#xff0c;后来自己琢磨了一下&#xff0c;当子物体组件自动生成之后&#xff0c;使用以下以下代码效果会好一些&#xff1a; …

springboot基于微信小程序的商城系统

基于Spring Boot的微信小程序商城系统是一种现代化的电商解决方案&#xff0c;它将Spring Boot框架的强大后端能力与微信小程序的便捷前端体验相结合&#xff0c;为商家和用户提供了高效、稳定的在线购物平台。 一、后端框架 &#xff1a;Spring Boot 1. 简介&#xff1a; 2.…

63,【3】buuctf web Upload-Labs-Linux 1

进入靶场 点击pass1 查看提示 既然是上传文件&#xff0c;先构造一句话木马&#xff0c;便于用蚁剑连接 <?php eval($_POST[123])?> 上传木马 文件后缀写为.php.jpg 右键复制图片地址 打开蚁剑连接 先点击测试连接&#xff0c;显示成功后&#xff0c;再点击添加即可 …

【玩转全栈】----基于ModelForm完成用户管理页面

目录 大致效果 添加用户代码 引入ModelForm ModelForm 与一般表单的区别&#xff1a; ModelForm 与传统 Form 的区别&#xff1a; 使用ModelForm制作用户管理 新建用户 编辑用户&#xff1a; 删除数据 完整代码 在学完前面的部门管理案例后&#xff0c;自己独立写出个用户管理应…

AIGC视频生成模型:ByteDance的PixelDance模型

大家好&#xff0c;这里是好评笔记&#xff0c;公主号&#xff1a;Goodnote&#xff0c;专栏文章私信限时Free。本文详细介绍ByteDance的视频生成模型PixelDance&#xff0c;论文于2023年11月发布&#xff0c;模型上线于2024年9月&#xff0c;同时期上线的模型还有Seaweed&…

深入探究 YOLOv5:从优势到模型导出全方位解析

一、引言 在计算机视觉领域&#xff0c;目标检测是一项至关重要的任务&#xff0c;它在自动驾驶、安防监控、工业检测等众多领域都有着广泛的应用。而 YOLO&#xff08;You Only Look Once&#xff09;系列作为目标检测算法中的佼佼者&#xff0c;一直备受关注。其中&#xff…

Qt —— 控件属性

一、概述 控件有很多属性&#xff0c;我们学习和整理常见和常用的几个属性&#xff0c;由于所有的控件基本都是继承Widget类的&#xff0c;所以前面会先拿Widget类和常见的控件进行示范。 Qt Designer左侧一长条就是Qt给我们内置好的控件&#xff1a; 二、enabled 状态属性 …

会议签到系统的架构和实现

会议签到系统的架构和实现 摘要:通过定制安卓会议机开机APP呈现签到界面&#xff0c;并且通过W/B结构采集管理签到信息&#xff0c;实现会议签到的功能。为达到此目标本文将探讨使用Redis提供后台数据支持&#xff1b;使用SocketIo处理适时消息&#xff1b;使用Flask进行原型开…