关于数据通信知识的补充——第二篇

2024-03-17 08:12

本文主要是介绍关于数据通信知识的补充——第二篇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

四.二层交换机

5.实现不同vlan通信的原理

方法一:路由器网关

方法二:单臂路由

方法三:三层交换机

五.三层路由技术

(1)直连路由

(2)静态路由

(3)动态路由


上一篇我们学习了用vlan隔离也可有效优化泛洪,还拉下一个不同vlan间通信的原理,现在我们接着学习。

四.二层交换机

5.实现不同vlan通信的原理

方法一:路由器网关

1.实验配置

配置交换机,vlan 10  20

配置路由器

PC1pingPC2,可以通

2.实验原理

(1)PC1发送数据前需要封装二层头、三层头,此时PC1查询ARP表可以知道源MAC1、源IP1、目的IP,但不知道目的MAC,需要通过ARP请求PC2的MAC地址。(我们之前学到,交换机是靠mac地址转发的)
(2)PC1发送ARP请求,该帧为广播帧,所有端口都会收到


(3)交换机收到该ARP广播帧后,直接进行泛洪,根据VLAN原理,该交换机中只有GO/0/1端口会泛洪给R1的GO/0/1端口;
(4)网关1(GO/0/1)收到该广播帧以后,拆掉二层头发现是请求目的IP2的对应MAC地址;因为网关1(VLAN10)和网关2(VLAN20)同在R1下,所以网关1知道网关2的路由信息,此时网关1会回应ARP请求消息:(就等于说路由器是班主任,有事找网关。)

(5)网关1回应ARP Reply报文,源MAC封装的是网关1的GO/0/1端口MAC地址,即告诉PC1,如果需要访问PC2,封装目的MAC为网关1的接口MAC地址即可,该数据帧为单播帧

(6)PC1收到ARP响应以后,封装数据,目的MAC为GO/0/1端口MAC地址,交换机收到以后,匹配MAC地址表转发给网关1:
(7)路由器(网关1)收到数据以后,发现目的MAC为自己的接口MAC,拆掉二层头,查看三层,发现目的IP为PC2的IP地址,匹配路由表从网关2发出,此时需要重新封装层头:源MAC=网关2的接口MAC、源IP=网关2的接口IP目的MAC=MAC2(网关2与PC2之间也存在ARP请求)目的IP=IP2;
(8)数据发送至交换机,交换机匹配MAC地址表转发给PC2

方法二:单臂路由

与方法一原理是一样的,优点是解决了一个vlan一个链路的问题,在现网中使用广泛。

方法三:三层交换机

在二层交换机中增加路由功能,使二层交换机具备配置三层IP地址、查找IP路由表的能力,此
时,二层交换机就变成了三层交换机。


实际转发原理同方法一。

五.三层路由技术

1.路由器的转发原理

在路由器接受到与自己MAC地址一样的数据,拆掉二层头看目的IP ,查看路由表,如果路由表里有就转发,没有就丢弃(这也是他与交换机不同的地方,路由器是尽力而为,交换机就比较实诚,MAC表里没有就泛洪)

2.路由表里信息是怎么来的

在一个路由器还没有配置的时候

它的路由表里只有缺省的路由信息

(1)直连路由

我们给路由器配置ip地址

R1

环回地址

R2

R3

环回地址

查看R1路由表,有了直连路由的信息

路由器直连地址会根据接口信息自动生成三条路由信息————

1.接口本身的ip地址

2.主机位全为1的广播

3.主机位全为0的网段

(2)静态路由

是管理员手动配置的,不适合大型网络

我们现在这个路由,R1就没有学到R3的ip,就不能ping通,可以手动配置静态路由

  命令格式是ip route-static ip地址  子网掩码   下一跳(就是下一步往哪里走)

现在路由表里有R3的网段了

但还是不通

我们可以抓包看一下(这里要说一下,设备不通不能靠猜,抓包就能找到问题,这就像孕妇要检查需要B超,而不是医生火眼金睛看)

可以看到只有Request,没有回包

看一下R3的路由表

没有PC1的网段不知道回给谁

R3加上静态路由

静态路由还有一种形式——ip route-static ip地址  子网掩码   出接口(就是下一步往哪里走)

这时候路由表里有R1的网段了

但还是不通

那就是R2的问题了

查看路由表

没有PC3,PC1的网段,加上静态路由

ip route-static 192.168.10.0 255.255.255.0 10.0.12.1
ip route-static 192.168.20.0 255.255.255.0 10.0.23.3

有他们的网段了

此时可以ping通

(3)动态路由

这篇关于关于数据通信知识的补充——第二篇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/818363

相关文章

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

【多系统萎缩患者必看】✨维生素补充全攻略,守护你的健康每一天!

亲爱的朋友们,今天我们要聊一个既重要又容易被忽视的话题——‌多系统萎缩患者如何科学补充维生素‌!🌟 在这个快节奏的生活中,健康成为了我们最宝贵的财富,而对于多系统萎缩(MSA)的患者来说,合理的营养补充更是维护身体机能、提升生活质量的关键一步。👇 🌈 为什么多系统萎缩患者需要特别关注维生素? 多系统萎缩是一种罕见且复杂的神经系统疾病,它影响身体的多个系统,包括自主神经、锥体外系、小脑及锥

【Python知识宝库】上下文管理器与with语句:资源管理的优雅方式

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、什么是上下文管理器?二、上下文管理器的实现三、使用内置上下文管理器四、使用`contextlib`模块五、总结 前言 在Python编程中,资源管理是一个重要的主题,尤其是在处理文件、网络连接和数据库

dr 航迹推算 知识介绍

DR(Dead Reckoning)航迹推算是一种在航海、航空、车辆导航等领域中广泛使用的技术,用于估算物体的位置。DR航迹推算主要通过已知的初始位置和运动参数(如速度、方向)来预测物体的当前位置。以下是 DR 航迹推算的详细知识介绍: 1. 基本概念 Dead Reckoning(DR): 定义:通过利用已知的当前位置、速度、方向和时间间隔,计算物体在下一时刻的位置。应用:用于导航和定位,

Vue2电商项目(二) Home模块的开发;(还需要补充js节流和防抖的回顾链接)

文章目录 一、Home模块拆分1. 三级联动组件TypeNav2. 其余组件 二、发送请求的准备工作1. axios的二次封装2. 统一管理接口API----跨域3. nprogress进度条 三、 vuex模块开发四、TypeNav三级联动组件开发1. 动态展示三级联动数据2. 三级联动 动态背景(1)、方式一:CSS样式(2)、方式二:JS 3. 控制二三级数据隐藏与显示--绑定styl

【H2O2|全栈】Markdown | Md 笔记到底如何使用?【前端 · HTML前置知识】

Markdown的一些杂谈 目录 Markdown的一些杂谈 前言 准备工作 认识.Md文件 为什么使用Md? 怎么使用Md? ​编辑 怎么看别人给我的Md文件? Md文件命令 切换模式 粗体、倾斜、下划线、删除线和荧光标记 分级标题 水平线 引用 无序和有序列表 ​编辑 任务清单 插入链接和图片 内嵌代码和代码块 表格 公式 其他 源代码 预

图神经网络(2)预备知识

1. 图的基本概念         对于接触过数据结构和算法的读者来说,图并不是一个陌生的概念。一个图由一些顶点也称为节点和连接这些顶点的边组成。给定一个图G=(V,E),  其 中V={V1,V2,…,Vn}  是一个具有 n 个顶点的集合。 1.1邻接矩阵         我们用邻接矩阵A∈Rn×n表示顶点之间的连接关系。 如果顶点 vi和vj之间有连接,就表示(vi,vj)  组成了

JAVA初级掌握的J2SE知识(二)和Java核心的API

/** 这篇文章送给所有学习java的同学,请大家检验一下自己,不要自满,你们正在学习java的路上,你们要加油,蜕变是个痛苦的过程,忍受过后,才会蜕变! */ Java的核心API是非常庞大的,这给开发者来说带来了很大的方便,经常人有评论,java让程序员变傻。 但是一些内容我认为是必须掌握的,否则不可以熟练运用java,也不会使用就很难办了。 1、java.lang包下的80%以上的类