通常来说,子网和VLAN的相似之处在于它们都处理网络的一部分的分段或分区。但是,VLAN是数据链路层(OSI L2)的构造,而子网是网络层(OSI L3)的IP构造,它们解决网络上的不同问题。尽管在VLAN和子网之间创建一对一关系是一种常见的做法,但是它们是独立的第2层和第3层构造,这在设计网络时增加了灵活性。

子网(IPv4实现)
IP地址可以在逻辑上划分(也称为子网划分)为两个部分:网络号(路由前缀)和主机标识符。属于子网的网络设备在其IP地址中共享公共网络前缀。网络前缀是通过在IP地址和子网掩码(通常为255.255.255.0)之间应用按位与运算来确定的。使用示例地址192.168.5.130,网络前缀(子网)为192.168.5.0,而主机标识符为0.0.0.130。

当源地址和目的地址的网络 前缀不同时,流量将通过路由器在子网之间交换或路由(许多现代交换机还具有路由器功能)。路由器构成子网之间的逻辑和物理边界。

子网划分网络的好处因每个部署方案而异。在大型组织或使用无类域间路由(CIDR)的组织中,必须有效地分配地址空间。当子网由不同的内部组管理时,它还可以提高路由效率,或在网络管理中具有优势。子网可以按层次结构进行逻辑排列,将组织的网络地址空间划分为树状路由结构。

VLAN
VLAN具有与物理局域网相同的属性,但是即使设备未连接在同一网络交换机上,它也允许将设备更容易地组合在一起。通过VLAN组分隔的端口可以以类似于将设备连接到它们自己的单独交换机的 方式分隔流量。VLAN可以以相对较低的成本提供非常高的安全性和极大的灵活性。

网络架构师使用VLAN对流量进行分段,以解决可伸缩性,安全性和网络管理等问题。交换机不能(或至少不应该)在VLAN之间桥接IP流量,因为这样做会破坏VLAN广播域的完整性,因此,如果一个VLAN以某种方式被破坏,则不会妨碍网络的其余部分。服务质量方案可以针对实时(VoIP)或低延迟要求(SAN)优化VLAN上的流量。

如果没有VLAN,则交换机会认为该交换机上的所有设备都在同一广播域中,因此VLAN实质上可以在单个物理基础架构上创建多个第3层网络。例如,如果将DHCP服务器插入交换机,它将为该交换机上配置为DHCP的任何主机提供服务。通过使用VLAN,可以轻松地拆分网络,因此某些主机将不使用该DHCP服务器,并且将获取本地链接地址,或从其他DHCP服务器获取地址。

其他想法
您可以拥有一个物理网络并通过简单地分配不同的子网(例如192.168.0.0和192.168.1.0)来配置两个或多个逻辑网络。但是,问题在于两个子网都通过同一交换机传输数据。所有其他主机(无论它们位于哪个子网)都可以看到通过交换机的流量。结果是安全性很低,并且由于所有流量都使用相同的主干,因此可用带宽更少。

或者,您可以为每个逻辑网络创建一个VLAN。每个VLAN(或逻辑网络)的带宽可用性不再共享,并且由于连接每个VLAN网络的交换机将不允许流量在VLAN之间交叉,因此提高了安全性。

通常,VLAN是许多应用程序(包括音频)的较好选择,但有时子网划分是有意义的。主要原因是:

  1. 缓解性能问题,因为LAN不能无限扩展。广播过多或帧泛滥到未知的目的地将限制其规模。这两种情况中的任何一种都可能由于使以太网LAN中的单个广播域太大而引起。但是,带宽耗尽(除非它是由广播数据包或帧泛滥引起的)通常无法通过VLAN和子网划分来解决,因为它们不会增加可用带宽量。通常由于缺乏物理连接(服务器上的NIC太少,组中的端口太少,需要提高端口速度等原因而发生这种情况)。第一步是监视网络流量并确定故障点。一旦了解了流量如何在LAN上移动,就可以出于性能原因开始考虑子网划分。
  2. 限制/控制在第3层或更高层的主机之间移动的流量的需求。如果要控制主机之间的IP(或TCP或UDP等)流量,而不是攻击第2层的问题,则可以考虑子网划分子网,并在子网之间添加具有ACL的防火墙/路由器。

VLAN和子网之间的区别与联系的更多相关文章

  1. select、poll、epoll之间的区别总结

    select.poll.epoll之间的区别总结 05/05. 2014 select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪 ...

  2. 你真的会玩SQL吗?EXISTS和IN之间的区别

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  3. 2、实现不同子网之间的信息交流(互相可以PING通)

    一.环境: 二个不同的虚拟子网 VMnet1: 192.168.155.0/24 VMnet8: 192.168.170.0/24 编辑 --> 虚拟网络编辑器 (查看自己的子网,相应修改就行) ...

  4. [转]ExtJs基础--Html DOM、Ext Element及Component三者之间的区别

    要学习及应用好Ext框架,必须需要理解Html DOM.Ext Element及Component三者之间的区别. 每一个HTML页面都有一个层次分明的DOM树模型,浏览器中的所有内容都有相应的DOM ...

  5. iOS中assign,copy,retain之间的区别以及weak和strong的区别

    @property (nonatomic, assign) NSString *title; 什么是assign,copy,retain之间的区别? assign: 简单赋值,不更改索引计数(Refe ...

  6. javascrip中parentNode和offsetParent之间的区别

    首先是 parentNode 属性,这个属性好理解,就是在 DOM 层次结构定义的上下级关系,如果元素A包含元素B,那么元素B就可以通过 parentElement 属性来获取元素A. 要明白 off ...

  7. 面试问题5:const 与 define 宏定义之间的区别

    问题描述:const 与 define 宏定义之间的区别 (1) 编译器处理方式不同     define宏是在预处理阶段展开:     const常量是编译运行阶段使用: (2) 类型和安全检查不同 ...

  8. 关于背景图相对父容器垂直居中问题 —— vertical-align 和 line-height 之间的区别

       html css <div class="register-wrapper"> <div class="register"> &l ...

  9. 转:WCF、WebAPI、WCFREST、WebService之间的区别

    WCF.WebAPI.WCFREST.WebService之间的区别   注明:转载 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API ...

随机推荐

  1. python实现ip地址的包含关系判断

    python的IPy模块虽然可以实现一些ip地址的判断,但是不是很完美,有些场景根本判断不出来,还会抛出异常,比如一个地址范围和一个ip/掩码,这种不同类型就无法判断. 对此通过自己写函数来实现ip地 ...

  2. 【转】spring framework 5以前体系结构及内部各模块jar之间的maven依赖关系

    作者:凌承一  出处:http://www.cnblogs.com/ywlaker/  很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar, ...

  3. Web 开发工具类(3): JsonUtils

    JsonUtils 整合了一些对Json的相关操作: package com.evan.common.utils; import java.util.List; import com.fasterxm ...

  4. python写的用WMI检测windows系统信息的脚本

    脚本如下: #!/usr/bin/env python #coding:utf- import wmi import sys,time,platform def get_system_info(os) ...

  5. jmeter性能测试2:基础功能介绍

    对于英语不好的同学建议先改为简体中文再进行使用 1.添加->threads->线程组(控制总体并发)            线程数:虚拟用户数.一个虚拟用户占用一个进程或线程        ...

  6. Spring基于注解配置AOP

    D:\Java\IdeaProjects\JavaProj\SpringHelloWorld\src\aop.xml <?xml version="1.0" encoding ...

  7. Codeforces 977D Divide by three, multiply by two(拓扑排序)

      Polycarp likes to play with numbers. He takes some integer number xx, writes it down on the board, ...

  8. sqlserver install on linux chapter one

    Hello The MS open the source to let people download source. You may ask where to download ? Ask goog ...

  9. layui表格增删改查与上传图片+Api

    API  控制器1 主要用于增删改查已经反填数据查询 using System; using System.Collections.Generic; using System.Data.SqlClie ...

  10. 详解c++中对二维数组下标[][]的重载

    首先定义一个矩阵类,我用一个二维数组存储矩阵中的数据,矩阵详细定义如下 class Matrix { public: Matrix(int rows, int cols) { _rows = rows ...