zoukankan      html  css  js  c++  java
  • 交换机的Access口与Trunk口

    基本概念

    Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口;
    Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;

    处理流程

    Acess端口收报文:收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)

    Acess端口发报文:将报文的VLAN信息剥离,直接发送出去

    trunk端口收报文:  收到一个报文,判断是否有VLAN信息,如果没有则打上端口的PVID,并进行交换转发;如果有判断该trunk端口是否允许该 VLAN的数据进入:如果允许则报文携带原有VLAN标记进行转发,否则丢弃该报文。

    trunk端口发报文:  比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,否则报文将携带原有的VLAN标记进行转发。 

    总结

    1、Access 端口可接受并转发的数据来源:

       1)来自PC的无VLAN信息数据包;

       2)从一个Access口入打上VLAN标记在交换机内转交给相同VLAN的access口去掉标记的无VLAN信息数据包;

       3)Access 端口发送出去的数据包无VLAN信息,可被PC接受或Access口接受。

       示例:

    上图中,pc1不能ping通pc2,因为同一交换机内从pc1进入交换机A的access口的数据包被打上了VLAN10的标记,而和pc2相连的access的是VLAN20,从上面总结的2)条不满足,无法ping通。同理,pc1和pc3也不能ping通。

    上图中,pc2和pc3能互ping通。因为数据包从pc2进入交换机A的access口时,被打上了VLAN20的标记;交换机A与B想连的access口是VLAN20,所以数据包可以从该口发出。发出的时候去掉了VLAN20的标记,到B时,由于没有标记,可以被B的左边的access口接收并打上VLAN10的标记。由于B的右边的access口也属于VLAN10,所以数据包可以从该口出(出的时候去除掉VLAN10的标记,并到达pc3)

    2、Trunk 端口可接受并转发的数据来源:双绞线相连的一对Trunk口或同一交换机上的两个Trunk口可以将数据包(有或无VLAN信息)原封不动的从一端传到另一端。

    1)上图中pc1和pc3可以相通,因为数据包从pc1进入A的access口是打上了VLAN10的标记,A的右边trunk口可以接受数据包,并转发到B的trunk口(无论vid是否等于pvid)。而B的acces属于VLAN10所以pc3能收到数据包。

    2)同理,pc2和pc6相通

  • 相关阅读:
    IE9 bug: 在textarea中复制内容会丢失换行符
    [IIS]修改MaxFieldLength与MaxRequestBytes彻底解决Request Too Long的问题
    百年一遇的奇怪问题:当IE遇上.NET Framework 4.5
    Entity Framework 使用注意:Where查询条件中用到的关联实体不需要Include
    cnzz统计代码引起的Bad Request Request Too Long
    看我72变:解决Entity Framework中枚举类型与tinyint的映射问题
    续篇:新型Lamda版Html.RenderAction
    System.Threading.Tasks.Task引起的IIS应用程序池崩溃
    ASP.NET/C# WebRequest POST Google OAuth API
    ASP.NET MVC中加载WebForms用户控件(.ascx)
  • 原文地址:https://www.cnblogs.com/boshen-hzb/p/9900814.html
Copyright © 2011-2022 走看看