當前位置:首頁 » 手機網路 » 畫出無線移動網路知識圖譜
擴展閱讀
銳捷網路校園wifi共享 2024-11-24 03:05:45

畫出無線移動網路知識圖譜

發布時間: 2024-10-28 10:58:56

計算機網路-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/

② 外呼系統怎麼用我也是做電銷的,打電話打多了就會被封號

現在封號已經施行近一年了,這個狀態會一直持續下去。
封號怎麼辦?首先我們要弄明白為什麼會被封號。相關部門打擊電信詐騙和騷擾,利用大數據智能篩查來屏蔽頻繁撥打的電話,不管你有沒有騷擾和詐騙,首當其沖被攔截封號的是高頻呼出,高頻不光是指撥打多少個,也包含平均通話時長過短、頻繁被拒接等,所以你辦的卡不管怎麼打,打多少都會被封,尤其是新辦的卡號很快就封了。
想不被封號,只有加入線路,單位可以選擇辦理雙呼系統進行避免頻繁呼出來解決。雙呼是指系統轉換通話,把客服打電話變成接電話,繞開高頻記錄,這樣一個客服一天打500+個也沒問題。
只要是正規公司正規業務都可以申請使用(不是詐騙不違法亂紀),准備營業執照和話術等材料提交審核後就能用,通話高清,不用戴耳機買設備高投入,徹底解決總被封的問題,非常適合有電話需求的企業。希望我的回答能幫到你。

③ 數字化時代,生活是是更簡單了還是更復雜了

一張保單只需要3分鍾就可以在線完成理賠了;

一個智能醫生在診斷的準度、精度、速度上均超過三甲醫院專科醫生;

一份300多頁的財報,涉及數十家公司僅僅用34天就能完成……


這些都不是想像,而是發生在平安的真實案例。這些案例的背後,正是數字化對於一家公司經營管理和業務服務帶來的顛覆性改變。


今年是 「十四五」的開局之年。年初公布的「十四五」規劃綱要,首次將建設數字中國單列篇章,「數字化」一詞出現25次,成為高頻詞彙。


而在中國平安,數年前就已將全面數字化戰略及經營作為至關重要的工程之一,並提出未來10年,要成為全球數字化戰略及發展的領導者之一。數字化將給我們的生活帶來哪些變化?平安在不同領域的數字化探索,已經讓我們感受到了數字化浪潮帶來的新變革。


在數字化成為一個國之戰略之時,我們該如何理解數字化?平安所嘗試的數字化還將會給我們帶來哪些服務?數字化對於企業意味著什麼,又將對人類對人類社會發展帶來哪些新的探索?這些疑問,也許我們能從近日平安董事長馬明哲發表《數字化之我見》的文章中找到答案。




01

數字化讓極致產品服務變成現實

數字化是21世紀推動人類社會進步、提升生產力的基礎工程,是人類跨越式提升認識水平和能力的革命性的進步。

——馬明哲


作為國民經濟和社會發展的重要風向標,「十四五」規劃對數字化的發展作出了重要部署,將其推向了一個新的高度。在規劃中,「數字化」一詞出現了25次,第五篇更是集中描述了數字化的發展目標:迎接數字時代,激活數據要素潛能,推進網路強國建設,加快建設數字經濟、數字社會、數字政府,以數字化轉型整體驅動生產方式、生活方式和治理方式變革。


數字化會帶來哪些變化?在金融和科技領域,企業數字化帶來的最大變化在於讓極致的產品服務變成現實。


因為數字化,我們看到,平安壽險代理人的工作方式有了極大的改變,他們被稱為「AI+代理人」,因為每個代理人身邊都有個貼身助手「Askbob」,凡是不懂的問題隨時隨地獲得AI的支持。


因為數字化,我們都享受到了平安車險極速理賠服務的高效——客戶只需要使用平安好車主APP拍照上傳受損照片,3分鍾即可自助完成理賠。過去一年,平安產險家用車客戶平均每天有近2萬線上自助理賠案件,83%的車險報案不再需要查勘員現場查勘。


因為數字化,平安的服務能力正在極大地提升,讓平安的服務觸角更廣泛——如今平安已經擁有2.2億個人客戶、6.11億互聯網用戶。


比如在平安,客戶可以享受到「一個賬戶、多種產品」的一站式服務,用戶只要一個賬戶入口,就像打開「任意門」能享受多元化產品和服務。


數字化幫平安架起了一條條高速公路。這些路開始修建要追溯到2009年。當時平安推出了一賬通功能,通過一個賬戶打通不同業務場景。經過近十年的發展,這也成為了平安綜合金融服務客戶最堅實的「基礎設施」。


數字化帶來的極致用戶體驗,還體現在平安潤物細無聲的各個業務板塊和服務的方方面面。比如,人還在醫院「智能預賠」提前拿到賠付款。再比如,平安好醫生的「雲問診」為客戶提供在線咨詢、轉診、掛號、在線購葯服務等等。


數字化到底正在給我們的生活帶來哪些改變,我們在馬明哲文章中能夠找到答案。


在他看來,數字化具有三大顛覆性特徵,即「顛覆性的計算能力、顛覆性的認識方法、顛覆性的數據基礎」。他認為,數字化的顛覆性不僅在計算能力,而且在於顛覆人類認知,能幫助人類解決更為復雜的難題,認知也更深入、更全面。


對於數字化的理解,馬明哲更是超出金融、經濟領域,在他看來,數字化有著更高的社會價值。數字化不僅能夠察覺客觀世界與人類活動的發展規律,而且能夠提升認識對實踐的指導作用。


因此,平安的數字化實踐早已走出金融業,持續拓展到醫療醫療、汽車、房產和智慧城市等領域,貢獻了更大的社會價值。今年初,平安更是提出了要打造「有溫度的金融」,就是要運用數字化能力更好地為客戶提供服務。


比如,我們剛剛提到的平安的AskBob智能醫生。馬明哲說,未來,將推廣到偏遠國家和地區,有望提升當地居民健康水平,提升人類的平均壽命。


再比如,在疫情期間,平安好醫生率先推出抗疫24小時線上義診,疫情高峰期累計訪問量達11.1億次;平安醫保科技派遣移動CT影像車馳援武漢,通過遠程線上閱片輔助診斷,並成為第一批入選新冠病毒核酸檢測的定點機構。


這些都驗證了馬明哲認為數字化有著更高的社會價值的判斷,「數字化將把人類認識客觀世界、把握發展規律的能力提升到新的水平」。



02

平安何以領跑數字化?

未來10年,要成為全球數字化戰略及發展的領導者之一。

——馬明哲


在最新發表的文章中,馬明哲更是指出全面數字化的緊迫性——數字化時代的市場競爭將更加激烈,贏家通吃。他對中國平安的全體員工發出號令——全面數字化必將成為平安可持續發展的「壓艙石」與「領頭雁」。


事實上,在數字化跑道上,平安是最早的先行者之一——早在2018年,平安就將原Logo中的「保險、銀行、投資」六個字,改為「金融、科技」,all in 的決心由此可見。平安的數字化實踐,猶如釘子一般,將集團業務發展的「四梁八柱」鉚實。


一個有意思的轉變是,平安發展的頭20年,馬明哲一直將匯豐、花旗等國際金融機構作為對標和參照,近幾年,這一參照和對標對象則換成了亞馬遜、谷歌等互聯網公司。


平安和馬明哲對數字化有如此深入的認識,與這家一直以來緊跟時代的創新基因密不可分。


在上世紀八十年代,電腦剛剛開始在中國大地開始普及,彼時馬明哲就曾給公司每個人都配備一台電腦。當時,一台電腦、一台復印機和一台傳真機成為平安的每家分公司開業的標配。甚至在紙質保單盛行的年代,平安的第一張保單就是用電腦出的單。


廣為流傳的幾則故事見證了馬明哲對於科技的重視:2004年,馬明哲寧可漫遊也要讓高管使用黑莓手機辦公;2009年他在保監會參加會議就已經用IPAD拍照當記錄等等。


事實上,早在90年代末、21世紀初,平安就在全國金融機構中首次試水網銷、電銷平台,如PA18、壹錢包、萬里通等項目。比如壹錢包曾經有個功能就是發紅包,從時間上來看可能還早於微信紅包。雖然首次試水過於超前,和當時的網速、用戶習慣不匹配,但為平安的數字化實踐積累了寶貴的經驗。


如今的平安,已擁有25個科技研發實驗室和六大科技創新研究院、24000多名研發人員,核心科技專利數已超3.2萬。


在雄厚的科技實力加持下,平安已經將人臉識別、微表情識別、聲紋識別、語音分析、自然語言處理、知識圖譜、機器學習等技術滲透到大量業務場景,實現了多項業務的自動化和線上化,並為員工提供數字化業務輔助能力。


值得一提的是,在剛剛公布的「2021年凱度BrandZ™最具價值全球品牌排行榜」中,平安再次位列全球前50。而在該品牌價值的認定中,科技含量和數字化能力成為最重要的評判因素之一。




03

平安的數字化未來


21世紀,數字化浪潮來襲,將進一步在各行各業引發顛覆式革命,改變人類生存、發展的方式。

——馬明哲


未來,數字化浪潮將會怎麼改變我們的生活,給我們帶來怎樣的想像空間?


馬明哲在文章中得出數字化對企業的5點價值與意義。


  • 其一是聰明經營,通過大數據分析,總結行業發展規律,識別市場機遇與挑戰,從而在紛繁復雜的環境中看清本質,提前做出正確決策。

  • 其二是提升管理,通過數字化精簡優化流程。

  • 其三是防範風險,通過對風險數據分析的前移,從財務數據、業務數據,再到行為數據,憑借人工智慧的精準監測與分析,從行為源頭上預防風險。

  • 其四是優化服務,金融業無需通過實物進行客戶服務,更適合用數字化提升服務,優化客戶體驗。

  • 其五是降低成本,將簡單重復的勞動力密集型工作,用人工智慧替代。降低人力成本。

  • 在平安,我們看到了平安的數字化戰略和實踐已經開始賦能生態,在醫療健康等五大生態圈開花結果。

    那麼未來,數字化領跑者平安又將去向何方?

    得到創始人羅振宇有個觀點,筆者很認同。在數字化的未來社會中,人分成兩類——一部分人在數字化系統的指揮下奔忙,不斷產生新的數據反哺給數字化系統。而另一部分人,不斷地構想未來、形成判斷、畫出藍圖、確定邊界,來驅使數字化系統為人類服務。

    平安和馬明哲註定將成為「另一部分人」。

    《新數字化之我見》這么指出:數字化不僅僅是一種技術革命,更是一種認知革命,是人類思維方式與行為模式的革命,通過科技的賦能,認識可以從表面到本質,從獨立到聯系,從感性到理性,從經驗到科學,數字化將把人類認識客觀世界、把握發展規律的能力提升到新的水平。

    身處數字化的時代,不論你從事怎樣的崗位、身處怎樣的行業,我們都被捲入其中。有人甚至說,所有的企業都將因為數字化重做一遍。

    顯然,數字化已經不是一道選擇題,而是一道必答題了。答錯了、答慢了,一家企業可能就要錯過了一個時代。

    而數字化帶來的改變也絕不是簡單地引入新技術、新設備。而是一種全新的理念更新。

    當下,數字化、數字經濟成為社會、經濟領域的熱詞。然而,我們不得不承認,除了少數少數企業主動擁抱並全力推進外,不少一些企業把數字化簡單看作是一種互聯網新技術的應用,停留在生產與營銷過程式控制制的信息化上;一些企業則把數字化簡單等同於將線下部分搬到線上,建立線上渠道、搞電子商務,網上買貨。

    企業家與高層對數字化轉型的意義和戰略缺乏共識,更多的企業還只是追求管理時尚,炒數字化概念,喊數字化口號,但在操作層面上鮮有行動和建樹。

    凡事,理解的深度將決定我們到達的位置;理解的角度將影響我們出發的方向。這是為何在數字化風口正勁時,早已啟航的平安,其掌舵者馬明哲會再次以撰文方式為數字化進行一次全面的解讀,並發出新的動員號令