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

目录

    • 交换机工作原理
    • 路由器工作原理
      • 路由信息表组成部分
      • 路由器发决策
    • 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配置错了。
  • 直通线用于连接不同设备,老式的路由器之间不能用直通线(实线)连接,否则会出现爆红无法连接,正确方法是用交叉线(虚线)连接。
    在这里插入图片描述

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

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

相关文章

【.NET】asp.net core 程序重启容器后redis无法连接,连接超时

环境是容器化部署asp.net core 程序当有大量请求打到容器如果此时重启容器会出现,redis无法连接情况。 使用 csredis 库报错: Status unavailable, waiting for recovery. Connect to server timeout 使用StackExchange.Redis 报错: Time…

如何将Python应用容器化到Docker中

将Python应用容器化到Docker中是一个常见且有用的做法,它可以帮助你轻松地在不同的环境中部署和运行你的应用,无需担心环境差异带来的问题。以下是编写Dockerfile以容器化Python应用的基本过程: 1. 准备你的Python应用 首先,确保…

基于深度学习的多智能体系统

基于深度学习的多智能体系统(Multi-Agent Systems, MAS)是指通过多个智能体(agents)之间的协作或竞争来完成复杂任务的系统。这些智能体通过深度学习和强化学习技术进行学习和决策,广泛应用于机器人协作、自动驾驶、分…

一个注解实现分布式锁加锁

目录 一、概述 二、代码的实现 1、引入依赖 2、配置Redisson 3、定义注解 4、添加aop的切面方法 5、 支持 SpEL 表达式 三、代码验证 四、总结 一、概述 在微服务项目的开发进程中,分布式锁的应用场景屡见不鲜。此时,我们需要借助分布式组件来实…

240723基于opencv下图像阈值

文章目录 1.实验环境2.实验目的3.实验代码4.实验结果1.实验环境 python=3.6 opencv=3.4.1 编译器pycharm 2.实验目的 学习数字图像处理中关于阈值处理的几种方式,分析其中的临界值以及他们的区别 3.实验代码 # @File: 15.1简单阈值.py # @Author: chen_song # @Time: 202…

论文阅读——Integrated Diffusive Antenna Array of Low Backscattering

文章目录 摘要一、背景介绍二、天线结构A. 缝隙天线B. 低频扩散单元C. 高频扩散单元D. 集成设计 三、验证总结 论文来源:https://ieeexplore.ieee.org/document/10309141 摘要 文章提出了一种低雷达散射截面(RCS)的扩散天线阵列。 作为示例…

优化PyCharm:让IDE响应速度飞起来

优化PyCharm:让IDE响应速度飞起来 PyCharm,作为一款功能强大的集成开发环境(IDE),在提供丰富功能的同时,有时也会出现响应慢的问题。这不仅影响开发效率,还可能打击开发者的积极性。本文将详细…

Linux内存管理--系列文章八——内存管理架构

一、引子 上篇文章讲述了目前内存的硬件架构,本篇阐述内核中是怎么表示不同架构的物理内存页。 二、平坦内存模型(Flat Memory Model) 在该模型下,物理内存是连续的,所以物理地址也是连续的。这时内核使用struct pa…

STM32嵌入式人工智能边缘计算应用教程

目录 引言环境准备边缘计算系统基础代码实现:实现嵌入式人工智能边缘计算系统 4.1 数据采集模块 4.2 数据处理与推理模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景:边缘计算与优化问题解决方案与优化收尾与总结 1. 引言 嵌入式人工智…

前后端分离项目部署,vue--nagix发布部署,.net--API发布部署。

目录 Nginx免安装部署文件包准备一、vue前端部署1、修改http.js2、npm run build 编译项目3、解压Nginx免安装,修改nginx.conf二、.net后端发布部署1、编辑appsetting.json,配置跨域请求2、配置WebApi,点击发布3、配置文件发布到那个文件夹4、配置发布相关选项5、点击保存,…

Python-numpy基础--------2

1.full()创建函数 目录 1.full()创建函数 2.创建单位矩阵 3.linspace创建 4.logspace 创建 5.二维数组的索引和切片: 1.索引直接获取 在NumPy中,full() 函数用于创建一个给定形状、类型的新数组,并用指定的值填充这个数组。这个函数非…

【vue前端项目实战案例】Vue3仿今日头条App

本文将开发一款仿“今日头条”的新闻App。该案例是基于 Vue3.0 Vue Router webpack TypeScript 等技术栈实现的一款新闻资讯类App,适合有一定Vue框架使用经验的开发者进行学习。 项目源码在文章末尾 1 项目概述 该项目是一款“今日头条”的新闻资讯App&#xf…

go语言day14 bufio包 ioutil包

Golang-100-Days/Day16-20(Go语言基础进阶)/day16_file操作.md at master rubyhan1314/Golang-100-Days GitHub 一、bufio包 读写文件 1) bufio包下的Reader类实现了Read()方法和Write()方法 2)和io包相比,虽然都是在读写文件,…

【Android】性能实践—编码优化与布局优化学习笔记

【Android】性能实践—编码优化与布局优化学习笔记 编码优化 使用场景 如果需要拼接字符串,优先使用StringBuffer和StringBuilder进行凭借,他们的性能优于直接用加号进行拼接,因为使用加号连接符会创建多余的对象一般情况下使用基本数据类…

scrapy生成爬虫数据为excel

scrapy生成爬虫数据为excel 使用openpyxl(推荐)安装openpyxl库建一个新的Item Pipeline类在settings.py中启用ExcelPipeline说明 使用scrapy-xlsx首先,安装scrapy-xlsx:然后在Scrapy爬虫中使用管道:说明 要使用Scrapy生…

Unity扩展SVN命令

可以直接在unity里右键文件提交和查看提交记录 顶部菜单栏上回退和更新整个unity工程 SvnForUnity.CS 记得要放在Editor文件夹下 using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using UnityEditor; using Unity…

Era3D 论文学习

代码地址:https://penghtyx.github.io/Era3D/ 论文地址:https://arxiv.org/abs/2405.11616 解决了什么问题? 尽管多视角内容生成领域取得了显著的进展,但现有的方案仍然面临着相机先验不匹配、效果差、分辨率低等问题&#xff0…

Python 数据爬取理论解读

在信息化时代,数据是最宝贵的资源之一。很多企业和个人都希望能够获取大量的数据来分析趋势、了解市场、预测未来等。Python 作为一门强大的编程语言,其简洁的语法和丰富的库使得数据爬取变得相对容易。本文将从程序员的角度出发,详细探讨 Py…

windows USB 设备驱动开发- 对 MUTT 设备进行 BIOS/UEFI 测试

对 MUTT 设备进行 BIOS/UEFI 测试,BIOS/UEFI 测试验证 USB 启动以及控制器到操作系统的切换。 USB 启动配置 在 USB 2.0 (EHCI) 和 USB 3.0 (xHCI) 控制器上执行这些测试,每种主要 USB 媒体类型 ,USB 2.0 BOT、USB 3.0 BOT 和 USB 3.0 UASP…

Oracle物化视图解析

目录 一、物化视图的优点二、物化视图的缺点三、物化视图的类型四、创建物化视图五、刷新物化视图1、手动刷新2、自动刷新(1)刷新策略(2)定期刷新(3)快速刷新3.1、快速刷新过程3.2、快速刷新的优点3.3、使用…