在二层交换机的性能参数中,常常提到一个重要的指标: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时的注意事项

在一个TRUNK中,数据总是从一个特定的源点到目的点,一条单一的链路被设计去处理广播包或不知目的地的包。在配置TRUNK时,必须遵循下列规则:

1:正确选择TRUNK的端口数目,必须是2,4或8。

2:必须使用同一组中的端口,在交换机上的端口分成了几个组,TRUNK的所有端口必须来自同一组(见下图1所示)。

http://www.yesky.com/image20010518/217250.jpg

3:使用连续的端口;TRUNK上的端口必须连续,如你可以用端口4,5,6和7组合成一个端口汇聚。

4:在一组端口只产生一个TRUNK;如对于安奈特的AT-8224XL以太网交换机有3组,假定没有扩展槽。所以该交换机可以支持3个端口聚合。加上扩展槽可以使得该交换机多支持一个端口汇聚。

5:基于端口号维护接线顺序:在接线时最重要的是两头的连接线必须相同。在一端交换机的最低序号的端口必须和对方最低序号的端口相连接,依次连接。举例来说,假定你从OPF-8224E交换机端口聚合到另一台OPF-8288XL交换机,在OPF-8224E上(见下图2所示)你选择了第二组端口12、13、14、15,在OPF-8288XL上(见下图3所示)你选择了第一组端口5、6、7、8,为了保持连接的顺序,你必须把OPF-8224XL上的端口12和OPF-8288XL上的端口5连接,端口13对端口6,其它如此。

http://www.yesky.com/image20010518/217251.jpg

http://www.yesky.com/image20010518/217253.jpg

6:为TRUNK配置端口参数:在TRUNK上的所有端口自动认为都具有和最低端口号的端口参数相同的配置(比如在VLAN中的成员)。比如如果你用端口4、5、6和7产生了TRUNK,端口4是主端口,它的配置被扩散到其他端口(端口5、6和7)。只要端口已经被配置成了TRUNK,你不能修改端口5、6和7的任何参数,可能会导致和端口4的设置冲突。

7:使用扩展槽:有些扩展槽支持TRUNK。这要看模块上的端口数量。

评论:

Trunk的优点:

1、可以在不同的交换机之间连接多个VLAN,可以将VLAN扩展到整个网络中。

2、Trunk可以捆绑任何相关的端口,也可以随时取消设置,这样提供了很高的灵活性。

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

—————————

要传输多个VLAN的通信,需要用专门的协议封装或者加上标记(tag),以便接收设备能区分数据所属的VLAN。VLAN标识从逻辑上定义了,哪个数据包是它有多种协议,而我们最常用到的是基于:IEEE802.1Q和CISCO专用的协议:ISL。下面我简要的介绍一下这两种协议。

1.交换机间链路(ISL)是一种CISCO专用的协议,用于连接多个交换机。当数据在交换机之间传递时负责保持VLAN信息的协议。在一个ISL干道端口中,所有接收到的数据包被期望使用ISL头部封装,并且所有被传输和发送的包都带有一个ISL头。从一个ISL端口收到的本地帧(non-tagged)被丢弃。它只用在CISCO产品中。

2.IEEE802.1Q正式名称是虚拟桥接局域网标准,用在不同的产家生产的交换机之间。一个IEEE802.1Q干道端口同时支持加标签和未加标签的流量。一个802.1Q干道端口被指派了一个缺省的端口Vlan ID(PVID),并且所有的未加标签的流量在该端口的缺省PVID上传输。一个带有和外出端口的缺省PVID相等的Vlan ID的包发送时不被加标签。所有其他的流量发送是被加上Vlan标签的。

在设置trunk后,trunk 链路不属于任何一个VLAN。trunk链路在交换机之间起着VLAN管道的作用,交换机会将该trunk以外并且和trunk中的端口处于一个vlan中的其它端口的负载自动分配到该trunk中的各个端口。因为同一个vlan中的端口之间会相互转发数据报,而位于trunk中的trunk端口被当作一个端口来看待,如果vlan中的其它非trunk端口的负载不分配到各个trunk端口,则有些数据报可能随机的发往trunk而导致帧顺序混乱。由于trunk口作为1个逻辑端口看待,因此在设置了trunk后,该trunk将自动加入到这些vlan中它的成员端口所属的vlan中,而其成员端口则自动从vlan中删除。

在中TRUNK线路上传输不同的VLAN的数据时,可使用有两种方法识别不同的VLAN的数据:帧过滤和帧标记。帧过滤法根据交换机的过滤表检查帧的详细信息。每一个交换机要维护复杂的过滤表,同时对通过主干的每一个帧进行详细检查,这会增加网络延迟时间。目前在VLAN中这种方法已经不使用了。现在使用的是帧标记法。数据帧在中继线上传输的时候,交换机在帧头的信息中加标记来指定相应的VLAN ID。当帧通过中继以后,去掉标记同时把帧交换到相应的VLAN端口。帧标记法被IEEE选定为标准化的中继机制。它至少有如下三种处理方法:

1) 静态干线配置

静态干线配置最容易理解。干线上每一个交换机都可由程序设定发送及接收使用特定干

线连接协议的帧。在这种设置下,端口通常专用于干线连接,而不能用于连接端节点,至少

不能连接那些不使用干线连接协议( trunking protocol)的端节点。当自动协商机制不能正常工作或不可用时,静态配置是非常有用的,其缺点是必须手工维护。

2) 干线功能通告

交换机可以周期性地发送通告帧,表明它们能够实现某种干线连接功能。例如,交换机

可以通告自己能够支持某种类型的帧标记V L A N,因此按这个交换机通告的帧格式向其发送帧是不会有错的。交换机的功能还止这些,它还可以通告它现在想为哪个V L A N提供干线连接服务。这类干线设置对于一个由端节点和干线混合组成的网段可能会很有用。

3) 干线自动协商

干线也能通过协商过程自动设置。在这种情况下,交换机周期性地发送指示帧,表明它

们希望转到干线连接模式。如果另一端的交换机收到并识别这些帧,并自动进行配置,那么

这两部交换机就会将这些端口设成干线连接模式。这种自动协商通常依赖于两部交换机(在同一网段上)之间已有的链路,并且与这条链路相连的端口要专用于干线连接,这与静态干线设置非常相似。

—————————

runk(干道)是一种封装技术,它是一条点到点的链路,主要功能就是仅通过一条链路就可以连接多个交换机从而扩展已配置的多个VLAN。还可以采用通过Trunk技术和上级交换机级连的方式来扩展端口的数量,可以达到近似堆叠的功能,节省了网络硬件的成本,从而扩展整个网络。

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

lane是什么意思_什么是Trunk?Trunk详解相关推荐

  1. 数学建模_随机森林分类模型详解Python代码

    数学建模_随机森林分类模型详解Python代码 随机森林需要调整的参数有: (1) 决策树的个数 (2) 特征属性的个数 (3) 递归次数(即决策树的深度)''' from numpy import ...

  2. Python中下划线 _ 的最全用法详解

    Python中下划线 _ 的最全用法详解 '_'是什么? _在python中可以作为一个标识符,用于定义变量和方法唯一名称.同时它也是Python中的一个软关键字,指在某些特定上下文中保留的关键字.截 ...

  3. sgd 参数 详解_代码笔记--PC-DARTS代码详解

    DARTS是可微分网络架构搜搜索,PC-DARTS是DARTS的拓展,通过部分通道连接的方法在网络搜索过程中减少计算时间的内存占用.接下来将会结合论文和开源代码来详细介绍PC-DARTS. 1 总体框 ...

  4. python 最小二乘法_最小二乘法及其python实现详解

    最小二乘法Least Square Method,做为分类回归算法的基础,有着悠久的历史(由马里·勒让德于1806年提出).它通过最小化误差的平方和寻找数据的最佳函数匹配.利用最小二乘法可以简便地求得 ...

  5. CSharp(C#)语言_委托和事件区别详解

    委托和事件区别详解 委托和事件的概念 委托 事件 委托和事件的作用 委托 事件 委托和事件的区别 委托和事件的详细解答请看C#系列文章 委托和事件代码实践 委托 事件 总结 委托和事件的概念 委托   ...

  6. python训练手势分类器_使用Pytorch训练分类器详解(附python演练)

    [前言]:你已经了解了如何定义神经网络,计算loss值和网络里权重的更新.现在你也许会想数据怎么样? 目录: 一.数据 二.训练一个图像分类器 使用torchvision加载并且归一化CIFAR10的 ...

  7. SVN中tag branch trunk用法详解

    来源:http://developer.51cto.com/art/201005/201718.htm 本节主要讲解一下SVN中tag branch trunk的用法,在SVN中Branch/tag在 ...

  8. spark算子_十、Spark之详解Action类算子

    常用Action类算子列表 reduce(func): 通过func函数来对RDD中所有元素进行聚合运算,先运算分区内数据,再运算分区间数据. scala> val rdd1 = sc.make ...

  9. 微信红包随机数字_微信随机红包数详解和算法代码

    1 需求 写一个固定红包 + 随机红包 固定红包就是每个红包金额一样,有多少个就发多少个固定红包金额就行. 随机红包的需求是.比如红包总金额5元,需要发10个红包.随机范围是 0.01到0.99:5元 ...

  10. 推荐系统_(一)算法详解

    目录标题 前言 一.常用推荐算法分类 1.基于人口统计学的推荐算法 1.1.用户画像 2.基于内容的推荐算法 2.1.相似度计算 2.2.基于内容推荐系统的高层次结构 2.3.特征工程 2.3.1.数 ...

最新文章

  1. WIN7如何替换开机登录画面
  2. 网络推广离不开关键词的精准挖掘
  3. 【数据挖掘】数据挖掘建模 ( 预测建模 | 描述建模 | 预测模型 | 描述模型 | 判别模型 | 概率模型 | 基于回归的预测模型 )
  4. python+selenium个人学习笔记10-调用JavaScript和截图
  5. Angular jasmine单元测试框架里expect.toHaveBeenCalled的工作原理
  6. Boltzmann Machine 入门(2)
  7. 企业级开源电商系统5vShop商城系统源码v1.9.5
  8. 深度学习《CycleGAN》
  9. php查询sql语句错误,Thinkphp3.2.3在SQL执行错误时查看SQL语句
  10. 深入浅出统计学——笔记(一)1~3章
  11. multisim中pwl_Multisim 14电路设计与仿真
  12. 使用scipy来进行曲线拟合
  13. 【csdn博客文章】导出备份
  14. 停车场车辆出入管理系统的设计与实现
  15. 华为机试真题 Python 实现【不含 101 的数】【2022.11 Q4新题】
  16. 【JAVA进阶篇】时间与日期相关类
  17. 看似不负责任的菩提祖师,却用另外一种方式,造就了孙悟空的人生
  18. 形参与实参的主要区别
  19. linux镜像烧录工具,树莓派操作系统镜像烧录方法指南
  20. [CF765F]Souvenirs

热门文章

  1. catia 版本_KeyShot软件各版本对比详细信息!
  2. php 判断字数,PHP实时统计中文字数和区别
  3. Oracle 表的移动和索引的重建
  4. php ajax传值中文乱码问题,PHP Ajax JSON中文乱码各种问题解决办法
  5. 2. with check option能起什么作用?_【科普】专家教路:面膜护肤到底有什么用?
  6. 【深入理解Java虚拟机学习笔记】第三章 垃圾收集器与内存分配策略
  7. Controller接口控制器(3)
  8. 基于JAVA+SpringMVC+MYSQL的网上订餐系统
  9. 基于JAVA+Servlet+JSP+MYSQL的学生宿舍卫生评分系统
  10. BGP 13条选路规则