文章

LTE 筆記: 5G Time Sensitive Communications ~ 802.1AS - Time Propagation

圖片
在 上一篇文章 中, 我們介紹了 802.1AS 如何選擇同步源, 並顯示在一個大型網路中, 如何標定每一個實體埠的角色. 在這篇文章中, 我們將由透過訊號源角色定義的網路拓譜出發,  研讀在此網路拓譜下, 802.1AS 如何提供更精密的同步, 我們先從下圖出發: 來自:  https://www.ieee802.org/1/files/public/docs2008/as-nfinn-fast-master-select-0408-v2.pdf 在圖中, 我們定義了不同埠的角色, 根據這些角色, 我們就可以得知同步訊號的流向, (簡單來說, Master是同步訊號流出, Slave是同步訊號流入) 在定義完每一個埠的不同角色後, 我們可以根據封包的流入/流出定義相對時間, 如下圖所示: 來自:  https://www.ieee802.org/1/files/public/docs2008/as-nfinn-fast-master-select-0408-v2.pdf 在上圖中, 我們可以看到對於時間同步產生延遲的三個因素, 第一, 封包的處理時間, 此時間為節點上處理所需要的時間, 和節點硬體相關, 第二, 封包的排隊延遲, 此時間和每個埠上的流量相關, 越多封包會有越高延遲, 第一個延遲在相同路徑的前提下, 可以透過 NTP 估測並抵銷, 第二個延遲則無法在 NTP 下進行處理. 在 802.1AS 中為了提供更精確地同步機制, 使用硬體計算延遲時間, 其方法為對每一個封包打印進入時間 (T_in) 以及送出時間 (T_egr), 透過其兩個時間差, 以及傳送到該節點的連結延遲 (T_link), 此延遲時間可以利用類似 NTP 的方式估測, 根據上述的量測量以及同步源的時間 (now), 更新送出去的時間 (now'), 此時間就會變成下一節點用以同步的時間. 在 802.1AS 中, 透過每一個節點更新更精確地同步時間 (now'), 對於每一個節點, 都可以參考上一個節點的時間 (now), 因此, 此同步問題就減化成兩節點間的同步問題, 當然, 此描述稍微簡化了 802.1AS 的機制,  事實上, 802.1AS 還會根據震盪器時脈誤差,  提供更精確的時間 (now') 估測.

LTE 筆記: 5G Time Sensitive Communications ~ 802.1AS - Grand Master Selection

圖片
在 上一篇文章 中, 我們介紹了 NTP 同步機制, 考慮到 NTP 機制的簡單且能以效率的完成同步, 此機制被實作於電腦網路中, 透過指派同步的時間伺服器,  Windows 和 Linux 就可以利用 NTP 相同機制處理同步系統時間, 此同步的系統時間, 除了顯示於使用者, 也用以防範網路攻擊. 然而, NTP 機制有兩個主要的缺點, 第一, 當有許多同步訊號源 (時間同步伺服器) 時, 要向哪一個對時? 第二, NTP 協定假設封包來回的時間對稱, 這個假設在區域網路中成立 (來回路徑一致, 延遲也會相同),  但在大型網路中, 封包來回的路徑可能不一, 也會造成不同程度的延遲. 在 802.1AS 中就針對這兩個限制進行一些調整, 這邊先提及一下, 802.1AS 的前身是 IEEE 1588, 也稱為 PTP (Precision Time Protocol), 所以當看到 IEEE 1588 和 PTP 時, 事實上, 就想像其類似於 802.1AS 的機制, 802.1AS 針對多個時間源的問題, 稱為: Grand Master selection, 在此機制下, 時間同步伺服器透過發出 Announce 訊號通知, 並有兩個行為: 第一, 在沒有聽到更好的 Announce 訊號時, 發出 Announce 訊號, 第二, 在收到更好訊號源發出的 Announce 訊號時, 作為被同步的裝置, 透過 Announce 訊號的傳播, 便可以選出網路中最好的同步訊號源, 並保有一定的強韌性, 如下圖所示: 圖片生成自:  https://www.ieee802.org/1/files/public/docs2008/as-kbstanton-8021AS-overview-for-dot11aa-1108.pdf 值得注意的是, 在 802.1AS 中, 所謂好的同步訊號源,  可以根據管理者的優先權設定, 以及時間訊號的來源 (例如: GPS) 進行比較, 會將自我認知的好壞, 轉換成一向量 (越小越好), 放在 Announce 訊息中, Announce 訊息中也會包含訊號源的 MAC 位址, 作為識別, 透過此選擇的機制, 網路中的個節點將產生一個樹狀結構 (如下圖),  此樹狀結構將影像後續的時間更正機制. 來自:  https://www

Single Root I/O Virtualization (SR-IOV) 介紹

圖片
在虛擬化技術中, 最一開始的技術從硬碟開始, 之後是 CPU 與記憶體的虛擬化, 最後則慢慢走向網路以及各種周邊裝置虛擬化, 其中, 在網路虛擬化的部分, 一開始以軟體方案 (OpenVSwitch) 為主, 此類方法依賴 Host Machine 上的程式進行資料的轉傳, 限制了 Virtual Machine 上的網路的效能. 為了增進其他裝置 (CPU, 記憶體, 硬碟) 的虛擬化程度, Intel 提出了 SR-IOV (Single Root I/O Virtualization) 的機制, 目標是透過對 PCIe 介面的虛擬化, 使一個裝置可以服務多個虛擬機, 其中, SR 代表只有一個 Host Machine, 也就是一般家用電腦狀況, 相對應的有所謂的 MR-IOV (Multi-Root I/O Virtualization), MR-IOV 適用於刀鋒伺服器 (Blade Server) 架構, 在此架構下, 多張刀鋒伺服器共享同一機櫃之 IO 支援 (如對外網路), 因此會出現多台 Host Machine (Multi-Root) 對單一 IO 裝置的存取需求. 考慮到 MR-IOV 可視為 SR-IOV 的延伸, 我們著重介紹 SR-IOV 的部分,  在 SR-IOV 中, 將原本提供 Physical Function (PF),  切割成多個 Virtual Function (VF), 而每個 VF 對應到不同的虛擬網卡, 其框架可以以下圖表示: 來自:  https://www.marvell.com/content/dam/marvell/en/public-collateral/ethernet-adaptersandcontrollers/marvell-ethernet-adapters-fastlinq-concurrent-nic-partitioning-sr-iov-technology-brief-2018-07.pdf 由上圖中可以發現, SR-IOV 需要裝置本身的支援 (PF和VF的功能提供), 以及虛擬層 (hypervisor) 的支援, 其中, PF 可以視為原本裝置的 driver 支援, 負責和 hpervisor 進行溝通, 當虛擬機生成後, 就直接透過 VF 進行溝通, 直接操作裝置, 我們

LTE 筆記: 5G Time Sensitive Communications ~ NTP 協定

圖片
在5G工業物聯網的應用中, 其中一項重要的應用就是低延遲網路, 低延遲網路可用於智慧工廠中, 特別是對於精密控制的工業機台, 在 3GPP 的架構中, 這些應用屬於工業 4.0 的範疇, 並將需要精密時間同步的工業物聯網服務稱為 Time Sensitive Communications (TSC), https://www.3gpp.org/news-events/2122-tsn_v_lan 其中, 用以支持精密同步的通訊協定為 802.1AS. 802.1AS 繼承自 IEEE 1588v2, 也稱為 PTP (Precision Time Protocol), PTP 的基本同步架構沿襲自 NTP (Network Time Protocol), 但考量了大型網路的複雜度, 對於網路中介裝置 (Bridge 或 Switch), 加入修正的機制, 以及對時鐘 (Grand Master, GM) 的選擇機制, 主要目標在於服務無法以 GPS 對時, 但需要比 NTP 更精確同步的場域, 其同步精確度的設計為 500 ns (七個網路節點, 時脈飄移小於 1PPM). 考慮到 802.1AS 是源自於 NTP 的設計, 我們在此篇文章中, 先介紹 NTP 的對時設計,  在 NTP 的基本想法中, 透過兩裝置封包交換, 計算兩者的通訊延遲, 並透過此延遲時間的估算 (下圖的 \delta), 用以同步兩個裝置的時間, 來自:  https://en.wikipedia.org/wiki/Network_Time_Protocol 在NTP中, 假設兩個裝置互相傳送封包 (上行/下行) 的延遲一致, 因此 \delta = ((t3-t2)+(t1-t0)) = 65 (ms) \delta 代表的是藍色部分的漂移時間 (propagation time), 其值除以二就代表著封包從 Server 到 Client 所需的單向漂移時間, 因此, Client 可以參考從 Server 送出的參考時間, 加上單向漂移時間, 用以作為本地校正的時間數值. 在 NTP 的架構下, 兩點之間的時間同步不成問題, 因為在同一個區網下, 同一網路媒介下, 上行和下行的時間差異不大, 但對於一個大型網路而言, 則會有以下兩個問題: 當有多個裝置想當 Server 時, 應以誰

LTE 筆記: 3GPP 中的企業專網 (Non-Public Network, NPN) -2

圖片
在 上一篇文章 中, 介紹了企業專網, 以及其在 3GPP 中的角色以及兩種不同的應用情境. 接下來, 我們將從其佈建的方式, 詳細介紹其不同實作方案的差別, 本文主要的圖表和內容來自:  https://www.netmanias.com/en/post/blog/14500/5g-edge-kt-sk-telecom/7-deployment-scenarios-of-private-5g-networks 這篇文章詳細的敘述了7種不同的企業專網架構, 其中, 最為有趣的是 6 和 7 兩個韓國 SK 電信的實作案例. 本文專注於一般性架構 (前5種) 不會談到, 有興趣可以進入連結詳讀. 在之前介紹中, 我們說明了企業專網可以分成兩大類, 第一類是由場域主自行佈建, 維護從基地台至核網所有 5G 單元 (如下圖左), 按照實施者的不同, 在原文中拆成兩個方案討論. 第二類是由電信業者佈建, 此類專網會在一定程度上和電信業者的網路進行整合, 共享網路中的部分元件, 並使用網路分層 (network slicing) 的技術, 來達成場域主對安全性的需求 (如下圖右),  在此架構下, 我們將分成 3 種不同方案進行說明. 來自:  https://www.netmanias.com/en/post/blog/14500/5g-edge-kt-sk-telecom/7-deployment-scenarios-of-private-5g-networks 首先, 是方案一和方案二, 此兩方案在原文中的差異只有實施者是場域主或是電信商, 在網路架構上完全一致, 都是整套的獨立 5G 網路 (黑色部分),  並和電信商的 5G 網路 (藍色部分) 沒有任何實體上的重疊. 方案一, 二: 來自:  https://www.netmanias.com/en/post/blog/14500/5g-edge-kt-sk-telecom/7-deployment-scenarios-of-private-5g-networks   考慮到兩邊網路獨立, 在這兩個方案中, 企業專網必須有專屬頻譜 (圖中的 Local 5G freq.) 將墊高建置成本, 但另一方面, 由於企業專網的網路為實體上獨立, 因此, 有最高等級的安全性, 並能開發多樣附屬應用 (例如: 低延遲計算).

LTE 筆記: 3GPP 中的企業專網 (Non-Public Network, NPN) -1

圖片
在 5G 的時代, 其中一個主要的應用就是物聯網, 透過拓展 5G 的應用情境, 5G 服務的使用者不再只是人, 而包含了各式各樣不同需求的裝置,  像是: V2X 中的車輛與路旁裝置, mMTC 中的感測裝置,  這些多樣的裝置與應用, 使得 5G 不只是單一種電信商 (Operator) 網路, 而是一種異質的網路組合, 用以服務不同的應用情境. 考慮到此特性, 5G 網路就產生了企業專網的延伸, 其基本想法就是透過專屬的頻寬 (專網), 提供給場域營運商 (企業), 使得場域營運商可以按照其需求, 佈建一個符合自己應用情境的服務. 在台灣, 企業專網的頻帶為 4.8~4.9 GHz 的頻段. 目前已有多家企業 (如: 鴻海, 台積電) 表示興趣, 電信商也提出各自的解決方案, 然而, 不可否認的是, 目前企業專網尚未擁有成功的布建案例, 企業專網可以帶來甚麼優點? 比起 4G 的解決方案, 5G 的架構有甚麼幫助? 各國企業專網頻帶 (Source: Nokia) 在 3GPP R15 和 R16 的規範中, 定義了企業專網的架構 (稱為 Non-Public Network, NPN) 請參考: https://www.3gpp.org/news-events/2122-tsn_v_lan 在 3GPP 的分類中, NPN 可以大致分成兩類: SNPN (Stand-alone Non-Public Network): 在此架構下, 核網與頻帶都為營運上所擁有. 此架構等於是場域主自行營運一個小型的 5G 網路, 無須電信商的介入. PNI-NPN (Public Network Integrated NPN): 此架構下, 一些功能由電信商核網支援. 在此架構下又可以按照不同程度的功能切分, 形成不同的架構. 大致來說, SNPN 需要較高的建置成本, 較低的營運成本, PNI-NPN 則相反, 在安全性上, SNPN 掌握所有資料, PNI-NPN 則依賴電信商的支援, 下圖為 3G4G blog 提供的簡易比較 (MNO 為 Mobile Network Operator 縮寫): https://blog.3g4g.co.uk/2020/03/5g-private-and-non-public-network-npn.html 若我們按照應用情境分析

[WiFi] WiFi 網路的認證: 802.1X 與 EAP (Extensible Authentication Protocol)

圖片
在上一篇文章中, 我們介紹了 RADIUS 認證協定, RADIUS 是基於 UDP 的方式建立連線, 不但無法保證資料傳輸的完整性, 也無法保證資料的安全性. 使用 UDP 的主要原因應該是在舊有有線網路的設計架構下, 將控制訊息以 UDP 傳輸, 使用者資料以 TCP 傳輸的想法, 此想法基於控制訊息短, 且具有定期重送的保護機制而形成, 使用 UDP 傳輸可以避免封包多餘的重傳, 以及訊息交換, 節省使用頻寬, 特別適用於早年頻寬有限的網路架構. 然而, 隨著網路的發展, 安全性和穩定性受到更多注意, 特別是針對無線網路, 由於在空氣中的封包可以側聽, 因此, 安全性受到更多考量. 為了增進 WiFi 網路的安全性, EAP (Extensible Authentication Protocol) 首先被提出, EAP 被定義於 RFC3748 , 為一個點對點的認證框架, 由於 EAP 的角色是框架, 而非協定, 因此有各家廠商的不同實現, 不同 EAP 的協定比較可以參考 Intel 的這篇文章: https://www.intel.com.tw/content/www/tw/zh/support/articles/000006999/network-and-i-o/wireless.html 802.1X 基於 EAP 的架構, 提出一種在區域網路 (Local Area Network, LAN) 的實作方式, 或者也可以稱為 EAPOL (EAP Over LAN), 提供 EAP 架構進行裝置與伺服器之間的資料交換, EAPOL 為一個點對點的通訊協議, 不依賴 IP 層, 可用 MAC 直接溝通, 在 EAPOL (或是 802.1X) 加入後, 整體的架構如下圖: 來自:  https://www.semanticscholar.org/paper/Extensible-Authentication-Protocol-(-EAP-)-Security-Sotillo/417b0aa1fd8d7ddb8616a018de1fbc9de039a40e 在上圖中, 可以看出來 802.1X, EAP 和 RADIUS 之間的分工, 一方面, EAP 架構下通訊的兩點為終端裝置和 RADIUS 伺服器, 補足了 RADIUS 只定義 NAS (WiFi