2013年08月28日

Openstack Network学习(一)


介绍网桥和交换机

青云的老总在谈到对云计算理解时说到了这样一段话,

从技术角度来说,QingCloud的弹性在于可以在秒级时间内获取计算资源,使得用户能够动态改变横向规模(scale in/out),主机配置可以任意增减让改变纵向规模(scale up/down)也成为可能。而云资源之间松耦合的关系使得资源可以任意组合,很多人谈起云计算的时候,觉得似乎很高端、很创新的样子。但我不这么认为。因为最基本的东西没有变,依然是计算、存储、网络、安全这四大基础IT元素。改变的仅仅是生产、交付及使用的方式。因此,云计算不仅仅是用来支持备受追捧的创新型WEB应用和移动应用,也是用来支持每个工程师日常的开发、测试、集成工作,也是用来支持每个企业的办公自动化系统、集团电邮系统、ERP/CRM等传统IT应用系统。即使某些系统很传统,但是它们的的确确是我们IT生态链中的一部分。

这段话可以加深我们对云计算一些实质性的理解,在学习OpenStack时,需要钻研进去,也需要能站在一定高度来思考问题。青云老总提到最基本的东西没有改变,依然是计算,存储,网络,安全这四大基础IT元素。对应于这四大基础元素,OpenStack中都分别有Project与之对应。换言之,要深刻的理解云计算,还是需要把握住这大方面。

好,言归正传,这篇博客是当初自己在摸索网络方面整理的资料,网络是OpenStack中的一大块,特别充满了意思,值得由浅入深的好好学习。第一篇十分基础,是网络方面的一些基础知识,这些知识在大学时已学过。还是记录一遍,以方便更好的理解网络。

网桥

网桥将两个相似的网络连接起来,并对网络数据的流通进行管理,它工作于数据链路层,根据MAC地址进行转发帧。不但能扩展网络的距离或范围,而且可提高网络的性能,可靠性和安全性。能够互连两个采用不同数据链路层协议,不同传输介质与不同传输速率的网络。 可以利用网桥隔离信息,将同一个网络号划分成多个网段(属于同一个网络号),隔离安全网段,防止其他网段内的用户非法访问。由于网络的分段,各网段相对独立,一个网络的故障不会影响到另一个网段的运行。 网桥的功能在延长网络跨度上类似于中继器,然而它能提供智能化连接服务,即根据帧的终点地址处于哪一网段来进行转发和滤除。网桥对站点所处网段的了解都是靠“自学习”实现的,有透明网桥,转换网桥,封装网桥,源路由选择网桥。 它与中继器的不同之处就在于它能够解析它收发的数据,读取目标地址信息(MAC),并决定是否向所连接网络的其他网段转发数据包。为了能够决策向那个网段发送数据包,网桥学习接收到数据包的源MAC地址,在本地建立一个以MAC和端口为记录项的信息数据库。

透明网桥:采用逆向学习算法,自动完成内部的散列表。

缺点:网桥在执行转发前先接收帧并进行缓存,与中继器相比会引入更多时延。由于网桥不提供流控制功能,因此在流量较大时有可能使其过载,从而造成帧的丢失。

交换机

简单来说,桥接就是把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。 交换机就是这样的一个设备,它有若干网口,并且这些网口是桥接连起来的。于是,与交换机相连的若干主机就能够通过交换机的报文转发而互相通信。

参考资料

1.http://my.oschina.net/u/158822/blog/66229 2.http://blog.csdn.net/hiyoo/article/details/7721401

前一篇: Openstack Network学习(二) 后一篇: C++ 迭代器的简单实现