ISL是思科专用,802.1q是思科和IEEE都可以用的
一个数据包从PC机发出经过ACCESS端口->TRUNK端口
->TRunk->ACCESS->PC
数据包发生了怎么样的变化?
数据包发生了怎么样的变化?
Tag
为IEEE802.1Q协议定义的VLAN的标记在数据帧中的标示; 几个IEEE802.1Q协议的定理 ;
1 、下面是定义的各种端口类型对各种数据帧的处理方法 ;
Tagged数据帧 Tagged数据帧 Untagged数据帧 Untagged数据帧2 、所谓的Untagged Port和tagged Port不是讲述物理端口的状态,而是将是物理端口所拥有的某一个VID的状态,所以一个物理端口可以在某一个VID上是Untagged Port,在另一个VID上是tagged Port;
3 、一个物理端口只能拥有一个PVID,当一个物理端口拥有了一个PVID的时候,必定会拥有和PVID的TAG等同的VID,而且在这个VID上,这个物理端口必定是Untagged Port;
4 、PVID的作用只是在交换机从外部接受到可以接受Untagged 数据帧的时候给数据帧添加TAG标记用的,在交换机内部转发数据的时候PVID不起任何作用;
5 、拥有和TAG标记一致的VID的物理端口,不论是否在这个VID上是Untagged Port或者tagged Port,都可以接受来自交换机内部的标记了这个TAG标记的tagged 数据帧;
6、拥有和TAG标记一致的VID的物理端口,只有在这个VID上是tagged Port,才可以接受来自交换机外部的标记了这个TAG标记的tagged 数据帧;
以下是神州数码对命令的定义(各个厂家对命令的定义可能不一定一致,但是都必须遵循上面的定理):
1、Trunk端口就是在一个物理端口上增加这个交换机所有VLAN的VID标示,并且除了和这个物理端口PVID标示一致的VID标示为Untagged Port外,在其他的VID上都是Tagged Port;
2、Access端口就是指拥有一个和PVID标记相同的VID的物理端口,在这个VID上,遵循定理一定为untagged Port;
在了解了以上的基础理论之后,我们在来看一下楼主的问题:
一个数据包从PC机发出经过ACCESS端口->TRUNK端口->TRunk->ACCESS->PC数据包发生了怎么样的变化?
我们先把上述的描述变换为IEEE802.1Q的标准描述:
一个数据包从PC机发出经过(Untagged 数据帧)
ACCESS端口(PVID定义为100,VID=100=Untagged Port)->
TRUNK端口(PVID定义为1〈出厂配置,没有更改〉,VID=1=Untagged Port,VID=100=tagged Port)->
另一个交换机的TRunk端口(PVID定义为1〈出厂配置,没有更改〉,VID=1=Untagged Port,VID=100=tagged Port)->
另一个交换机的ACCESS端口(PVID定义为100,VID=100=Untagged Port)->
PC数据包发生了怎么样的变化?(Untagged 数据帧)
首先假设两台交换机刚刚开机(MAC地址表为空)从PC机发出的数据帧进入交换机的ACCESS端口以后,会按照这个端口的PVID打100的Tag标记,根据交换机的转发原理,交换机会把这个数据帧转发给VID=100的所有端口(除了进口以外),这个过程叫做VLAN Flood;参照上面的定理1;
由于Trunk端口拥有VID=100,所以才可接受这个标记Tag为100的tagged数据帧;参照上面的定理5;
由于Trunk端口在VID=100上为tagged Port,所以在发送数据帧出交换机的时候,不改变Tagged数据帧的结构;参照上面的定理1;
到了另一个交换机的Trunk端口的时候,由于Trunk端口拥有VID=100,所以才可接受这个标记Tag为100的tagged数据帧;参照上面的定理6;
另一个交换机的Trunk端口,接收到标记tag为100的tagged数据帧,并不作任何的更改;参照上面的定理1;
另一个交换机收到到标记tag为100的tagged数据帧,根据交换机的转发原理,交换机会把这个数据帧转发给VID=100的所有端口(除了进口以外);参照交换机交换原理(受到一个未知目的MAC数据帧);
这样另一个交换机的ACCESS端口就可以收到标记tag为100的tagged数据帧;参照上面的定理5;
另一个交换机的ACCESS端口在发出标记tag为100的tagged数据帧的时候,会去掉TAG标记,转发untagged数据帧给PC;参照上面的定理1;这样PC机就收到了这个数据.
in out in out
Tagged端口原样接收 原样发送 按端口PVID打TAG标记 按照PVID打TAG标记
Untagged端口丢弃 去掉TAG标记 按端口PVID打TAG标记 原样发送
ACCESS 端口,TRUNK端口是厂家对某一种端口的叫法,并非IEEE802.1Q协议的标准定义;
这个数据交换的过程比较复杂,如果想解释的话,首先要了解一下
1 、下面是定义的各种端口类型对各种数据帧的处理方法 ;
Tagged数据帧 Tagged数据帧 Untagged数据帧 Untagged数据帧2 、所谓的Untagged Port和tagged Port不是讲述物理端口的状态,而是将是物理端口所拥有的某一个VID的状态,所以一个物理端口可以在某一个VID上是Untagged Port,在另一个VID上是tagged Port;
3 、一个物理端口只能拥有一个PVID,当一个物理端口拥有了一个PVID的时候,必定会拥有和PVID的TAG等同的VID,而且在这个VID上,这个物理端口必定是Untagged Port;
4 、PVID的作用只是在交换机从外部接受到可以接受Untagged 数据帧的时候给数据帧添加TAG标记用的,在交换机内部转发数据的时候PVID不起任何作用;
5 、拥有和TAG标记一致的VID的物理端口,不论是否在这个VID上是Untagged Port或者tagged Port,都可以接受来自交换机内部的标记了这个TAG标记的tagged 数据帧;
6、拥有和TAG标记一致的VID的物理端口,只有在这个VID上是tagged Port,才可以接受来自交换机外部的标记了这个TAG标记的tagged 数据帧;
以下是神州数码对命令的定义(各个厂家对命令的定义可能不一定一致,但是都必须遵循上面的定理):
1、Trunk端口就是在一个物理端口上增加这个交换机所有VLAN的VID标示,并且除了和这个物理端口PVID标示一致的VID标示为Untagged Port外,在其他的VID上都是Tagged Port;
2、Access端口就是指拥有一个和PVID标记相同的VID的物理端口,在这个VID上,遵循定理一定为untagged Port;
在了解了以上的基础理论之后,我们在来看一下楼主的问题:
一个数据包从PC机发出经过ACCESS端口->TRUNK端口->TRunk->ACCESS->PC数据包发生了怎么样的变化?
我们先把上述的描述变换为IEEE802.1Q的标准描述:
一个数据包从PC机发出经过(Untagged 数据帧)
ACCESS端口(PVID定义为100,VID=100=Untagged Port)->
TRUNK端口(PVID定义为1〈出厂配置,没有更改〉,VID=1=Untagged Port,VID=100=tagged Port)->
另一个交换机的TRunk端口(PVID定义为1〈出厂配置,没有更改〉,VID=1=Untagged Port,VID=100=tagged Port)->
另一个交换机的ACCESS端口(PVID定义为100,VID=100=Untagged Port)->
PC数据包发生了怎么样的变化?(Untagged 数据帧)
首先假设两台交换机刚刚开机(MAC地址表为空)从PC机发出的数据帧进入交换机的ACCESS端口以后,会按照这个端口的PVID打100的Tag标记,根据交换机的转发原理,交换机会把这个数据帧转发给VID=100的所有端口(除了进口以外),这个过程叫做VLAN Flood;参照上面的定理1;
由于Trunk端口拥有VID=100,所以才可接受这个标记Tag为100的tagged数据帧;参照上面的定理5;
由于Trunk端口在VID=100上为tagged Port,所以在发送数据帧出交换机的时候,不改变Tagged数据帧的结构;参照上面的定理1;
到了另一个交换机的Trunk端口的时候,由于Trunk端口拥有VID=100,所以才可接受这个标记Tag为100的tagged数据帧;参照上面的定理6;
另一个交换机的Trunk端口,接收到标记tag为100的tagged数据帧,并不作任何的更改;参照上面的定理1;
另一个交换机收到到标记tag为100的tagged数据帧,根据交换机的转发原理,交换机会把这个数据帧转发给VID=100的所有端口(除了进口以外);参照交换机交换原理(受到一个未知目的MAC数据帧);
这样另一个交换机的ACCESS端口就可以收到标记tag为100的tagged数据帧;参照上面的定理5;
另一个交换机的ACCESS端口在发出标记tag为100的tagged数据帧的时候,会去掉TAG标记,转发untagged数据帧给PC;参照上面的定理1;这样PC机就收到了这个数据.
in out in out
Tagged端口原样接收 原样发送 按端口PVID打TAG标记 按照PVID打TAG标记
Untagged端口丢弃 去掉TAG标记 按端口PVID打TAG标记 原样发送
ACCESS 端口,TRUNK端口是厂家对某一种端口的叫法,并非IEEE802.1Q协议的标准定义;
这个数据交换的过程比较复杂,如果想解释的话,首先要了解一下
ISL
ISL & DISL:思科交换链路内协议和动态 ISL 协议(ISL & DISL:Cisco Inter-Switch Link Protocol and Dynamic ISL Protocol)
交换链路内协议(ISL),是思科私有协议,主要用于维护交换机和路由器间的通信流量等 VLAN 信息。
ISL 标签(Tagging)能与 802.1Q 干线执行相同任务,只是所采用的帧格式不同。ISL 干线(Trunks)是 Cisco 私有,即指两设备间(如交换机)的一条点对点连接线路。在“交换链路内协议”名称中即包含了这层含义。ISL 帧标签采用一种低延迟(Low-Latency)机制为单个物理路径上的多 VLANs 流量提供复用技术。ISL 主要用于实现交换机、路由器以及各节点(如服务器所使用的网络接口卡)之间的连接操作。为支持 ISL 功能特征,每台连接设备都必须采用 ISL 配置。ISL 所配置的路由器支持 VLAN 内通信服务。非 ISL 配置的设备,则用于接收由 ISL 封装的以太帧(Ethernet Frames),通常情况下,非 ISL 配置的设备将这些接收的帧及其大小归因于协议差错。
和 802.1Q 一样,ISL 作用于 OSI 模型第2层。所不同的是,ISL 协议头和协议尾封装了整个第2层的以太帧。正因为此,ISL 被认为是一种能在交换机间传送第2层任何类型的帧或上层协议的独立协议。ISL 所封装的帧可以是令牌环(Token Ring)或快速以太网(Fast Ethernet),它们在发送端和接收端之间维持不变地实现传送。ISL 具有以下特征:
由专用集成电路执行(ASIC:application-specific integrated circuits)
不干涉客户机站;客户机不会看到 ISL 协议头
ISL NICs 为交换机与交换机、路由器与交换机、交换机与服务器等之间的运行提供高效性能。
动态交换链路内协议(DISL),也属于思科协议。它简化了两台相互连接的快速以太网设备上 ISL 干线的创建过程。快速以太信道技术为高性能中枢连接提供了两个全双工快速以太网链路是集中性。由于 DISL 中只允许将一个链路终端配置为干线,所以 DISL 实现了最小化 VLAN 干线。
交换链路内协议(ISL),是思科私有协议,主要用于维护交换机和路由器间的通信流量等 VLAN 信息。
ISL 标签(Tagging)能与 802.1Q 干线执行相同任务,只是所采用的帧格式不同。ISL 干线(Trunks)是 Cisco 私有,即指两设备间(如交换机)的一条点对点连接线路。在“交换链路内协议”名称中即包含了这层含义。ISL 帧标签采用一种低延迟(Low-Latency)机制为单个物理路径上的多 VLANs 流量提供复用技术。ISL 主要用于实现交换机、路由器以及各节点(如服务器所使用的网络接口卡)之间的连接操作。为支持 ISL 功能特征,每台连接设备都必须采用 ISL 配置。ISL 所配置的路由器支持 VLAN 内通信服务。非 ISL 配置的设备,则用于接收由 ISL 封装的以太帧(Ethernet Frames),通常情况下,非 ISL 配置的设备将这些接收的帧及其大小归因于协议差错。
和 802.1Q 一样,ISL 作用于 OSI 模型第2层。所不同的是,ISL 协议头和协议尾封装了整个第2层的以太帧。正因为此,ISL 被认为是一种能在交换机间传送第2层任何类型的帧或上层协议的独立协议。ISL 所封装的帧可以是令牌环(Token Ring)或快速以太网(Fast Ethernet),它们在发送端和接收端之间维持不变地实现传送。ISL 具有以下特征:
由专用集成电路执行(ASIC:application-specific integrated circuits)
不干涉客户机站;客户机不会看到 ISL 协议头
ISL NICs 为交换机与交换机、路由器与交换机、交换机与服务器等之间的运行提供高效性能。
动态交换链路内协议(DISL),也属于思科协议。它简化了两台相互连接的快速以太网设备上 ISL 干线的创建过程。快速以太信道技术为高性能中枢连接提供了两个全双工快速以太网链路是集中性。由于 DISL 中只允许将一个链路终端配置为干线,所以 DISL 实现了最小化 VLAN 干线。
知识点
ISL与802.1Q帧格式
刚和上网朋友讨论了一下关于VLAN中的VTP模式server,client ,transperent三种模式,后面讨论了trunk的封装协议ISL与802.1Q.我想就我们讨论的内容写写自己理解,也算是一种复习与表达。
一。问题:
1,在vtp模式下,client把端口配置到vlan2,这些信息是保存在ram还是nvram中呢?如果是nvram中,那么client重新启动应该还在吧!
2,domain名字和password也保存到nvram中么?
3,802.1q是在原来的是第二层的数据还是第三层的数据呢中插入vlan信息的呢?
如果是第二层数据,第二层的帧本身不是就含有目标地址和源地址的MAC信息么?
2,domain名字和password也保存到nvram中么?
3,802.1q是在原来的是第二层的数据还是第三层的数据呢中插入vlan信息的呢?
如果是第二层数据,第二层的帧本身不是就含有目标地址和源地址的MAC信息么?
解答:
1。lient下vlan的信息是保存在nvram下面,但重起之后VLAN信息会丢失,但可以发送VTP请求信息,与VTP server同步VLAN。接口划分的信息是会被保存在NVRAM里面,还不会随交换机重启而丢失。
2。domain and password会保存在本地交换机上。
3。802.1Q是属于二层协议,它本身还是依靠MAC table转发的,而ISL与802.1q只是在封装形式上有所不同。
二。下面讲讲它们的帧的格式
VLAN标签技术
每一个VLAN标记帧包含指明自身所属VLAN的字段。有两种种主要的VLAN标签格式,思科公司的Inter-Swith Link(ISL)格式和标准的802.1Q 格式。
介绍一下什么时候打标签,当数据帧进入交换机时打上相应VLAN标签,当带有标签的数据帧被转发到别外交换机,找到对应的VLAN,当数据帧离开交换机时标签被移除。
基于802.1Q标准的标签
ISL是思科公司的私有格式,而802.1Q是IEEE的标准格式。802.1Q 标准允许VLAN 标记帧可以在不同厂家的交换机之间传递。802.1Q 标签比ISL 标签包含更少的域,是插入帧而不是放入帧头。
上面就是802.1Q数据帧的格式,因为802.1Q封装是在原有以太网帧上打上TAG,
DA,SA是指目的MAC与源MAC地址
8100 指一个帧是802.1QVLAN数据帧
CFI 指对令牌环网络的支持
VLAN 指对扩展VLAN的支持 1006-4096
802.1Q数据长1522 bytes.
思科ISL
Inter-SwithLink(ISL)格式是思科私有VLAN标签格式。在使用的时候,VLAN标签在每个帧的头部增加26 字节信息,在帧尾部附加4 字节CRC。标签的格式如下:
DA 指ISL封装特有的帧地址,一个多播地址,告诉接收交换机这是一个ISL 数据帧
SA 指交换机接口址址,这个地址并不是交换机设置MAC,而是思科交换机端口标识地址
HSA 因为ISL是思科交换机上才支持,思科OUI地址是 0x00-00-0C
VLAN ISL封装只支持1024个VLAN
ISL帧最大为1548bytes,iSL包头26+1518+4=1548