理解 Linux 网络栈(1):Linux 网络协议栈简单总结

1. Linux 网络路径

1

1.1 发送端

1.1.1 应用层

(1) Socket

应用层的各种网络应用程序基本上都是通过 Linux Socket 编程接口来和内核空间的网络协议栈通信的。Linux Socket 是从 BSD Socket 发展而来的,它是 Linux 操作系统的重要组成部分之一,它是网络应用程序的基础。从层次上来说,它位于应用层,是操作系统为应用程序员提供的 API,通过它,应用程序可以访问传输层协议。

  • socket 位于传输层协议之上,屏蔽了不同网络协议之间的差异
  • socket 是网络编程的入口,它提供了大量的系统调用,构成了网络程序的主体
  • 在Linux系统中,socket 属于文件系统的一部分,网络通信可以被看作是对文件的读取,使得我们对网络的控制和对文件的控制一样方便。

2

3

 UDP socket 处理过程 (…

详细内容

OpenStack自动化发展进行时

虽然像Heat和Graffiti这样的OpenStack工具可以帮助IT专业人士实现该开源平台的自动化,但2016年仍然有一些工作需要完成。

许多企业正在转向OpenStack作为他们的下一代云计算平台。尽管不少公司已经作了前期试验性安装,但从一个试验阶段过渡到大规模的OpenStack部署对一些公司来说并非易事。在某种程度上,这是由于OpenStack的快速采纳;OpenStack是一个流行的私有云方案,但OpenStack的技能和培训并没有跟上需求的增长。

让这一切变得更加复杂的一个事实是,OpenStack就像是一个移动的目标,因其一直在进化以及围绕OpenStack出现的一系列竞争的软件生态系统。并且OpenStack的技术支持一直很难寻求,这也让一般的IT专业人士望而却步。

解决这些复杂性的方法之一是OpenStack自动化,这也是OpenStack的项目如Heat和Gra…

详细内容

Neutron和SDN集成现状分析

作者:徐超

一.Neutron概要

总所周知,Neutron是OpenStack众多项目中的核心项目之一,代表其网络服务。

Neutron的发展自诞生到现在,可谓是一波三折,其命名先是由nova-network,改为quantum,因其与一家公司名冲突,隧又改为Neutron。表面上的命名变化,又何尝不蕴含着其深层次的发展和演进,以Plugin、高级网络服务功能等突出应用,充分显示着它不断的丰富,就像其命名“中子”一样,彰显着它在浩瀚宇宙中,熠熠生辉的光芒。

下面,借用“北京-小武”一文《Neutron的SDN化》中,Neutron是什么和Neutron的主要功能为线索,来添加自己的认识。

1.Neutron是什么

 Openstack核心项目中的网络配置管理组件

Neutron的网络服务功能包括L2-L7层

Neutron用于管理配置VM所用的网络

Neutron有很多…

详细内容

Linux基金会执行董事:2016年将是网络开源项目起飞的一年

3全球Linux基金会执行董事长 Jim Zemlin

 

大家好,我是Jim Zemlin,Linux基金会执行董事。大部分人都听说过Linux基金会,更多的人使用过Linux。今天,我所演讲的内容是从Linux基金会的角度来看,2016年将是网络开源项目起飞的一年。开源软件的开发方式已经发生了根本性的转变。开源软件已经是软件开发过程中不可缺少的重要部分。超过380万开源贡献者,310亿行开源代码,110家成功融资的开放技术初创公司,其中有10家估值在10亿美元以上。4在这里,我们看到了新的开源软件可持续模式:这种持续性体现在开源软件项目周期内的3个阶段。可以预见,开源软件只有在良好的生态系统下才能够良好的运作。开源代码通过构建产品和服务而被使用。公司则通过出售那些基于开源代码的产品来获取利润,然后再回报所使用的开源项目。这构建了完整的虚拟生态系统,机构和个人都可以通过这种…

详细内容

OpenStack L3网络QOS的实现思路

本文作者:张智博  Niusmallnan (东网科技)

在L版的ReleaseNotes里面我们看到neutron已经支持了 ml2-qos 特性, 这个特性可以让我们针对l2-port和l2-net做流量qos设置, 这是一个非常实用的特性,在之前的版本中,对于虚机网络流量qos,我们只能通过flavor来去设置qos, flavor-qos不是很灵活,这会让我去维护很多个flavor来保证不同的qos需求。

但是ml2-qos只能做二层网络的流量限制,对于floating-ip级别的并不能生效,而且ml2-qos依托于OpenVswitch本身的特性, 且OpenVswitch的qos只能设置单向流量(虚机上行流量)。

我们还是需要一个l3-qos,来实现针对floating-ip和router设置qos,且能够设置上行和下行流量。

TC是基础

在Linux…

详细内容

【光大银行信科部副总经理:史晨阳】软件定义网络在商业银行的研究与应用

本文转自:金融电子化

作者:中国光大银行信息科技部副总经理 史晨阳

QQ图片20150925155517

在“大集中2.0”的实践过程中,中国光大银行总、分行应用系统都迁移至私有云,云中的计算、存储和网络资源由总行统一维护。此时总行的角色类似于云服务商,日常受理来自分行系统和应用的服务请求数量增长了30%,网络增长了70% 以上,维护压力巨大。此外,银行业通常对总分行互访、分行间互访以及分行内部的办公和生产互访有着严格的控制。总分行应用迁移至私有云的大集中模式面临着如何确保全行安全防护策略和防护等级不下降的挑战。由于传统网络架构和产品已无法满足我行对网络快速、敏捷、可编程以及精细化安全管理的需要,因此光大银行将网络架构的优化作为“大集中2.0”规划落地的重中之重。

 

一、对于业界主流软件定义网络技术的研究和思考

根据光大银行“大集中2.0”对于网络的实际需求,我们认为当今在云计算中最重要的…

详细内容

KVM虚拟化网络优化技术总结

作者:xiaoli110 http://xiaoli110.blog.51cto.com/1724/1558984    转载请保留原作者信息

一个完整的数据包从虚拟机到物理机的路径是:

虚拟机–QEMU虚拟网卡–虚拟化层–内核网桥–物理网卡

kvm-datapath

KVM的网络优化方案,总的来说,就是让虚拟机访问物理网卡的层数更少,直至对物理网卡的单独占领,和物理机一样的使用物理网卡,达到和物理机一样的网络性能。

 

方案一 全虚拟化网卡和virtio

virtio

 

Virtio与全虚拟化网卡区别
全虚拟化网卡是虚拟化层完全模拟出来的网卡,半虚拟化网卡通过驱动对操作系统做了改造;
viritio简单的说,就是告诉虚拟机,hi 你就是在一个虚拟化平台上跑,咱们一起做一些改动,让你在虚拟化平台上获得更好的性能;
parvirtio
关于virtio的…

详细内容

SDN落地的实践与思考:带着问题找方案,别管定义啦

作者 张卫峰 发布于  2014年12月6日

半年之前写过一篇文章讨论SDN的本质,当时就说这会是一个系列文章,后面还要写一下SDN的落地。这一等就是半年多,其间有朋友问过我为什么还不写——不是我不想写,是有些问题还没想清楚。直到现在我也不敢说我完全想清楚了,但是毕竟有了更多的实践,实践过程中不停地思考,加上不断有媒体朋友找我约稿,我想还是写一写吧。这篇文章可以看作是对我三年SDN工作历程的一个总结和反思。我在这篇文章会回顾一下人们对SDN定义的争议,SDN的落地实践,阻碍SDN落地的一些障碍,给出一些对SDN落地的建议和看法。

sdn1

SDN的定义回顾

现在大多数人对SDN的定义是控制跟转发分离+开放的编程接口,包括Gartner也是这样的定义。Gartner的数据中心云计算行业分析总监曾绍清告诉我,他们认为思科的ACI不是SDN,因为ACI并非是控制和转发分离,它只是…

详细内容

Data Center Fabric:Facebook的下一代数据中心网络

facebookdatacenter

上周五,在美国爱荷华州的小镇阿尔图纳上,Facebook 的一个新的数据中心正式投入运营。尽管这个数据中心只不过是这家社交网络巨头肩负着信息交付的众多计算设施里面的一个,但是相对而言,其内部结构却有点特别。

在以往,典型的数据网络通常是一种分级汇聚的层次型结构,越是处在网络的上层,对设备的处理能力要求就越高。过去一直是思科、Juniper 等公司垄断着汇聚层、骨干层的设备。这些设备往往价格昂贵,而且扩展能力(相对)有限,一旦网络流量增长到一定地步,唯有整机替换为下一代新设备才能支撑。而在 Facebook 的数据中心之间的流量是一个庞大的数字,其规模是 Facebook 流出流量的 1000 倍!所以传统架构之下需要很多昂贵的网络设备才能支撑这种规模的流量。

为此,Facebook 位于阿尔图纳的新数据中心则采用了一种新型的网络结构、利用廉价的架顶交换机以模块化的方式解决了传统网络…

详细内容

OpenStack Neutron L3 高可靠

译者: @RaySun  英文地址:http://assafmuller.com/2014/08/16/layer-3-high-availability/

L3层Agent的低可靠解决方案

当前,你可以通过多网络节点的方式解决负载均衡,但是这并非高可靠和冗余的解决方案。假设你有三个网络节点,创建新的路由,会自动的规划和分布在这三个网络节点上。但是,如果一个节点坏掉,所有路由将无法提供服务,路由转发也无法正常进行。Neutron,在IceHouse版本中,没有提供任何内置的解决方案。

 

DHCP Agent的高可靠的变通之道

DHCP的Agent是一个另类——DHCP协议本身就支持在同一个资源池内同时使用多个DHCP提供服务。

在neutron.conf中仅仅需要改变:

 

[plain] view plaincopy

详细内容