首页 > 其他分享 >06 二层交换机转发行为

06 二层交换机转发行为

时间:2023-08-28 19:11:28浏览次数:27  
标签:06 MAC 报文 端口 层交换机 接口 地址 交换机 转发

接入层负责终端的接入,平常在家使用的WiFi是利用胖AP实现的接入层工作,AP是无线的接入层,在有线的环境负责终端接入的是二层交换机,将终端的RJ45口(网口)通过网线和交换机相连就完成终端接入了,无线终端使用手机连接对应的WiFi就实现接入了,本章介绍的有线的接入层设备,以太网二层交换机

以太网二层交换机

在园区网络中,交换机一般来说是距离终端用户最近的设备,用于终端接入园区网,接入层的交换机一般为二层交换机。
二层交换设备工作在TCP/IP对等模型的第二层,即数据链路层,它对数据包的转发是建立在MAC(Media Access Control )地址基础之上的。

交换机的工作原理

在交换机工作时,交换机内部有一张MAC表, MAC地址表中记录着终端和接口的对应关系,终端A需要访问终端B时,根据终端A发送的报文中的目的MAC地址来判断这个报文从哪个接口发出去,如下图MAC地址表格式:

image

交换机的MAC地址表学习

交换机默认MAC地址表为空,二层交换设备通过学习以太网数据帧的源MAC地址来维护MAC地址与接口的对应关系,每个数据报文都会二层封装,只要经过这台交换机的报文都会被记录MAC和接口的信息,从GE0/0/1口收到来自终端A的报文,那么终端A就会和GE0/0/1形成对应关系记录在交换机的MAC地址表

抓包分析学习过程:

拓扑:

配置完PC对应IP后不需要做任何配置

image
查看LSW1的MAC地址表,还没有报文经过LSW1,无法学习到MAC地址和端口的对应关系:

[LSW1]dis mac-address
[LSW1]

使用PC1 ping 192.168.1.5

PC>ping 192.168.1.5
Ping 192.168.1.5: 32 data bytes, Press Ctrl_C to break
From 192.168.1.1: Destination host unreachable
From 192.168.1.1: Destination host unreachable
--- 192.168.1.5 ping statistics ---
2 packet(s) transmitted
0 packet(s) received
100.00% packet loss
PC>

此时查看交换机MAC地址表发现记录PC1的接口的对应关系,PC1的MAC地址5489-987b-2849和GE0/0/1口对应

[LSW1]dis mac-address
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunne1
-------------------------------------------------------------------------------
5489-987b-2849 1 - - GE0/0/1 dynamic 0/-
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 1

使用PC1 ping PC2和PC3再查看交换机MAC地址表

[LSW1]dis mac-address
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
-------------------------------------------------------------------------------
5489-987b-2849 1 - - GE0/0/1 dynamic 0/-
5489-9803-4067 1 - - GE0/0/2 dynamic 0/-
5489-98f2-6389 1 - - GE0/0/3 dynamic 0/-
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 3

PC1 ping PC2和PC3时,第一步查询自己的ARP表格,ARP表默认为空,所以会发送ARP Request报文请求PC2,PC3的MAC地址,ARP Reques 报文在到达LSW1上时,LSW1学习了PC1和接口的对应关系,PC2和PC3的ARP Response到达LSW1后,LSW1学习了PC2和PC3的MAC地址和接口的对应关系,MAC地址表的老化时间为300秒,有新的报文经过时会重置老化时间

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

交换机的工作就是转发数据帧的,交换机对于从传输介质进入莫一端口的帧的处理行为一共有三种:

泛洪:交换机把从某一端口进来的帧通过所有其它的端口转发出去(注意,“所有其它的端口”是指除了这个帧进入交换机的那个端口以外的所有端口)。
转发:交换机把从某一端口进来的帧通过另一个端口转发出去(注意,“另一个端口”不能是这个帧进入交换机的那个端口)。
丢弃:交换机把从某一端口进来的帧直接丢弃。
image

泛洪

交换机将数据帧泛洪有两种情况:
当报文的目的MAC是广播地址,会进行泛洪
未知单播帧,目的终端的MAC地址和接口的映射关系未知,会进行泛洪,这种帧叫未知单播帧

image

转发

当端口接受到一个单播帧,查看MAC地址表后,找到了MAC地址对应的接口,比较这个目的接口是否是接受到报文的接口,不是则根据MAC对应的接口转发

image

丢弃

当端口接受到一个单播帧,查看MAC地址表后,找到了MAC地址对应的接口,比较这个目的接口是否是接受到报文的接口,是的话丢在该报文
image

image

标签:06,MAC,报文,端口,层交换机,接口,地址,交换机,转发
From: https://www.cnblogs.com/Metkey/p/17663177.html

相关文章

  • 标准C++ -- day06
    一、什么是继承当遇到问题时,先查看现有的类是否能解决一部分问题,如果有则继承该类,并在此基础上扩展以此解决问题,从而缩短解决问题的时间(代码复用)当遇到一个大而复杂的问题时,可以把大问题拆分成若干个不同的小问题,然后为每个小问题设计一个类来解决,最后通过继承的方式把这......
  • 20230628 java.sql.DriverManager
    介绍java.sql.DriverManagerpublicclassDriverManager驱动管理器根据API编写的程序都可以与驱动管理器进行通信,而驱动管理器则通过驱动程序与实际的数据库进行通信APIstaticgetConnectionConnectiongetLogWriter,setLogWritergetLoginTimeout,setLoginT......
  • 20230628 java.sql.ResultSet
    介绍java.sql.ResultSetpublicinterfaceResultSetextendsWrapper,AutoCloseable结果集结果集支持滚动,支持更新,默认不开启API常量FetchDirectionFETCH_FORWARD:1000FETCH_REVERSE:1001FETCH_UNKNOWN:1002resultSetTypeTYPE_FORWARD_ONLY:1003结果......
  • 20230628 java.sql.SQLException
    介绍java.sql.SQLExceptionpublicclassSQLExceptionextendsjava.lang.ExceptionimplementsIterable每个SQLException都有一个由多个SQLException对象构成的链有大量的异常子类,按照树结构组织API构造器SQLException()SQLException(Stringreason)SQLExceptio......
  • 20230628 java.sql.Statement
    介绍java.sql.StatementpublicinterfaceStatementextendsWrapper,AutoCloseable语句API常量SUCCESS_NO_INFO:-2EXECUTE_FAILED:-3getMoreResultsCLOSE_CURRENT_RESULT:1KEEP_CURRENT_RESULT:2CLOSE_ALL_RESULTS:3autoGeneratedKeysRETURN_GENE......
  • 20230629 java.sql.CallableStatement
    介绍java.sql.CallableStatementpublicinterfaceCallableStatementextendsPreparedStatementAPIpublicregisterOutParameterwasNullset/getgetArraygetRefsetAsciiStreamsetBigDecimal,getBigDecimalsetBinaryStreamsetBlob,getBlobsetBoolean,getBoo......
  • 20230629 java.sql.DatabaseMetaData
    介绍java.sql.DatabaseMetaDatapublicinterfaceDatabaseMetaDataextendsWrapper数据库的元数据API常量procedureResultUnknown:0procedureNoResult:1procedureReturnsResult:2procedureColumnUnknown:0procedureColumnIn:1procedureColumnInOut:2p......
  • 20230629 java.sql.ParameterMetaData
    介绍java.sql.ParameterMetaDatapublicinterfaceParameterMetaDataextendsWrapper预备语句参数的元数据API常量parameterNoNulls:0parameterNullable:1parameterNullableUnknown:2parameterModeUnknown:0parameterModeIn:1parameterModeInOut:2par......
  • 20230629 java.sql.PreparedStatement
    介绍java.sql.PreparedStatementpublicinterfacePreparedStatementextendsStatement预备语句APIpublicaddBatchclearParametersgetMetaData结果集元数据ResultSetMetaDatagetParameterMetaData预备语句参数的元数据ParameterMetaDataexecutee......
  • 20230629 java.sql.ResultSetMetaData
    介绍java.sql.ResultSetMetaDatapublicinterfaceResultSetMetaDataextendsWrapper结果集的元数据API常量columnNoNulls:0columnNullable:1columnNullableUnknown:2publicgetColumnCount返回当前ResultSet对象中的列数getColumnDisplaySize返......