本文目录一览:
OVS(Open vSwitch)注包
OVS注包的场景:
UCloud的 SDN 网络是基于OVS做的。为了进行内网监控,需要 测试 用户的两台云主机通信是否正常。但是,作为服务方我们是无法登陆到用户的云主机的。因此,采用了向源端的OVS中注入一个ping包的方法测试网络是否正常。
基本原理
实验环境示意图:实现不登陆进SRC VM的前提下,发送Ping的请求包给DST VM,并捕获返回的应答包Ping Response。
染色:
用户有可能自己也会发送Ping包,为了区分用户的应答包和注入方式得到的应答包,需要对注入的Ping Request进行染色。首先看下ICMP包的格式,如下所示。
黄色标记起来的Identifier字段含义如下(RFC 792)
The identifier and sequence number may be used by the echo sender to aid in matching the replies with the echo requests
通过设置Identifier的值,可以区分不同的请求对应的应答包。
这里我们设置Identifier=111,捕获数据包时,需要指定ICMP包 icmp[4:2]=111,表明ICMP的第四、第五个字节的值等于111.
注入Ping Request包
需要使用ovs-ofctl packet-out进行注包操作,命令格式如下:
ovs-ofctl packet-out switch in_port actions packet...
说明:
1、packet-out:连接到OVS,并且让OVS对Packet执行某个Action
Connects to switch and instructs it to execute the OpenFlow actions on each packet
2、switch:交换机的名字,比如实验环境中的br0
3、in_port:SRC VM连接到OVS的端口号,就是实验环境示意图中的In Port
4、packet:数据包,实验中就是染了色的Ping Request数据包。
5、Action:关键是Action的选择,我们采用的是resubmit,说明如下。resubmit会找到数据包对应的流表,然后更换掉in_port并执行流表中的Action。我们这里设置port=in_port。所以仅仅会执行流表中的Action。
resubmit([port],[table]):Re-searches this OpenFlow flow table with thein_portfield replaced byportand executes the actions found
捕获Ping的Response包
采用tcpdump进行捕获染了色的Ping数据包。命令如下
tcpdump -c 1 -iVIRTUAL_INTERFACEicmp and src hostSRC_IPand dst hostDST_IPand icmp[4:2]=111
1. VIRTUAL_INTERFACE: 云主机使用虚拟网卡的名字
2. SRC_IP:源云主机的IP地址
3. DST_IP:目的云主机的IP地址
4. 111:染色标记
golang实现的主逻辑
injectICMPCmd=util.GetInjectICMPPacket(srcIp,dstIp,srcMac,dstMac)//构造染了色的Ping Request包,以及注入命令tcpDumpCmd=util.TcpDumpICMPCommand(iface,srcIp,dstIp)//构造tcpdump的抓包命令tcpDumpResponse:=make(chanstring)srcHostIp:="XXX"//宿主机的IP地址gofunc(){command:=fmt.Sprintf("ssh %s@%s %s","root",srcHostIp,tcpDumpCmd)util.SshRunWithChannelResponse(command,tcpDumpResponse)}()// inject Packet into OVStime.Sleep(100*time.Millisecond)gofunc(){command:=fmt.Sprintf("ssh %s@%s %s","root",srcHostIp,injectICMPCmd)util.SshRun(command)}()success:=trueselect{casemsg:=-tcpDumpResponse:ifstrings.Contains(msg,dstIp){fmt.Printf("Checking Success, Response: %s\n",msg)}else{success=falsefmt.Printf("Checking Fail, Response: %s\n",msg)}}returnsuccess
拉丁语族和罗曼语族有区别么
罗曼语族也称罗马语族或拉丁语族,属印欧语系,是从意大利语族衍生出来的现代语族,主要包括从拉丁语演化而来的现代诸语言。使用罗曼语族语言的人主要包括传统意义上的“欧洲拉丁人”,纪元前后的古罗马帝国瓦解之后,原本统一的拉丁语也随地域的不同而产生各类方言。这些方言就是今日罗曼诸语言的雏形。
尽管如此,现代罗曼语族诸语言和古老的拉丁文之间已经存在很大不同了。比如,现代罗曼语多以冠词和介词来替代拉丁文复杂的格变化;现代罗曼语用助动词来构成复合时态,这也是拉丁文不具备的。
尽管都是从拉丁语演化而来的,罗曼诸语言之间仍存在比较显著的差别。造成这些差别的原因包括:历史传统的彼此隔绝、古罗马帝国治前的地域性古语的影响、罗马帝国覆灭后频繁的战争和社会变迁,以及文艺复兴时期各种地域文化之间的冲突和共融,等等。
历史演变
Romance一词是拉丁文的romanice一词变化而来的。在拉丁语中,这个词是romanicus一词的副词形式,意为“以罗马人的方式”。
现代罗曼诸语言和古典拉丁语之间的主要差别包括:
除罗马尼亚语之外,其他语言已经没有格变化。
现代罗曼诸语言中名词通常只有两种语法性,而拉丁语中名词则有三个语法性。当然也存在特例,比如罗马尼亚语和意大利语中就保留了一些中性名词的表达,而西班牙语、意大利语和加泰罗尼亚语中仍然保存了一些中性的代词。
拉丁语中的指示词在现代罗曼语中变成了冠词。
拉丁语中的将来时已经衰退,在现代罗曼语中将来时有新的构成方式,并结合了“条件式”这一新的语式。拉丁语中habere(相当于英语的to have)一词成为构成时态的重要助动词。很多重要时态都是由这一词的完成体或未完成体加上动词的对应变位构成的。
拉丁语中的“综合完成时”在现代罗曼语中变成了由词义相当于英语to be或to have的助动词加动词过去分词的合成时态。然而在葡萄牙语和法语中,仍然保存了拉丁语的“过去完成时”,而罗马尼亚语则有两种完成时态,两者的意义则基本相同。罗马尼亚语中也保留了“过去完成时”,只用于直陈式中,由动词词缀-se来体现。这一词缀来源于拉丁语虚拟式过去完成时的词缀-isse。
[编辑] 现状
罗曼诸语言中使用者最多的是西班牙语,其后依次是葡萄牙语、法语、意大利语和罗马尼亚语。
在现代的罗曼诸语言中,拉丁语复杂的屈折变化和语法结构已经被大大简化。意大利语、萨丁尼亚语和古典拉丁语最接近。
罗曼语族内部的诸语言在语音上彼此具有相似性,地缘接近的语言通常都有共通的部分。葡萄牙语、法语和罗马尼亚语是罗曼语族中最具独特性的,而这三种语言的独特性又各不相同。萨丁尼亚语是罗曼语族中最为孤立和保守的语言。通行于法国南部的郎格多克语被认为是最典型的西部罗曼语。
在罗曼诸语言发展的历史中,最先从拉丁语中分裂出来成为独立语言的是萨丁尼亚语,随之而来的是东部的罗马尼亚语也与拉丁语脱离,成为独立语言。第三个重要过程是意大利语与高卢-伊比利亚语言的分离。这个时候,法国和伊比利亚半岛诸国的语言仍然具有高度的一致性。罗曼语言的第四次重大变化是伊比利亚半岛的语言和法语脱离,逐渐形成非常相似的两种现代语言:西班牙语和葡萄牙语。而通行于西班牙东部的加泰罗尼亚语则被认为是法语和伊比利亚语言的中间产物,因为这种语言融合了法语和西、葡两种语言的很多特征。例如,英语中fear一词在葡萄牙语中是medo,在西班牙语中是miedo,在加泰罗尼亚语中是por,在法语中则是peur。
在罗曼诸语言内部存在很多方言,有些时候很难分辨那些是“方言”,那些是独立语言。很多语言之所以具有比较显赫的地位是由于它们是政府、媒体和学校教育所采用的语言,比如法语、西班牙语、意大利语等。而很多语言尽管在地方学校也有教授,且具有一定的官方地位,却显得弱势得多,比如萨丁尼亚语和罗曼什语等。有一些语言则长期受到官方的漠视,例如法国南部的普罗旺斯语、意大利境内的威尼斯语等等。如果说这些语言仍有一些生命力的话,另外一些更加弱势的语言,如阿斯图里亚斯语、阿拉贡语等,前途更加黯淡,随时面临灭绝的危险。这些语言(或方言)目前只在非常狭小的范围内通行,正在逐渐萎缩。
共同特征
罗曼诸语言的共同特征主要包括:
常规:
罗曼诸语言的语法变化主要依靠动词的词形变化,而非依靠粘着成分。这就意味着对动作的描述更多的依赖动词自身的变化,而非类似英语中go in之类的“动词+介词”结构。这也是罗曼语言构词法的重要特征。
罗曼诸语言通常频繁使用两个助动词来构成时态,都是从拉丁语的不定词esse和stare改变而来的,一个用于描述本质,一个用于描述状态。
罗曼语的动词都要依照人称及数量的不同而进行变位。第三人称通常有语法性的区别,而第一和第二人称则没有。这一点和希伯莱语相似,不同的是希伯莱语的所有人称都有性和数的变化。
几乎所有的罗曼语言中都还保留着敬词的痕迹,主要体现在第二人称单数上。例如法语中“你”是Tu,而“您”则是Vous。这一特征被称为罗曼语言的“T-V差别”。
所有的罗曼语言名词都有语法性的区别,但通常名词本身没有屈折变化,尽管拉丁语中名词是有格变化的。
在语音上,罗曼语言通常都将每个词的重音放在倒数第二个音节上(在法语中,重音是放在最后一个音节上的,因为多数法语词汇摈弃了拉丁语词汇的最后一个元音),而且罗曼语言通常都有一些特殊的规定以消除声门塞音、闭塞辅音等对语言整体美感的影响(例如法语中就有“联诵”的规定)。这些特征使得所有的罗曼语言都具有语素快、语调流畅的特点。
书面形式:
字母W和K使用得很少,通常只出现在人名和外来语中。
字母C和G在前元音(如i、e等)之前的时候通常读音要软化,在后元音(如a、o、u)前则要发较硬的软腭音。
在大多数罗曼语中,一些表示国籍的形容词、表示星期、月份和年份的名词通常首字母不需大写,这和日耳曼语不同。例如,在法语中,“中国的”写作chinois,而不是Chinois。
独特性
名词复数的构成
在一些罗曼语中,名词复数是由名词单数词尾加字母s构成的,这是从拉丁语中宾格名词的复数形式演化而来的,以这种方式构成名词复数的罗曼语言包括葡萄牙语、西班牙语、加泰罗尼亚语、普罗旺斯语和法语。然而也有一些语言的名词复数是由词尾的元音字母变化而构成的,这一特征则是从拉丁语中主格名词的复数形式演化而来。属于这一类别的语言有意大利语和罗马尼亚语等。
词尾元音
一些罗曼语言摈弃了拉丁语词汇的词尾非重读元音。例如拉丁语词汇luna(月亮)在意大利语中仍是luna,而在法语中则变成了lune。仍然保留了词尾元音的语言包括葡萄牙语、西班牙语、意大利语和罗马尼亚语。而法语则摈弃了词尾元音。
那些摈弃了词尾元音的语言,其词汇的重读系统也发生了变化,由倒数第二个音节重读变为最后一个音节重读。
比较级的构成词
罗曼诸语言的比较级构成词也有两种,一种是从拉丁语词汇plus演化而来的,一种则是从magis一词演化来的。采用前一种构成方式的语言包括法语(plus)和意大利语(più);而采用后一种构成方式的则包括葡萄牙语(mais)、西班牙语(más)、加泰罗尼亚语(més)、普罗旺斯语和罗马尼亚语(mai)等。
数字“16”
在罗曼语言中,“16”这个数字在计数体系中地位非常特殊。除了罗马尼亚语以外,罗曼语言普遍用“1+10”,“2+10”……结构表示11-15,用“10+7”,“10+8”……结构表示17-19。而16作为两组之间的分界线,在各语言中表达方法不同,其中法语、加泰罗尼亚语、意大利语等用“6+10”;而葡萄牙语和西班牙语等则用“10+6”。
助动词体系
有些罗曼语言用表达“有”这一含义的助动词(相当于英语的to have)来构成复合时态(比如法语中的“愈过去时”等),而有些语言则对动词做出区分,有些动词用have来构成,有些则要用be来构成。仅使用have构成的语言包括加泰罗尼亚语、葡萄牙语、西班牙语和罗马尼亚语等。而混合使用两个助动词的语言则包括法语、意大利语和普罗旺斯语等。
在后一类罗曼语言中,用be来构成的复合时态的动词通常是常用的不及物动词,这类动词通常描述的是无法确定目标或标明状态的动作。例如“来”、“去”、“变为”等等。而大多数动词还是要利用have来构成复合时态。
混杂语言和语言变体
近代西方国家的全球殖民活动使得罗曼语言的传播超出了欧洲本土而扩展到世界各地。西班牙语、葡萄牙语和法语的影响力尤其大。这些语言在海外传播的过程中和其他语言融合,便产生了和母语大不相同的各类混杂语言和语言变体。下边列出了一些重要的罗曼语言变体:
法语变体
海地法语,是美洲国家海地的官方语言。
安替列法语,主要通行于美洲的多米尼加和圣露西亚。
Kreyol Lwiziyen,通行于美国路易斯安那州。
毛里求斯法语,是通行于毛里求斯的法语变体。
塞舌尔语,是流行于塞舌尔地区的法语变体,和英语、法语并列为塞舌尔的官方语言。
Lanc-Patuá,主要通行于巴西的阿玛帕州,是法语和葡萄牙语结合产生的变体。这种语言变体主要是由来自讲法语的南美国家圭亚那以及加勒比海的法国殖民地移民创造的。
越南法语,主要通行于东南亚的原法国殖民地越南、老挝等国。
葡萄牙语变体
Angolar,主要通行于圣多美岛。
Fá d'Ambô,通行于赤道几内亚。
Crioulo,通行于佛得角的巴温兰托岛。
达曼-印度-葡萄牙语,通行于印度的达曼和弟乌地区。
弟乌-印度-葡萄牙语,通行于印度的达曼和弟乌地区,几乎已经灭绝。
Forro,通行于圣多美岛。
马来葡萄牙语,通行于马来西亚一些地方。
Kristi,通行于印度柯尔雷地区的一些村庄。
Lunguyê,通行于普林西比岛,几乎已经灭绝。
Patuá或Macanese,澳门葡萄牙语,通行于中国的澳门地区。
帕皮阿门托语,通行于尼德兰安德列斯群岛和阿鲁巴岛,是葡萄牙语和西班牙语、荷兰语混杂语言。
苏里南语,通行于南美国家苏里南,是英语和葡萄牙语的混杂语言。
斯里兰卡-印度-葡萄牙语,通行于斯里兰卡的一些濒海城市。
几内亚葡萄牙语,是通行于非洲国家几内亚比绍和塞内加尔一些地区的混杂语言。
西班牙语变体:
查瓦卡诺语
帕兰切罗语
帕皮阿门托语 (混杂了西班牙语、葡萄牙语和荷兰语)
雅尼托语
人造语言
拉丁语和罗曼诸语言也促进了人造语言的发展。例如,著名的世界语、拉丁国际语、新佛兰卡语等人造语言就大量采用罗曼语言的特征以构成自己的语法和词汇体系。
罗曼语族诸语言列表
由于罗曼语言都是从拉丁语衍生出来的,在历史发展的过程中经历了非常复杂的变化,因此对于罗曼语族内部诸语言派别的划分历来存在争议,目前尚没有确凿的定论。下面是罗曼语族诸语言及方言的详尽列表:
东罗曼语支
罗马尼亚语 (ron)
伊斯特拉-罗马尼亚语(Romanian, Istro)(ruo)
阿罗马尼亚语、马其顿-罗马尼亚语(Romanian, Macedo)(rup)
梅戈来诺-罗马尼亚语(Romanian, Megleno)(ruq)
意大利-西罗曼语支
意大利-达尔马提亚语支
达尔马提亚语(Dalmatian)(dlm)
伊斯特拉语(Istriot)(ist)
意大利语、意大利语 (ita)
犹太-意大利语(Judeo-Italian)(itk)
拿坡里语 (nap)
西西里语 (scn)
西罗曼语支
高卢-伊比利亚语支 Gallo-Iberian
高卢-罗曼语支 Gallo-Romance
高卢-意大利语支 Gallo-Italian
艾米利亚-罗马涅语(Emiliano-Romagnolo)(eml)
利古里亚语(Ligurian)(lij)
伦巴底语 (lmo)
皮埃蒙特语 (pms)
威尼斯语 (vec)
高卢-雷蒂亚语支 Gallo-Rhaetian
奥依语
法语
古法语 (fro)
盎格鲁-诺曼语 (xno)
法语 (fra)
卡真法语、路易斯安那州法语(Cajun French)(frc)
庇卡底语(Picard)(pcd)
瓦龙语、瓦隆语、华隆语 (wln)
查法蒂语、犹太-法语(Zarphatic)(zrp)
东南奥依语
法兰克-普罗旺斯语(Franco-Provençal)(frp)
列托-罗曼斯语 Rhaetian
弗留利语 (fur)
拉登语 (lld)
罗曼什语 (roh)
伊比利亚-罗曼语支 Ibero-Romance
东伊比利亚语支 East Iberian
加泰罗尼亚语、瓦伦西亚语 (cat)
奥克语
奥克语 (oci)
古普罗旺斯语(Old Provençal)(pro)
苏阿迪特语(Shuadit)(sdt)
西伊比利亚语支 West Iberian
Asturo-Leonese
阿斯图里亚斯语 (ast)
米兰德斯语(Miranda do Douro)(mwl)
卡斯提语 Castilian
埃斯特雷马杜拉语(Extremaduran)(ext)
拉迪诺语、犹太-西班牙语 (lad)
西班牙语 (spa)
洛雷托-乌卡亚利西班牙语、森林西班牙语(Spanish, Loreto-Ucayali,在秘鲁)(spq)
葡萄牙-加利西亚 Portuguese-Galician
法拉语(Fala)(fax)
加利西亚语 (glg)
葡萄牙语 (por)
比利牛斯-莫札拉布 Pyrenean-Mozarabic
莫札拉布语 Mozarabic
莫札拉布语(Mozarabic)(mxi)
比利牛斯 Pyrenean
阿拉贡语 (arg)
南罗曼语支(海岛语支)
科西嘉语 Corsican
科西嘉语 (cos)
萨丁尼亚语 Sardinian (srd)
萨萨里方言(Sardinian, Sassarese)(sdc)
加卢拉方言(Sardinian, Gallurese)(sdn)
劳古多罗方言(Sardinian, Logudorese)(src)
坎皮达诺方言(Sardinian, Campidanese)(sro)
盘点关于爱美国电影,【在线观看】免费百度云资源
关于爱美国电影,在线观看免费资源
剧名:玩偶师 百度网盘下载观看链接:
提取码:udsf
剧名:一条狗的使命2 百度网盘下载观看链接:
提取码:urcx
剧名:附属美丽 百度网盘下载观看链接:
提取码:nu3e
剧名:不可能的事 百度网盘下载观看链接:
提取码:js4g
在“下一代网络”热潮中,中国SDN(软件定义网络)会怎么走?
SDN,即Software-Defined Network(软件定义网络),由于传统的网络设备(交换机、路由器)的固件是由设备制造商锁定和控制,所以SDN希望将网络控制与物理网络拓扑分离,从而摆脱硬件对网络架构的限制。这样企业便可以像升级、安装软件一样对网络架构进行修改,满足企业对整个网站架构进行调整、扩容或升级。而底层的交换机、路由器等硬件则无需替换,节省大量的成本的同时,网络架构迭代周期将大大缩短。举个不恰当的例子,SDN技术就相当于把每人家里路由器的的管理设置系统和路由器剥离开。以前我们每台路由器都有自己的管理系统,而有了SDN之后,一个管理系统可用在所有品牌的路由器上。如果说现在的 网络系统是功能机,系统和硬件出厂时就被捆绑在一起,那么SDN就是 Android系统,可以在很多智能手机上安装、升级,同时还能安装更多更强大的手机App(SDN应用层部署)。昨天,中国第一届开放网络峰会在北京召开,参会商除了有百度、腾讯、阿里巴巴等互联网公司,还包括如NEC、NTT Communications等国内外一些运营商、软硬件公司。既然如此,就让我们从这次大会来看看,中国的SDN普及之路会怎么走?现状 在国内,SDN技术仍处在实验的阶段。作为从斯坦福出来的新兴网络技术,高校自然会更早的接触和研究这类技术。目前国内一些院校已经开始对SDN技术进行了大量的研究测试,比如清华研究院博士生亓亚烜介绍了清华SDN团队在架构、安全性、资源管理等方面的研究进程,到目前为止已经运行一年之久。而亓亚烜也和另外两位Founder成立了SDN相关服务公司,开始进入SDN技术商业应用之路。北邮院长张杰则称:到2016年,思科预测全球每年的IP流量将达到Zettabyte级别(1ZB=1024EB,1EB=1024PB)。所以他们也在利用SDN技术在尝试一种可大大减少网络流量的交换损耗的灵活光联网。另外上海交大的金耀辉教授在会上也介绍了他们在OpenStack中的SDN技术的使用情况,以及OpenStack中网络模块的实现效果等。对于SDN对现有网络的革命性改变,谁也不会否认。世纪互联顾问厉建宇称企业SDN网络部署能够提高网络利用率、简化网络交换设备、简化传统的CDN流量工程等,另外在成本、能耗等方面也都有较大的提高。国外包括Google、微软、Facebook等很多厂商都已经进入了部署阶段。NEC中国研究院院长杜军也介绍说他们已经开始了SDN相关的研发工作,其SDN相关产品在日本、美国都有了一些的客户。而作为 Open Networking Foundation(开放网络基金会)8位董事会成员之一NTT Communications,其SDN负责人Ito 则认为中国是全球业务中不可或缺的一部分,而且由于其本身和电信、联通、移动以及华为、中兴等SDN相关厂商一直有合作,所以他们很愿意在国内的SDN发展上起到一定的推动作用。尽管上面的NTT、NEC都有了一些SDN产品,但不得不承认,这些产品和技术都还没有进入中国。限于中国的特殊环境和大企业的保守,中国在普及SDN技术上还有一定的困难,包括运营商、网络服务商等都处在一种观望的状态,所以SDN普及还需时日。使用者态度 下午,腾讯、阿里巴巴、新浪、百度等国内互联网巨头也谈到了SDN对他们的意义。作为SDN技术的直接使用者,他们看到了SDN对硬件和网络设施的巨大影响,但毫不例外的是,大家也都谈到了现有的SDN技术还有很多问题需要解决。这四家公司都已经开始对SDN进行了相关研究,但发现目前使用SDN来构建IDC还是会遇到一些瓶颈,比如阿里提到的运营数据挖掘、故障诊断和及时修复、以及一次性购买成本等问题。当然,除了怀疑,国内互联网公司也在努力做相关的开发工作。其中百度就已有了几块成型的SDN产品,他们的Traffic Engineering系统就是基于SDN网络架构的产品,未来还会做出更多地尝试和SDN应用的产品。阻碍 美国ONF(开放网络基金会)去年才刚刚成立,SDN对于很多人来说还相当陌生。限于国内技术水平、国家政策和环境特殊性以及运营商的垄断地位,国内的SDN发展还没法和美国等国家相比。另外,由于SDN切断了网络硬件设备和网络系统的捆绑,所以从某种角度来讲,这对华为、中兴这些硬件制造商并不利。虽然他们不会阻止这种趋势,但目前国内还很难依靠他们来推动SDN的发展。而且由于国内的技术型创业公司极少,目前还很难有 Nicira、 Contrail Systems、 Xsigo这样优秀的SDN创业公司的出现。未来 就像锐捷网络产品研发总监刘茗说的那样:“参加了这次峰会之后,我仍然看不清楚未来。”SDN目前在国内仍然没有成功的应用案例,持怀疑态度的还是大有人在。所以要想让SDN快速发展起来,这仍然是一个很不轻松的过程。