本文目錄一覽:
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快速發展起來,這仍然是一個很不輕鬆的過程。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/154151.html