当前位置: 首页 > 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 方法 根据传入的方向…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...