缘何取此标题
最近由于工作需求,接触网络的概念比较多,很难用一句话去概括到这些概念。原先是想起浅谈Linux的网络子系统,但是范围又太小了,这篇文章还包括了很多其他的一些概念;如果起浅谈计算机网络的话,那范围又显得太大。只好取了一个不太妥帖的标题,只是想讲讲自己最近一段时间接触到的网络概念。
虚拟网络技术
计算机网络的一些概念是想将一些计算机互相通信的原理说清楚,刚学习的时候我们会被这些概念性的东西搞糊涂。
出现的原因
早期的局域网LAN技术是基于总线型 结构(网络拓扑结构),存在以下主要问题:
- 若某时刻有多个节点同时试图发送消息,那它们将产生冲突(有很多冲突避免算法的)
- 从任意节点发出的消息都会被发送到其它节点,形成广播。
- 所有的主机共享一条传输通道,无法保证网络中的信息安全
- 其他问题
这种网络构成一个冲突域,网络中的计算机数量越多冲突越严重,网络效率越低。同时,该网络也是一个广播域,当网络中发送信息的计算机数量越多,广播流量将会耗费大量带宽。
因此,传统局域网的问题是大大的。限制太大。
解决上述问题的核心是将不需要通信的主机进行隔离,那多加几个路由器不久可以实现了么?一是这样违背了在局域网中进行主机隔离,二是路由器是基于三层地址信息来选择路由,其连接两个网段时可以有效抑制广播的报文转发,但是成本过高。
类型
vlan
定义:
vlan(Vitual Local Area Network)即虚拟局域网,是将一个物理上的LAN在逻辑上划分为多个广播域(多个VLAN)的通信技术。每个vlan都包含一组拥有相同需求的计算机,与物理上形成的lan具有相同的属性,但是由于vlan是在逻辑划分而不是物理上划分。
vxlan
Linux上的虚拟网络设备
出现的原因
计算虚拟化技术出现,一台物理机可以装有多个虚拟机,那这个时候该如何进行虚拟机的网络管理呢?网络虚拟是云计算的最后一公里。
常见的虚拟网络设备
IBM上有一篇讲的非常详细的文章Linux的基本网络设备详解
实践
前置条件:理解网络虚拟技术、了解Linux上的虚拟网络设备
环境:centos-7、kvm虚拟机(可以用libvirt进行管理)
网络:多个三层网络,但是三个子网都通过路由器互联起来了。