实现前后端数据键名不一致,数据交换

实现前后端键名不一致的数据交换

//后台数据的模拟:
    let dataList = [
        {id: '1', name: '小狗', age: 5},
        {id: '2', name: '小羊', age: 8},
        {id: '3', name: '小猪', age: 10},
        {id: '4', name: '小牛', age: 12}
    ];
    //前台数据的模拟:
    let myList = [
        {myId: '1001', age: 18, myName: '张三'},
        {myId: '1001', age: 18, myName: '李四'}
    ];
    //数据中,数据的属性名称不同。

    //1.声明两个数组: 要求两个数组中的属性,一一对应;
    let myArr = ['myId', 'age', 'myName'];
    let dataArr = ['id', 'age', 'name'];
    // 2.调用适配函数,进行数据的转换;
    // console.log('没有转换的前台的数据:',myList);
    let data = myDataAdaptor(myList, dataList, myArr, dataArr);
    // console.log('转换后的前台的数据:',data);
    // 3. 自己页面逻辑中,如渲染一个table。

//封装的适配函数:
    function myDataAdaptor(myList, dataList, myArr, dataArr) {
        let newList = [];  //存储函数转换后的数据
//每循环一次,把后台数组中,一个对象中的指定的属性的值,赋值给前台模拟数据中对象指定的属性。
        for (let i = 0; i < dataList.length; i++) {
            let tempObj = dataList[i]; //后台返回的某一条数据,{id: '1', name: '肖李四', age: 28};
            let newObj = {};//一定是一个新的空对象。
            let j = 0;
            //for--in循环完成后,就把后台的一个对象的数据,变成前台的对象数据
            for (let key in tempObj) {
                // myArr[j] 去换 myArr数组中的值; j是0时, 'myId'
                // dataArr[j] 去换 dataArr数组中的值;j是0时, 'id'
                // 这儿实现对象数据的转换;
                newObj[   myArr[j]  ] = tempObj[  dataArr[j]  ]
                // newObj[  'myId' ] = tempObj[  'id'  ]
                // newObj.myId = 1;
/*
                 拿对象中的属性名:
                let q = myArr[j];  //'myId', 'age', 'myName'
                let h = dataArr[j];// 'id', 'age', 'name'
                newObj[q] = tempObj[h]
                j=0  newObj['myId'] = tempObj['id']
                j=1  newObj['age'] = tempObj['age']
                j=2  newObj['myName'] = tempObj['name']
*/
                j++;
            }
            newList.push(newObj)
        }
        return newList;
    }


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
今年9月份参加计算机二级考试的同学请转载 作者:天使~之戀 已被分享1次 评论(0) 复制链接 分享 转载 删除 下面的138道题目,在二级考试中命中率极高。 一、选择题 (1) 下面叙述正确的是(C) A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句)的条数 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D. 以上三种描述都不对 (2) 以下数据结构中不属于线性数据结构的是(C) A. 队列 B. 线性表 C. 二叉树 D. 栈 (3) 在一棵二叉树上第5层的结点数最多是(B) 注:由公式2k-1得 A. 8 B. 16 C. 32 D. 15 (4) 下面描述中,符合结构化程序设计风格的是(A) A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B. 模块只有一个入口,可以有多个出口 C. 注重提高程序的执行效率 D. 不使用goto语句 (5) 下面概念中,不属于面向对象方法的是 (D) 注:P55-58 A. 对象 B. 继承 C. 类 D. 过程调用 (6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B) A. 可行性分析 B. 需求分析 C. 详细设计 D. 程序编码 (7) 在软件开发中,下面任务不属于设计阶段的是(D) A. 数据结构设计 B. 给出系统模块结构 C. 定义模块算法 D. 定义需求并建立系统模型 (8) 数据库系统的核心是(B) A. 数据模型 B. 数据库管理系统 C. 软件工具 D. 数据库 (9) 下列叙述中正确的是(C) A.数据库是一个独立的系统,不需要操作系统的支持 B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统中,数据的物理结构必须与逻辑结构一致 (10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A) 注:P108 A. 内模式 B. 外模式 C. 概念模式 D. 逻辑模式 (11) 算法的时间复杂度是指(C) A. 执行算法程序所需要的时间 B. 算法程序的长度 C. 算法执行过程中所需要的基本运算次数 D. 算法程序中的指令条数 (12) 算法的空间复杂度是指(D) A. 算法程序的长度 B. 算法程序中的指令条数 C. 算法程序所占的存储空间 D. 算法执行过程中所需要的存储空间 (13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出 A. 349 B. 350 C. 255 D. 351 (14) 结构化程序设计主要强调的是(B) A.程序的规模 B.程序的易读性 C.程序的执行效率 D.程序的可移植性 (15) 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D) 注:即第一个阶段 A. 概要设计 B. 详细设计 C. 可行性分析 D. 需求分析 (16) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(A) 注:P67 A. 控制流 B. 加工 C. 数据存储 D. 源和潭 (17) 软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B) 注:P66 A. 阶段性报告 B. 需求评审 C. 总结 D. 都不正确 (18) 下述关于数据库系统的叙述中正确的是(A) A. 数据库系统减少了数据冗余 B. 数据库系统避免了一切冗余 C. 数据库系统中数据一致性是指数据类型的一致 D. 数据库系统比文件系统能管理更多的数据 (19) 关系表中的每一横行称为一个(A) A. 元组 B. 字段 C. 属性 D. 码 (20) 数据库设计包括两个方面的设计内容,它们是(A) A. 概念设计和逻辑设计 B. 模式设计和内模式设计 C. 内模式设计和物理设计 D. 结构特性设计和行为特性设计 (21) 下列叙述中正确的是(A) A. 线性表是线性结构 B. 栈与队列是非线性结构 C. 线性链表是非线性结构 D. 二叉树是线性结构 (22) 下列关于栈的叙述中正确的是(D) A. 在栈中只能插入数据 B. 在栈中只能删除数据 C. 栈是先进先出的线性表 D. 栈是先进后出的线性表 (23) 下列关于队列的叙述中正确的是(C) A. 在队列中只能插入数据 B. 在队列中只能删除数据 C. 队列是先进先出的线性表 D. 队列是先进后出的线性表 (24) 对建立良好的程序设计风格,下面描述正确的是(A) 注:P48 A. 程序应简单、清晰、可读性好 B. 符号名的命名要符合语法 C. 充
通用说明 1. 适用机构:在境内依法设立的银行机构,包括政策性银行、大型商业银行、股份制商业银行、城市商业银行、民营银行、农村信用社、农村商业银行、农村合作银行、村镇银行、外资银行、中德住房储蓄银行。 2. 数据结构:《中国银保监会银行业金融机构监管数据标准化规范(2019版)》(以下简称《规范》)共包括十个监管主题域、66张数据表、1852个数据项。数据表报送范围及数据项在《规范》中均有说明。 3. 数据来源:银行机构根据《规范》要求报送除理财业务域以外的九个监管主题域,从行内相关信息系统中获取数据,其中信息系统包括但不限于以下系统:核心业务系统、信贷系统、国结系统、票据系统、人力资源等。理财登记中心根据《规范》要求,向银保监会报送采集范围内的数据。各报数单位现有信息系统无法满足数据填报需求时,应及时采取措施,完善信息系统建设,并制定具体工作方案计划,以逐步达到数据报送要求。 4. 数据采集:银行机构首次按本《规范》集中报送数据时,公共信息、客户信息、信贷管理等相关数据表报送采集时间段内存续数据,账户类及交易明细类数据报送时间段内的全量数据。银行机构持续报数时,公共信息、客户信息相关数据表报送采集时间段内存续全量数据。理财登记中心按照理财业务相关数据表的采集要求报送数据。报送账户、借据全量数据时,采集时间段内结清、未结清,销户、未销户都应上报。 5.数据校验:银行机构按照数据检核规则报送数据。首次集中报送时,银行机构按照数据检核规则完成对报送数据的整改工作。持续报送时,银行机构应在一个报送周期内完成对不符合校验规则数据的整改和入库。 6.数据分层存储:所有采集数据分层存储在银保监会(或其派出机构)和报数机构。每批次数据采集时,报数机构将全部数据存至本机构存储平台,并按照《规范》要求,将其中部分数据报送至银保监会(或其派出机构)。存至本机构的数据要单独存放、隔离管理,并建立安全可靠的传输通道和保障机制,支撑银保监会数据调阅与应用。存储平台中的数据,未经银保监会许可,不得导出、拷贝和删改。 7. 关联数据项:不同表存在数据项名称、填报内容定义相同的数据项时,应保证所填数据在这些表格中一致。例如:不同表的客户统一编号、工号、合同号应保持表间一致。“备注”栏所列“关联数据项”意为表之间数据项存在相关关系,用于指导银行机构填报存在相关关系的数据及监管查找关联数据之用。 8. 银行自定义数据项:由于银行机构业务和信息系统的差异性,规范中一些数据数据项填报要求注明由银行自定义,此类数据数据项报送应注意使用中文字典或中文描述,避免使用英文或代码表示。对于《规范》中已经列出数据项值的数据项,严格依照标准中已有的分类上报。 9. 敏感信息处理:对于客户隐私均在备注栏内做了注解,分为“隐私,暂不取”、“隐私,银行机构变形”两种情况。对于“隐私,暂不取”数据项,保留在银行机构,作为可追索数据项;对于“隐私,银行机构变形”数据项,按照以下规则进行变形: (1)个人件号码: 若件号码中有英文字母,应先统一转换成大写英文字母; 变形后的件号码(38字节) = 件号码前6字节(6个英文字符/数字,或2个汉字,或1个汉字+3个英文字符/数字) + MD5(件号码全文UTF-8编码)(32字符,英文按小写输出),若件号码为空,则按空值报送。 例: 18位公民身份号码:33010219801212031X,变形后: 33010268162287691742b48cbc3ae8b70650a7 15位公民身份号码:330102801212031,变形后: 330102b88ce0d0e99298c224409414db399920 军官证/武警部队警官证:参字第1234567号,变形后: 参字3d0b11c17f6130dbd8502a416a7935ef 护照:E12345678,变形后:E12345d02f3cf86bb402a904f98df6373eb1ac (2)包含个人件号码的客户统一编号: 若件号码中有英文字母,应先统一转换成大写英文字母; 将件号码部分用件号码全文UTF-8编码的MD5杂凑值替换,其余部分不变。 (3)客户名称和所有对方户名信息: 三个汉字以内(包含三个汉字)的名称,做有限暴露方式的脱敏处理,只保留最后一个字,其余长度的名称不变形。银行机构员工和业务办理人员、自然人股东、单位负责人姓名不变形。 10. 数据约束:数据结构备注中PK为监管部门作为唯一性约束的参考条件,含有多个PK的,表示联合主键的参考,并不作为主外键唯一性约束的条件,可根据数据实际使用用途情况作出调整。 11. 数据项报送:《规范》中所有数据项均作为必填项对待,确实无法对应的数据项应报监管部门备案,并参照以下处理:①未开办此类业务,则无须报送;②已经开办此类业务,但需要一次性录入索引类数据,应当在实施过程中另行建表维护或对源系统进行技术改造。 12. 数据格式:报送数据若为字符串,则字符串中不能包含\n、\r、双引号等控制字符和转义字符,且字符串首尾不能包含空格。报送数据若为浮点数,则必须为123.789形式,前后不可补0、补+号。报送数据若为整数,则必须为123456形式,数值前不可补0、补+号,数值后不能带小数点。 13. 拆分原则:明确采集分支机构数据的银行机构,由总行按照一级分行进行数据拆分,并由一级分行报送属地银监局。若多个一级分行归属同一银监局管辖区域,则应由多个一级分行分别独立报送。数据拆分应当以满足交易描述的完整性为基本原则,账户归属地、业务发生地不在一个一级分行的,归属地、发生地应当分别报送。 14. 标准引用:下列标准中的条款通过本规范的引用而成为本规范的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本规范,然而,鼓励各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本规范。 银保监会《金融机构代码编码规则》 ISO/IEC 10646 Information Technology -- Universal Coded Character Set (UCS) GB 32100-2015 法人和其他组织统一社会信用代码编码规则 GB 11714-1997 全国组织机构代码编制规则 GB 11643-1999 公民身份号码 GB/T 2261-2003 个人基本信息分类与代码 GB/T 4754 国民经济行业分类 GB/T 7408-2005 数据元和交换格式 信息交换 日期和时间表示法(ISO 8601:2000,IDT) GB/T 12406-2008 表示货币和资金的代码(ISO 4217:2001,IDT) GB/T 18142-2000 信息技术 数据元素值格式记法(ISO/IEC 14957:1996,IDT) GB/T 4658-2006 学历代码 GB/T 8561-2001 专业技术职务代码 GB/T 2659-2000 世界各国和地区名称代码
1. 算法的基本概念 利用计算机算法为计算机解题的过程实际上是在实施某种算法。 (1)算法的基本特征 算法一般具有4个基本特征:可行性、确定性、有穷性、拥有足够的情报。 (2)算法的基本运算和操作 算法的基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。 (3)算法的3种基本控制结构 算法的3种基本控制结构是:顺序结构、选择结构、循环结构。 (4)算法基本设计方法 算法基本设计方法:列举法、归纳法、递推、递归、减半递推技术、回溯法。 (5)指令系统 所谓指令系统指的是一个计算机系统能执行的所有指令的集合。 (2)数据结构研究的3个方面 ① 数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构; ② 在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; ③ 对各种数据结构进行的运算。 2. 逻辑结构 数据的逻辑结构是对数据元素之间的逻辑关系的描述,它可以用一个数据元素的集合和定义在此集合中的若干关系来表示。数据的逻辑结构有两个要素:一是数据元素的集合,通常记为D;二是D上的关系,它反映了数据元素之间的前后件关系,通常记为R。一个数据结构可以表示成:B=(D,R) 其中,B表示数据结构。为了反映D中各数据元素之间的前后件关系,一般用二元组来表示。 例如,如果把一年四季看作一个数据结构,则可表示成:B =(D,R) D ={春季,夏季,秋季,冬季} R ={(春季,夏季),(夏季,秋季),(秋季,冬季)} 3. 存储结构 数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。 由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此,为了表示存放在计算机存储空间中的各数据元素之间的逻辑关系(即前后件关系),在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间的前后件关系的信息。 一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接等存储结构。 顺序存储方式主要用于线性的数据结构,它把逻辑上相邻的数据元素存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现。 链式存储结构就是在每个结点中至少包含一个指针域,用指针来体现数据元素之间逻辑上的联系。 1.2.2 线性结构和非线性结构 根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。 (1)如果一个非空的数据结构满足下列两个条件: ① 有且只有一个根结点; ② 每一个结点最多有一个前件,也最多有一个后件。 则称该数据结构为线性结构。线性结构又称线性表。在一个线性结构中插入或删除任何一个结点后还应是线性结构。栈、队列、串等都为线性结构。 如果一个数据结构不是线性结构,则称之为非线性结构。数组、广义表、树和图等数据结构都是非线性结构。 (2)线性表的顺序存储结构具有以下两个基本特点: ① 线性表中所有元素所占的存储空间是连续的; ② 线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 元素ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。 (3)顺序表的运算有查找、插入、删除3种。 1.3 栈 1. 栈的基本概念 栈(stack)是一种特殊的线性表,是限定只在一端进行插入与删除的线性表。 在栈中,一端是封闭的,既不允许进行插入元素,也不允许删除元素;另一端是开口的,允许插入和删除元素。通常称插入、删除的这一端为栈顶,另一端为栈底。当表中没有元素时称为空栈。栈顶元素总是最后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。 栈是按照“先进后出”或“后进先出”的原则组织数据的。例如,枪械的子弹匣就可以用来形象的表示栈结构。子弹匣的一端是完全封闭的,最后被压入弹匣的子弹总是最先被弹出,而最先被压入的子弹最后才能被弹出。 二级公共基础知识速学教程 2. 栈的顺序存储及其运算 栈的基本运算有3种:入栈、退栈与读栈顶元素。 ① 入栈运算:在栈顶位置插入一个新元素; ② 退栈运算:取出栈顶元素并赋给一个指定的变量; ③ 读栈顶元素:将栈顶元素赋给一个指定的变量。 1.4 队列 1. 队列的基本概念 队列是只允许在一端进行删除,在另一端进行插入的顺序表,通常将允许删除的这一端称为队头,允许插入的这一端称为队尾。当表中没有元素时称为空队列。 队列的修改是依照先进先出的原则进行的,因此队列也称为先进先出的线性表,或者后进后出的线性表。例如:火车进遂道,最先进遂道的是火车头,最后是火车尾,而火车出遂道的时候也是火车头先出,最后出的是火车尾。若有队列: Q =(q1,q2,…,qn) 那么,q1为队头元素(排头
JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 2、String是最基本的数据类型吗? 基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 3、int 和 Integer 有什么区别 Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble 引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。 4、String 和StringBuffer的区别 JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。 5、运行时异常与一般异常有何异同? 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 6、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。 7、说出ArrayList,Vector, LinkedList的存储性能和特性 ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。 8、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。 EJB包括Session Bean、Entity Bean、Message Driven Bea
   IEEE于1999年颁布了用于标准化VLAN实现方案的802.1Q协议标准草案。VLAN技术的出现,使得管理员根据 Vlan网卡 Intel82573    实际应用需求,把同一物理局域网内的不同用户逻辑地划分成不同的广播域,每一个VLAN都包含一组有着相同需求的计算机工作站,与物理上形成的LAN有着相同的属性。由于它是从逻辑上划分,而不是从物理上划分,所以同一个VLAN内的各个工作站没有限制在同一个物理范围中,即这些工作站可以在不同物理LAN网段。由VLAN的特点可知,一个VLAN内部的广播和单播流量都不会转发到其他VLAN中,从而有助于控制流量、减少设备投资、简化网络管理、提高网络的安全性。    交换技术的发展,也加快了新的交换技术(VLAN)的应用速度。通过将企业网络划分为虚拟网络VLAN网段,可以强化网络管理和网络安全,控制不必要的数据广播。在共享网络中,一个物理的网段就是一个广播域。而在交换网络中,广播域可以是有一组任意选定的第二层网络地址(MAC地址)组成的虚拟网段。这样,网络中工作组的划分可以突破共享网络中的地理位置限制,而完全根据管理功能来划分。这种基于工作流的分组模式,大大提高了网络规划和重组的管理功能。在同一个VLAN中的工作站,不论它们实际与哪个交换机连接,它们之间的通讯就好象在独立的交换机上一样。同一个VLAN中的广播只有VLAN中的成员才能听到,而不会传输到其他的VLAN中去,这样可以很好的控制不必要的广播风暴的产生。同时,若没有路由的话,不同VLAN之间不能相互通讯,这样增加了企业网络中不同部门之间的安全性。网络管理员可以通过配置VLAN之间的路由来全面管理企业内部不同管理单元之间的信息互访。交换机是根据交换机的端口来划分VLAN的。所以,用户可以自由的在企业网络中移动办公,不论他在何处接入交换网络,他都可以与VLAN内其他用户自如通讯。    VLAN网络可以是有混合的网络类型设备组成,比如:10M以太网、100M以太网、令牌网、FDDI、CDDI等等,可以是工作站、服务器、集线器、网络上行主干等等。    VLAN除了能将网络划分为多个广播域,从而有效地控制广播风暴的发生,以及使网络的拓扑结构变得非常灵活的优点外,还可以用于控制网络中不同部门、不同站点之间的互相访问。    VLAN是为解决以太网的广播问题和安全性而提出的一种协议,它在以太网帧的基础上增加了VLAN头,用VLAN ID把用户划分为更小的工作组,限制不同工作组间的用户互访,每个工作组就是一个虚拟局域网。虚拟局域网的好处是可以限制广播范围,并能够形成虚拟工作组,动态管理网络。 编辑本段VLAN的目的    VLAN(Virtual Local Area Network,虚拟局域网)的目的非常的多。通过认识VLAN的本质,将可以了解到其用处究竟在哪些地方。    第一,要知道192.168.1.2/30和192.168.2.6/30都属于不同的网段,都必须要通过路由器才能进行访问,凡是不同网段间要互相访问,都必须通过路由器。    第二,VLAN本质就是指一个网段,之所以叫做虚拟的局域网,是因为它是在虚拟的路由器的接口下创建的网段。    下面,给予说明。比如一个路由器只有一个用于终端连接的端口(当然这种情况基本不可能发生,只不过简化举例),这个端口被分配了192.168.1.1/24的地址。然而由于公司有两个部门,一个销售部,一个企划部,每个部门要求单独成为一个子网,有单独的服务器。那么当然可以划分为192.168.1.0--127/25、192.168.1.128--255/25。但是路由器的物理端口只应该可以分配一个IP地址,那怎样来区分不同网段了?这就可以在这个物理端口下,创建两个子接口---逻辑接口实现。    比如逻辑接口F0/0.1就分配IP地址192.168.1.1/25,用于销售部,而F0/0.2就分配IP地址192.168.1.129/25,用于企划部。这样就等于用一个物理端口确实现了两个逻辑接口的功能,这样就将原本只能划分一个网段的情形,扩展到了可以划分2个或者更多个网段的情形。这些网段因为是在逻辑接口下创建的,所以称之为虚拟局域网VLAN。    这是在路由器的层次上阐述了VLAN的目的。    第三,将在交换机的层次上阐述VLAN的目的。    在现实中,由于很多原因必须划分出不同网段。比如就简单的只有销售部和企划部两个网段。那么可以简单的将销售部全部接入一个交换机,然后接入路由器的一个端口,把企划部全部接入一个交换机,然后接入一个路由器端口。这种情况是LAN.然而正如上面所说,如果路由器就一个用于终端的接口,那么这两个交换机就必须接入这同一个路由器的接口,这个时候,如果还想保持原来的网段的划分,那么就必须使用路由器的子接口,创建VLAN.    同样,比如两个交换机,如果你想要每个交换机上的端口都分别属于不同的网段,那么你有几个网段,就提供几个路由器的接口,这个时候,虽然在路由器的物理接口上可以定义这个接口可以连接哪个网段,但是在交换机的层次上,它并不能区分哪个端口属于哪个网段,那么唯一实现能区分的方法,就是划分VLAN,使用了VLAN就能区分出某个交换机端口的终端是属于哪个网段的。    综上,当一个交换机上的所有端口中有至少一个端口属于不同网段的时候,当路由器的一个物理端口要连接2个或者以上的网段的时候,就是VLAN发挥作用的时候,这就是VLAN的目的。 编辑本段VLAN的优点 广播风暴防范    限制网络上的广播,将网络划分为多个VLAN可减少参与广播风暴的设备数量。LAN分段可以防止广播风暴波及整个网络。VLAN可以提供建立防火墙的机制,防止交换网络的过量广播。使用VLAN,可以将某个交换端口或用户赋于某一个特定的VLAN组,该VLAN组可以在一个交换网中或跨接多个交换机,在一个VLAN中的广播不会送到VLAN之外。同样,相邻的端口不会收到其他VLAN产生的广 播。这样可以减少广播流量,释放带宽给用户应用,减少广播的产生。 安全    增强局域网的安全性,含有敏感数据的用户组可与网络的其余部分隔离,从而降低泄露机密信息的可能性。不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信,如果不同VLAN要进行通信,则需要通过路由器或三层交换机等三层设备。 成本降低    成本高昂的网络升级需求减少,现有带宽和上行链路的利用率更高,因此可节约成本。 性能提高    将第二层平面网络划分为多个逻辑工作组(广播域)可以减少网络上不必要的流量并提高性能。 提高IT员工效率    VLAN为网络管理带来了方便,因为有相似网络需求的用户将共享同一个VLAN。 应用管理    VLAN 将用户和网络设备聚合到一起,以支持商业需求或地域上的需求。通过职能划分,项目管理或特殊应用的处理都变得十分方便,例如可以轻松管理教师的电子教学开发平台。此外,也很容易确定升级网络服务的影响范围。 增加网络连接的灵活性    借助VLAN技术,能将不同地点、不同网络、不同用户组合在一起,形成一个虚拟的网络环境,就像使用本地LAN一样方便、灵活、有效。VLAN可以降低移动或变更工作站地理位置的管 理费用,特别是一些业务情况有经常性变动的公司使用了VLAN后,这部分管理费用大大降低。 编辑本段组建VLAN的条件    VLAN是建立在物理网络基础上的一种逻辑子网,因此建立VLAN需要相应的支持VLAN技术的网络设备。当网络中的不同VLAN间进行相互通信时,需要路由的支持,这时就需要增加路由设备——要实现路由功能,既可采用路由器,也可采用三层交换机来完成,同时还严格限制了用户数量。 编辑本段VLAN的划分 根据端口来划分VLAN    许多VLAN厂商都利用交换机的端口来划分VLAN成员。被设定的端口都在同一个广播域中。例如,一个交换机的1,2,3,4,5端口被定义为虚拟网AAA,同一交换机的6,7,8端口组成虚拟网BBB。这样做允许各端口之间的通讯,并允许共享型网络的升级。但是,这种划分模式将虚拟网限制在了一台交换机上。    第二代端口VLAN技术允许跨越多个交换机的多个不同端口划分VLAN,不同交换机上的若干个端口可以组成同一个虚拟网。    以交换机端口来划分网络成员,其配置过程简单明了。因此,从目前来看,这种根据端口来划分VLAN的方式仍然是最常用的一种方式。 根据MAC地址划分VLAN    这种划分VLAN的方法是根据每个主机的MAC地址来划分,即对每个MAC地址的主机都配置它属于哪个组。这种划分VLAN方法的最大优点就是当用户物理位置移动时,即从一个交换机换到其他的交换机时,VLAN不用重新配置,所以,可以认为这种根据MAC地址的划分方法是基于用户的VLAN,这种方法的缺点是初始化时,所有的用户都必须进行配置,如果有几百个甚至上千个用户的话,配置是非常累的。而且这种划分的方法也导致了交换机执行效率的降低,因为在每一个交换机的端口都可能存在很多个VLAN组的成员,这样就无法限制广播包了。另外,对于使用笔记本电脑的用户来说,他们的网卡可能经常更换,这样,VLAN就必须不停地配置。 根据网络层划分VLAN    这种划分VLAN的方法是根据每个主机的网络层地址或协议类型(如果支持多协议)划分的,虽然这种划分方法是根据网络地址,比如IP地址,但它不是路由,与网络层的路由毫无关系。    这种方法的优点是用户的物理位置改变了,不需要重新配置所属的VLAN,而且可以根据协议类型来划分VLAN,这对网络管理者来说很重要,还有,这种方法不需要附加的帧标签来识别VLAN,这样可以减少网络的通信量。    这种方法的缺点是效率低,因为检查每一个数据包的网络层地址是需要消耗处理时间的(相对于前面两种方法),一般的交换机芯片都可以自动检查网络上数据包的以太网帧头,但要让芯片能检查IP帧头,需要更高的技术,同时也更费时。当然,这与各个厂商的实现方法有关。 根据IP组播划分VLAN    IP 组播实际上也是一种VLAN的定义,即认为一个组播组就是一个VLAN,这种划分的方法将VLAN扩大到了广域网,因此这种方法具有更大的灵活性,而且也很容易通过路由器进行扩展,当然这种方法不适合局域网,主要是效率不高。 基于规则的VLAN    也称为基于策略的VLAN。这是最灵活的VLAN划分方法,具有自动配置的能力,能够把相关的用户连成一体,在逻辑划分上称为“关系网络”。网络管理员只需在网管软件中确定划分VLAN的规则(或属性),那么当一个站点加入网络中时,将会被“感知”,并被自动地包含进正确的VLAN中。同时,对站点的移动和改变也可自动识别和跟踪。    采用这种方法,整个网络可以非常方便地通过路由器扩展网络规模。有的产品还支持一个端口上的主机分别属于不同的VLAN,这在交换机与共享式Hub共存的环境中显得尤为重要。自动配置VLAN时,交换机中软件自动检查进入交换机端口的广播信息的IP源地址,然后软件自动将这个端口分配给一个由IP子网映射成的VLAN。 按用户划分VLAN    基于用户定义、非用户授权来划分VLAN,是指为了适应特别的VLAN网络,根据具体的网络用户的特别要求来定义和设计VLAN,而且可以让非VLAN群体用户访问VLAN,但是需要提供用户密码,在得到VLAN管理的认证后才可以加入一个VLAN。    * 以上划分VLAN的方式中,基于端口的VLAN端口方式建立在物理层上;MAC方式建立在数据链路层上;网络层和IP广播方式建立在第三层上。 编辑本段VLAN的标准    对VLAN的标准,我们只是介绍两种比较通用的标准,当然也有一些公司具有自己的标准,比如Cisco公司的ISL标准,虽然不是一种大众化的标准,但是由于Cisco Catalyst交换机的大量使用,ISL也成为一种不是标准的标准了。    · 802.10VLAN标准    在1995年,Cisco公司提倡使用IEEE802.10协议。在此之前,IEEE802.10曾经在全球范围内作为VLAN安全性的同一规范。Cisco公司试图采用优化后的802.10帧格式在网络上传输FramTagging模式中所必须的VLAN标签。然而,大多数802委员会的成员都反对推广802.10。因为,该协议是基于FrameTagging方式的。    · 802.1Q    在1996年3月,IEEE802.1Internetworking委员会结束了对VLAN初期标准的修订工作。新出台的标准进一步完善了VLAN的体系结构,统一了Frame-Tagging方式中不同厂商的标签格式,并制定了VLAN标准在未来一段时间内的发展方向,形成的802.1Q的标准在业界获得了广泛的推广。它成为VLAN史上的一块里程碑。802.1Q的出现打破了虚拟网依赖于单一厂商的僵局,从一个侧面推动了VLAN的迅速发展。另外,来自市场的压力使各大网络厂商立刻将新标准融合到他们各自的产品中。    802.1q帧格式:    · Cisco ISL 标签    ISL(Inter-Switch Link)是Cisco公司的专有封装方式,因此只能在Cisco的设备上支持。ISL是一个在交换机之间、交换机与路由器之间及交换机与服务器之间传递多个VLAN信息及VLAN数据流的协议,通过在交换机直接的端口配置ISL封装,即可跨越交换机进行整个网络的VLAN分配和配置。 编辑本段划分VLAN的基本策略    从技术角度讲,VLAN的划分可依据不同原则,一般有以下三种划分方法: 基于端口    这种划分是把一个或多个交换机上的几个端口划分一个逻辑组,这是最简单、最有效的划分方法。该方法只需网络管理员对网络设备的交换端口进行重新分配即可,不用考虑该端口所连接的设备。 基于MAC地址    MAC地址其实就是指网卡的标识符,每一块网卡的MAC地址都是唯一且固化在网卡上的。MAC地址由12位16进制数表示,前6位为网卡的厂商标识(OUI),后6位为网卡标识(NIC)。网络管理员可按MAC地址把一些站点划分为一个逻辑子网。 基于路由    路由协议工作在网络层,相应的工作设备有路由器和路由交换机(即三层交换机)。该方式允许一个VLAN跨越多个交换机,或一个端口位于多个VLAN中。    就目前来说,对于VLAN的划分主要采取上述第1、3种方式,第2种方式为辅助性的方案。 编辑本段VLAN技术简单谈    局域网的发展是VLAN产生的基础,所以在介绍VLAN之前,我们先来了解一下局域网的有关知识。    局域网(LAN)通常是一个单独的广播域,主要由Hub、网桥或交换机等网络设备连接同一网段内的所有节点形成。处于同一个局域网之内的网络节点之间可以直接通信,而处于不同局域网段的设备之间的通信则必须经过路由器才能通信。图1所示即为使用路由器构建的典型的局域网环境。    随着网络的不断扩展,接入设备逐渐增多,网络结构也日趋复杂,必须使用更多的路由器才能将不同的用户划分到各自的广播域中,在不同的局域网之间提供网络互联。    但这样做存在两个缺陷:    首先,随着网络中路由器数量的增多,网络延时逐渐加长,从而导致网络数据传输速度的下降。这主要是因为数据在从一个局域网传递到另一个局域网时,必须经过路由器的路由操作:路由器根据数据包中的相应信息确定数据包的目标地址,然后再选择合适的路径转发出去。    其次,用户是按照它们的物理连接被自然地划分到不同的用户组(广播域)中。这种分割方式并不是根据工作组中所有用户的共同需要和带宽的需求来进行的。因此,尽管不同的工作组或部门对带宽的需求有很大的差异,但它们却被机械地划分到同一个广播域中争用相同的带宽。 编辑本段VLAN的定义及特点    虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。VLAN是一种比较新的技术,工作在OSI参考模型的第2层和第3层,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。与传统的局域网技术相比较,VLAN技术更加灵活,它具有以下优点:    ● 网络设备的移动、添加和修改的管理开销减少;    ●可以控制广播活动;    ●可提高网络的安全性。 编辑本段VLAN的分类及优缺点    定义VLAN成员的方法有很多,由此也就分成了几种不同类型的VLAN。 1. 基于端口的VLAN    基于端口的VLAN的划分是最简单、有效的VLAN划分方法,它按照局域网交换机端口来定义VLAN成员。VLAN从逻辑上把局域网交换机的端口划分开来,从而把终端系统划分为不同的部分,各部分相对独立,在功能上模拟了传统的局域网。基于端口的VLAN又分为在单交换机端口和多交换机端口定义VLAN两种情况: 多交换机端口定义VLAN    如图3所示,交换机1的1、2、3端口和交换机2的4、5、6端口组成VLAN1,交换机1的4、5、6、7、8端口和交换机2的1、2、3、7、8端口组成VLAN2。 单交换机端口定义VLAN    如图2所示,交换机的1、2、6、7、8端口组成VLAN1,3、4、5端口组成了VLAN2。这种VLAN只支持一个交换机。    基于端口的VLAN的划分简单、有效,但其缺点是当用户从一个端口移动到另一个端口时,网络管理员必须对VLAN成员进行重新配置。 2. 基于MAC地址的VLAN    基于MAC地址的VLAN是用终端系统的MAC地址定义的VLAN。MAC地址其实就是指网卡的标识符,每一块网卡的MAC地址都是唯一的。这种方法允许工作站移动到网络的其他物理网段,而自动保持原来的VLAN成员资格。在网络规模较小时,该方案可以说是一个好的方法,但随着网络规模的扩大,网络设备、用户的增加,则会在很大程度上加大管理的难度。 3. 基于路由的VLAN    路由协议工作在7层协议的第3层—网络层,比如基于IP和IPX的路由协议,这类设备包括路由器和路由交换机。该方式允许一个VLAN跨越多个交换机,或一个端口位于多个VLAN中。在按IP划分的VLAN中,很容易实现路由,即将交换功能和路由功能融合在VLAN交换机中。这种方式既达到了作为VLAN控制广播风暴的最基本目的,又不需要外接路由器。但这种方式对VLAN成员之间的通信速度不是很理想。 4. 基于策略的VLAN    基于策略的VLAN的划分是一种比较有效而直接的方式,主要取决于在VLAN的划分中所采用的策略。 编辑本段常见的应用VLAN    Port vlan与Tag vlan    port vlan 基于端口的VLAN,处于同一VLAN端口之间才能相互通信。    tag vlan 基于IEEE 802.1Q(vlan标准),用VID(vlan id)来划分不同的VLAN 基于端口的VLAN优缺点    基于端口的VLAN,简单的讲就是交换机的一个端口就是一个虚拟局域网,凡是连接在这个端口上的主机属于同个虚拟局域网之中。基于端口的VLAN的优点为:由于一个端口就是一个独立的局域网。所以,当数据在网络中传输的时候,交换机就不会把数据包转发给其他的端口,如果用户需要将数据发送到其他的虚拟局域网中,就需要先由交换机发往路由器再由路由器发往其他端口;同时以端口为中心的VLAN中完全由用户自由支配端口,无形之中就更利于管理。但是美中不足的是以端口为中心的VLAN,当用户位置改变时,往往也伴随着用户位置的改变而对网线也要进行迁移。如果不会经常移动客户机的话,采用这一方式倒也不错。 静态VLAN的优缺点    可以说静态VLAN与基于端口的VLAN有一丝相似之处,用户可在交换机上让一个或多个交换机端口形成一个略大一些的虚拟局域网。从一定意义上讲静态虚拟局域网在某些程度上弥补了基于端口的虚拟局域网的缺点。缺陷方面,静态VLAN虽说是可以使多个端口的设置成一个虚拟局域网,假如两个不同端口、不同虚拟局域网的人员聚到一起协商一些事情,这时候问题就出现了,因为端口及虚拟局域网的不一致往往就会直接导致某一个虚拟局域网的人员就不能正常的访问他原先所在的VLAN之中(静态虚拟局域网的端口在同一时间只能属于同一个虚拟局域网),这样就需要网络管理人员随时配合及时修改该线路上的端口。 动态VLAN的优缺点    与上面两种虚拟局域网的组成方式相比动态的虚拟局域网的优点真的是太多了。首先它适用于当前的无线局域网技术,其次,当用户有需要时对工作基点进行移动时完全不用担心在静态虚拟局域网与基于端口的虚拟局域网出现的一些问题在动态的虚拟局域网中出现,因为动态的虚拟局域网在建立初期已经由网络管理员将整个网络中的所有MAC地址全部输入到了路由器之中,同时如何由路由器通过MAC地址来自动区分每一台电脑属于那一个虚拟局域网,之后将这台电脑连接到对应的虚拟局域网之中。说起缺点,动态的虚拟局域网的缺点跟本谈不上缺点,只是在VLAN建立初期,网络管理人员需将所有机器的MAC进行登记之后划分出MAC所对应的机器的不同权限(虚拟局域网)即可。 编辑本段VLAN发展趋势    目前在宽带网络中实现的VLAN基本上能满足广大网络用户的需求,但其网络性能、网络流量控制、网络通信优先级控制等还有待提高。前面所提到的VTP技术、STP技术,基于三层交换的VLAN技术等在VLAN使用中存在网络效率的瓶颈问题,这主要是IEEE802.1Q、IEEE802.1D协议的不完善所致,IEEE正在制定和完善IEEE802.1S(Multiple Spanning Trees)和IEEE802.1W(Rapid Reconfiguration of Spanning Tree)来改善VLAN的性能。采用IEEE802.3z和IEEE802.3ab协议,并结合使用RISC(精简指令集计算)处理器或者网络处理器而研制的吉位VLAN交换机在网络流量等方面采取了相应的措施,大大提高了VLAN网络的性能。IEEE802.1P协议提出了COS(Class of Service)标准,这使网络通信优先级控制机制有了参考。 编辑本段VLAN的基本配置命令    1、创建vlan方法一:从VLAN配置模式建立VLAN    switch# vlan database (进入VLAN配置模式)    switch(vlan)# vlan 10 name wz (声明VLAN 10,并命名WX)    switch(vlan)#exit (退出VALN配置模式)    2、创建vlan方法二:从全局配置模式建立VLAN    switch# configure terminal (进入全局配置模式)    switch(config)# vlan 10 (声明VLAN 10)    switch(config-vlan)# name wz (命名WX)    3、删除vlan方法一:从VALN配置模式删除VLAN    switch(vlan)# no vlan 10 (删除VLAN 10)    switch(vlan)# exit (退出VLAN配置模式)    4、删除vlan方法二:从全局配置模式删除VLAN    switch(config)# no interface vlan 10 (将所有属于VLAN 10的接口删除)    switch(config)# no vlan 10 (删除VLAN 10)    5、删除vlan方法三:从配置文件中删除VLAN.DAT文件    switch# delete vlan.dat (从配置文件中删除DAT文件,可以彻底删除VLAN信息)    6、将端口加入到vlan中    switch(config-if)# switchport access vlan 10    7、将一组连续的端口加入到vlan中    switch(config)# interface range f0/1 –5    switch(config)# interface range f0/6-8,0/9-11,0/22 (将不连续多个端口加入到Vlan中)    switch(config-if-range)# switchport access vlan 10    8、将端口从vlan中删除    switch(config-if)# no switchport access vlan 10    switch(config-if)# switchport access vlan 1    switch(config-if-range)# no switchport access vlan 10    switch(config-if-range)# switchport access vlan 1    9、查看所有vlan的摘要信息    switch# show vlan brief    10、查看指定vlan的信息    switch# show vlan id 10 (查看指定VLAN号为10的信息)    11、指定端口成为trunk    switch(config-if)# switchport mode trunk (配置接口为TRUNK模式)    12、Trunk的自动协商    switch(config-if)#switchport mode dynamic desirable     switch(config-if)#switchport mode dynamic auto    注意:如果中继链路两端都设置成auto将不能成为trunk    13、查看端口状态    switch# show interface f0/2 switchport    14、在trunk上移出vlan    switch(config-if)# switchport trunk allowed vlan remove 20    15、在trunk上添加vlan    switch(config-if)# switchport trunk allowed vlan add 20 编辑本段VLAN的划分实例    对于每个公司而言都有自己不同的需求,下面我们给出一个典型的公司的VLAN的实例,这样也可以成为我们以后为公司划分VLAN的依据。    某公司现在有工程部、销售部、财务部。VLAN的划分:工程部VLAN10,销售部VLAN20,财务部VLAN30,并且各部门还可以相互通讯。现有设备如下:Cisco 3640路由器,Cisco Catalyst 2924交换机一台,二级交换机若干台。    交换机配置文件中的部分代码如下:    ……    !    interface vlan10    ip address 192.168.0.1    !    interface vlan20    ip address 192.168.1.1    !    interface vlan30    ip address 192.168.2.1    !    ……    路由器配置文件中的部分代码如下:    ……    interface FastEthernet 1/0.1    encapsulation isl 10    ip address 192.168.0.2    !    interface FastEthernet 1/0.2    encapsulation isl 20    ip address 192.168.1.2    !    interface FastEthernet 1/0.3    encapsulation isl 30    ip address 192.168.2.2    !    ……    !    router rip    network 192.168.0.0    !    【交换机的端口工作模式的利用】    交换机的端口工作模式通常可以分为三种,它们分别为Access模式、Multi模式、Trunk模式。允许多个vlan的是multi模式,而不是trunk模式。Access模式的交换端口往往只能属于1个VLAN,通常用于连接普通计算机的端口;Trunk模式的交换端口可以属于多个VLAN,能够发送和接收多个VLAN的数据报文,通常使用在交换机之间的级联端口上;multi模式的交换端口可以属于多个VLAN,能够发送和接受多个VLAN的数据报文,可以用于交换机之间的连接,也可以用于连接普通计算机的端口,所以access和trunk没有可比性。三种模式的交换端口能够共同使用在相同的一台交换机中,不过Trunk模式的交换端口和multi模式的交换端口相互之间不能直接切换,往往只能先将交换端口设置为Access模式,之后再设置为其他模式。 编辑本段vlan拓扑试验    实验: 划分VLAN 1. 实验目的    通过本实验,读者可以掌握如下技能:    (1)熟悉VLAN 的创建    (2)把交换机接口划分到特定VLAN 2. 实验拓扑 vlan试验拓扑图(1张)    实验拓扑图 3. 实验步骤    要配置VLAN,首先要先创建VLAN,然后才把交换机的端口划分到特定的端口上:    (1) 步骤1:在划分VLAN 前,配置R1 和R2 路由器的g0/0 接口,从R1ping192.168.12.2。    默认时,交换机的全部接口都在VLAN1 上,R1 和R2 应该能够通信    (2) 步骤2:在S1 上创建VLAN    S1#vlan database    //进入到VLAN 配置模式    S1(vlan)#vlan 2 name VLAN2    VLAN 2 added:    Name: VLAN2    //以上创建vlan,2 就是vlan 的编号,VLAN 号的范围为1~1001,VLAN2 是该VLAN 的名字:    S1(vlan)#vlan 3 name VLAN3    VLAN 3 added:    Name: VLAN3    S1(vlan)#exit    APPLY completed.    Exiting….    //退出VLAN模式,创建的VLAN立即生效:    【提示】交换机中的VLAN 信息存放在单独的文件中flash:vlan.dat,因此如果要完全清除    交换机的配置,除了使用“erase starting-config”命令外,还要使用“delete    flash:vlan.dat”命令把VLAN 数据删除。    【提示】新的IOS 版本中,可以在全局配置模式中创建VLAN,如下:    S1(config)#vlan 2    S1(config-vlan)#name VLAN2    S1(config-vlan)#exit    S1(config)#vlan 3    S1(config-vlan)#name VLAN3    (3)步骤3:把端口划分在VLAN 中    S1(config)#interface f0/1    S1(config-if)#switch mode access    //以上把交换机端口的模式改为access 模式,说明该端口是用于连接计算机的,而不是用    于trunk    S1(config-if)#switch access vlan 2    //然后把该端口f0/1 划分到VLAN 2 中    S1(config)#interface f0/2    S1(config-if)#switch mode access    S1(config-if)#switch access vlan 3    【提示】默认时,所有交换机接口都在VLAN 1 上,VLAN 1 是不能删除的。如果有多个接口    需要划分到同一VLAN 下,也可以采用如下方式以节约时间,注意破折号前后的空格:    S1(config)#interface range f0/2 -3    S1(config-rang-if)#switch mode access    S1(config-rang-if)#switch access vlan 2    【提示】如果要删除VLAN,使用“no vlan 2”命令即可。删除某一VLAN后,要记得把该VLAN    上的端口重新划分到别的VLAN上,否则将导致端口的“消失”。 4. 实验调试    (1)查看VLAN    使用“show vlan”或者“show vlan brief”命令可以查看VLAN 的信息,以及每个    VLAN 上有什么端口。要注意这里只能看到的是本交换机上哪个端口在VLAN 上,而不能看到    其他交换机的端口在什么VLAN 上。如下:    SW1#show vlan    VLAN Name Status Ports    ---- -------------------------------- --------- -------------------------------    1.default active Fa0/1,Fa0/2,Fa0/3,Fa0/4    Fa0/5,Fa0/6,Fa0/7,Fa0/8    Fa0/9,Fa0/10,Fa0/11,Fa0/12    Fa0/13,Fa0/14,Fa0/16,Fa0/17    Fa0/18,Fa0/19,Fa0/20,Fa0/21    Fa0/22,Fa0/23,Fa0/24,Gi0/1    Gi0/2    2.VLAN2 active    3.VLAN3 active    1002 fddi-default act/unsup    1003 token-ring-default act/unsup    1004 fddinet-default act/unsup    (此处省略)    //在交换上,VLAN1是默认VLAN,不能删除,也不能改名。此外还有1002、1003等VLAN的存    在。    (2)VLAN 间的通信    由于f0/1 和f0/2 属于不同的VLAN,从R1 ping 192.168.12.2 应该不能成功了。 编辑本段互联方式    (1)边界路由。    (2)“独臂”路由。    (3)MPOA路由。    

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值