虚拟局域网

目录

控制广播的方法

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

  1. 交换机的所有接口都属于一个广播域,往往也是一个逻辑子网
  2. 用户无法根据业务需要灵活的在交换机上进行广播域的隔离
  3. 随着网络规模越来越大,数量越来越多,广播风暴将给网络带来重大问题

虚拟局域网_第1张图片

vlan的成员模式

  • 静态vlan:以手工的方式将端口加入到特定的vlan中(比较常用)
  • 动态vlan:以手工配置的方式,根据接入到交换机的客户端的mac地址等信息,将其添加到特定的vlan中

注意:因为静态vlan比较常用所以下面的讲解都以静态vlan为主(其实动态vlan也就一个样)

vlan的实现

理解:将交换机的接口根据业务需要添加到不同的vlan中,从而实现二层隔离(静态vlan)。

虚拟局域网_第2张图片

注意:

  • 一个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链路。

虚拟局域网_第3张图片

注意:上面交换机的两个端口设为公共端口,这样交换机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之间的通信。

虚拟路由端口

虚拟局域网_第4张图片

理解:既然将不同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参数呢。

网络结构

虚拟局域网_第5张图片

说明:交换机下面的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参数。

你可能感兴趣的:(计算机网络,网络)