码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • VLAN 通信过程与特性


    目录

    一、VLAN的原理和通信过程

    第一次PC1-》PC2

    PC1-》PC2的APR泛洪

    交换机处理该数据包

    交换机处理该数据包(VLAN)

    PC2接收到数据包处理

    PC2给PC1的ARP回应

    交换机处理该数据包

    二、VLAN的特性

    VLAN的本地化

    三、VLAN的扩展


    一、VLAN的原理和通信过程

    以如下拓扑为例 

    第一次PC1-》PC2

    通过与运算发现目标PC2是192.168.1.2 和自己是同一个网段,直接发起对PC2的ICMP,但是因为不知道1.2的MAC地址,封装失败,所以触发了1.1到1.2的ARP泛洪。

    PC1-》PC2的APR泛洪

    PC1发出:源MAC地址是PC1,目标MAC地址为FFFFFF(广播地址),源IP 1.1 目标IP 1.2 ,内容为:请求1.2的MAC地址的数据包

    交换机处理该数据包

    E0/0/1接收到数据包,解封装,查看其中的源MAC地址,写入对应的CAM表中。(学习过程)

    交换机其实就是学习源MAC地址根据目标MAC地址进行数据转发,但VLAN需要多加一步

    交换机处理该数据包(VLAN)

    给数据包打上一个当前接口所对应的VLAN ID,给这个数据包打上了PVID(接口VLAN ID)

    使用上一篇文章中配置的vlan,让0/0/1接口在vlan10下,0/0/2在vlan20下

    vlan的配置传送门

    Eth 0/0/1接收到的数据包到交换机中会被打上一个PVID 证明该数据包属于VLAN 10

    打上PVID后,再根据目标MAC地址,转发数据包,因为目标MAC地址是FFFFFF,所以应该朝所有接口转发,但需要检查一下,发出接口的PVID和当前接口的PVID是否相同,相同则转发,不同则丢弃

    上面的情况下,两个接口不在同一个广播域下,所以不会转发,PC2收不到广播包,PC1 就ping不通PC2

    如果将2接口变为VLAN10

    PC2接收到数据包处理

    解封装,先看二层,目标地址是全F,可以收

    看第三层,目标IP是我自己,可以继续处理,看到了里面的ARP字段,发现请求自己的MAC地址,准备回应

    回应前,先将PC1的MAC地址直接学习到自己的ARP缓存表中

    PC2给PC1的ARP回应

    源MAC地址是PC2,目标MAC地址是PC1 源IP 1.2 目标IP 1.1,内容为:1.2的MAC地址对应的是PC2

    交换机处理该数据包

    E0/0/2接收到数据包,解封装,查看其中的源MAC地址,写入对应的CAM表中。给该数据包打上一个PVID,根据目标MAC地址进行转发,判断转发接口VLAN ID和数据包的PVID是否相同,相同就转发,不相同就丢弃

    二、VLAN的特性

    VLAN的本地化

    同一台交换机,PVID只在本地生效,离开接口后不属于任何vlan,同时被下一台交换机收到以后,从哪个接口接收的,就会打上哪个接口的PVID

    三、VLAN的扩展

    VTP、本征VLAN、PVLAN、SuperVlan、mux Vlan、Vxlan

  • 相关阅读:
    如何以最快速度将Vue接入在线客服系统?
    基于Android的JavaEE课设
    【项目设计】网络对战五子棋(上)
    【云原生】Docker网络模式详解
    mysql++库connected与ping方法的区别
    【Linux学习笔记】基础命令2
    ubuntu16.04安装PCL
    ros之乌龟做圆周运动and订阅乌龟的位姿信息
    Dataloader有哪些使用方法
    Promise详解:手写Promise底层-实现Promise所有的功能和方法
  • 原文地址:https://blog.csdn.net/qq_40345591/article/details/127821106
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号