局域网
请看ecrown博客:http://blog.csdn.net/ecrown/archive/2005/01/12/249740.aspx
基础
现在交换机路由器的边界越来越模糊。很多路由器都带有交换机的功能。接下来的实验将会通过cisco路由器来代替GSN3中傻瓜式交换机
相关概念
单播 |
Unicast,一对一发送信息 |
组播 |
Groupcast,一对多(同一个组成员)发送信息, |
广播 |
..\tcp卷一实验设计\广播探析.pdf |
单工 |
单方向通信(如广播台) |
半双工 |
能互相通信,但不能同时通信(如对讲机) |
全双工 |
能同时互相通信(如打电话) |
冲突域 |
① 冲突域环境下,不管设备发送任意类型的数据,都会造成数据冲突。 ② 中继器和集线器连接的网络,都属于同一个冲突域。 |
广播域 |
① 广播域环境下,只有出现广播数据,其他设备才都会收到此数据。 ② 交换机相连的网络处于同一广播域,但是,不同接口处在不同冲突域。 ③ 路由器相连的网络处在不同的广播域,不同接口在不同广播域。 |
CSMA/CD(Carrier Sense Multiple Access with Collision Detection) |
载波侦听多路访问/冲突检测(半双工环境下,缓冲冲突) 原理: ① 网卡开启侦听功能,当检测到数据时,则不发送 ② 当检测不到数据时,可对外发送数据,并发送JAM信号,防止其他人发送 |
设备
网线->中继器->集线器->网桥->交换机->路由器
路由器可能会被淘汰,但是交换机不会的。还有,现在市场上甚至还出现了七层防火墙的产品。
设备配置
在GNS3中选择cisco3600交换机,并为其配置NM-16ESW接口
为了看顺眼一些,可以修改图标、物件名称
别误会~~PC1和PC2也是通过c3600改图标过来的~~
基本部署
一开始的目标都是两台机器互相联通
注意到这个时候是不需要在交换机上面写上路由信息的,但是他们之间就能联通。我们在交换机上更多的是查看mac表
为什么会生成这张表?这个交换机是0配置的呀,这个还有没有王法?后面会解释~~
标准
附上来着TCP/IP卷一的格式封装标准
链路标准
IEEE 802.3:标准以太网 10M
IEEE 802.3u:快速以太网 100M
IEEE 802.3z:吉比特以太网 1000M
物理标准
10baseT
100baseT
100baseTX
1000baseFX
帧标准
每一层对数据的叫法都不一样
应用层 |
Data数据 |
传输层 |
Segment数据段 |
网络层 |
Packet数据帧 |
链路层 |
Frame数据帧 |
物理层 |
Bit比特 |
交换机原理
首先明确各种表
MAC表 |
MAC-Interface,交换机转发使用的表项 |
基于源MAC学习(自动学习) |
路由表 |
Route-Interface,路由器转发使用的表项 |
运行路由协议学到的 |
ARP表 |
IP-MAC,实现数据封装 |
根据ARP问答生成 |
基础功能
帧转发(转发数据)
地址学习(建立MAC表)
环路防止(属于STP后面详细介绍)
转发原则
前面设备部署的简单例子,之所以会出现MAC表,就是源于这个
基于源MAC地址学习,基于目标MAC地址转发
同一接口可以学习到多个MAC地址(一个端口一个MAC信息)
同一个MAC地址从多个接口学习到,并且选择后学习到的接口
收到未知/广播/组播帧, 向本VLAN的其他所有接口转发(即将不在表中的信息泛洪出去)
一旦地址表满,就会从本vlan其他接口泛洪新收到的帧,直到现存地址条目老化为止
转发方式
虽然说有CRC检验会相对的降低交换效率,但是现在的CPU的计算能力越来越强大,些许二进制计算倒也问题不大的。
直通转发cut-through
定义:交换机检测到目标地址(前14字节)后即转发帧
特征:延迟小、无错误校验
存储转发store and forward
定义:完整地收到帧并检查无错后才转发
特征:延迟大、有CRC校验
片断转发fragment free
定义:交换机检测到帧的前64字节后即转发
特征:延迟小、有最小帧大小校验
VLAN技术
概念
Virtual LAN,虚拟局域网,可以用于实现广播域隔离并且实现局域网内部安全互访。
原理
(1) 范围
0、4095 |
保留,仅限系统使用,用户不能查看和使用这些VLAN |
1 |
正常,cisco默认VLAN,用户能够使用该VLAN,但无法删除 |
2~1001 |
正常,用于以太网的VLAN,用户可以随意创建、使用和删除这些VLAN |
1002~1005 |
正常,用于FDDI和令牌环的CISCO默认VLAN,用户不能删除VLAN1002~1005 |
1006~1024 |
保留,尽显系统使用,用户不能查看和使用这些VLAN |
1025~4094 |
拓展VLAN,仅用于以太网VLAN |
这些分区对于现今的云技术、云服务来说太小了,因此在这个基础上衍生出Vxlan的概念,这个之后我学通了,再讨论
(2) 分类
数据VLAN |
最常规的VLAN,连接主机 |
管理VLAN |
用于管理员对交换机进行管理 |
语音VLAN |
用于连接语音电话 |
私有VLAN |
用于实现进一步的安全隔离 |
本征VLAN |
自然VLAN,用于实现标签优化 |
部署
这次的部署目的是ping不通(划分vlan之后当然ping不通了啊)。在前面的基础上继续完善即可。
实验结果
观察交换机本地VLAN信息
Trunk技术
背景
在Trunk之前,每个VLAN对应一个网线/链路/接口,这样比较消耗交换机的接口资源。N个VLAN N根网线
这次的用的机子数目有些多~~交换机路、PC都是同样通过C3600改变图标过来的,配置参考前面的内容。
初始化配置
注意ping不通就对了,因为在这之前我们已经划分了VLAN,讲道理必须ping不通
此次实验目的:相同VLAN要互相ping通
(多扯一些别的~~万一你ping不通,那么需要先查找一下交换机的表中有没有路径信息
CDP协议是思科私有的,全称是cisco discoverprocotal思科发现协议是链路层的协议,如果这里没有,那么重新实验)
这个实验其实就是一个反例,证明如果不用trunk的时候,部署的过程多么繁杂,写配置很麻烦,而且非常浪费资源。)
功能
Trunk用于承载不同vlan的流量,通过打标签实现这个功能。打标签的遵循802.1Q标准
实验继续
在原来实验的基础上,我们把其中一条链路删除
先把相应的接口关闭,虽然在虚拟环境下没啥事,但在工程环境下,还是谨慎一些的好~
之后将f0/3的配置删除,即重新部署,这里会介绍两种不同的删配置的方法
① 这种方法是很有针对性的删除,不要那些属性就删除那些属性
② 如果遇到很复杂的配置,倒不如全删了重新写,则可以用这种方式
之后设置trunk属性
检查是否配置成功
之后在f0/3那条链路上抓包分析
在链路层和网络层之间出现了一行特殊的标签。为啥这个是在中间呢?正是因为使用802.1Q的行业标准(嵌入式)
接着重点来了,面试高频出现的场景来了!!!
Trunk优化一:NATIVE VLAN
此VLAN不打标签,节省资源,一个交换机只能有一个NATIVE VLAN,默认VLAN1为
本征VLAN。
我们体会一下native vlan
设置完成后检查连通性,同时抓包
要多ping几次因为机子的响应时间有些长
少了一个标签
这样做的意义是一半的数据包长度变短
Trunk优化二: ALLOW VLAN
默认TRUNK链路将所有VLAN流量都进行转发,这样的话,广播或垃圾流量也会经过TRUNK,
使得网络带宽收到影响;通过ALLOW VLAN能够限制特定经过的VLAN流量。
此时vlan20绝对是ping不通的,不信?你自己试试就知道了,此时vlan20的信息已经被过滤了
这个功能的意义是企业内部核心部门信息过滤,核心部门的信息不会流出
如何做到跨vlan通信?
两个主机分别连接着SW1和SW2,交换机将主机各种划分在不同的VLAN,交换机是二层交换机,PC的IP处于同网段,尝试用不同方法实现PC互通。
把原来native vlan,allowed vlan的信息都取消
为了避免干扰,我们把PC2、PC3暂停
方法一:
这里需要关闭STP和CDP,后面会解释
设置SW1的native vlan为vlan10,SW2的native vlan为vlan20,此时一定会报错。路由器认为这个端口坏了,是软件层面上坏了,虽然物理层没有坏
方法二
其实这两个方法的本质原理都是不打标签。