首页 > 其他分享 >关于数据通信知识的补充——第二篇

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

时间:2024-03-16 18:30:39浏览次数:21  
标签:网关 数据通信 知识 MAC 交换机 路由器 第二篇 路由 路由表

目录

四.二层交换机

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)动态路由

标签:网关,数据通信,知识,MAC,交换机,路由器,第二篇,路由,路由表
From: https://blog.csdn.net/m0_71203750/article/details/136688160

相关文章

  • ARM-V8基础知识学习笔记(一)
    参考文章:ARM官方文档ARMv8架构概述、相关技术文档以及ARMv8处理器简介ARMv8架构编程探索ARMv8架构与指令集.学习笔记 ARM异常等级:在ARMv8中,执行发生在四个异常级别之一。在AArch64中,异常级别决定了特权级别,类似于ARMv7中定义的特权级别。异常级别决定特权级别,因此在......
  • ​知识图谱:基于嵌入的模型(TransE 、TransH、TransR和TransD)
    (一)TransE:TranslatingEmbeddingsforModelingMulti-relationalData. AntoineBordes,NicolasUsunier,AlbertoGarcia-Duran,JasonWeston,OksanaYakhnenko.NIPS2013.论文地址:http://papers.nips.cc/paper/5071-translating-embeddings-for-modeling-multi-rela......
  • 数据结构知识总结笔记------第四章:串(2)串的简单模式匹配算法、KMP算法、KMP算法的改进
    1、简单模式匹配算法对一个串中某子串的定位操作称为串的模式匹配,其中待定位的子串称为模式串。算法的基本思想:从主串的第一个位置起和模式串的第一个字符开始比较,如果相等,则继续逐一比较后续字符;否则从主串的第二个字符开始,再重新用上一步的方法与模式串中的字符做比较,以......
  • 在Linux服务器上部署中医知识图谱
    在Linux服务器上部署中医知识图谱配置Java环境在Oracle官网或OpenJDK官网下载JDK17安装包,选择与操作系统及系统架构(32位或64位)相匹配的版本,此处使用Ubuntu系统进行演示。使用以下命令解压JDK安装包:tar-xvfjdk-17_linux-x64_bin.tar.gz这将在当前目录下创建一个名为jdk-1......
  • 任职资格中的一些面试题和知识点
    目录一、计算机数据结构基本概念理解:1.数组基本概念优缺点以及如何改进常用的操作底层实现还有哪些容易问到的问题:关于数组的一些衍生数据结构和算法问题2.链表基本概念:链表的节点是什么?每个节点包含哪些信息?常用操作:链表的底层实现:优缺点:链表与其他数据结构的区别:插......
  • python知识点(1)
    python知识点基础数据类型整形int浮点型float布尔型bool字符型string整形int:int是一种提示没有任何作用是编辑器提供的和解释器无关type()查看变量的数据类型age:float=18print(age,type(age))#输出结果18<class'int'>进制转换37->转换二......
  • 人工智能入门之旅:从基础知识到实战应用(一)
    一、引言人工智能(ArtificialIntelligence,AI)是指利用计算机科学和技术模拟、延伸和扩展人类智能的理论、方法、技术和应用系统的学科。它的目标是使计算机系统具有类似于人类的智能,能够感知环境、学习、推理、规划、解决问题和交流。在当今社会中,人工智能具有极其重要的地......
  • 2007-2021年中国省级知识产权保护指数数据
    2007-2021年中国省级知识产权保护指数数据1、时间:2007-2021年2、范围:31省市3、指标::年份、省份、IPP(知识产权保护指数)4、来源:全国知识产权发展状况报告5、指标解释:知识产权保护,一般是指人类智力劳动产生的智力劳动成果所有权。它是依照各国法律赋予符合条件的著作者、发......
  • 大规模C++程序设计 -- 基础知识
    基础知识我们先回顾C++程序语言和面向对象分析的一些重要的方面,这些知识对于大型系统设计来说是基本的。我们仔细分析多文件程序、声明与定义,以及在头文件和实现文件上下文中的内部链接和外部链接,然后研究typedef和assert的使用。多文件C++程序对于所有的(除了最小的)程序来说,将......
  • 知识点
    treeset和set产生随机数字importjava.util.HashSet;importjava.util.Random;importjava.util.Set;importjava.util.TreeSet;publicclassMain{publicstaticvoidmain(String[]args){Randomrandom=newRandom();//Set<Integer>set=newHashSet<I......