网络互通--三层交换机配置

目录

一、三层交换机的原理

1、概念

2、PC A与不同网段的PC B第一次数据转发过程

3、一次路由,多次转发的概念

4、 三层交换机和路由器的比较

 二、利用实验理解交换机

1、建立以下拓扑图​编辑

2、分别配置主机的IP地址,子网掩码、网关等信息

3、配置二层交换机LSW1

4、配置三层交换机LSW2

5、配置路由器

6、用主机相互ping,看是否全网互通

7、总结


一、三层交换机的原理

1、概念

三层交换机是在二层交换机的基础上,增加了路由选择功能的网络设备,能够基于 ASIC 和 FPGA 实现网络功能和转发分组。

二层交换机能够基于数据链路层的 MAC 地址,进行数据帧或 VLAN 的传输功能。

三层交换机能够基于网络层的 IP 地址,实现路由选择以及分组过滤等功能。

2、PC A与不同网段的PC B第一次数据转发过程

  • 主机A发现主机B不与自己在同一网段,将报文转发给三层交换机。
  • 到达三层交换机,因为是第一次转发,三层交换机的硬件路由表中只有主机A自己的条目,匹配失败,转给CPU处理。
  • 数据包转到CPU后,查询软件路由条目匹配到直连路由,进行数据转发。
  • 主机B 收到主机 A的报文,回复主机A。像主机A第一次访问主机B一样,但此时硬件路由表中已经有主机A的条目,所以可以直接硬件转发。但没有主机B的,所以同时将主机B的信息添加到硬件路由表中。
  • 后续两者再进行通讯时,因为硬件路由表中已经存在两者的条目,所以可以直接硬件转发。

3、一次路由,多次转发的概念

  • 当三层设备接收到一个数据帧,会拆除原数据帧,重新封装新的源MAC地址和目标MAC地址,并且因为帧头部的信息发生变化,最后的帧校验CRC也应当随之改变。
  • 在这个流中的多个数据包,其中只有第一个数据包是由三层交换机的三层引擎来处理的,处理的方式是软件方式,与路由器相同,三层引擎获取了新的2层封装信息后,路由这个数据包。
  • 在第一个数据包转发完成后,在硬件中创建一个MLS条目用于后续的数据包由硬件执行的重新封装和快速转发。2层数据帧会被重新封装为需要转发的下一个网段的帧格式。 这就是MLS“一次路由,多次交换"的原理。
通过三层交换机互连的A 和 B的通信过程:首先A执行以下动作
1、A检查报文的目的IP地址B_ip, 判定B和A是否在同一子网
2、如果是,将报文直接传递给B(将B_ip-->B_mac,交由数据链路层封装成帧,帧的目的地址是B_mac);
3、否则,将报文转发给缺省网关C,即三层交换机(将C_ip-->C_mac,交由数据链路层封装成帧,发送给C_mac)
3.1  当交换机收到这一数据帧的时候:
①  如果目的地址不是自身,依据 MAC地址表对其在第二层上进行转发。

②  如果目的地址是自身,将其中的IP报文提交给第三层交换模块。
检查目的IP地址是否在 IP转发表中,是的话, 硬件会按照转发信息直接转发。否则,则交由 软件处理(CPU)—--- 查路由表,请求ARP做地址转换,在软件转发的同时将转发信息保存到IP转发表中,后续报文只需由硬件转发。即 一次路由,多次 转发

4、 三层交换机和路由器的比较

  • 性能:传统路由器对过往的每个包执行路由功能,靠软件处理,而三层交换机只对少量包执行软件的路由功能,大量的包或者在第二层上、或者在第三层上进行硬件交换性能相差很大。
  • 接口类型:三层交换机的接口基本都是以太网接口,没有路由器接口类型丰富。因此路由器可以用于异种网络互连,而三层交换机则多用于大型局域网内部的子网互连。
  • 路由功能:三层交换机虽有寻找路径功能,但比较弱不支持复杂的路由协议,只能用于网络结构比较简单的情形。而专业路由器则可以用于大型复杂网络。
  • 综上所述,三层交换机重点是交换,强调的是性能;而专业路由器则重点解决互连的复杂性以及准确的控制。

 二、利用实验理解交换机


1、建立以下拓扑图

2、分别配置主机的IP地址,子网掩码、网关等信息

3、配置二层交换机LSW1

4、配置三层交换机LSW2

 

5、配置路由器

6、用主机相互ping,看是否全网互通

7、总结

  • 单臂路由或者三层交换机都可以实现VLAN之间的通信
  • 单臂路由工作原理:   路由器重新封装MAC地址,转换VLANID
  • 三层交换机工作原理:一次路由,多次交换
  • 一次路由:数据流的第一个数据包由三层引擎来处理,重新封装MAc,再路由转发数据包
  • 多次交换:第一个数据包转发后,会在硬件创建一个MSL条目,MSL包含FIB(转发信息库:包含邻接主机IP和vlanid)、邻接关系表(包含邻接主机MAC地址),通过查询FIB和邻接关系表重新封装数据帧,从相应端口转发数据
  • 三层交换机具有路由功能可转发数据,ip地址是配置在虚接口上而不是物理接口上,物理接口对接交换机配置trunk,对接pc机配合access

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

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

相关文章

小白学爬虫:根据商品ID或商品链接获取淘宝商品详情数据接口方法

小白学爬虫的准备工作包括以下几个方面: 学习Python基础知识:首先需要掌握Python编程语言的基本语法和数据类型,了解Python的常用库和模块,例如requests库等。了解HTTP协议和HTML语言:了解HTTP协议的基本概念和原理&a…

【Hadoop_05】NN、2NN以及DataNode的工作机制

1、NameNode和SecondaryNameNode1.1 NN和2NN工作机制1.2 Fsimage和Edits解析1.3 CheckPoint时间设置 2、DataNode2.1 DataNode工作机制2.2 数据完整性2.3 掉线时限参数设置 1、NameNode和SecondaryNameNode 1.1 NN和2NN工作机制 思考:NameNode中的元数据是存储在哪…

CUDA 指定设备的方法,CUDA_VISIBLE_DEVICES 设置当前pytorch程序使用那些GPU设备

在进行pytorch 相关程序开发时,有时需要根据自己的规划使用系统中的多块NVidia GPU 设备,可以通过如下几种方法来指定GPU设备: 当服务器有多个GPU卡时,通过设置 CUDA_VISIBLE_DEVICES环境变量可以改变CUDA程序所能使用的GPU设备&…

ES-组合与聚合

ES组合查询 1 must 满足两个match才会被命中 GET /mergeindex/_search {"query": {"bool": {"must": [{"match": {"name": "liyong"}},{"match_phrase": {"desc": "liyong"}}]}}…

http 返回状态

一、状态1:信息 100 Continue:服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。 101 Switching Protocols :服务器转换协议:服务器将遵从客户的请求转换到另外一种…

消息队列kafka详解:Kafka架构介绍

一. 工作流程 Kafka中消息是以topic进行分类的,Producer生产消息,Consumer消费消息,都是面向topic的。 Topic是逻辑上的改变,Partition是物理上的概念,每个Partition对应着一个log文件,该log文件中存储的就…

C/C++ makefile 支持多目录、多文件批量化模版

最近因工作需要,要尝试徒手撸一份makefile文件,这份模版支持批量化,也不针对某一个C/CPP文件指定规则: # Makefile for building: GuiDemo # by MT 2023-12-12 v1.0 # http://blog.csdn.net/wangningyu CC gcc CFLA…

qt 5.15.2连接postgresql9.4数据库功能

qt 5.15.2连接postgresql9.4数据库功能 执行后显示效果: "QSQLITE" "QODBC" "QODBC3" "QPSQL" "QPSQL7" connected success to postgresql9.4 "admin" "1"注意事项: 连接postgresql9.4…

SpringBoot接入企微机器人

1、企业微信创建机器人(如何创建不懂的请自行百度,很简单的),成功后能获取到一个Webhook地址:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa 2、创建一个SpringBoot项…

Leetcode 37 解数独

题意理解: 填充数独。每个九宫格内,9个数字各出现一个次,每行,每列上,9个数字各出现一次。数独部分空格内已填入了数字,空白格用 . 表示。 这道题要比N皇后问题更难: N皇后只放置N个皇后的位置&…

网络安全Web学习记录———CTF---Web---SQL注入(GET和POST传参)例题

小白初见,若有问题,希望各位大哥多多指正~ 我的第一道web类CTF题——一起来撸猫o(•ェ•)m-CSDN博客 最开始学习CTF里的web方向时,每次做了题遇到类似的老是忘记之前的解法,所以写点东西记录一下。听大哥的话,就从最…

企业微信旧版-新版网络连接错误,无法登录的解决方案

一.企业微微信无法登录故障 二.解决方案 1.网上的解决方案 **检查网络连接:**确保你的计算机正常连接到互联网。尝试打开其他网页,以确保网络连接正常。 **防火墙和安全软件:**某些防火墙或安全软件可能会阻止企业微信的正常连接。请确保你…

2023.12.13 关于 MySQL 复杂查询

目录 聚合查询 聚合函数 group by 子句 执行流程图 联合查询 笛卡尔积 内连接 外连接 左外连接 右外连接 自连接 子查询 单行子查询 多行子查询 EXISTS 关键字 合并查询 union on 和 union 的区别 聚合查询 聚合函数 函数说明COUNT([DISTINCT] expr)返回查询到…

Java 在 hibernate 中 getCurrentSession 和 openSession 的区别是什么?

Java 在 hibernate 中 getCurrentSession 和 openSession 的区别是什么? 在 Hibernate 中,getCurrentSession() 和 openSession() 是两种获取 Hibernate Session 的方法,它们的主要区别在于事务管理和线程关联性。 getCurrentSession()&…

人工智能与星际旅程:技术前沿与未来展望

人工智能与星际旅程:技术前沿与未来展望 一、引言 随着科技的飞速发展,人工智能(AI)在各个领域的应用越来越广泛。在星际旅程领域,AI也发挥着越来越重要的作用。本文将探讨人工智能与星际旅程的结合,以及…

ubuntu学习与Git学习

multirotor the first day ——12.10 install vmware-workstation and ubuntu swap sources and 换输入法 learn git github关联远程仓库 install and use Typora Git codemeaningmkdir test创建目录cd test进入目录git init初始化仓库ls ;ls -ah查看目录tou…

CMakeLists.txt与package.xml依赖项比较

这个是package.xml的依赖项 <license>Apache-2.0</license> <buildtool_depend>ament_cmake</buildtool_depend> <depend>curl</depend> <depend>python3-yaml</depend> <!-- these are needed to build fastrtps --> &…

Linux学习教程(第十二章 Linux系统管理)二

第十二章 Linux系统管理&#xff08;进程管理、工作管理和系统定时任务&#xff09;&#xff08;二&#xff09; 十、Linux 终止进程&#xff08;kill命令&#xff09; Linux kill命令详解&#xff1a;终止进程 kill 从字面来看&#xff0c;就是用来杀死进程的命令&#xff…

[.NET开发者的福音]一个方便易用的在线.NET代码编辑工具.NET Fiddle

前言 今天给大家分享一个方便易用的.NET在线代码编辑工具&#xff0c;能够帮助.NET开发人员快速完成代码编写、测试和分享的需求&#xff08;.NET开发者的福音&#xff09;&#xff1a;.NET Fiddle。 .NET Fiddle介绍 我们可以不用再担心环境与庞大的IDE安装的问题&#xff0…

初识RabbitMq

目录 1.初识MQ1.1.同步调用1.2.异步调用1.3.技术选型 2.RabbitMQ2.1.安装2.2.收发消息2.2.1.交换机2.2.2.队列2.2.3.绑定关系2.2.4.发送消息 2.3.数据隔离2.3.1.用户管理2.3.2.virtual host 1.初识MQ 1.1.同步调用 之前说过&#xff0c;我们现在基于OpenFeign的调用都属于是同…