首页编程trunk口(什么是trunk端口)

trunk口(什么是trunk端口)

编程之家2024-05-1080次浏览

一、什么是trunk端口

TRUNK是端口汇聚的意思,允许交换机与交换机、交换机与路由器、主机与交换机或路由器之间通过两个或多个端口并行连接同时传输以提供更高带宽、更大吞吐量,大幅度提供整个网络能力。VLAN TRUNK一般是你设置了多个VLAN后,想通过一个端口传输多个VLAN,这个后需要把该端口设置为TRUNK了。

trunk口(什么是trunk端口)

在技术领域中把TRUNK翻译为中文是“主干、干线、中继线、长途线”,不过一般不翻译,直接用原文。而且这个词在不同场合也有不同的解释:

1、在网络的分层结构和宽带的合理分配方面,TRUNK被解释为“端口汇聚”,是带宽扩展和链路备份的一个重要途径。TRUNK把多个物理端口捆绑在一起当作一个逻辑端口使用,可以把多组端口的宽带叠加起来使用。TRUNK技术可以实现TRUNK内部多条链路互为备份的功能,即当一条链路出现故障时,不影响其他链路的工作,同时多链路之间还能实现流量均衡,就像我们熟悉的打印机池和MODEM池一样。

2、在电信网络的语音级的线路中,Trunk指“主干网络、电话干线”,即两个交换局或交换机之间的连接电路或信道,它能够在两端之间进行转接,并提供必要的信令和终端设备。

3、但是在最普遍的路由与交换领域,VLAN的端口聚合也有的叫TRUNK,不过大多数都叫TRUNKING,如CISCO公司。所谓的TRUNKING是用来在不同的交换机之间进行连接,以保证在跨越多个交换机上建立的同一个VLAN的成员能够相互通讯。其中交换机之间互联用的端口就称为TRUNK端口。与一般的交换机的级联不同,TRUNKING是基于OSI第二层数据链路层(DataLinkLayer)TRUNKING技术,如果你在2个交换机上分别划分了多个VLAN(VLAN也是基于Layer2的),那么分别在两个交换机上的VLAN10和VLAN20的各自的成员如果要互通,就需要在A交换机上设为VLAN10的端口中取一个和交换机B上设为VLAN10的某个端口作级联连接。VLAN20也是这样。那么如果交换机上划了10个VLAN就需要分别连10条线作级联,端口效率就太低了。当交换机支持TRUNKING的时候,事情就简单了,只需要2个交换机之间有一条级联线,并将对应的端口设置为Trunk,这条线路就可以承载交换机上所有VLAN的信息。这样的话,就算交换机上设了上百个个VLAN也只用1个端口就解决了。

当一个VLAN跨过不同的交换机时,在同一VLAN上但是却是在不同的交换机上的计算机进行通讯时需要使用Trunk。Trunk技术使得一条物理线路可以传送多个VLAN的数据。交换机从属于某一VLAN(例如VLAN 3)的端口接收到数据,在Trunk链路上进行传输前,会加上一个标记,表明该数据是VLAN 3的;到了对方交换机,交换机会把该标记去掉,只发送到属于VLAN 3的端口。

如果是不同台的交换机上相同id的vlan要相互通信,那么可以通过共享的trunk端口就可以实现,如果是同一台上不同id的vlan/不同台不同id的vlan它们之间要相互通信,需要通过第三方的路由来实现。

trunk口(什么是trunk端口)

untag就是普通的ethernet报文,普通PC机的网卡是可以识别这样的报文进行通讯;tag报文结构的变化是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,也就是vlan tag头;一般来说这样的报文普通PC机的网卡是不能识别的下图说明了802.1Q封装tag报文帧结构带802.1Q的帧是在标准以太网帧上插入了4个字节的标识。其中包含:2个字节的协议标识符(TPID),当前置0x8100的固定值,表明该帧带有802.1Q的标记信息。2个字节的标记控制信息(TCI),包含了三个域。Priority域,占3bits,表示报文的优先级,取值0到7,7为最高优先级,0为最低优先级。该域被802.1p采用。规范格式指示符(CFI)域,占1bit,0表示规范格式,应用于以太网;1表示非规范格式,应用于Token Ring。VLAN ID域,占12bit,用于标示VLAN的归属。以太网端口有三种链路类型:Access、Hybrid和Trunk。Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口;Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;Hybrid类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时:Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。

在这里先要向大家阐明端口的缺省VLAN这个概念Access端口只属于1个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置;Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLAN ID。缺省情况下,Hybrid端口和Trunk端口的缺省VLAN为VLAN 1当端口接收到不带VLAN Tag的报文后,则将报文转发到属于缺省VLAN的端口(如果设置了端口的缺省VLAN ID)。当端口发送带有VLAN Tag的报文时,如果该报文的VLAN ID与端口缺省的VLAN ID相同,则系统将去掉报文的VLAN Tag,然后再发送该报文。注:对于华为交换机缺省VLAN被称为“Pvid Vlan”,对于思科交换机缺省VLAN被称为“Native Vlan”交换机接口出入数据处理过程如下:

Acess端口收报文:

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

Acess端口发报文:

将报文的VLAN信息剥离,直接发送出去(所以,Access端口可以实现同一交换机上相同VLAN下的主机通信;也可以实现交换机级连时的缺省VLAN1报文交换,但不能实现VLAN透传。)

trunk口(什么是trunk端口)

trunk端口收报文:

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

trunk端口发报文:

比较将要发送报文的VLAN信息和端口的PVID,如果不相等则直接发送。如果两者相等则剥离VLAN信息,再发送。(所以,将交换机级连口统统设置为Trunk并允许所有VLAN通过后,VLAN2-VLAN4000直接透传,而VLAN1则因为和Trunk缺省PVID相同,需要通过剥离VLAN信息又添加VLAN信息实现了透传。而如果更改Trunk的缺省PVID,则可以实现某一交换机下的VLAN-X和另一交换机下的VLAN-Y通信。)

hybrid端口收报文:

收到一个报文,判断是否有VLAN信息:如果有,则判断该hybrid端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃(此时端口上的untag配置是不用考虑的,untag配置只对发送报文时起作用);如果没有则打上端口的PVID,并进行交换转发。

hybrid端口发报文:

1、判断该VLAN在本端口的属性(disp interface即可看到该端口对哪些VLAN是untag,哪些VLAN是tag)

2、如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送(所以,Hybrid实现了不同VLAN下的主机的通信。)

以下案例可以帮助大家深入理解华为交换机的hybrid端口模式[Switch-Ethernet0/1]int e0/1

[Switch-Ethernet0/1]port link-type hybrid

[Switch-Ethernet0/1]port hybrid pvid vlan 10

[Switch-Ethernet0/1]port hybrid vlan 10 20 untagged[Switch-Ethernet0/1] int e0/2

[Switch-Ethernet0/2]port link-type hybrid

[Switch-Ethernet0/2]port hybrid pvid vlan 20

[Switch-Ethernet0/2]port hybrid vlan 10 20 untagged此时inter e0/1和inter e0/2下的所接的PC是可以互通的,但互通时数据所走的往返vlan是不同的。以下以inter e0/1下的所接的pc1访问inter e0/2下的所接的pc2为例进行说明pc1所发出的数据,由inter0/1所在的pvid vlan10封装vlan10的标记后送入交换机,交换机发现inter e0/2允许vlan 10的数据通过,于是数据被转发到inter e0/2上,由于inter e0/2上vlan 10是untagged的,于是交换机此时去除数据包上vlan10的标记,以普通包的形式发给pc2,此时pc1->p2走的是vlan10再来分析pc2给pc1回包的过程,pc2所发出的数据,由inter0/2所在的pvid vlan20封装vlan20的标记后送入交换机,交换机发现inter e0/1允许vlan 20的数据通过,于是数据被转发到inter e0/1上,由于inter e0/1上vlan 20是untagged的,于是交换机此时去除数据包上vlan20的标记,以普通包的形式发给pc1,此时pc2->pc1走的是vlan20

二、Trunk(端口汇聚)的概念与设置

在二层交换机的性能参数中,常常提到一个重要的指标:TRUNK,许多的二层交换机产品在介绍其性能时,都会提到能够支持TRUNK功能,从而可以为互连的交换机之间提供更好的传输性能。那到底什么是TRUNK呢?使用TRUNK功能到底能给我们带来哪些应用方面的优势?还有在具体的交换机产品中怎样来配置TRUNK。下面我们来了解一下这些方面的知识。

一、什么是TRUNK?>

TRUNK是端口汇聚的意思,就是通过配置软件的设置,将2个或多个物理端口组合在一起成为一条逻辑的路径从而增加在交换机和网络节点之间的带宽,将属于这几个端口的带宽合并,给端口提供一个几倍于独立端口的独享的高带宽。Trunk是一种封装技术,它是一条点到点的链路,链路的两端可以都是交换机,也可以是交换机和路由器,还可以是主机和交换机或路由器。基于端口汇聚(Trunk)功能,允许交换机与交换机、交换机与路由器、主机与交换机或路由器之间通过两个或多个端口并行连接同时传输以提供更高带宽、更大吞吐量,大幅度提供整个网络能力。

一般情况下,在没有使用TRUNK时,大家都知道,百兆以太网的双绞线的这种传输介质特性决定在两个互连的普通10/100交换机的带宽仅为100M,如果是采用的全双工模式的话,则传输的带宽可以达到200M,这样就形成了网络主干和服务器瓶颈。要达到更高的数据传输率,则需要更换传输媒介,使用千兆光纤或升级成为千兆以太网,这样虽能在带宽上能够达到千兆,但成本却非常昂贵(可能连交换机也需要一块换掉),更本不适合低成本的中小企业和学校使用。如果使用TRUNK技术,把四个端口通过捆绑在一起来达到800M带宽,这样可较好的解决了成本和性能的矛盾。

二、TRUNK的具体应用

TRUNK(端口汇聚)是在交换机和网络设备之间比较经济的增加带宽的方法,如服务器、路由器、工作站或其他交换机。这中增加带宽的方法在当单一交换机和节点之间连接不能满足负荷时是比较有效的。

TRUNK的主要功能就是将多个物理端口(一般为2-8个)绑定为一个逻辑的通道,使其工作起来就像一个通道一样。将多个物理链路捆绑在一起后,不但提升了整个网络的带宽,而且数据还可以同时经由被绑定的多个物理链路传输,具有链路冗余的作用,在网络出现故障或其他原因断开其中一条或多条链路时,剩下的链路还可以工作。但在VLAN数据传输中,各个厂家使用不同的技术,例如:思科的产品是使用其VLAN TRUNK技术,其他厂商的产品大多支持802.1q协议打上TAG头,这样就生成了小巨人帧,需要相同端口协议的来识别,小巨人帧由于大小超过了标准以太帧的1518字节限制,普通网卡无法识别,需要有交换机脱TAG。

TRUNK功能比较适合于以下方面具体应用:

1、TRUNK功能用于与服务器相联,给服务器提供独享的高带宽。

2、TRUNK功能用于交换机之间的级联,通过牺牲端口数来给交换机之间的数据交换提供捆绑的高带宽,提高网络速度,突破网络瓶颈,进而大幅提高网络性能。

3、Trunk可以提供负载均衡能力以及系统容错。由于Trunk实时平衡各个交换机端口和服务器接口的流量,一旦某个端口出现故障,它会自动把故障端口从Trunk组中撤消,进而重新分配各个Trunk端口的流量,从而实现系统容错。

三、如何设置TRUNK?

设置TRUNK需要指定一个作为主干的端口,比如2/24,如把某个端口设成Trunk方式,命令如下:

set trunk mod/port [on| off| desirable| auto| nonegotiate] [vlan_range] [isl| dot1q dot10| lane| negotiate]。

该命令可以分成以下4个部分:

mod/port:指定用户想要运行Trunk的那个端口;

Trunk的运行模式,分别有:on| off| desirable| auto| nonegotiate。

要想在快速以太网和千兆以太网上自动识别出Trunk,则必须保证在同一个VTP域内。也可以使用On或Nonegotiate模式来强迫一个端口上起Trunk,无论其是否在同一个VTP域内。

承载的VLAN范围。缺省下是1~1005,可以修改,但必须有TRUNK协议。使用TRUNK时,相邻端口上的协议要一致。

另外在中心交换机上需要把和下面的交换机相连的端口设置成TRUNK,这样下面的交换机中的多个VLAN就能够通过一条链路和中心交换机通信了。

三、设置交换机端口trunk和access的区别

设置交换机端口trunk和access的区别:端口接收数据时不同、端口发送数据时不同

1、端口接收数据时不同:

trunk:如果接收的数据包本身不包含VLAN信息的话,那么该数据包将会加上该缺省VLAN的信息;如果接收的数据包本身已经包含了VLAN信息,那么将不再添加。

access:无论接收的数据包是否已经含有VLAN信息,全部都要加上该缺省VLAN信息。

2、端口发送数据时不同:

trunk:如果发送的数据包所含的VLAN与端口缺省的VLAN相同,那么就会把VLAN信息从该数据包中去掉;如果两者不相同,该数据包将带着原有VLAN信息一起发送出去。

access:无论端口缺省VLAN是否等于输出的数据包中的VLAN,都会将VLAN信息从该数据包中去掉。

扩展资料

tagged和untagged就相当于cisco中的trunk和access。

连接终端用access模式,设备之间连接用trunk模式。把access端口加入到某个VLAN,那么这个端口就只将这个VLAN的数据转发给PC,PC发送的数据通过这个端口后会打上这个VLAN的ID,转发到相同VLAN。

参考资料来源:

百度百科-trunk

百度百科-access

watchdog?watchdog timeoutxp service pack3(什么是servicepack3)