首页 > 其他分享 >网络入门初学第二期

网络入门初学第二期

时间:2023-12-20 14:01:50浏览次数:34  
标签:arp VLAN 第二期 入门 初学 地址 MAC 交换机 转发

不知不觉就把IA的基础学了个大概,经过上一期的学习,感觉对于网络设备的工作原理还是需要一个简单的总结 下面我们会根据设备内部的工作机制进线学习 首先我们上一期也谈到了交换机的工作原理:接受到数据帧,查看目标MAC,对应的端口转发就ok了 不过上期讲的比较模糊,这期我们就从PC如何把数据帧交给交换机,交换机又如何把数据帧转发出去讲清楚  我们知道在二层数据链路,发送数据帧的时候,交换机是根据mac地址表进行数据帧的转发 那么问题来了,我们交换机,难道说出厂的时候,程序员就已经把我们要传输的mac地址都写入了? 全国各地那么多,MAC地址,这不是得每台交换机都做私人定制了? 人这样子做多累啊,但是我们可以把这件事情交给机器做呀,那不就轻松了。

 所以我们的PC在去发送数据帧的时候,经过交换机,交换机会自己主动学习到MAC地址以及该PC是从哪个端口进来的

 这其实就是交换机在维护MAC地址表的功能之一了

但是我们数据传出去的时候,我们要去地方,可能交换机暂未学习到MAC地址,甚至我们手上也没有目标的MAC地址

这就有点像我们去医院问一个实习护士

你:您好,我牙痛,我该挂哪个科室?

实习护士:我第一天上班,我也不清楚

 

咋办?不看了?

这时候我们就引出了一个AI智能挂号

通过我告诉它,我的牙痛,直接告诉我去挂牙科

提供我的病状,告诉我科室

 我们也称这门技术叫ARP,也就是我们告诉了目标IP,它解析我们要访问的MAC地址

 

ARP工作原理:

 

PC1>arp -a  //查看主机的arp缓存表
PC1>arp -d  //清除arp
PC1>arp -s 192.168.0.200  MAC地址  //静态配置arp
PC工作机制:

 

 

以自己的掩码判断目标IP和自己是否在同一网段,如果在同网段就以目标IP查ARP,构造数据帧;

如果不在同一网段,以网关查ARP构造数据帧。 (实际PC工作机制: 查路由,查ARP,构造数据帧发数据出去) ------------------ 二层交换机工作机制

 接收数据,以源MAC和接收端口刷新MAC地址表;

基于目的MAC对数据帧进行转发(BUM泛洪,单播按MAC地址表转发,出入接口相同丢弃) ------------- 我们上期也有说过,二层交换机隔离了冲突域,但是没办法隔离广播域 我们就要引入vlan技术了,就像是在交换机里面有虚拟出了多个小交换机 每一个交换机从属于一个广播域,所以vlan技术就实现了广播域的隔开

引入VLAN后的二层交换机:

进入交换机3个步骤: 1.识别VLAN 2.判断接口是否允许VLAN通过 (access仅允许pvid;trunk允许列出手工配置;hybrid允许列出手工配置tag+untag) 3.交给对应VALN处理 access

 trunk

 

hybrid的接受数据处理方式和trunk一样 离开交换机2个步骤: 1.判断接口是否允许VLAN通过 (access仅允许pvid;trunk允许列出手工配置;hybrid允许列出手工配置tag+untag) 2.转发是打标签还是不打标签 (access untag;trunk pvid untag转发,其余tag转发;hybrid untag列表untag转发,tag列表tag转发) access

 turnk

 其实hybrid和trunk也差不多,但是hybrid可以控制手动选择哪些vlan需要打标签,哪些不需要

大家会问为什么要打标签?

刚刚说了虚拟成多个小交换机,但是交换机只能做隔离冲突域

为了要使交换机能够分辨不同VLAN的报文 利用VLAN标签中的VID来识别数据帧所属的VLAN,广播帧只在同一VLAN内转发,这就将广播域限制在一个VLAN内

路由器就很简单了,它自己有一个路由表,根据目标ip查询路由表,选择最优路径转发【类似xx地图APP】

 

路由器工作机制: 1.维护路由表(直连、静态、动态) 2.转发报文 (基于报文的目的IP,查找路由表,按照最长掩码匹配原则)  

 三层交换机,顾名思义有三层功能,内置路由模块

三层交换机工作机制:

目标MAC是自己交给内部的路由模块处理,二层解封装,基于三层包头处理 目标MAC地址不是自己,就交给交换模块处理,直接基于二层转发 目标MAC是自己的时候,只有两种情况: 第一、数据帧确确实实想把数据给三层交换机的 第二、数据帧需要把数据发送给不同网段的PC

标签:arp,VLAN,第二期,入门,初学,地址,MAC,交换机,转发
From: https://www.cnblogs.com/com-Jacob/p/17910692.html

相关文章

  • drf入门到精通 day3
    APIView执行流程分析1在路由中:path('books/',views.BookView.as_view()),请求来了#2先看as_view()---->APIView的as_view---》as_view执行结果跟之前一样,去除了csrf认证@classmethoddefas_view(cls,**initkwargs):view=super().as_view(**initkwa......
  • 《Python网络爬虫:从入门到实战》
    ......
  • requests入门
    安装Requestspipinstallrequests发送请求接口:https://api.github.com/events获取接口信息r=requests.get('https://api.github.com/events')之后获取的信息都是从r对象来的其他的请求类型:#post类型r=requests.post('http://httpbin.org/post',data={'key':'......
  • 内核模块(.ko) 开发入门
    内核模块时指的是在操作系统内核中动态加载的一段代码,它可以扩展和增强操作系统的功能。内核模块通常用于为操作系统添加新的设备驱动程序、文件系统、网络协议栈等功能。内核模块是以二进制形式存在的(*.ko),它们被编译为对象文件,并在运行时被加载到操作系统内核中。内核模块与操作......
  • 《初学C语言第33天》
    ////——————————————————————scanf的语法并举例说明////scanf是C语言中的一个标准输入函数,用于获取用户输入的数据,并赋值给变量。////——————基本语法:////scanf(format,variables);////其中,format是格式控制字符串,用于指定输入数据的格式,variable......
  • SpringBoot入门三十四,自定义Springboot Starter
    1.前言SpringBootStarter是一种用于简化SpringBoot应用程序配置的机制。通过自定义Starter,我们可以将一组相关的配置、依赖和自动配置打包成一个可重用的模块,使得其他开发者可以轻松地集成和使用。本篇文章将引导你创建一个简单的自定义SpringBootStarter,并演示如何在应用程序......
  • 鸿蒙开发入门:Stage模型应用程序包结构
    Stage模型应用程序包结构基于Stage模型开发的应用,经编译打包后,其应用程序包结构如下图**应用程序包结构(Stage模型)**所示。开发者需要熟悉应用程序包结构相关的基本概念。在开发态,一个应用包含一个或者多个Module,可以在DevEcoStudio工程中创建一个或者多个Module。Module是HarmonyO......
  • 入门篇-其之十一-流程控制之break和continue关键字
    本文中使用到的工具是IntellijIDEA和JDK8,需要安装两款工具的请查看这两篇教程:点我查看安装JDK8/11/17教程、点我查看安装IntellijIDEA教程。一、循环的嵌套和前面学习if一样,循环也可以相互搭配嵌套,即一个循环内部还包含一个循环。在编写嵌套循环时,三种循环(for、while、do-w......
  • 【SpringBootWeb入门-15】Mybatis-基础操作-增改查操作
    1、章节回顾上一篇文章我们讲解了Mybatis的删除操作,本篇继续学习Mybatis的新增操作:根据员工表字段,新增员工表的数据,新增的字段有:用户名、员工姓名、性别、图像、职位、入职日期、归属部门。2、增删改查操作-新增操作员工表emp新增数据,对应的SQL语句:insertintoemp(username......
  • Unreal入门,开灯,自定义事件
    1.创建一个点光源作为灯新建一个基于Actor的蓝图添加一个StaticMesh作为灯的外观将StaticMesh拖放到DefaultSceneRoot作为根节点添加点光源将地图的平行光调暗将刚创建的灯拖放到地图2.新建一个基于Actor的开关设置一个StaticMesh并拖放到覆盖根节点设置碰撞为......