目录
控制广播的方法
vlan
为什么需要vlan
vlan的成员模式
vlan的实现
vlan表
vlan表的作用
静态vlan命令
交换机端口链路类型
trunk
前言
标签技术
trunk标签类型
trunk相关命令
单臂路由
前言
虚拟路由端口
创建路由器接口f0/0的子接口
vlan下的DHCP
网络结构
路由器充当DHCP服务器
创建地址池
删除地址池
vlan40做DHCP服务器
控制广播的方法
- 物理分割:将网络从物理上划分为若干个小网络,再使用能隔离广播的路由设备将不同的网络连接起来实现通信。
- 逻辑分割:将网络从逻辑上划分为若干个小的虚拟网络,即VLAN 。VALN工作在OIS参考模型的数据链路层,一个VLAN就是一个交换网络,其中的所有用户都在同一个虚拟网络中,各VLAN通过路由设备连接实现通信。
vlan
vlan:VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接通信,从而将广播报文限制在一个VLAN内。
为什么需要vlan
- 交换机的所有接口都属于一个广播域,往往也是一个逻辑子网
- 用户无法根据业务需要灵活的在交换机上进行广播域的隔离
- 随着网络规模越来越大,数量越来越多,广播风暴将给网络带来重大问题
vlan的成员模式
- 静态vlan:以手工的方式将端口加入到特定的vlan中(比较常用)
- 动态vlan:以手工配置的方式,根据接入到交换机的客户端的mac地址等信息,将其添加到特定的vlan中
注意:因为静态vlan比较常用所以下面的讲解都以静态vlan为主(其实动态vlan也就一个样)
vlan的实现
理解:将交换机的接口根据业务需要添加到不同的vlan中,从而实现二层隔离(静态vlan)。
注意:
- 一个vlan所处设备处于同一个广播域内,不同vlan为不同广播域,不同vlan间二层隔离,广播不能跨越vlan传播,因此,不同vlan间设备无法进行二层通信,需通过三层设备实现互通。
- vlan中成员关系多基于交换机的接口进行静态分配,划分vlan就是将交换机的接口添加到特定的vlan中
- 交换机内部有个vlan表,vlan表记录了不同不同端口和vlan的对应关系
- vlan表中我们通常通过不同的vlanID将不同的端口设备加入不同vlan的(一个vlanID通常对应多个端口)
vlan表
vlanID | 交换机的端口 |
vlanID1 | 交换机端口1,交换机端口3 |
vlanID2 | 交换机端口2 |
vlan表的作用
交换机从一个端口收到一个帧之后,首先看vlan表,看看该数据帧对应的端口属于哪个vlanID,然后交换机再看源MAC地址看看是否需要学习,之后看目标MAC地址对应的端口属于哪个vlanID,若两个vlanID不同,那么交换机不放行该数据。
注意:
- 若端口没有设置vlan,则该端口默认在vlan1里面
- 在同一交换机上两个端口必须在同一vlan才能通过
- 我们通常将一个vlan划分为一个网段(子网划分)
- 动态vlan的valn表记录了客户端与vlanID的对应关系,一个vlanID可对应多个客户端MAC地址
静态vlan命令
进入全局配置模式
创建vlan:vlan 数字vlan的ID
进入了vlan命令行模式
为vlan命名:name vlan名字
进入特权模式
查看vlan表:show vlan brief
先进特权模式再进入端口配置模式
将目前端口加入到vlan:switchport access vlan vlanID名称
注意:vlanID没有大小之分,也没有先后之分(输入这个命令就进入了vlan命令行)
交换机端口链路类型
- 接入端口:也称access端口,一般用于连接PC,只能属于某一个vlan,也只能传输一个vlan的数据
- 中继端口:也称trunk端口,一般用于连接其他交换机,属于公共端口,允许所有vlan的数据通过
trunk
前言
由于没有被划分到vlan中的端口默认在vlan1中,那么不同的交换机下的相同vlan不可以相互通信,因此我们常常会将交换机相连的两个端口设置为公共端口,公共端口不属于任何vlan,同时它允许任何vlan从此端口通过,这样就保证了两台交换机中同一vlan下可以相互通信。
trunk作用:允许所有vlan的数据经过trunk链路。
注意:上面交换机的两个端口设为公共端口,这样交换机1下的vlan10设备就可以和交换机2下的vlan10设备相互通信。
标签技术
前言:不同vlan设备的数据都通过公共链路,那么这个数据流入到对面的交换机中,对面的交换机如何判断该数据是从哪个vlan中过来的呢(进而判断可以通过到哪个vlan)
具体方法:首先一个数据帧通过交换机的公共端口时,交换机就会将该帧一切为二,在中间打上一个标签,写上该数据帧所在vlan的vlanID,然后从公共端口转发出去,到达对方交换机后,对方交换机会检查标签内容,得到vlanID后将标签卸下后继续转发数据。
trunk标签类型
- ISL标签:cisco私有的,标签大小30字节;属于外部标签(帧前加26字节,帧后加4字节)
- 802.1q标签:共有协议,所有厂家都支持,标签大小4字节;属于内部标签(中间切开帧)
trunk相关命令
进入端口配置模式
指定标记封装类型:switchport trunk encapsulation dot1q/isl
思科模拟器配置trunk:switchport mode trunk
思科模拟器不配置trunk:no switchport mode trunk
注意:配置trunk时,链路的两端端口都需要配置trunk
单臂路由
前言
- 我们通过vlan技术控制了广播域,但是不同vlan之间无法通信,那么我们该如何解决这个问题呢(不同vlan之间的通信我们转化为不同网段之间的通信)。
- 通常我们会将一个vlan规划为一个网段,不同网络需要通信就需要网关,那么这个网关怎么来呢。
单臂路由:通过路由器的虚拟端口来实现不同vlan之间的通信。
虚拟路由端口
理解:既然将不同vlan划分为不同网段,那么不同网段就应有对应的网关,这里创建路由的多个虚拟端口分别作为不同vlan的网关,并且将路由器与交换机的链路改为trunk链路以至于能够放行不同vlan间的数据,同时路由器接口也应该配置称为trunk端口并且能够识别vlan标签并解封装。
创建路由器接口f0/0的子接口
前言:f0/0的接口就是上面路由器1941的连线的接口
路由器进入全局配置模式
配置f0/0虚拟接口1:interface f0/0.1
配置接口trunk并且可以识别vlan10:encapsulation trunk dot1q 10
为虚拟接口配置网段1网关:ip add 10.1.1.254 255.255.255.0
开启端口:no shutdown
路由器进入全局配置模式
配置f0/0虚拟接口2:interface f0/0.2
配置接口trunk并且可以识别vlan20:encapsulation trunk dot1q 20
为虚拟接口配置网段2网关:ip add 20.1.1.254 255.255.255.0
开启端口:no shutdown
路由器进入全局配置模式
进入f0/0端口:interface f0/0
开启端口:no shutdown
注意:
- 主端口f0/0不需要配IP只需要打开就可以(其充当虚拟接口的通道)
- 一旦子接口被使用,那么父接口就不能再用了
- 一个主接口可以创建多个子接口(很多)
- 这个子接口的MAC地址用的都是主接口的MAC地址
- 交换机与路由器之间的链路应为trunk链路,并且路由器的虚拟端口也应该trunk端口,并且能解封装相应的vlan标签(以及识别标签)
- 因为vlan间的通信需要标签,所以当一个数据通过trunk链路到达虚拟网关1转发到虚拟网关2的时候会将标签解封,之后虚拟网关2封装对应的vlan标签传送到trunk链路,进而实现不同vlan间的通信。
vlan下的DHCP
前言:我们已经配置了vlan,隔绝了广播,实现了全网互通,然而客户机是通过广播向DHCP服务器请求的,vlan下我们该如何配置DHCP服务器实现向全部vlan设备分发TCP/IP参数呢。
网络结构
说明:交换机下面的6个设备分别在不同的vlan中,交换机与交换机之间是trunk链路,交换机与路由器之间是trunk链路,这个路由器是单臂路由,有着虚拟的接口,vlan40是dns服务器(IP:40.1.1.1)。
路由器充当DHCP服务器
前言:所有设备的广播,网关都能接收到,因此可以做DHCP服务器。
创建地址池
进入全局配置模式
dhcp中做地址排除:ip dhcp excluded-address 排除的IP地址范围(10.1.1.1 10.1.1.99)
提供IP地址池:ip dhcp pool 地址池名字1(v10)
进入了DHCP地址池配置模式
- network 网段1(10.1.1.0) 子网掩码1(255.255.255.0)
- default-router 路由器IP地址(10.1.1.254)
- dns-server dns服务器地址(40.1.1.1)
- lease 天数(1) 小时(12) 分钟(0)
dhcp中做地址排除:ip dhcp excluded-address 排除的IP地址范围(20.1.1.1 20.1.1.99)
提供IP地址池:ip dhcp pool 地址池名字2(v20)
进入了DHCP地址池配置模式
- network 网段2(20.1.1.0) 子网掩码2(255.255.255.0)
- default-router 路由器IP地址(20.1.1.254)
- dns-server dns服务器地址(40.1.1.1)
- lease 天数(1) 小时(12) 分钟(0)
dhcp中做地址排除:ip dhcp excluded-address 排除的IP地址范围(30.1.1.1 30.1.1.99)
提供IP地址池:ip dhcp pool 地址池名字3(v30)
进入了DHCP地址池配置模式
- network 网段3(30.1.1.0) 子网掩码3(255.255.255.0)
- default-router 路由器IP地址(30.1.1.254)
- dns-server dns服务器地址(40.1.1.1)
- lease 天数(1) 小时(12) 分钟(0)
注意:
- 此时vlan40是DNS服务器,所以他的IP地址我配了静态IP(40.1.1.1),因此创建地址池只需要创建三个
- 上面这样配置完之后,开启电脑设备的dhcp功能就能自动获得TCP/IP参数
- 路由器根据请求来自的的网段向相应的网段地址池分配给目标机器IP地址。
删除地址池
进入全局配置模式
no ip dhcp excluded-address 排除的IP地址范围(10.1.1.1 10.1.1.99)
no ip dhcp excluded-address 排除的IP地址范围(20.1.1.1 20.1.1.99)
no ip dhcp excluded-address 排除的IP地址范围(30.1.1.1 30.1.1.99)
no ip dhcp pool 地址池名字1(v10)
no ip dhcp pool 地址池名字2(v20)
no ip dhcp pool 地址池名字3(v30)
vlan40做DHCP服务器
前言:若公司人数过大,路由器既需要提供路由功能又需要提供DHCP服务器的功能,压力大。
同时将vlan40设为dhcp服务器并开启,并在里面创建3个地址池用来分配TCP/IP参数
地址池名 | 默认网关 | dns服务器 | 起始IP | 子网掩码 |
v10 | 10.1.1.254 | 40.1.1.1 | 10.1.1.50 | 255.255.255.0 |
v20 | 20.1.1.254 | 40.1.1.1 | 20.1.1.50 | 255.255.255.0 |
v30 | 30.1.1.254 | 40.1.1.1 | 30.1.1.50 | 255.255.255.0 |
前言:不同vlan下的广播网关也可以通过虚拟接口接收,但是网关不会把广播转发到其他vlan下,因此我们可以在网关虚拟接口做手脚
路由器进入全局配置模式
进入f0/0.1接口:interface f0/0.1
配置dhcp中继:ip helper-address 40.1.1.1
理解:
- 从此以后vlan10这个地址上凡是收到dhcp请求都将单播转发给vlan40的40.1.1.1这个地址所在的设备
- 路由器从vlan10里面收到广播请求向40.1.1.1发送的时候打包了数据盖上了印章,该印章告诉了dhcp服务器此数据不属于vlan40,不要向vlan40所在的网段拿地址池数据进而向vlan10所在网段拿数据。
配置其他两个接口
进入f0/0.2接口:interface f0/0.2
配置dhcp中继:ip helper-address 40.1.1.1
进入f0/0.3接口:interface f0/0.3
配置dhcp中继:ip helper-address 40.1.1.1
结果:所有vlan下的成员机只要开启dhcp就可以动态获取TCP/IP参数。