通常来说,子网和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. ubuntu “快捷方式”

    1.创建.Desktop文件 sudo gedit /usr/share/applications/pycharm.desktop 2.建立pycharm.desktop [Desktop Entry ...

  2. Dubbo如何支持本地调用?injvm方式解析

    Dubbo是一个远程调用的框架,对于一个服务提供者,暴露了一个接口供外部消费者调用,那么对于提供者自己是否可以调用这个接口,需要什么特殊处理吗? 这篇文章就分享下Dubbo关于本地调用的实现机制,以及 ...

  3. Shiro身份验证及授权(二)

    一.Shiro 身份验证 身份验证的步骤: 收集用户身份 / 凭证,即如用户名 / 密码: 调用 Subject.login 进行登录,如果失败将得到相应的 AuthenticationExcepti ...

  4. Spring 核心功能演示

    Spring 核心功能演示 Spring Framework 简称 Spring,是 Java 开发中最常用的框架,地位仅次于 Java API,就连近几年比较流行的微服务框架 SpringBoot, ...

  5. Hexo+coding实现自动化部署

    前言 昨天写了一篇利于云环境写博客,但是让群里大佬们看了下.评论道:"写的不错,但还是觉得这个云环境太繁琐了,没有CI/CD自动化部署方便".于是我便百度查了下,网上文章大部分是通 ...

  6. 7天用Go动手写/从零实现Web框架Gee

    设计一个框架 大部分时候,我们需要实现一个 Web 应用,第一反应是应该使用哪个框架.不同的框架设计理念和提供的功能有很大的差别.比如 Python 语言的 django和flask,前者大而全,后者 ...

  7. GAN tensorflow 实作

    从2014年Ian Goodfellow提出GANs(Generative adversarial networks)以来,GANs可以说是目前深度学习领域最为热门的研究内容之一,这种可以人工生成数据 ...

  8. POJ_1376_bfs

    题目描述: 给定一个黑白格子的图,黑格子是障碍物,一个线段交点的起点,一个线段交点的终点和初始方向,机器人从起点开始,只能沿着线段,走到终点,期间不能沿着障碍物边缘和墙边缘. 一次操作可以向当前方向走 ...

  9. 1.3.4分析你的第一个Android程序——Android第一行代码(第二版)笔记

    切换项目结构模式 Project模式的项目结构 我们将项目切换成Project模式,这就是真实的目录结构. .gradle和.idea 这两个目下放置的都是Android Studio自动生成的一些文 ...

  10. 编辑crontab添加Linux计划任务

    在做实验楼的比赛时的题目 用到了crontable 1. 为用户shiyanlou添加一个计划任务 2. 每天凌晨2点定时执行 3. 将/var/log/dpkg.log /var/log/mysql ...