知識圖譜 (Knowledge Graph) 是當前的研究熱點。自從2012年Google推出自己第一版知識圖譜以來,它在學術界和工業界掀起了一股熱潮。各大互聯網企業在之後的短短一年內紛紛推出了自己的知識圖譜產品以作為回應。比如在國內,互聯網巨頭網路和搜狗分別推出」知心「和」知立方」來改進其搜索質量。那麼與這些傳統的互聯網公司相比,對處於當今風口浪尖上的行業 - 互聯網金融, 知識圖譜可以有哪方面的應用呢?
目錄
1. 什麼是知識圖譜?
2. 知識圖譜的表示
3. 知識圖譜的存儲
4. 應用
5. 挑戰
6. 結語
1. 什麼是知識圖譜?
知識圖譜本質上是語義網路,是一種基於圖的數據結構,由節點(Point)和邊(Edge)組成。在知識圖譜里,每個節點表示現實世界中存在的「實體」,每條邊為實體與實體之間的「關系」。知識圖譜是關系的最有效的表示方式。通俗地講,知識圖譜就是把所有不同種類的信息(Heterogeneous Information)連接在一起而得到的一個關系網路。知識圖譜提供了從「關系」的角度去分析問題的能力。
知識推理
推理能力是人類智能的重要特徵,使得我們可以從已有的知識中發現隱含的知識, 一般的推理往往需要一些規則的支持【3】。例如「朋友」的「朋友」,可以推理出「朋友」關系,「父親」的「父親」可以推理出「祖父」的關系。再比如張三的朋友很多也是李四的朋友,那我們可以推測張三和李四也很有可能是朋友關系。當然,這里會涉及到概率的問題。當信息量特別多的時候,怎麼把這些信息(side information)有效地與推理演算法結合在一起才是最關鍵的。常用的推理演算法包括基於邏輯(Logic) 的推理和基於分布式表示方法(Distributed Representation)的推理。隨著深度學習在人工智慧領域的地位變得越來越重要,基於分布式表示方法的推理也成為目前研究的熱點。如果有興趣可以參考一下這方面目前的工作進展【4,5,6,7】。
大數據、小樣本、構建有效的生態閉環是關鍵
雖然現在能獲取的數據量非常龐大,我們仍然面臨著小樣本問題,也就是樣本數量少。假設我們需要搭建一個基於機器學習的反欺詐評分系統,我們首先需要一些欺詐樣本。但實際上,我們能拿到的欺詐樣本數量不多,即便有幾百萬個貸款申請,最後被我們標記為欺詐的樣本很可能也就幾萬個而已。這對機器學習的建模提出了更高的挑戰。每一個欺詐樣本我們都是以很高昂的「代價」得到的。隨著時間的推移,我們必然會收集到更多的樣本,但樣本的增長空間還是有局限的。這有區別於傳統的機器學習系統,比如圖像識別,不難拿到好幾十萬甚至幾百萬的樣本。
在這種小樣本條件下,構建有效的生態閉環尤其的重要。所謂的生態閉環,指的是構建有效的自反饋系統使其能夠實時地反饋給我們的模型,並使得模型不斷地自優化從而提升准確率。為了搭建這種自學習系統,我們不僅要完善已有的數據流系統,而且要深入到各個業務線,並對相應的流程進行優化。這也是整個反欺詐環節必要的過程,我們要知道整個過程都充滿著博弈。所以我們需要不斷地通過反饋信號來調整我們的策略。
6. 結語
知識圖譜在學術界和工業界受到越來越多的關注。除了本文中所提到的應用,知識圖譜還可以應用在許可權管理,人力資源管理等不同的領域。在後續的文章中會詳細地講到這方面的應用。
參考文獻
【1】De Abreu, D., Flores, A., Palma, G., Pestana, V., Pinero, J., Queipo, J., ... & Vidal, M. E. (2013). Choosing Between Graph Databases and RDF Engines for Consuming and Mining Linked Data. In COLD.
【2】User Behavior Tutorial
【3】劉知遠 知識圖譜——機器大腦中的知識庫 第二章 知識圖譜——機器大腦中的知識庫
【4】Nickel, M., Murphy, K., Tresp, V., & Gabrilovich, E. A Review of Relational Machine Learning for Knowledge Graphs.
【5】Socher, R., Chen, D., Manning, C. D., & Ng, A. (2013). Reasoning with neural tensor networks for knowledge base completion. In Advances in Neural Information Processing Systems (pp. 926-934).
【6】Bordes, A., Usunier, N., Garcia-Duran, A., Weston, J., & Yakhnenko, O. (2013). Translating embeddings for modeling multi-relational data. In Advances in Neural Information Processing Systems (pp. 2787-2795).
【7】Jenatton, R., Roux, N. L., Bordes, A., & Obozinski, G. R. (2012). A latent factor model for highly multi-relational data. In Advances in Neural Information Processing Systems(pp. 3167-3175).
『貳』 計算機網路拓撲結構是怎樣的
計算機網路的拓撲結構如下:
1、星型拓撲:以一個電腦為中心,向四周分散開。這個結構簡返升單,擴展性大,傳輸時間少。但是當中心部分出現錯誤後,全部的網路都會癱瘓。
2、匯流排拓撲:所有的電腦網路都連在一條線上。這鄭世皮個結構所需要的電線短,電線少;但是當這個結構出現故障後很難找到故障問題。
3、環形拓撲:所有的網路形成一個環形結構。這個結構可以節約設備,但是當其中網路出現問題時候不容易找到故障的設備。
4、樹形拓撲:以一個中心開始像下面發展,像一棵樹的形狀。這樣的結構擴展性強,分支多,但是當頂端網路出現錯誤的時候整個網路都容易癱瘓。
5、網性拓撲:所有喊差的網路連接構成一個網狀。這個結構應用廣泛,利用性強,而且當一個網路出現錯誤的時候其他結構仍然可以使用,但是這個結構復雜,成本高。
6、混合式拓撲:是以上的拓撲結構混合而成。
『叄』 計算機網路的拓撲結構有幾種 畫出拓撲結構圖
計算機網路拓撲結構有:匯流排結構、環形結構、星形結構、樹形結構。
圖片為示意圖!謝謝~
『肆』 計算機網路由哪幾部分組成
計算機網路的組成基本上包括:計算機、網路操作系統、傳輸介質(可以是有形的,也可以是無形的,如無線網路的傳輸介質就是空間)以及相應的應用軟體四部分。
計算機網路的分類與一般的事物分類方法一樣,可以按事物所具有的不同性質特點(即事物的屬性)分類。計算機網路通俗地講就是由多台計算機(或其它計算機網路設備)通過傳輸介質和軟體物理(或邏輯)連接在一起組成的。
雖然網路類型的劃分標准各種各樣,但是從地理范圍劃分是一種大家都認可的通用網路劃分標准。按這種標准可以把各種網路類型劃分為區域網、城域網、廣域網和互聯網四種。區域網一般來說只
能是一個較小區域內,城域網是不同地區的網路互聯,不過在此要說明的一點就是這里的網路劃分並沒有嚴格意義上地理范圍的區分,只能是一個定性的概念。
(4)整個計算機網路知識圖譜擴展閱讀:
計算機網路按廣義分類:
計算機網路也稱計算機通信網。關於計算機網路的最簡單定義是:一些相互連接的、以共享資源為目的的、自治的計算機的集合。若按此定義,則早期的面向終端的網路都不能算是計算機網路,而
只能稱為聯機系統(因為那時的許多終端不能算是自治的計算機)。但隨著硬體價格的下降,許多終端都具有一定的智能,因而「終端」和「自治的計算機」逐漸失去了嚴格的界限。若用微型計算
機作為終端使用,按上述定義,則早期的那種面向終端的網路也可稱為計算機網路。
另外,從邏輯功能上看,計算機網路是以傳輸信息為基礎目的,用通信線路將多個計算機連接起來的計算機系統的集合,一個計算機網路組成包括傳輸介質和通信設備。
從用戶角度看,計算機網路是這樣定義的:存在著一個能為用戶自動管理的網路操作系統。由它調用完成用戶所調用的資源,而整個網路像一個大的計算機系統一樣,對用戶是透明的。
一個比較通用的定義是:利用通信線路將地理上分散的、具有獨立功能的計算機系統和通信設備按不同的形式連接起來,以功能完善的網路軟體及協議實現資源共享和信息傳遞的系統。
從整體上來說計算機網路就是把分布在不同地理區域的計算機與專門的外部設備用通信線路互聯成一個規模大、功能強的系統,從而使眾多的計算機可以方便地互相傳遞信息,共享硬體、軟體、數
據信息等資源。簡單來說,計算機網路就是由通信線路互相連接的許多自主工作的計算機構成的集合體。
最簡單的計算機網路就只有兩台計算機和連接它們的一條鏈路,即兩個節點和一條鏈路。
參考資料:網路--計算機網路
『伍』 計算機網路體系分為哪四層
1.、應用層
應用層對應於OSI參考模型的高層,為用戶提供所需要的各種服務,例如:FTP、Telnet、DNS、SMTP等.
2.、傳輸層
傳輸層對應於OSI參考模型的傳輸層,為應用層實體提供端到端的通信功能,保證了數據包的順序傳送及數據的完整性。該層定義了兩個主要的協議:傳輸控制協議(TCP)和用戶數據報協議(UDP).
TCP協議提供的是一種可靠的、通過「三次握手」來連接的數據傳輸服務;而UDP協議提供的則是不保證可靠的(並不是不可靠)、無連接的數據傳輸服務.
3.、網際互聯層
網際互聯層對應於OSI參考模型的網路層,主要解決主機到主機的通信問題。它所包含的協議設計數據包在整個網路上的邏輯傳輸。注重重新賦予主機一個IP地址來完成對主機的定址,它還負責數據包在多種網路中的路由。
該層有三個主要協議:網際協議(IP)、互聯網組管理協議(IGMP)和互聯網控制報文協議(ICMP)。
IP協議是網際互聯層最重要的協議,它提供的是一個可靠、無連接的數據報傳遞服務。
4.、網路接入層(即主機-網路層)
網路接入層與OSI參考模型中的物理層和數據鏈路層相對應。它負責監視數據在主機和網路之間的交換。事實上,TCP/IP本身並未定義該層的協議,而由參與互連的各網路使用自己的物理層和數據鏈路層協議,然後與TCP/IP的網路接入層進行連接。地址解析協議(ARP)工作在此層,即OSI參考模型的數據鏈路層。
(5)整個計算機網路知識圖譜擴展閱讀:
OSI將計算機網路體系結構(architecture)劃分為以下七層:
物理層: 將數據轉換為可通過物理介質傳送的電子信號相當於郵局中的搬運工人。
數據鏈路層: 決定訪問網路介質的方式。
在此層將數據分幀,並處理流控制。本層指定拓撲結構並提供硬體定址,相當於郵局中的裝拆箱工人。
網路層: 使用權數據路由經過大型網路 相當於郵局中的排序工人。
傳輸層: 提供終端到終端的可靠連接 相當於公司中跑郵局的送信職員。
會話層: 允許用戶使用簡單易記的名稱建立連接 相當於公司中收寄信、寫信封與拆信封的秘書。
表示層: 協商數據交換格式 相當公司中簡報老闆、替老闆寫信的助理。
應用層: 用戶的應用程序和網路之間的介面老闆。
『陸』 簡述計算機網路的組成,以及各個組成部分的作用
計算機網路由七層組成:
1、物理層:傳遞信息需要利用一些物理傳輸媒體,如雙絞線、同軸電纜、光纖等。物理層的任務就是為上層提供一個物理的連接,以及該物理連接表現出來的機械、電氣、功能和過程特性,實現透明的比特流傳輸。
2、數據鏈路層:數據鏈路層負責在2個相鄰的結點之間的鏈路上實現無差錯的數據幀傳輸。在接收方接收到數據出錯時要通知發送方重發,直到這一幀無差錯地到達接收結點,數據鏈路層就是把一條有可能出錯的實際鏈路變成讓網路層看起來像不會出錯的數據鏈路。
3、網路層:網路中通信的2個計算機之間可能要經過許多結點和鏈路,還可能經過幾個通信子網。網路層數據傳輸的單位是分組。網路層的主要任務是為要傳輸的分組選擇一條合適的路徑,使發送分組能夠正確無誤地按照給定的目的地址找到目的主機,交付給目的主機的傳輸層。
4、傳輸層:傳輸層的主要任務是通過通信子網的特性,最佳地利用網路資源,並以可靠與經濟的方式為2個端系統的會話層之間建立一條連接通道,以透明地傳輸報文。傳輸層向上一層提供一個可靠的端到端的服務,使會話層不知道傳輸層以下的數據通信的細節。
5、會話層:在會話層以及以上各層中,數據的傳輸都以報文為單位,會話層不參與具體的傳輸,它提供包括訪問驗證和會話管理在內的建立以及維護應用之間的通信機制。如伺服器驗證用戶登錄便是由會話層完成的。
6、表示層:這一層主要解決用戶信息的語法表示問題。它將要交換的數據從適合某一用戶的抽象語法,轉換為適合OSI內部表示使用的傳送語法。即提供格式化的表示和轉換數據服務。數據的壓縮和解壓縮、加密和解密等工作都由表示層負責。
7、應用層:這是OSI參考模型的最高層。應用層確定進程之間通信的性質以滿足用戶的需求,以及提供網路與用戶軟體之間的介面服務。
(6)整個計算機網路知識圖譜擴展閱讀:
傳輸層作為整個計算機網路的核心,是惟一負責總體數據傳輸和控制的一層。因為網路層不一定保證服務的可靠,而用戶也不能直接對通信子網加以控制,因此在網路層之上,加一層即傳輸層以改善傳輸質量。
傳輸層利用網路層提供的服務,並通過傳輸層地址提供給高層用戶傳輸數據的通信埠,使系統間高層資源的共享不必考慮數據通信方面和不可靠的數據傳輸方面的問題。
『柒』 計算機網路-k8s網路
K8S網路模型設計:扁平的可連通的網路
K8S的網路是一個極其復雜的網路,如果想要用兩個簡單的詞來描述K8S網路,那麼我覺得扁平和可連通是K8S網路最大的特點(不懂隔離性)。
何為連通呢?
二層網路的連通:如果能夠直接通過MAC幀直接通信的網路便是二層連通的網路,LAN就是這種網路
比如無限WIFI網路,比如乙太網
三層網路的連通:如果能夠通過IP報直接通信的網路便是三層連通的網路,便是三層連通
三層網路的連通分為兩個部分,第一個部分是三層網路中的每一個LAN都是二層連通的,其次需要存在能夠連通的路由來保證;這里可以簡單回顧下三層網路通信的流程
通過路由表確定目標ip是否在鏈路上
如果在鏈路上,通過arp協議獲取對應主機的mac地址,發送mac幀到鏈路上;
如果不在同一個鏈路上,通過本地路由表發送mac幀給下一跳,然後下一跳解析mac幀,分析ip報,繼續路由直到最終跳到目標網路再次通過mac幀發送到目標主機或者到達ttl消失。
假如其中任何一個步驟不滿足或者出問題,三層網路就無法連通
何為扁平呢?
就是希望可以在pod內直接通過IP進行互相通信而不需要在pod內部使用vpn之類的東西來連接其他pod(基礎架構化),具體的可以看下k8s對網路的設計與要求。
k8s在設計其網路時,就希望網路對運行在其中的pod是透明的,因此提出了以下的一些要求與原則
k8s組網要求
所有的Pods之間可以在不使用 NAT網路地址轉換 的情況下相互通信
所有的Nodes之間可以在不使用NAT網路地址轉換的情況下相互通信
每個Pod自己看到的自己的ip和其他Pod看到的一致
k8s網路模型設計原則
每個Pod都擁有一個獨立的 IP地址,而且 假定所有 Pod 都在一個可以直接連通的、扁平的網路空間中 。
不管它們是否運行在同 一 個 Node (宿主機)中,都要求它們可以直接通過對方的 IP 進行訪問。
設計這個原則的原因 是,用戶不需要額外考慮如何建立 Pod 之間的連接,也不需要考慮將容器埠映射到主機埠等問題。
而要想深入了解K8S的網路,就不得不去了解Linux操作系統中的網路以及計算機網路協議棧和一些網路技術
其中關於計算機網路協議棧道部分上次分享已經分享過了,所以本次的主題更多是Linux操作系統的網路以及一些網路技術
Linux操作系統中的網路
首先,我們來看下基本的linux網路,如下圖所示
一個APP生成socket數據,然後經過網路協議棧包裝IP報文,然後封裝成MAC幀,在經過網路協議棧的過程中,會存在netfilters對數據進行一定的處理,同時也會存在路由的過程,
如果在同一個物理鏈路內,將直接通過ARP協議獲取目標IP地址的MAC地址最終發送出去;
如果不在同一個物理鏈路則通過路由表確定下一跳的MAC地址,封裝成MAC幀發送到目標地址。
在這個過程中,會根據路由表選擇對應的埠,如果是lo埠,則會將幀原封不動的返回計算機網路協議棧,然後回到監聽對應埠的SOCKET里。
如果是乙太網埠則走乙太網埠,如果是藍牙或者無線網埠同理。
iptables與netfilters
iptables是一個用戶空間的應用程序,通過該程序可以修改一些配置文件,這些文件定義了防火牆的一些行為,netfilters是操作系統內核的一部分,netfilters里有5個回調鉤子會觸發iptables里的規則;iptables只是Linux防火牆的管理工具而已,位於/sbin/iptables。真正實現防火牆功能的是
netfilter,它是Linux內核中實現包過濾的內部結構。
這里不具體講述其實現的原理,僅僅列出netfilters的一些功能:
1)filter表——三個鏈:INPUT、FORWARD、OUTPUT
作用:過濾數據包 內核模塊:iptables_filter.
2)Nat表——三個鏈:PREROUTING、POSTROUTING、OUTPUT
作用:用於網路地址轉換(IP、埠) 內核模塊:iptable_nat
3)Mangle表——五個鏈:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD
作用:修改數據包的服務類型、TTL、並且可以配置路由實現QOS內核模塊:iptable_mangle(別看這個表這么麻煩,咱們設置策略時幾乎都不會用到它)
4)Raw表——兩個鏈:OUTPUT、PREROUTING
作用:決定數據包是否被狀態跟蹤機制處理 內核模塊:iptable_raw
虛擬網路設備 tap/tun
TUN 和 TAP 設備是 Linux 內核虛擬網路設備,純軟體實現。TUN(TUNnel)設備模擬網路層設備,處理三層報文如 IP
報文。TAP 設備模擬鏈路層設備,處理二層報文,比如乙太網幀。TUN 用於路由,而 TAP 用於創建網橋。OS 向連接到 TUN/TAP
設備的用戶空間程序發送報文;用戶空間程序可像往物理口發送報文那樣向 TUN/TAP 口發送報文,在這種情況下,TUN/TAP
設備發送(或注入)報文到 OS 協議棧,就像報文是從物理口收到一樣。
虛擬網路設備 veth-pairs
虛擬乙太網電纜。使用雙向有名管道實現。常用於不同 namespace 之間的通信,即 namespace 數據穿越或容器數據穿越。
虛擬網路設備 bridge
bridge是linux自帶的虛擬交換機(網橋),其可以連接多個乙太網設備,擁有智能處理MAC幀的能力,流向交換機的MAC幀將智能的被傳輸到相應的二層鏈路
網路命名空間
在 Linux 中,網路名字空間可以被認為是隔離的擁有單獨網路棧(網卡、路由轉發表、iptables)的環境。網路名字空間經常用來隔離網路設備和服務,只有擁有同樣網路名字空間的設備,才能看到彼此。
從邏輯上說,網路命名空間是網路棧的副本,有自己的網路設備、路由選擇表、鄰接表、Netfilter表、網路套接字、網路procfs條目、網路sysfs條目和其他網路資源。
從系統的角度來看,當通過clone()系統調用創建新進程時,傳遞標志CLONE_NEWNET將在新進程中創建一個全新的網路命名空間。
從用戶的角度來看,我們只需使用工具ip(package is iproute2)來創建一個新的持久網路命名空間。
從系統實現來說,就是原本一個數據結構是static公共的,後來變成進程私有的,在PCB里存在一個命名空間的結構,命名空間里有著網路命名空間,網路命名空間擁有著所有跟網路相關的配置數據
默認空的網路命名空間可能只有一個未啟動的lo回環網卡。
兩個網路命名空間可以通過乙太網攬直接連著兩個網路命名空間的網卡,也可以通過乙太網網橋連接。
通過乙太網網橋或者乙太網攬連接的兩個網路命名空間只能說是在二層連通的,如果希望在三層連通,還需要給每個網路命名空間配置相應的路由表規則以及分配IP地址。
如何使用虛擬網路設備聯通網路命名空間
SingleHost容器網路
none模式
本質上就是創建一個網路命名空間,裡面沒有路由表,也沒有通過veths-pair連接任何鏈路,外部無法訪問這個容器,容器也無法訪問外部
host模式
本質上就是使用宿主機的默認網路命名空間
container模式
本質上就是將當前容器部署在另一個容器所在的網路命名空間,這樣發給本地的報文最終通過回環網卡回到了本機,這是同一個網路命名空間可以互通的原因
bridge模式
橋接模式就是在這些網路命名空間通過veth-pairs連接到同一個虛擬交換機上(二層連通),同時在對應的命名空間配置對應的路由表規則,但是從圖片中可以看到交換機另一端連的上網路協議棧。
也就是那些MAC幀都會被宿主機接收,但是宿主機接收並不一定會處理,比如並沒有開啟ip轉發功能(工作於路由器模式還是主機模式),那麼不是本地ip的報文都會被丟棄;或者說netfilters拒絕處理
這些奇怪的報文。
理論上,這些容器發送給其他容器的mac報文是會被虛擬交換機智能轉發到對應的容器的,這是同一主機不同容器互相連通的原因
假如宿主機配備了相應的路由規則和防火牆規則,那麼容器的報文說能夠通過路由最終轉發出去的,這也是容器訪問互聯網的原理
但是這種模式是沒法運用在多主機的情況下,因為宿主機不知道其他宿主機里的虛擬網路的路由,當相關ip報到達宿主機時,這些ip報將會被宿主機交給默認路由(下一跳:路由器)
最終路由器會把相關的ip報丟失或者到達ttl最終丟失
MultiHost容器網路
路由方案
回顧docker的單機網路模型,我們發現多主機不能通行的原因就在於你只能給當前主機配置路由規則和防火牆規則,而其他主機並不知道這些ip在你的虛擬網路中,假如能夠將這些路由信息同步到其他
宿主機,那麼網路便會打通。比較直接的想法就是給每台宿主機配置路由規則。而路由規則要求下一跳必須在當前網路,所以假如宿主機是二層互聯的,那麼通過給這些宿主機同步這些路由規則便能夠
實現一個扁平的連通的網路。
其中布置在每一台宿主機可以通過k8s的daemonSet實現,而這種數據的管理可以交給etcd來實現。
這類方案便是基於路由,基於這個方案的實現有基於靜態路由的flannel的host-gateway,以及基於動態路由的calico(使用邊際路由協議以及一堆深奧的名詞的實現)。
下面來看看Flannel的host-gateway原理(每一台宿主機都相當於本機容器網路的路由器):
通過路由方案構建的網路,宿主機也能訪問這些虛擬網路里的Pod
詢問基德大佬得知國際化sit環境的k8s網路介面實現就是Flannel的Host-gateway,而我們的辦公網路和集群網路之間的路由是搭建好的,所以我們應該可以直接通過podId訪問pod里的服務
下面是sit環境的兩個服務
跟蹤路由發現符合猜想
其中10.1.9.56和10.1.1.24就是宿主機的ip,這些宿主機在一個LAN里,這些宿主機相當於虛擬網路中的路由器;
猜測我們辦公網和qunhe集群在一個VLAN里(二層可達)
隧道方案
隧道方案比較典型的就是UDP和XVLAN,兩者都是使用Overlay網路(覆蓋網路,所謂的大二層技術);其實用隧道技術最多的是VPN應用
其中UDP是XVLAN的替代品(早期Linux沒有支持XVLAN協議,通過tun/tap技術將流量引到用戶空間然後解包生成包再發,因為發生在用戶空間而且多次導致性能較差,所以一般不推薦,除非你的linux版本比較低沒法用xvlan)
下面就簡單介紹下XVLAN技術的大概原理,下圖是XVLAN的報文格式,可以發現就是在高層協議的報文里塞了二層報文
其中XVLAN頭里有一個關鍵的欄位,VNID這是個24位的欄位,每個虛擬的網路主機都有一個自身的VNID作為標識,理論上支持2的24次方個虛擬網路。
在docker的橋接網路里,是使用docker0網橋,在Flannel的xvlan方案里則是使用cni0作為網橋(和docker0沒啥區別),主要的不同是cni網橋後面連接的是flannel.1這個網路設備,應該是一個虛擬網卡
這個網卡將原始報文包裝成XVLAN報文(linux高版本支持xvlan報文)
這時需要的信息有 源nodeId,目標nodeId,源vnid,源macId,目標macId,源podId,目標podId
其中目標nodeId,目標macId這兩個信息是不存在的;因此需要有個方式根據目標podId獲取目標nodeId以及目標macId
因此需要記錄如何根據目標podId獲取目標macId以及目標nodeId即可
這些數據是可以託管在某個地方的,Flannel就是將這些信息記錄在etcd上
在每個node上的flannel.1網路設備通過etcd來通過對方的podId獲取nodeId和macId
這樣最終報文就變成了一個源ip是源nodeIp,目標ip是目標nodeIp的IP報文了(兩台宿主機三層可達)
原本經過虛擬網橋是直接連接網路協議棧,但在xvlan模式下,則改為連接一個flannel1,在flannel1中將對原始報文封裝成overlay報文轉發
udp模式類似,只是udp轉發報文說通過tap連通到用戶空間,用戶空間對報文進行處理然後發送(因為多次內核態用戶態切換且數據問題,性能較差,僅在不支持xvlan的低版本linux中使用)
當然xvlan是一個技術,上面只是簡單介紹最簡單的形式
參考:
開發內功修煉之網路篇: https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MjM5Njg5NDgwNA==&action=getalbum&album_id=1532487451997454337&scene=173&from_msgid=2247485270&from_itemidx=1&count=3&nolastread=1#wechat_redirect
K8S知識圖譜: https://zhaohuabing.com/post/2020-02-22-k8s-mindmap/
VXLAN協議原理簡介: https://cizixs.com/2017/09/25/vxlan-protocol-introction/
『捌』 計算機有線網路的幾種常用拓撲結構圖
計算機網路中常用的拓撲結構有匯流排型、星型、環型等。
①匯流排拓撲結構
匯流排拓撲結構是一種共享通路的物理結構。這種結構中匯流排具有信息的雙向傳輸功能,普遍用於區域網的連接,匯流排一般採用同軸電纜或雙絞線。
匯流排拓撲結構的優點是:安裝容易,擴充或刪除一個節點很容易,不需停止網路的正常工作,節點的故障不會殃及系統。由於各個節點共用一個匯流排作為數據通路,信道的利用率高。但匯流排結構也有其缺點:由於信道共享,連接的節點不宜過多,並且匯流排自身的故障可以導致系統的崩潰。
②星型拓撲結構
星型拓撲結構是一種以中央節點為中心,把若干外圍節點連接起來的輻射式互聯結構。這種結構適用於區域網,特別是近年來連接的區域網大都採用這種連接方式。這種連接方式以雙絞線或同軸電纜作連接線路。
星型拓撲結構的特點是:安裝容易,結構簡單,費用低,通常以集線器(Hub)作為中央節點,便於維護和管理。中央節點的正常運行對網路系統來說是至關重要的。
③環型拓撲結構
環型拓撲結構是將網路節點連接成閉合結構。信號順著一個方向從一台設備傳到另一台設備,每一台設備都配有一個收發器,信息在每台設備上的延時時間是固定的。
這種結構特別適用於實時控制的區域網系統。
環型拓撲結構的特點是:安裝容易,費用較低,電纜故障容易查找和排除。有些網路系統為了提高通信效率和可靠性,採用了雙環結構,即在原有的單環上再套一個環,使每個節點都具有兩個接收通道。環型網路的弱點是,當節點發生故障時,整個網路就不能正常工作。
④樹型拓撲結構
樹型拓撲結構就像一棵「根」朝上的樹,與匯流排拓撲結構相比,主要區別在於匯流排拓撲結構中沒有「根」。這種拓撲結構的網路一般採用同軸電纜,用於軍事單位、政府部門等上、下界限相當嚴格和層次分明的部門。
樹型拓撲結構的特點:優點是容易擴展、故障也容易分離處理,缺點是整個網路對根的依賴性很大,一旦網路的根發生故障,整個系統就不能正常工作。
『玖』 計算機網路由哪些部分組成
計算機網路的組成基本上包括:計算機,網路操作系統,傳輸介質(可以是有形的,也可以是無形的,如無線網路的傳輸介質就是空氣)以及相應的應用軟體四部分。
計算機網路的組成及分類:計算機網路通俗地講就是由多台計算機(或其它計算機網路設備)通過傳輸介質和軟體物理(或邏輯)連接在一起組成的。
主要網路
雖然網路類型的劃分標准各種各樣,但是從地理范圍劃分是一種大家都認可的通用網路劃分標准。按這種標准可以把各種網路類型劃分為區域網、城域網、廣域網和互聯網四種。區域網一般來說只能是一個較小區域內,城域網是不同地區的網路互聯,不過在此要說明的一點就是這里的網路劃分並沒有嚴格意義上地理范圍的區分,只能是一個定性的概念。下面簡要介紹這幾種計算機網路。
區域網
(Local Area Network;LAN) 通常我們常見的「LAN」就是指區域網,這是我們最常見、應用最廣的一種網路。區域網隨著整個計算機網路技術的發展和提高得到充分的應用和普及,幾乎每個單位都有自己的區域網,有的甚至家庭中都有自己的小型區域網。
『拾』 計算機網路的拓撲結構主要有哪幾種
計算機網路的拓撲結構如下:
1、星型拓撲:以一個電腦為中心,向四周分散開。這個結構簡單,擴展性大,傳輸時間少。但是當中心部分出現錯誤後,全部的網路都會癱瘓。
2、匯流排拓撲:所有的電腦網路都連在一條線上。這個結構所需要的電線短,電線少;但是當這個結構出現故障後很難找到故障問題。
3、環形拓撲:所有的網路形成一個環形結構。這個結構可以節約設備,但是當其中網路出現問題時候不容易找到故障的設備。
4、樹形拓撲:以一個中心開始像下面發展,像一棵樹的形狀。這樣的結構擴展性強,分支多,但是當頂端網路出現錯誤的時候整個網路都容易癱瘓。
5、網性拓撲:所有的網路連接構成一個網狀。這個結構應用廣泛,利用性強,而且當一個網路出現錯誤的時候其他結構仍然可以使用,但是這個結構復雜,成本高。
6、混合式拓撲:是以上的拓撲結構混合而成。