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

计算机网络-配置双机三层互联(静态路由方式)

目录

    • 交换机工作原理
    • 路由器工作原理
      • 路由信息表组成部分
      • 路由器发决策
    • ARP工作原理
    • 配置双机三层互联(静态路由方式)

交换机工作原理

MAC自学习过程

  1. 初始状态

    • 刚启动的交换机的MAC地址表是空的。
  2. 学习过程

    • 当交换机收到一个数据帧时,会检查该帧的源MAC地址和接收端口
    • 如果该源MAC地址不在MAC地址表中,交换机会将该地址与接收端口的对应关系添加到MAC地址表中。
    • 如果该源MAC地址已经在MAC地址表中,但记录的端口与当前接收端口不同,交换机会更新该MAC地址的端口信息。
  3. 转发过程

    • 交换机会检查数据帧的目的MAC地址。
    • 如果目的MAC地址在MAC地址表中有对应的端口,交换机会将数据帧转发到该端口。
    • 如果目的MAC地址不在MAC地址表中,交换机会将数据帧广播到除接收端口以外的所有端口。

    总结:学习其实就是记录源mac地址和转发端口的映射关系,以便于转发时直接使用这个映射,而不需要广播。

路由器工作原理

路由信息表组成部分

目标网络地址子网掩码下一跳地址出接口跃点数/距离路由类型有效时间/更新时间
192.168.1.0255.255.255.00.0.0.0eth00静态路由-
10.0.0.0255.255.255.010.0.0.1eth11静态路由-
0.0.0.00.0.0.010.0.0.254eth20默认路由-
172.16.0.0255.255.0.0172.16.1.1eth32动态路由(OSPF)10:00:00

路由选择:先找网络号相同的,若有多个,则找最长网络前缀匹配长度的,若匹配长度相同,则再找距离最近的。

路由器发决策

  • 步骤1:检查目标IP地址与路由表匹配

    查找路由表中记录的ip(网络号)和目标ip对应的网络号相同的记录(和子网掩码进行**【与运算】),如有多个表项满足,则在这些记录里面找到最长前最匹配的表项,如果一个都没有,则找到配置的默认路由**表项。

  • 步骤2:确定下一跳和端口

    找到匹配的路由表条目后,路由器确定下一跳路由器的IP地址和和对应的出口接口

注意:如果路由表中没有配置默认路由,而且目标 IP 地址也没有与任何路由表中的条目完全匹配(即网络号完全相同),那么路由器将无法确定如何转发该数据包,可能会向发送端返回 ICMP 错误消息,例如“目标网络不可达”或“目标主机不可达”。

ARP工作原理

ARP(Address Resolution Protocol,地址解析协议)是一种网络协议,用于将IP地址解析为对应的MAC地址。ARP在IPv4网络中非常重要,因为网络设备需要知道目标设备的MAC地址才能在以太网上发送数据帧。

工作流程:

  1. 获取目标IP地址:应用层或网络层协议(如DNS、DHCP等)提供了目标设备的IP地址。

  2. 检查ARP缓存:设备A首先会检查其ARP缓存表,看看是否已有目标IP地址对应的MAC地址。如果没有找到对应条目,设备A需要发出ARP请求。

  3. 发送ARP请求:设备A广播一个ARP请求帧,其中包含发送者的IP地址和MAC地址,以及目标设备的IP地址,目标MAC地址为:FF:FF:FF:FF:FF:FF

    Ethernet Header
    Destination MAC: FF:FF:FF:FF:FF:FF (Broadcast)
    Source MAC: 00:11:22:33:44:55 (Device A's MAC)
    Type: 0x0806 (ARP)ARP Header
    Hardware type: 1 (Ethernet)
    Protocol type: 0x0800 (IP)
    Hardware size: 6
    Protocol size: 4
    Opcode: 1 (ARP Request)
    Sender MAC: 00:11:22:33:44:55 (Device A's MAC)
    Sender IP: 192.168.1.1 (Device A's IP)
    Target MAC: 00:00:00:00:00:00 (Unknown)
    Target IP: 192.168.1.2 (Device B's IP)
    
  4. 接收ARP请求并发送ARP响应:根据ip匹配到最终的设备B,设备B收到ARP请求帧后会创建一个ARP响应帧,其中包含目标设备的IP地址和MAC地址。然后设备B将ARP响应以单播方式发送回设备A。

    Ethernet Header
    Destination MAC: 00:11:22:33:44:55 (Device A's MAC)
    Source MAC: 66:77:88:99:AA:BB (Device B's MAC)
    Type: 0x0806 (ARP)ARP Header
    Hardware type: 1 (Ethernet)
    Protocol type: 0x0800 (IP)
    Hardware size: 6
    Protocol size: 4
    Opcode: 2 (ARP Reply)
    Sender MAC: 66:77:88:99:AA:BB (Device B's MAC)
    Sender IP: 192.168.1.2 (Device B's IP)
    Target MAC: 00:11:22:33:44:55 (Device A's MAC)
    Target IP: 192.168.1.1 (Device A's IP)
    
  5. 更新ARP缓存:设备A接收到ARP响应后,将设备B的IP地址和MAC地址对应关系添加到其ARP缓存表中。ARP缓存表条目有一个过期时间,通常为几分钟,过期后会被删除。

  6. 数据传输:设备A现在知道了设备B的MAC地址,可以在以太网上发送数据帧,帧中包含目标设备B的MAC地址。

配置双机三层互联(静态路由方式)

网络拓扑
在这里插入图片描述

配置IP地址

在 RouterA配置

enable
config t#配置端口1
interface fastethernet 0/0
ip address 192.168.1.254 255.255.255.0
no shutdown#配置端口2
interface fastethernet 0/1
ip address 10.0.1.1 255.0.0.0
no shutdown

在 RouterB 上配置

enable
config t#配置端口1
interface fastethernet 0/0
ip address 192.168.2.254 255.255.255.0
no shutdown#配置端口2
interface fastethernet 0/1
ip address 10.0.2.1 255.0.0.0
no shutdown

配置静态路由

在 RouterA 上配置静态路由到 RouterB:目的ip是192.168.2.0子网内的数据包经过路由器A后会转发到10.0.2.1设备(路由器B)上

#			目的ip	目的ip掩码	下一跳ip
ip route 192.168.2.0 255.255.255.0 10.0.2.1

在这里插入图片描述

在 RouterB 上配置静态路由到 RouterA:目的ip是192.168.1.0子网内的数据包经过路由器B后会转发到10.0.1.1设备(路由器A)上

#			目的ip	目的ip掩码	下一跳ip
ip route 192.168.1.0 255.255.255.0 10.0.1.1

测试结果:
在这里插入图片描述
踩坑:

  • 注意路由信息的设置,下一跳指的是下一个设备入接口的ip地址,而不是当前路由器的出接口ip地址。
  • 执行添加路由信息ip route的指令后,查看show ip route发现没有生效,有可能当前路由器ip和配置的目标ip处于同一个网段的原因,这种情况要么是路由器ip配置错了,要么是目标ip配置错了。
  • 直通线用于连接不同设备,老式的路由器之间不能用直通线(实线)连接,否则会出现爆红无法连接,正确方法是用交叉线(虚线)连接。
    在这里插入图片描述

相关文章:

计算机网络-配置双机三层互联(静态路由方式)

目录 交换机工作原理路由器工作原理路由信息表组成部分路由器发决策 ARP工作原理配置双机三层互联(静态路由方式) 交换机工作原理 MAC自学习过程 初始状态: 刚启动的交换机的MAC地址表是空的。 学习过程: 当交换机收到一个数据帧…...

ES(Elasticsearch)常用的函数有哪些?

【电子书大全】内含上千本顶级编程书籍,是程序员必备的电子书资源包,并且会不断地更新,助你在编程的道路上更上一层楼! 链接: https://pan.baidu.com/s/1yhPJ9LmS_z5TdgIgxs9NvQ?pwdyyds > 提取码: yyds Elasticsearch&#x…...

【计算机网络】ICMP报文实验

一:实验目的 1:掌握ICMP报文的各种类型及其代码。 2:掌握ICMP报文的格式。 3:深入理解TTL的含义(Time to Live,生存时间)。 二:实验仪器设备及软件 硬件:RCMS-C服务器…...

transformers进行学习率调整lr_scheduler(warmup)

一、get_scheduler实现warmup 1、warmup基本思想 Warmup(预热)是深度学习训练中的一种技巧,旨在逐步增加学习率以稳定训练过程,特别是在训练的早期阶段。它主要用于防止在训练初期因学习率过大导致的模型参数剧烈波动或不稳定。…...

智能优化算法之灰狼优化算法(GWO)

智能优化算法是一类基于自然界中生物、物理或社会现象的优化技术。这些算法通过模拟自然界中的一些智能行为,如遗传学、蚁群觅食、粒子群体运动等,来解决复杂的优化问题。智能优化算法广泛应用于各种工程和科学领域,因其具有全局搜索能力、鲁…...

昇思25天学习打卡营第17天|计算机视觉

昇思25天学习打卡营第17天 文章目录 昇思25天学习打卡营第17天ShuffleNet图像分类ShuffleNet网络介绍模型架构Pointwise Group ConvolutionChannel ShuffleShuffleNet模块构建ShuffleNet网络 模型训练和评估训练集准备与加载模型训练模型评估模型预测 打卡记录 ShuffleNet图像分…...

Windows图形界面(GUI)-MFC-C/C++ - 键鼠操作

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 MFC鼠标 派发流程 鼠标消息(客户区) 鼠标消息(非客户) 坐标处理 客户区 非客户 坐标转换 示例代码 MFC键盘 击键消息 虚拟键代码 键状态 MFC鼠标 派发流程 消息捕获&#…...

Angular 18.2.0 的新功能增强和创新

一.Angular 增强功能 Angular 是一个以支持开发强大的 Web 应用程序而闻名的平台,最近发布了 18.2.0 版本。此更新带来了许多新功能和改进,进一步增强了其功能和开发人员体验。在本文中,我们将深入探讨 Angular 18.2.0 为开发人员社区提供的…...

matlab 小数取余 rem 和 mod有 bug

目录 前言Matlab取余函数1 mod 函数1.1 命令行输入1.2 命令行输出 2 rem 函数2.1 命令行输入2.2 命令行输出 分析原因注意 前言 在 Matlab 代码中mod(0.11, 0.1) < 0.01 判断为真&#xff0c;mod(1.11, 0.1) < 0.01判断为假&#xff0c;导致出现意料外的结果。 结果发现…...

Avalonia中的数据模板

文章目录 1. 介绍和概述什么是数据模板:数据模板的用途:2. 定义数据模板在XAML中定义数据模板:在代码中定义数据模板:3. 使用数据模板在控件中使用数据模板:数据模板选择器:定义数据模板选择器:在XAML中使用数据模板选择器:4. 复杂数据模板使用嵌套数据模板:使用模板绑…...

Sqlmap中文使用手册 - Techniques模块参数使用

目录 1. Techniques模块的帮助文档2. 各个参数的介绍2.1 --techniqueTECH2.2 --time-secTIMESEC2.3 --union-colsUCOLS2.4 --union-charUCHAR2.5 --union-fromUFROM2.6 --dns-domainDNS2.7 --second-urlSEC2.8 --second-reqSEC 1. Techniques模块的帮助文档 Techniques:These o…...

科普文:kubernets原理

kubernetes 已经成为容器编排领域的王者&#xff0c;它是基于容器的集群编排引擎&#xff0c;具备扩展集群、滚动升级回滚、弹性伸缩、自动治愈、服务发现等多种特性能力。 本文将带着大家快速了解 kubernetes &#xff0c;了解我们谈论 kubernetes 都是在谈论什么。 一、背…...

GO-学习-02-常量

常量是不变的 const package main import "fmt"func main() {//常量定义时必须赋值const pi 3.1415926const e 2.718//一次声明多个常量const(a 1b 2c "ihan")const(n1 100n2n3)//n2,n3也是100 同时声明多个常量时&#xff0c;如果省略了值则表示和…...

Vue系列面试题

大家好&#xff0c;我是有用就扩散&#xff0c;有用就点赞。 1.Vue中组件间有哪些通信方式&#xff1f; 父子组件通信&#xff1a; &#xff08;1&#xff09;props | $emit &#xff08;接收父组件数据 | 传数据给父组件&#xff09; &#xff08;2&#xff09;ref | $refs&a…...

等级保护 总结2

网络安全等级保护解决方案的主打产品&#xff1a; HiSec Insight安全态势感知系统、 FireHunter6000沙箱、 SecoManager安全控制器、 HiSecEngine USG系列防火墙和HiSecEngine AntiDDoS防御系统。 华为HiSec Insight安全态势感知系统是基于商用大数据平台FusionInsight的A…...

关于Redis(热点数据缓存,分布式锁,缓存安全(穿透,击穿,雪崩));

热点数据缓存: 为了把一些经常访问的数据&#xff0c;放入缓存中以减少对数据库的访问频率。从而减少数据库的压力&#xff0c;提高程序的性能。【内存中存储】成为缓存; 缓存适合存放的数据: 查询频率高且修改频率低 数据安全性低 作为缓存的组件: redis组件 memory组件 e…...

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第四十七章 字符设备和杂项设备总结回顾

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…...

C#初级——枚举

枚举 枚举是一组命名整型常量。 enum 枚举名字 { 常量1, 常量2, …… 常量n }; 枚举的常量是由 , 分隔的列表。并且&#xff0c;在这个整型常量列表中&#xff0c;通常默认第一位枚举符号的值为0&#xff0c;此后的枚举符号的值都比前一位大1。 在将枚举赋值给 int 类型的…...

Linux 动静态库

一、动静态库 1、库的理解 库其实是给我们提供方法的实现&#xff0c;如上面的对于printf函数的实现就是在库中实现的&#xff0c;而这个库也就是c标准库&#xff0c;本质也是文件&#xff0c;也有对应的路径 2、区别 静态库是指编译链接时&#xff0c;把库文件的代码全部加入…...

微信小游戏之 三消(一)

首先设定一下 单个 方块 cell 类&#xff1a; 类定义和属性 init 方法 用于初始化方块&#xff0c;接收游戏实例、数据、宽度、道具类型和位置。 onWarning 方法 设置警告精灵的帧&#xff0c;并播放闪烁动作&#xff0c;用于显示方块的警告状态。 grow 方法 根据传入的方向…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

在 Spring Boot 项目里,MYSQL中json类型字段使用

前言&#xff1a; 因为程序特殊需求导致&#xff0c;需要mysql数据库存储json类型数据&#xff0c;因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

云安全与网络安全:核心区别与协同作用解析

在数字化转型的浪潮中&#xff0c;云安全与网络安全作为信息安全的两大支柱&#xff0c;常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异&#xff0c;并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全&#xff1a;聚焦于保…...