首页 > 其他分享 >以太网交换基础

以太网交换基础

时间:2023-03-31 19:13:09浏览次数:31  
标签:交换 表中 基础 MAC 地址 交换机 主机 以太网

以太网协议

以太网不是一种具体的网络,是一种技术规范。以太网是当今现有局域网采用的最通用的通信协议标准。该标准定义了在局域网(LAN)中采用的电缆类型和信号处理方法。以太网络是建立在CSMA/CD(载波监听多路访问/冲突检测)机制上的一种广播型网络。CSMA/CD的工作原理可简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发。

以太网协议定义了数据帧在以太网上的传输标准,了解以太网协议是充分理解数据链路层通信的基础。

以太网帧

以太帧格式:

以太网技术所使用的帧称为以太网帧,简称以太帧,以太帧有两种格式:IEEE802.3和Ethernet_Ⅱ

以太帧类型:
  1. 单播以太帧(目的mac地址为单播mac地址)
  2. 广播以太帧(目的mac地址为广播mac地址)
  3. 组播以太帧(目的mac地址为组播mac地址第一字节第8bit为1)
补充:MAC地址

MAC地址的作用是唯一标识一个网卡,可以通过MAC地址进行同网段的数据访问(不同网段使用IP地址)。MAC地址长48bit,通常采用16进制表示。前24bit为OUI(厂商代码),由IEEE分配给生产商,用以表示哪个厂家生产,后24bit由厂家自行分配。
MAC地址分为三类:

  1. 单播MAC地址:也称物理MAC地址,唯一的标识以太网上的一个终端,该地址为全球唯一的硬件地址,其第一字节第8bit为0。
  2. 广播MAC地址:全1的MAC地址(FF-FF-FF-FF-FF-FF),用来表示局域网上的所有终端设备。
  3. 组播MAC地址:除广播地址外,第8bit为1的MAC地址为组播MAC地址,用来代表局域网上的一组终端,不能作为源地址,只能作为目的地址。

以太网交换机

二层交换机一般用于接入层,工作在数据链路层,它对数据包的转发是建立在MAC地址基础之上。此外还有三层交换机,在此不做叙述,以下皆针对二层交换机

MAC地址表

每台交换机中都有一个MAC地址表,存放了MAC地址与交换机端口之间的映射关系。交换机在转发数据帧时,根据数据帧的目的MAC地址查询MAC地址表。如果MAC地址表中包含与该帧目的MAC地址对应的表项,则直接通过该表项中的出接口转发该报文;如果MAC地址表中没有包含该帧目的MAC地址对应的表项时,交换机将采取泛洪方式在除接收接口外的所有接口发送该报文。

交换机的三种数据帧处理行为

泛洪:交换机把从某一端口进来的帧通过所有其它的端口转发出去(两种情况:1、单播帧,交换机在MAC地址表中找不到目的MAC地址。----未知单播帧2、广播帧)注意与目的MAC地址未知,需查询arp缓存表的情况相区分
转发:交换机把从某一端口进来的帧通过另一个端口转发出去(单播帧:找到目的MAC地址,且对应端口不是该帧进入交换机的端口)
丢弃:交换机把从某一端口进来的帧直接丢弃(单播帧:找到目的MAC地址,但对应端口是该帧进入交换机的端口)

交换机的MAC地址学习

初始状态下,交换机MAC地址表为空,主机1想经由交换机转发数据帧到主机2.

  1. 主机1封装好自己的数据帧,交换机收到后查询MAC地址表,发现没有对应项,将该数据帧定义为未知单播帧。
  2. 交换机对该数据帧泛洪,与此同时,学习该数据帧的源MAC地址,与接收端口关联,在MAC地址表中建立对应表项。
  3. 广播域中的所有主机均会收到该数据帧,但只有主机2会响应,主机2回复单播数据帧给主机1。
  4. 由于MAC地址表中具备主机1的表项,交换机对来自主机2的数据帧执行转发,与此同时,学习主机2数据帧的源MAC地址,与接收端口关联,在MAC地址表中建立对应表项。

至此,MAC地址表学习完毕。

交换机的工作原理

交换机的基本作用就是用来转发数据帧,具体地说,在收到数据帧后,交换机学习帧的源MAC地址,关联对应端口,在MAC地址表中建立对应表项,与此同时,在MAC地址表中查询该帧的目的MAC地址,并将帧从对应的端口转发出去。

情景模拟

主机1希望访问主机2,arp缓存表、MAC地址表皆为空,主机1、2只知道本机MAC地址,双方IP地址,双方处于同一网段。

  1. 主机1进行报文封装,由于目的MAC地址未知,故查询本机arp缓存表,发现不存在目标IP对应的MAC信息,发送arp请求报文(广播形式,目的MAC地址全为1),请求目标MAC地址。
  2. 交换机收到后发现是广播数据帧,泛洪处理,同时学习源MAC地址记入本机MAC地址表中。
  3. 主机2收到arp请求报文后向主机1发送arp响应报文(单播),回复主机1,同时在arp缓存表中记录主机1MAC地址和IP地址的映射关系。
  4. 交换机在MAC地址表中查询到相应表项,将arp响应报文转发给主机1,同时学习主机2MAC地址。
  5. 主机1收到arp响应报文后,同样将对应的MAC地址和IP地址记录进arp缓存表中,并封装好自己的报文,发送给主机2

标签:交换,表中,基础,MAC,地址,交换机,主机,以太网
From: https://www.cnblogs.com/justicevil/p/17277044.html

相关文章

  • 后端基础——rom,ram,memory compiler
    一,memory基础1,导览Memory用来存储和读写的大量的二进制数据。按功能上分类,基本可以分为两大类:只读存储器(ROM)和随机存取存储器(RAM)。ROM只能读,不能写;RAM既能读又能写。RAM具有易失性。断电以后,RAM中保存的数据将全部丢失;而ROM中的数据则可以长久保存。RAM可以分为常用的SRAM和DRA......
  • C#第二课基础语法
    2.1C#程序结构2.1.1C#程序的组成要素1.关键字在C#代码中常常使用关键字,关键字也叫保留字,是对C#有特定意义的字符串。关键字在VisualStudio环境的代码视图中默认以蓝色显示。例如,代码中的using、namespace、class、static、void等,均为C#的关键字。2.命......
  • 【python基础】python字典根据值查询键
    前言 测试>>>tfl_label={'circle_green':0,'circle_red':1,'circle_yellow':2,'left_green':3,'left_red':4,'left_yellow':5,'nomotor_green':6,'nomotor_red':7,......
  • 工业交换机如何运维?
    什么是工业交换机?工业交换机又叫工业以太网交换机,是一种针对普通交换机改良后的特殊类型。工业交换机是一种应用于工业控制领域的以太网交换机设备,它专门为满足灵活多变的工业应用需求而设计。与普通交换机不同的是,工业交换机具有电信级的性能特征,可以承受严苛的工作环境。大型......
  • flutter基础2
    1.有状态组件StatefulWidgetimport'package:flutter/material.dart';voidmain(){runApp(constMyApp());}classMyAppextendsStatelessWidget{constMyApp({super.key});@overrideWidgetbuild(BuildContextcontext){returnMaterialAp......
  • ts - 基础
    ts-基础TypeScript中文网·TypeScript——JavaScript的超集what超集、扩展扩展功能类型批注和编译时类型检查类型推断类型擦除接口枚举Mixin泛型编程名字空间元组类型声明变量var/let/const变量名[:类型][=值];类型推断当类型没有给出时,TypeScript......
  • 企业实践 | 国产操作系统之光? 银河麒麟KylinOS-V10(SP3)高级服务器操作系统基础安装
    [点击......
  • Mysql之SQL语句基础1
    一、基本概念——后续的内容将会记录作者在计科学习内容DB(数据库):存储数据的仓库,数据是有组织进行存储DBMS(数据库管理系统):操纵和管理数据库的大型软件SQL:操纵关系数据库的编程语言,是一套标准有Mysql,Oracle,SQLSever,PostgreSQlRDBMS(关系型......
  • 机器学习基础09DAY
    分类算法之逻辑回归逻辑回归(LogisticRegression),简称LR。它的特点是能够是我们的特征输入集合转化为0和1这两类的概率。一般来说,回归不用在分类问题上,因为回归是连续型模型,而且受噪声影响比较大。如果非要应用进入,可以使用逻辑回归。了解过线性回归之后再来看逻辑回归可以更好的......
  • 数据库基础知识
    一、DB/DBSM/DBS1.数据库DataBase(DB)是信息的集合;或是由DBSM管理的数据的集合2.数据库管理系统DatabaseManagementSystem(DBSM)是一种操纵和管理DB的大型软件,通常用于建立、使用、维护DB3.数据库系统DataBaseSystem(DBS)通常由软件、DB和数据管理员组成......