恭喜交通大學曾煜棋教授、馮品佳教授榮鷹國家講座!
教育部 9 日舉辦第23屆國家講座頒獎典禮,國立交通大學資訊工程學系曾煜棋終身講座教授榮膺工程及應用科學類科講座主持人,外國語文學系馮品佳終身講座教授榮膺人文及藝術類講座主持人,由蔡英文總統親自授獎,肯定兩位教授深耕專業領域多年,為臺灣資訊科技與人文領域帶來貢獻。
曾煜棋教授1994年取得美國俄亥俄州立大學電腦資訊博士後返國,投入資訊科技領域長達25年,帶領無線通訊研究團隊成為世界頂尖研究團隊。他最著名的兩項研究是無線隨意網路的「broadcast storm」和無線感測網路的「sensor coverage」;是全球第一位發現無線網路「廣播風暴」的學者,這個關鍵性發現目前已廣泛應用於隨意網路、感測網路和車載網路等領域,對於廣播封包碰撞、競爭和壅塞問題提出突破性的解決方案。
曾煜棋教授擅長於找出基礎性和原創性的研究題材,並以獨特的原創性獲得無數國內外大獎,包括2005年美國俄亥俄州立大學傑出校友獎、三次國科會傑出研究獎、IEEE Fellow、世界科學院工程科學獎TWAS Prize。著有170餘篇期刊論文、200餘篇研討會論文、9本中英文專書、50餘項專利,在行動通訊、無線網路方面做出許多重大貢獻,尤其「無線與行動網路」研究成果曾經名列全球前十名,榮獲多項國際獎項及榮耀,實為臺灣通訊科技之光。
曾煜棋教授近年投入整合人工智慧與物聯網,帶領團隊進行人工智慧服務的研發工作,所開發的視覺和感測資料融合技術已具有深度環境監控的能力,對於未來智慧環境可以達到安全、安心的目標。他認為有興趣往資工領域發展的人需具備敏銳的觀察力,在生活層面中找到人類的需求,再結合深度思考與想像力,創造出滿足需求的技術和產品。他也鼓勵學生跳出生活圈,勇於探索挑戰未知的世界,增加自己的視野與膽識,自然就有不同的思考模式產生,對未來的人生將會有關鍵性的正面影響。
馮品佳教授於1994年於威斯康辛大學陌地生校區取得英美文學博士,返國即於交通大學任教,深耕英美文學與弱勢族裔作家近30年,亦擅於結合女性作家、文化研究與醫療人文研究等領域,尋求跨文化之間文學與文化研究的突破。由於從小在眷村長大,家人與鄰居都是流離來台,因此離散文學在她的研究中佔有重要地位,「離散文學研究其實最貼近臺灣本土,因為臺灣充滿離散的經驗與記憶。」她強調,不管是原住民、福佬或客家族群,或是外省人,乃至於離鄉背井到城市尋求生路的漂泊族,都是不同的離散族群,「我們一直都生活在這些不同的經驗的衝突與協調之中。」
馮品佳教授曾獲3屆國科會(現科技部) 傑出獎,並於2015年榮頒教育部學術獎,也曾擔任中華民國英美文學學會以及中華民國比較文學學會理事長各兩任。2014年史丹佛大學發起「北美華裔鐵路工人研究計畫」,她成為唯一代表臺灣出席籌備工作坊的學者,並在臺灣籌辦第二次的計畫工作坊,相關論文已由史丹佛大學正式出版。為因應跨領域研究的學術潮流,目前她也正領導一支醫療人文跨校研究團隊,並在交通大學成立醫療人文跨領域研究中心,推廣該方面的研究。
馮品佳教授不諱言,在實用主義掛帥的時代,藝術與文學往往成為娛樂的項目,也直接影響學生選系時的出路考量。她認為人文素養是培養想像力最珍貴的資源,不但呈現進步社會的價值,更是國家產業更上一層樓的關鍵。對於想投入人文領域的青年學子,她建議先做好受挫折的心理準備,因為努力未必會得到回報,更要耐得住寂寞,才能在這條路走下去,也希望政府重視人文領域的長期發展,因為「發展人文不需要太多的經費,只要一點錢就可以做出大效果,是投報率最高的一門專業領域」。
同時也有36部Youtube影片,追蹤數超過12萬的網紅創意世界 Creative World,也在其Youtube影片中提到,DIY Rainbow Loom 彩虹編織器中文教學頻道 Rainbow Loom Pencil case/Bag/Purse/Red Envelop鉛筆袋/信封包/紅包袋 - 彩虹編織器中文教學 Loom Bands Chinese Tutorial 中國年Happy Chinese New...
「broadcast封包」的推薦目錄:
- 關於broadcast封包 在 交通大學校友會 NCTU Alumni Association Facebook
- 關於broadcast封包 在 Taipei Ethereum Meetup Facebook
- 關於broadcast封包 在 創意世界 Creative World Youtube
- 關於broadcast封包 在 創意世界 Creative World Youtube
- 關於broadcast封包 在 創意世界 Creative World Youtube
- 關於broadcast封包 在 [問題] IP分享器、路由器和交換器傻傻分不清楚.. - 看板Network 的評價
- 關於broadcast封包 在 CCNA 停止STP , 使用WireShark來觀察廣播風暴(Broadcast ... 的評價
broadcast封包 在 Taipei Ethereum Meetup Facebook 八卦
📜 [專欄新文章] 隱私、區塊鏈與洋蔥路由
✍️ Juin Chiu
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
隱私為何重要?區塊鏈是匿名的嗎?洋蔥路由如何改進區塊鏈?
前言
自2008年區塊鏈以比特幣的面貌問世後,它便被視為 Web 3.0,並被期許能夠進一步為人類帶來金融與治理上的大躍進。區塊鏈或許會成為如同全球資訊網一般的基礎建設,如果我們已經開始注重個人於網路上的隱私,那麼我們更應該關心這項全新的技術是否能更好地保護它。
筆者將於本文中闡述隱私的重要性,接著進一步分析區塊鏈是否能夠保護用戶隱私,最後再簡介一個知名的匿名技術 — 洋蔥路由,並列舉幾個其用於改進區塊鏈(特別是以太坊)的相關提案。
特別感謝以太坊研究員 Chih-Cheng Liang 與民間高手敖烏協助校閱並給予回饋。
隱私的重要
網際網路(Internet)無疑是 20 世紀末最偉大的發明,它催生了全新的商業模式,也使得資訊能以位元的形式進行光速傳播,更使人類得以進行前所未有的大規模協作。而自從 1990 年全球資訊網(World Wide Web)的問世以來,網路已和現代文明生活密不可分。經過近 30 年的發展,人類在網路上製造了巨量的資料,這些資料會揭露使用者的隱私。透過一個人的資料,企業或者政府能夠比你自己更了解你。這促使用戶對隱私的愈發重視 — 正如同你不會允許第三者監聽你的電話,你也不希望有第三者監看你的瀏覽器搜尋歷史。
然而,如今的網路是徹底的中心化,中心化也意謂著過大的權力,有種種跡象顯示:網路正在成為政府當局監控人民的工具。例如:中國的淨網衛士[1]、美國的稜鏡計劃[2]等。那麼,政府應該監控人民嗎?其中一派的人認為平日不做虧心事,半夜不怕鬼敲門,這也就是常見的無所隱瞞論[3]:
我不在乎隱私權,因為我沒什麼好隱瞞的。
不過持有這類論點的人通常會被下面的說法反駁:
既然沒什麼好隱瞞的,那請把你的 Email 帳號密碼給我,讓我揭露其中我認為有趣的部分。
大多數正常人應該都不會接受這個提議。
隱私應當與言論自由一樣,是公民的基本權利。事實上,隱私是一個既廣且深的題目,它涉及了心理學、社會學、倫理學、人類學、資訊科學、密碼學等領域,這裡[4]有更多關於關於隱私的討論以及網路隱私工具的整理。
隱私與區塊鏈
有了網際網路後,接下來人類或許可以透過區塊鏈來建構出一個免除人性且完全仰賴自然法則(數學)運行的去中心化系統。在中心化世界中,我們需要免於政府監控的隱私;在去中心化世界中,我們仍然需要隱私以享有真正的平等。
正如同本文的前言所述:區塊鏈也許會成為如同全球資訊網一般的基礎建設,如果我們已經開始注重網路隱私,那麼我們更應該關心區塊鏈是否能更好地保護它。
隱私與匿名
Privacy vs Anonymity [5]
當我們論及隱私時,我們通常是指廣義的隱私:別人不知道你是誰,也不知道你在做什麼。事實上,隱私包含兩個概念:狹義的隱私(Privacy)與匿名(Anonymity)。狹義的隱私就是:別人知道你是誰,但不知道你在做什麼;匿名則是:別人知道你在做什麼,但不知道你是誰。
隱私與匿名對於隱私權來說都很重要,也可以透過不同的方法達成,接下來本文將聚焦於匿名的討論。另外,筆者在接下來的文章中所提及的隱私,指的皆是狹義的隱私。
網路的匿名
以當今的網路架構(TCP/IP 協定組)來說,匿名就是請求端(Requester)向響應端(Responder)請求資源時藏匿其本身的 IP 位址 — 響應端知道請求端在做什麼(索取的資源),但不知道是誰(IP 位置)在做。
IP 位置會揭露個人資訊。在台灣,只需透過 TWNIC 資料庫就可向台灣的網路服務供應商(Internet Service Provider, ISP),例如中華電信,取得某 IP 的註冊者身份及姓名/電話/地址之類的個資。
ISP 是網路基礎建設的部署者與營運者,理論上它能知道關於你在使用網路的所有資訊,只是這些資訊被法律保護起來,並透過公權力保證:政府只在必要時能夠取得這些資訊。萬一政府本身就是資訊的監控者呢?因此,我們需要有在 ISP 能窺知一切的情形下仍能維持匿名的方法。
區塊鏈能保護隱私、維持匿名嗎?
區塊鏈除了其本身運作的上層應用協定之外,還包含了下層網路協定。因此,這個問題可以分為應用層與網路層兩個部分來看 。
應用層
應用層負責實作狀態機複製(State Machine Replication),每個節點收到由共識背書的交易後,便可將交易內容作為轉換函數(Transition Function)於本機執行狀態轉換(State Transition)。
區塊鏈上的交易內容與狀態是應當被保護的隱私,一個保護隱私的直覺是:將所有的交易(Transaction)與狀態(State)加密。然而實際上,幾乎目前所有的主流區塊鏈,包含以太坊,其鏈上的交易及狀態皆為未加密的明文,用戶不僅可以查詢任一地址的交易歷史,還能知道任一地址呼叫某智能合約的次數與參數。也就是說,當今主流區塊鏈並未保護隱私。
雖然區塊鏈上的交易使用假名(Pseudonym),即地址(Address),但由於所有交易及狀態皆為明文,因此任何人都可以對所有假名進行分析並建構出用戶輪廓(User Profile)。更有研究[6]指出有些方法可以解析出假名與 IP 的映射關係(詳見下個段落),一旦 IP 與假名產生關聯,則用戶的每個行為都如同攤在陽光下一般赤裸。
區塊鏈的隱私問題很早便引起研究員的重視,因此目前已有諸多提供隱私保護的區塊鏈被提出,例如運用零知識證明(Zero-knowledge Proof)的 Zcash、運用環簽章(Ring Signature)的 Monero、 運用同態加密(Homomorphic Encryption)的 MimbleWimble 等等。區塊鏈隱私是一個大量涉及密碼學的艱澀主題,本文礙於篇幅不再深入探討,想深入鑽研的讀者不妨造訪台北以太坊社群專欄,其中有若干優質文章討論此一主題。
網路層
節點於應用層產生的共識訊息或交易訊息需透過網路層廣播(Broadcast)到其他節點。由於當今的主流區塊鏈節點皆未採取使網路維持匿名的技術,例如代理(Proxy)、虛擬私人網路(Virtual Private Network, VPN)或下文即將介紹的洋蔥路由(Onion Routing),因此區塊鏈無法使用戶維持匿名 — 因為對收到訊息的節點來說,它既知道廣播節點在做什麼(收到的訊息),也知道廣播節點是誰(訊息的 IP 位置)。
一個常見的問題是:使用假名難道不是匿名嗎?若能找到該假名與特定 IP 的映射關係的話就不是。一般來說,要找到與某假名對應的 IP 相當困難,幾可說是大海撈針,但是至少在下列兩種情況下可以找到對應關係:1. 該假名的用戶自願揭露真實 IP,例如在社群網站公開以太坊地址;2. 區塊鏈網路遭受去匿名化攻擊(Deanonymization Attack)[6]。
洩漏假名與 IP 的關聯會有什麼問題? 除了該 IP 的真實身份可能被揭露外,該區塊鏈節點亦可能遭受流量分析(Traffic Analysis)、服務阻斷(Denial of Service)或者審查(Censorship),可以說是有百害而無一利。
區塊鏈如何維持匿名?
其實上文已給出了能讓區塊鏈維持匿名的線索:現有匿名技術的應用。我們先來進一步理解區塊鏈網路層與深入探討網際網路協定的運作原理。
區塊鏈網路層的運作原理
P2P Overlay Network [7]
區塊鏈是一個對等網路(Peer-to-peer, P2P),而對等網路是一種覆蓋網路(Overlay Network),需建構於實體網路(Physical Network)之上。
覆蓋網路有兩種常見的通訊模式:一種是基於中繼的(Relay-based)通訊,在此通訊模式下的訊息皆有明確的接收端,因而節點會將不屬於自己的訊息中繼(Relay)給下一個可能是接收端的節點,分散式雜湊表(Distributed Hash Table, DHT)就是一種基於中繼的對等網路;另一種是基於廣播的(Broadcast-based)通訊,在此通訊模式下的訊息會被廣播給所有節點,節點會接收所有訊息,並且再度廣播至其他節點,直到網路中所有節點都收到該訊息,區塊鏈網路層就是一種基於廣播的對等網路。
覆蓋網路旨在將實體網路的通訊模式抽象化並於其上組成另一個拓墣(Topology)與路由機制(Routing Mechanism)。然而實際上,實體網路的通訊仍需遵循 TCP/IP 協定組的規範。那麼,實體網路又是如何運作的呢?
網際網路的運作原理
OSI Model vs TCP/IP Model
實體網路即是網際網路,它的發明可以追朔至 Robert Kahn 和 Vinton Cerf 於1974 年共同發表的原型[12],該原型經過數年的迭代後演變成我們當今使用的 TCP/IP 協定組[8]。全球資訊網(WWW)的發明更進一步驅使各國的 ISP 建立基於 TCP/IP 協定組的網路基礎建設。網際網路在多個國家經過近 30 年的部署後逐漸發展成今日的規模,成為邏輯上全球最巨大的單一網路。
1984 年,國際標準化組織(ISO)也發表了 OSI 概念模型[9],雖然較 TCP/IP 協定組晚了 10 年,但是 OSI 模型為日後可能出現的新協定提供了良好的理論框架,並且與 TCP/IP 協定組四層協定之間有映射關係,能夠很好地描述既存的 TCP/IP 協定組。
TCP/IP 協定組的各層各有不同的協定,且各層之間的運作細節是抽象的,究竟這樣一個龐大複雜的系統是如何運作的呢?
Packet Traveling [10][11]
事實上,封包的傳送正如同寄送包裹。例如筆者從台北寄一箱書到舊金山,假設每個包裹只能放若干本書,這箱書將分成多個包裹寄送,每個包裹需註明寄件地址、收件地址、收件者。寄送流程從郵局開始,一路經過台北物流中心 → 北台灣物流中心 → 基隆港 → 洛杉磯港 → 北加州物流中心 → 舊金山物流中心 → 收件者住處,最後由收件者收取。
這如同從 IP 位於台北的設備連上 IP 位於舊金山的網站,資料將被切分成多個固定大小的封包(Packet)之後個別帶上請求端 IP、響應端 IP 及其他必要資訊,接著便從最近的路由器(Router)出發,一路送至位於舊金山的伺服器(Server)。
每個包裹上的收件地址也如同 IP 位置,是全球唯一的位置識別。包裹的收件地址中除了包含收件者的所在城市、街道,還包含了門號,每個門號後都住著不同的收件者。門號正如同封包中後綴於 IP 的連接埠(Port),而住在不同門號的收件者也如同使用不同連接埠的應用程式(Application),分別在等待屬於他們的包裹。實際上,特定的連接埠會被分配給特定的應用程式,例如 Email 使用連接埠 25、HTTPS 使用連接埠 443 等等。
雖然包裹的最終目的地是收件地址,但包裹在運送途中也會有數個短程目的地 — 也就是各地的物流中心。包裹在各個物流中心之間移動,例如從北部物流中心到基隆港,再從基隆港到洛杉磯港,雖然其短程目的地會不斷改變,但其最終目的地會保持不變。
封包的最終目的地稱為端點(End),短程目的地稱為轉跳(Hop) — 也就是路由器(Router)。路由器能將封包從一個網段送至另一個網段,直到封包抵達其端點 IP 所在的網段為止。封包使用兩種定址方法:以 IP 表示端點的位置,而以 MAC 表示路由器的位置。這種從轉跳至轉跳(From Hop to Hop)的通訊是屬於 TCP/IP 協定組第一層:網路存取層(Network Access Layer)的協定。
那麼要如何決定包裹的下一個短程目的地呢?理論上,每個物流中心皆需選擇與最終目的地物理距離最短的物流中心作為下一個短期目的地。例如對寄到舊金山的包裹來說,位於基隆港的包裹下一站應該是洛杉磯港,而不是上海港。
封包則使用路由器中的路由表(Routing Table)來決定下一個轉跳位置,有數種不同的路由協定,例如 RIP / IGRP 等,可以進行路由表的更新。從端點到端點(From End to End)的通訊正是屬於 TCP/IP 協定組第二層:網際層(Internet Layer)的協定。
若一箱書需要分多次寄送,則可以採取不同的寄送策略。至於選擇何種寄送策略,則端看包裹內容物的屬性:
求穩定的策略:每個包裹都會有個序號,寄包裹前要先寫一封信通知收件者,收件者於收到信後需回信確認,寄件者收到確認信後“再”寫一次信告訴收件者「我收到了你的確認」,然後才能寄出包裹。收件者收到包裹後也需回確認信給寄件者,如果寄件者沒收到某序號包裹的回信,則會重寄該包裹。
求效率的策略:連續寄出所有的包裹,收件者不需回信確認。
橫跨多個封包的通訊是屬於 TCP/IP 協定組第三層:傳輸層(Transport Layer)的協定。這兩種策略也對應著傳輸層的兩個主要協定:TCP 與 UDP。TCP 注重穩定,它要求端點於傳送封包前必須先進行三向交握(Three-way Handshake),也就是確認彼此的確認,以建立穩固的連線,且端點在接收封包後也會回傳確認訊息,以確保沒有任何一個封包被遺失;反之,UDP 注重效率,它不要求端點在通訊前進行繁瑣的確認,而是直接傳送封包。
包裹本身亦可以裝載任何內容:這箱書可以是一套金庸全集,也可以是一年份的交換日記;同理,封包內的資料也可以是來自任何上層協定的內容,例如 HTTPS / SMTP / SSH / FTP 等等。這些上層協定都被歸類為 TCP/IP 協定組第四層:應用層(Application Layer)的協定。
維持匿名的技術
區塊鏈仰賴於實體網路傳送訊息,欲使區塊鏈網路層維持匿名,則需使實體網路維持匿名。那麼實體網路如何匿名呢? 若以寄包裹的例子來看,維持匿名,也就是不要讓收件者知道寄件地址。
一個直覺的思路是:先將包裹寄給某個中介(Intermediary),再由中介寄給收件者。如此收件者看到的寄件地址將會是中介的地址,而非原寄件者的地址 — 這也就是代理(Proxy)以及 VPN 等匿名技術所採取的作法。
不過這個作法的風險在於:寄件者必須選擇一個守口如瓶、值得信賴的中介。由於中介同時知道寄件地址與收件地址,倘若中介將寄件地址告知收件人,則寄件者的匿名性蕩然無存。
有沒有辦法可以避免使單一中介毀壞匿名性呢?一個中介不夠,那用兩個、三個、甚至多個呢?這便是洋蔥路由的基本思路。由於沒有任何一個中介同時知道寄件地址與收件地址,因此想破壞寄件者匿名性將變得更困難。
洋蔥路由與 Tor
洋蔥路由(Onion Routing)最初是為了保護美國政府情報通訊而開發的協定,後來卻因為其能幫助平民抵抗政府監控而變得世界聞名。
1997 年,Michael G. Reed、Paul F. Syverson 和 David M. Goldschlag 於美國海軍研究實驗室首先發明了洋蔥路由[13],而 Roger Dingledine 和 Nick Mathewson 於美國國防高等研究計劃署(DARPA)緊接著開始著手開發 Tor,第一版 Tor 於 2003 年釋出[14]。2004 年,美國海軍研究實驗室以自由軟體授權條款開放了 Tor 原始碼。此後,Tor 開始接受電子前哨基金會(Electronic Frontier Foundation)的資助;2006年,非營利組織「Tor 專案小組」(The Tor Project)成立,負責維護 Tor 直至今日。
Tor [15]是洋蔥路由的實作,它除了改進原始設計中的缺陷,例如線路(Circuit)的建立機制,也加入若干原始設計中沒有的部分,例如目錄伺服器(Directory Server)與洋蔥服務(Onion Service),使系統更強健且具有更高的匿名性。
Tor 自 2004 年上線至今已有超過 7000 個由志願者部署的節點,已然是一個強大的匿名工具。然而這也使其成為雙面刃:一方面它可以幫助吹哨者揭露不法、對抗監控;另一方面它也助長了販毒、走私等犯罪活動。但不論如何,其技術本身的精巧,才是本文所關注的重點。
Tor 的運作原理
Tor Overview [16]
Tor 是基於中繼的(Relay-based)覆蓋網路。Tor 的基本思路是:利用多個節點轉送封包,並且透過密碼學保證每個節點僅有局部資訊,沒有全局資訊,例如:每個節點皆無法同時得知請求端與響應端的 IP,也無法解析線路的完整組成。
Tor 節點也稱為洋蔥路由器(Onion Router),封包皆需透過由節點組成的線路(Circuit)傳送。要注意的是,Tor 線路僅是覆蓋網路中的路徑,並非實體網路的線路。每條線路皆由 3 個節點組成,請求端首先會與 3 個節點建立線路並分別與每個節點交換線路密鑰(Circuit Key)。
請求端會使用其擁有的 3 組線路密鑰對每個送出的封包進行 3 層加密,且最內層密文需用出口節點的密鑰、最外層密文需用入口節點的密鑰,如此才能確保線路上的節點都只能解開封包中屬於該節點的密文。被加密後的封包被稱為洋蔥,因其如洋蔥般可以被一層一層剝開,這就是洋蔥路由這個名稱的由來。
封包經過線路抵達出口節點後,便會由出口節點送往真正的響應端。同樣的線路也會被用於由響應端回傳的封包,只是這一次節點會將每個送來的封包加密後再回傳給上一個節點,如此請求端收到的封包就會仍是一顆多層加密的洋蔥。
那麼,請求端該選擇哪些節點來組成線路呢?Tor 引入了目錄伺服器(Directory Server)此一設計。目錄伺服器會列出 Tor 網路中所有可用的節點[17],請求端可以透過目錄伺服器選擇可用的洋蔥路由器以建立線路。目前 Tor 網路中有 9 個分別由不同組織維護的目錄,中心化的程度相當高,這也成為 Tor 安全上的隱憂。
Tor 線路的建立機制
Tor Circuit Construction [18]
Tor 是如何建立線路的呢?如上圖所示,Tor 運用伸縮(Telescoping)的策略來建立線路,從第一個節點開始,逐次推進到第三個節點。首先,請求端與第一個節點進行交握(Handshake)並使用橢圓曲線迪菲 — 赫爾曼密鑰交換(Elliptic Curve Diffie–Hellman key Exchange, ECDH)協定來進行線路密鑰的交換。
為了維持匿名,請求端接著再透過第一個節點向第二個節點交握。與第二個節點交換密鑰後,請求端再透過第一、二個節點向第三個節點交握與交換密鑰,如此慢慢地延伸線路直至其完全建立。線路建立後,請求端便能透過線路與響應端進行 TCP 連線,若順利連接,便可以開始透過線路傳送封包。
洋蔥服務
Clearnet, Deepweb and Darknet [21]
洋蔥服務(Onion Service)/ 隱藏服務(Hidden Service)是暗網(Darknet)的一部分,是一種必須使用特殊軟體,例如 Tor,才能造訪的服務;與暗網相對的是明網(Clearnet),表示可以被搜尋引擎索引的各種服務;深網(Deep Web)則是指未被索引的服務,這些服務不需要特殊軟體也能造訪,與暗網不同。
當透過 Tor 使用洋蔥服務時,請求端與響應端都將不會知道彼此的 IP,只有被響應端選定的節點:介紹點(Introduction Point)會引領請求端至另一個節點:會面點(Rendezvous Point),兩端再分別與會面點建立線路以進行通訊。也就是說,請求端的封包必須經過 6 個節點的轉送才能送往響應端,而所有的資料也會採取端對端加密(End-to-end Encryption),安全強度非常高。
洋蔥服務及暗網是一個令人興奮的主題,礙於篇幅,筆者將另撰文闡述。
混合網路、大蒜路由與洋蔥路由
這裡再接著介紹兩個與洋蔥路由系出同源的匿名技術:混合網路與大蒜路由。
Mix Network Overview [22]
混合網路(Mix Network)早在 1981 年就由 David Chaum 發明出來了[23],可以說是匿名技術的始祖。
洋蔥路由的安全性奠基於「攻擊者無法獲得全局資訊」的假設[24],然而一旦有攻擊者具有監控多個 ISP 流量的能力,則攻擊者仍然可以獲知線路的組成,並對其進行流量分析;混合網路則不僅會混合線路節點,還會混合來自不同節點的訊息,就算攻擊者可以監控全球 ISP 的流量,混合網路也能保證維持匿名性。
然而高安全性的代價就是高延遲(Latency),這導致混合網路無法被大規模應用,或許洋蔥路由的設計是一種為了實現低延遲的妥協。
Garlic Routing Overview [25]
混合網路啟發了洋蔥路由,洋蔥路由也啟發了大蒜路由。2003年上線的 I2P(Invisible Internet Project)便是基於大蒜路由(Garlic Routing)的開源軟體,可以視為是去中心化版的 Tor。幾乎所有大蒜路由中的組件,在洋蔥路由中都有對應的概念:例如大蒜路由的隧道(Tunnel)即是洋蔥路由的線路;I2P 的網路資料庫(NetDB)即是 Tor 的目錄;I2P中的匿名服務(Eepsite)即是 Tor 的洋蔥服務。
不過,大蒜路由也有其創新之處:它允許多個封包共用隧道以節省建立隧道的成本,且其使用的網路資料庫實際上是一個分散式雜湊表(DHT),這使 I2P 的運作徹底去中心化。若想進一步理解 DHT 的運作原理,可以參考筆者之前所撰寫的文章:
連Ethereum都在用!用一個例子徹底理解DHT
I2P 最大的詬病就是連線速度太慢,一個缺乏激勵的去中心化網路恐怕很難吸引足夠的節點願意持續貢獻頻寬與電費。
區塊鏈與洋蔥路由
那麼,基於實體網路的區塊鏈能不能使用洋蔥路由或大蒜路由/混合網路/其他技術,以維持節點的匿名?答案是肯定的。事實上,目前已經出現數個專案與提案:
全新的專案
Dusk:實作大蒜路由的區塊鏈[32],不過官方已宣布因其影響網路效能而暫停開發此功能。
cMix:透過預先計算(Precomputation)以實現低延遲的混合網路[33],是混合網路發明者 David Chaum 近期的研究,值得期待。
Loki:結合 Monero 與 Tor/I2P 的區塊鏈 [34],並使用代幣激勵節點貢獻頻寬與電力,由其白皮書可以看出發明者對於匿名技術的熱愛與信仰。
於主流區塊鏈的提案
比特幣:全世界第一條區塊鏈,將於其網路使用一個不同於洋蔥路由的匿名技術:Dandelion++[30][31],該匿名技術因其訊息傳播路徑的形狀類似浦公英而得其名。
閃電網路(Lightning Network):知名的比特幣第二層方案,將於其網路內實作洋蔥路由[27]。
Monero:使用環簽章保護用戶隱私的區塊鏈,將於其網路內實作大蒜路由,已開發出 Kovri[28] 並成為 I2P 官方認可的客戶端之一[29]。
於以太坊的提案
2018 年 12 月,Mustafa Al-Bassam 於以太坊官方研究論壇提議利用洋蔥路由改進輕節點之資料可得性(Light Client Data Availability)[36]。若讀者想了解更多關於以太坊輕節點的研究,可以參考台北以太坊社群專欄的這篇文章。資料可得性是輕節點實現的關鍵,而這之中更關鍵的是:如何向第三方證明全節點的資料可得性?由於這個提案巧妙地運用了洋蔥路由的特性,因此在今年 7 月在另一則討論中,Vitalik 亦強烈建議應儘速使洋蔥路由成為以太坊的標準[35]。
在這個提案中,輕節點需建立洋蔥路由線路,然而線路節點並非由目錄中挑選,而是由前一個節點的可驗證隨機函數(Verifiable Random Function, VRF)決定。例如線路中的第二個節點需由第一個節點的 VRF 決定。線路建立後,出口節點便可以接著向全節點請求特定的可驗證資料。由於輕節點在過程中維持匿名,因此可以防止全節點對輕節點的審查(Censoring)。取得可驗證資料後,其便與 VRF 證明沿著原線路傳回輕節點,輕節點再將可驗證資料與 VRF 證明提交至合約由第三方驗證。若第三方驗證正確,則資料可得性得證。
結語
隱私與匿名是自由的最後一道防線,我們應該盡可能地捍衛它,不論是透過本文介紹的匿名技術或者其他方式。然而,一個能保護隱私與維持匿名的區塊鏈是否能實現真正的去中心化?這是一個值得深思的問題。
本文也是筆者研究區塊鏈至今跨度最廣的一篇文章,希望讀者能如我一樣享受這段令人驚奇又興奮的探索旅程。
參考資料
[1] Jingwang Weishi, Wikipedia
[2] PRISM, Wikipedia
[3] privacytools.io
[4] Nothing-to-hide Argument, Wikipedia
[5] Anonymity vs Privacy vs Security
[6] Deanonymisation of Clients in Bitcoin P2P Network, Alex Biryukov, Dmitry Khovratovich, Ivan Pustogarov, 2014
[7] Example: P2P system topology
[8] Internet protocol suite, Wikipedia
[9] OSI model, Wikipedia
[10] Packet Traveling: OSI Model
[11] Packet Traveling — How Packets Move Through a Network
[12] A Protocol for Packet Network Intercommunication, VINTON G. CERF, ROBERT E. KAHN, 1974
[13] Anonymous Connections and Onion Routing, Michael G. Reed, Paul F. Syverson, and David M. Goldschlag, 1998
[14] Tor: The Second-Generation Onion Router, Roger Dingledine, Nick Mathewson, Paul Syverson, 2004
[15] Tor, Wikipedia
[16] What actually is the Darknet?
[17] Tor Network Status
[18] Inside Job: Applying Traffic Analysis to Measure Tor from Within, Rob Jansen, Marc Juarez, Rafa Galvez, Tariq Elahi, Claudia Diaz, 2018
[19] How Does Tor Really Work? The Definitive Visual Guide (2019)
[20] Tor Circuit Construction via Telescoping
[21] The DarkNet and its role in online piracy
[22] Mix network, Wikipedia
[23] Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms, David Chaum, 1981
[24] The differences between onion routing and mix networks
[25] Monitoring the I2P network, Juan Pablo Timpanaro, Isabelle Chrisment, Olivier Festor, 2011
[26] I2P Data Communication System, Bassam Zantout, Ramzi A. Haraty, 2002
[27] BOLT #4: Onion Routing Protocol
[28] Kovri
[29] Alternative I2P clients
[30] Bitcoin BIP-0156
[31] Dandelion++: Lightweight Cryptocurrency Networking with Formal Anonymity Guarantees, Giulia Fanti, Shaileshh Bojja Venkatakrishnan, Surya Bakshi, Bradley Denby, Shruti Bhargava, Andrew Miller, Pramod Viswanath, 2018
[32] The Dusk Network Whitepaper, Toghrul Maharramov, Dmitry Khovratovich, Emanuele Francioni, Fulvio Venturelli, 2019
[33] cMix: Mixing with Minimal Real-Time Asymmetric Cryptographic Operations, David Chaum, Debajyoti Das, Farid Javani, Aniket Kate, Anna Krasnova, Joeri De Ruiter, Alan T. Sherman, 2017
[34] Loki: Private transactions, decentralised communication, Kee Jefferys, Simon Harman, Johnathan Ross, Paul McLean, 2018
[35] Open Research Questions For Phases 0 to 2
[36] Towards on-chain non-interactive data availability proofs
隱私、區塊鏈與洋蔥路由 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
broadcast封包 在 創意世界 Creative World Youtube 的評價
DIY Rainbow Loom 彩虹編織器中文教學頻道
Rainbow Loom Pencil case/Bag/Purse/Red Envelop鉛筆袋/信封包/紅包袋 - 彩虹編織器中文教學 Loom Bands Chinese Tutorial
中國年Happy Chinese New Year!
這種設計也可用於 Fun Loom,CRA-Z-Loom,Wonder Loom,Bandaloom和所有其他編織機
♥免費訂閱創意世界頻道: https://www.youtube.com/user/CreativeWorldUSA
♥ Facebook 粉絲專頁: https://www.facebook.com/CreativeWorldUSA
♥ Instagram 粉絲專頁: http://instagram.com/creativeworldusa
♥ Twitter 粉絲專頁: https://twitter.com/CreativeWorldUS
購買材料 官方網站资訊: http://creativeworldusa.com/rainbow-loom-web-stores/
DIY 橡皮筋編織手環, 吊飾和人物
其他橡皮筋編織設計: Rainbow Loom Chinese/Mandarin tutorials
單手鍊 Single Bracelet
魚尾手環(2針) Fishtail Bracelet
玫瑰手環 Rose Garden Bracelet
小雨滴手環 Raindrop Bracelet
彩虹梯手環 Ladder Bracelet
冰雪奇緣-安娜公主 Frozen Anna princess
迷你立體馬卡龍 3D Macaron
雙魚手環 Double Fishtail/Criss-Cross Quadfish Bracelet
立體花手環&戒指 3D Flowers Bracelet & Ring
錢錢符號 Money Sign Charm
夾心果凍手環 Frozen Bracelet
史迪奇(星際寶貝) Stitch Charm
吉他 Guitar Charm
龍貓 Totoro Figure
反向魚尾手環 Insideout Fishtail Bracelet
果凍珠手環 Jelly Bead Bracelet
龍尾手環 Dragon Tail/Quadzilla Bracelet
蛇 Snake Charms
蛇鱗手環 snake Scale Bracelet
小叮噹/哆啦A夢/Doraemon
立體小蜜蜂 3D Bumble Bee Charm
我愛你/名字手鍊 I love you/Name Bracelet
棒棒糖Lolipop Charms
立體荔枝/草莓3D Strawberry/Lychee Charms
立體龍眼/櫻桃3D Dragon Eyes/Cherries Charm
縱橫交叉手環(全長) Confetti Criss-Cross Bracelet(Full Length)
小雨滴手環(全長) Raindrop Bracelet(Full Length)
永遠的愛手鍊(全長) Infinity/Taffy Twist Bracelets(Full Length)
雙辮手環 Double Braid Bracelet
螺旋辮手鍊 Spiral Twist Bracelet
浮水印手環 Watermark Bracelet
雙圓手環 Double Ring Bracelet
字母A Letter A Charm
探險活寶老皮Adventure Time Jake
蛋撻 Egg Tart charm
薑餅人 Gingerbread Boy charm
熊大 Bear Charm
怪獸大學大眼仔MONSTERS UNIVERSITY Mike Wazowski (Mural)
雙子星 Little Twin Stars KiKi Charms
雙子星 Little Twin Stars LaLa Charms
金莎巧克力 3D Chocolate Charm
怪獸大學大眼仔MU Mike Wazowski figure/Charm
美樂蒂 My Melody Charm/Figure
拖鞋裝飾 Flip Flop/Slippers Make Over
彩虹夾心手環 Varation of Spirilla Bracelet
彩虹世界手環 Rainbow World Bracelet
彩虹世界手環 Rainbow World Bracelet (Full Length全長)
棋盤手環Chinese finger Trap Bracelet
小瓢蟲 Ladybug Charm
立體鯨魚3D Whale Figure
愛心 Heart Charms(Loom)
凱蒂貓 Hello Kitty Charm & Bracelet
花開富貴手環 Citrus Bracelet
年年有魚Multi-Fishtails Bracelet
猴子 Monkey charms
夢幻花瓣手環 Petal Burst Bracelet
喜洋洋Happy Sheep Charm
立體小漢堡 3D Hamburger Charm
月餅 Moon Cake Cham
立體大漢堡 3D Hamburger Charm
立體大蛋糕 3D Cake
立體小蛋糕 3D Mini Cake
立體幸運兔 Lucky Bunny 3D
探險活寶阿寶 Adventure Time Finn
立體迷你莎莉LINE 3D Mini Sally
立體迷你熊大 Line Bear 3D
立體免兔 Line Bunny 3D
笑臉 Smiley Face Charm
甜心鍊手環 Harness Bracelet
圓筒信箱包 Mini Bags/pouch/Purse
婚紗禮服/晚禮服Queen Elsa Dress/Wedding/Evening Gown
龍鱗項鍊 Dragon Scale Necklace
仙人掌 3D Cactus Charm
鉛筆袋/信封包 Pencil box/Bag/Purse
歡迎看看我的網站有更多的教學影片!www.CreativeWorldUSA.com
記得訂閱創意世界頻道. 看完影片請您別忘了按個讚!
感謝您的收看! 下次再見!
設計者: Peggy Wu
翻譯者: 創意世界 Creative World
版權所有請勿複製©2014 by 創意世界 Creative World
Copyright ©2014 by www.CreativeWorldUSA.com
All rights reserved. This material may not be published, broadcast, rewritten, or redistributed without permission.
broadcast封包 在 創意世界 Creative World Youtube 的評價
DIY Rainbow Loom 彩虹編織器中文教學頻道
Rainbow Loom Snowman 3D Charm 雪人 - 彩虹編織器中文教學 Loom Bands Chinese Tutorial
這種設計也可用於 Fun Loom,CRA-Z-Loom,Wonder Loom,Bandaloom和所有其他編織機
♥免費訂閱創意世界頻道: https://www.youtube.com/user/CreativeWorldUSA
♥ Facebook 粉絲專頁: https://www.facebook.com/CreativeWorldUSA
♥ Instagram 粉絲專頁: http://instagram.com/creativeworldusa
♥ Twitter 粉絲專頁: https://twitter.com/CreativeWorldUS
購買材料 官方網站资訊: http://creativeworldusa.com/rainbow-loom-web-stores/
DIY 橡皮筋編織手環, 吊飾和人物
其他橡皮筋編織設計: Rainbow Loom Chinese/Mandarin tutorials
單手鍊 Single Bracelet
魚尾手環(2針) Fishtail Bracelet
玫瑰手環 Rose Garden Bracelet
小雨滴手環 Raindrop Bracelet
彩虹梯手環 Ladder Bracelet
果凍珠手環 Jelly Bead Bracelet
龍尾手環 Dragon Tail/Quadzilla Bracelet
蛇 Snake Charms
蛇鱗手環 snake Scale Bracelet
小叮噹/哆啦A夢/Doraemon
立體小蜜蜂 3D Bumble Bee Charm
我愛你/名字手鍊 I love you/Name Bracelet
棒棒糖Lolipop Charms
立體荔枝/草莓3D Strawberry/Lychee Charms
立體龍眼/櫻桃3D Dragon Eyes/Cherries Charm
縱橫交叉手環(全長) Confetti Criss-Cross Bracelet(Full Length)
小雨滴手環(全長) Raindrop Bracelet(Full Length)
永遠的愛手鍊(全長) Infinity/Taffy Twist Bracelets(Full Length)
雙辮手環 Double Braid Bracelet
螺旋辮手鍊 Spiral Twist Bracelet
浮水印手環 Watermark Bracelet
雙圓手環 Double Ring Bracelet
字母A Letter A Charm
探險活寶老皮Adventure Time Jake
蛋撻 Egg Tart charm
薑餅人 Gingerbread Boy charm
熊大 Bear Charm
怪獸大學大眼仔MONSTERS UNIVERSITY Mike Wazowski (Mural)
雙子星 Little Twin Stars KiKi Charms
雙子星 Little Twin Stars LaLa Charms
金莎巧克力 3D Chocolate Charm
怪獸大學大眼仔MU Mike Wazowski figure/Charm
美樂蒂 My Melody Charm/Figure
拖鞋裝飾 Flip Flop/Slippers Make Over
彩虹夾心手環 Varation of Spirilla Bracelet
彩虹世界手環 Rainbow World Bracelet
彩虹世界手環 Rainbow World Bracelet (Full Length全長)
棋盤手環Chinese finger Trap Bracelet
小瓢蟲 Ladybug Charm
立體鯨魚3D Whale Figure
愛心 Heart Charms(Loom)
凱蒂貓 Hello Kitty Charm & Bracelet
花開富貴手環 Citrus Bracelet
年年有魚Multi-Fishtails Bracelet
猴子 Monkey charms
夢幻花瓣手環 Petal Burst Bracelet
喜洋洋Happy Sheep Charm
立體小漢堡 3D Hamburger Charm
月餅 Moon Cake Cham
立體大漢堡 3D Hamburger Charm
立體大蛋糕 3D Cake
立體小蛋糕 3D Mini Cake
立體幸運兔 Lucky Bunny 3D
探險活寶阿寶 Adventure Time Finn
立體迷你莎莉LINE 3D Mini Sally
立體迷你熊大 Line Bear 3D
立體免兔 Line Bunny 3D
笑臉 Smiley Face Charm
甜心鍊手環 Harness Bracelet
圓筒信箱包 Mini Bags/pouch/Purse
婚紗禮服/晚禮服Queen Elsa Dress/Wedding/Evening Gown
龍鱗項鍊 Dragon Scale Necklace
仙人掌 3D Cactus Charm
鉛筆袋/信封包 Pencil box/Bag/Purse
手提包/筆筒 Handbag/Purse/Bag
心連心手環Heart of Aphrodite Bracelet
龍鱗手鐲(2針) Dragon Scale Bracelet
創世神 Minecraft Steve Figurine
創世神苦力怕Minecraft Creeper KeyChain
毛毛蟲手環Caterpillar Bracelet
南瓜籃子 Pumpkin Basket
憤怒鳥Angry Bird(Red) 3D
布丁狗Pudding Dog 3D Charm
雪人 Snowman 3D Charm
雪花 Snowflake Charm
歡迎看看我的網站有更多的教學影片!www.CreativeWorldUSA.com
記得訂閱創意世界頻道. 看完影片請您別忘了按個讚!
感謝您的收看! 下次再見!
設計者: ElegantFashion360.com
翻譯者: 創意世界 Creative World
版權所有請勿複製©2014 by 創意世界 Creative World
Copyright ©2014 by www.CreativeWorldUSA.com
All rights reserved. This material may not be copy, re-record, re-upload, and translate, published, broadcast, rewritten, or redistributed without permission.
broadcast封包 在 創意世界 Creative World Youtube 的評價
DIY Rainbow Loom 彩虹編織器中文教學頻道
Rainbow Loom Mini Handbag 手提包/筆筒/水袋 - 彩虹編織器中文教學 Loom Bands Chinese Tutorial
這種設計也可用於 Fun Loom,CRA-Z-Loom,Wonder Loom,Bandaloom和所有其他編織機
♥免費訂閱創意世界頻道: https://www.youtube.com/user/CreativeWorldUSA
♥ Facebook 粉絲專頁: https://www.facebook.com/CreativeWorldUSA
♥ Instagram 粉絲專頁: http://instagram.com/creativeworldusa
♥ Twitter 粉絲專頁: https://twitter.com/CreativeWorldUS
購買材料 官方網站资訊: http://creativeworldusa.com/rainbow-loom-web-stores/
DIY 橡皮筋編織手環, 吊飾和人物
其他橡皮筋編織設計: Rainbow Loom Chinese/Mandarin tutorials
單手鍊 Single Bracelet
魚尾手環(2針) Fishtail Bracelet
玫瑰手環 Rose Garden Bracelet
小雨滴手環 Raindrop Bracelet
彩虹梯手環 Ladder Bracelet
我愛你/名字手鍊 I love you/Name Bracelet
棒棒糖Lolipop Charms
立體荔枝/草莓3D Strawberry/Lychee Charms
立體龍眼/櫻桃3D Dragon Eyes/Cherries Charm
縱橫交叉手環(全長) Confetti Criss-Cross Bracelet(Full Length)
小雨滴手環(全長) Raindrop Bracelet(Full Length)
永遠的愛手鍊(全長) Infinity/Taffy Twist Bracelets(Full Length)
雙辮手環 Double Braid Bracelet
螺旋辮手鍊 Spiral Twist Bracelet
浮水印手環 Watermark Bracelet
雙圓手環 Double Ring Bracelet
字母A Letter A Charm
探險活寶老皮Adventure Time Jake
蛋撻 Egg Tart charm
薑餅人 Gingerbread Boy charm
熊大 Bear Charm
怪獸大學大眼仔MONSTERS UNIVERSITY Mike Wazowski (Mural)
雙子星 Little Twin Stars KiKi Charms
雙子星 Little Twin Stars LaLa Charms
金莎巧克力 3D Chocolate Charm
怪獸大學大眼仔MU Mike Wazowski figure/Charm
美樂蒂 My Melody Charm/Figure
拖鞋裝飾 Flip Flop/Slippers Make Over
彩虹夾心手環 Varation of Spirilla Bracelet
彩虹世界手環 Rainbow World Bracelet
彩虹世界手環 Rainbow World Bracelet (Full Length全長)
棋盤手環Chinese finger Trap Bracelet
小瓢蟲 Ladybug Charm
立體鯨魚3D Whale Figure
愛心 Heart Charms(Loom)
凱蒂貓 Hello Kitty Charm & Bracelet
花開富貴手環 Citrus Bracelet
年年有魚Multi-Fishtails Bracelet
猴子 Monkey charms
夢幻花瓣手環 Petal Burst Bracelet
喜洋洋Happy Sheep Charm
立體小漢堡 3D Hamburger Charm
月餅 Moon Cake Cham
立體大漢堡 3D Hamburger Charm
立體大蛋糕 3D Cake
立體小蛋糕 3D Mini Cake
立體幸運兔 Lucky Bunny 3D
探險活寶阿寶 Adventure Time Finn
立體迷你莎莉LINE 3D Mini Sally
立體迷你熊大 Line Bear 3D
立體免兔 Line Bunny 3D
笑臉 Smiley Face Charm
甜心鍊手環 Harness Bracelet
圓筒信箱包 Mini Bags/pouch/Purse
婚紗禮服/晚禮服Queen Elsa Dress/Wedding/Evening Gown
龍鱗項鍊 Dragon Scale Necklace
仙人掌 3D Cactus Charm
鉛筆袋/信封包 Pencil box/Bag/Purse
歡迎看看我的網站有更多的教學影片!www.CreativeWorldUSA.com
記得訂閱創意世界頻道. 看完影片請您別忘了按個讚!
感謝您的收看! 下次再見!
設計者: Jasse Lu Inspired by Paggy Wu
翻譯者: 創意世界 Creative World
版權所有請勿複製©2014 by 創意世界 Creative World
Copyright ©2014 by www.CreativeWorldUSA.com
All rights reserved. This material may not be published, broadcast, rewritten, or redistributed without permission.
broadcast封包 在 [問題] IP分享器、路由器和交換器傻傻分不清楚.. - 看板Network 的八卦
※ 引述《seraphalpha (五穀雜糧)》之銘言:
: 問這個問題有點蠢..不過這問題已經困擾我一陣子了..
: 請問一下ip分享器(hub)、交換器(switch)和路由器(router)的差別在哪??
只回答上面這句,剛好又是之前打過的文章 XD
我後來沒去翻網路的書,不過有翻的歲月當中
就數這本這段講解的最清楚,也不用擔心他的正確性 XD
裡頭有一些基本的專有名詞,看不懂請自己 google
資料來源:
書名:Cisco 路由器設定
(Managing IP Network witch Cisco Routers)
1998.12 初版
出版社:O'Reilly
ISBN:957-98213-7-2
/*轉載開始*/
//p.36
[標題]集線器、橋接器、Switch 與路由器[/標題]
在討論路由器的放置地點之前,先確定你是否需要一台路由器。能不能用
Switch(交換器)或 Bridge(橋接器)之類的設備代替?通常網路公司的
業務員不會回答這類的問題,但每種設備在網路中都有獨特的地位。你必須
了解它們各自的特性,尤其是他們的弱點。
最簡單的網路設備就是集線器(Hub),應該也是網路上最常見的機器。一
班網路如 Ethernet,Token Ring,或 FDDI 都會有 Hub,選購安裝都沒有
什麼學問。我們就略過不談。Hub 的等級和價格沒太大差別,主要是有沒有
操作界面。但 Switch,Bridge,和路由器就完全不是這麼回事了。
幾年之前,還有人在爭論網路是該透過 Bridge 還是該透過路由器連接。
Bridge 陣營堅持路由器太複雜,速度太慢,設定維護太困難;路由器陣營
則預測網路會大幅成長,Bridge 將無法應付。當然,路由器最後佔了上風
,網路成長的規模出乎每個人的意外。路由器的可擴充性(Scalability)
是 Internet 成長的動力。
為什麼 Bridge 的擴充性不夠?這牽涉到 Bridge 本身的運作原理。當一台
Bridge 收到來自網路的框包(frame),會檢查框包內的目的地位址,和自
己知道的地址比對;找到符合的位址之後,它會決定是否傳送這個框包到目
的地所屬的網路區段,或是轉送到目前目的地中途的區段。如果 Bridge 知
道框包是來自和目的地同樣的區段,它會忽略這個封包,因為目的地自己會
接收。
如果 Bridge 不知道目的地位址,它會假定目的地可能在任何地點,直接傳
送框包。如果目的地傳回一個回應訊息,Bridge 會根據訊息中的位址加在
自己的位址紀錄中。所以 Bridge 是根據收到的框包位址來判斷網路組成的
架構。
這個程序就是 Bridge 運作的核心。但某些框包是 Bridge 必須送到每個地
方的,就是 Multicast(多址傳送)與 Broadcast(廣播)框包。由於網路
上每台機器都必須收到這些框包,意思是網路上會充斥(flooded)這些框
包。
//p.37
Broadcast 和 Multicast 類型的框包限制了 Bridge 網路的擴充規模。當
網路上的機器數量增加時,需要廣播的框包也隨之增加。平均來說,一台機
器每十秒送出一個廣播,如果網路上有 1000 台電腦,平均每秒就有 100
個廣播在流竄。如果有十萬台機器,情況將難以想像!
佔據頻寬並非廣播的唯一問題。因為每台機器必須時時檢查廣播框包的內容
,所以會透過中斷處理。如果一直造成中斷,機器效率會慢下來,網路協定
堆疊也會難以運作。
難道機器每十秒一定要送出廣播嗎?想想廣播與多址傳送的應用情況。在
IP 協定裡面,廣播是應用在位址解析(ARP,Address Resolution
Protocol),路由更新,以及 rwho 之類的服務。Multicast 的應用功能大
致差不多,但相對 Bridge 構成的網路來說,Multicast 和 Broadcast 沒
什麼差別,反正都是要充斥整個網路。有些 Multicast 和 Broadcast 封包
是定時傳送的,以 rwho 和一些路由協定資訊來說,大約每 30 秒會送出一
次。
但 rwho 在這個週期之下只能送出一個封包,某些路由協定如 RIP 可以送
出許多封包。對一個大型網路來說,可能一次有 10 個封包。
其他協定對 Broadcast 和 Multicast 傳輸也有一些影響。AppleTalk 這種
協定在進行資源搜尋,位址指定,或路由等動作時,會大量使用 Multicast
和 Broadcast。Novell 的 IPX 協定在服務宣告與資源搜尋時也有類似的傾
向。
看以上的敘述,你不得不相信,每台機器十秒一個框包算是相當保守的估算
,如果加上其他稀奇古怪的協定,產生的框包傳輸絕對不只此數。
難道路由器就能擺脫這些問題嗎?路由器的擴充性是否比 Bridge 來得好?
要回答這個問題,首先讓我們看看路由器的原理。
//p.38
[標題]路由器採取的做法[/標題]
Bridge 在決定是否轉送框包時,是根據目的地的硬體位址。如果不知道目
的地位址,或是確定框包前往的區段不在來源區段,就進行轉送。路由器傳
送封包時的決定過程很類似,差別在於路由器根據的是網路層位址,而非硬
體位址。但這不是唯一的差別。
真正的差別在於網路位址是由人來指定的。原則上,具有共同 prefix 的位
址都屬於同一個網路。相對上,硬體位址是製造廠商決定的,不管網路的實
際配置。考慮實際的網路配置,可以增進資訊聚集(aggregation)的能力
。一個 1000 台主機的網路上的 Bridge 可能要追蹤 1000 個地點才能做出
決定,但一台路由器只須追蹤 10 個以下的位址就夠了。這就是路由器高效
率的主因。
資訊聚集的能力,使得路由器比 Bridge 具有更強的擴充性,但還有其他因
素。Bridge 必須隨時注意網路區段的每個封包,因為它必須確定框包的目
的地位址來決定是否傳送[痞註]。路由器不需要隨時注意每個封包,因為封
包傳送者已經決定了封包是否要轉送。如果傳送者知道目的地不在本身的區
段,就利用路由器本身的硬體位址當作目的地位址,直接傳送給路由器。所
以路由器只需要注意直接傳給它的封包,大大降低了路由器處理的流量。
Routing 的可擴充性還有更重要的因素。Bridge 必須傳送所有的
Broadcast 和 Multicast 封包,但路由器採取不同的做法。因為路由器知
道網路的實際配置,它會建立廣播網域(Broadcast domain),這只是網路
的一部分,但網路上所有的機器都可以看到廣播封包。除非特別設定,否則
路由器不會隨便傳送廣播封包。例如,你可以設定一台路由器轉送 BOOTP
或 DHCP 的廣播給遠端伺服器,傳送 IP Multicast 封包給已登錄的主機。
除了節省 Broadcast 和 Multicast 的傳輸之外,路由器在其他方面也可以
減低頻寬的使用量。
除此之外,如果路由器收到一個無法傳送目的地的封包,它會丟棄(drop)
這個封包,並回應一個訊息給寄出封包的主機,表示傳送失敗。
//p.39
總結來說,路由器的擴充性是由於下列幾個因素:
→由於網路位址是配合實際配置來指定的,它具有高度的資訊聚集能力。
→它不必隨時注意區段上的每個封包。
→它會建立廣播網域,減少不必要的 Broadcast 和 Multicast 封包傳送。
→它會丟棄不明位址的封包,減少頻寬的浪費。
[標題]路由器與 Switch[/標題]
路由器顯然比 Bridge 優越,只是 Bridge 不需要複雜的設定程序,也沒有
人會為 Bridge 設定特別寫一本書。由於電腦硬體的速度越來越快,反而網
路的頻寬成為新的問題,這就是 Switch 出現的背景。
Switch 絕大部分都是應用在 Ethernet 上(目前 Token Ring 與 FDDI
switch 也日漸普遍),它透過分散頻寬的方式增加頻寬的使用效率。你可
以更換硬體增加頻寬,例如將 10Mbps Ethernet 換成 100Mbps Fast
Ethernet,但你得同時需要更換新的集線器,網路纜線與網路卡,這是一筆
不小的花費。
Switch 扮演了一個特殊的角色。在一個分享的網路區段上,每台主機都是
碰撞網域(Collision Domain)的一部分,因為 Ethernet 的傳輸會互相爭
奪頻寬導致碰撞。路由器有能力縮減碰撞網域的範圍,但成本太高,而且設
定複雜。以一個連接 24 個 Ethernet 區段的高速路由器來說,大概需要
10 萬美金。但一台 24-Port 的同級 Switch 只需要 8 千美金左右。
那為什麼不乾脆把路由器甩在一邊,全部都用 Switch 就好了?一旦你明瞭
Switch 運作的原理,答案就很明顯了。讓我們先看看 Switch 工作的方式
。
當 Switch 收到一個框包,它必須判斷目的地在網路上的位置。Switch 撿
視框包內的目的地硬體位址,檢查轉送表,如果找到符合的資料,就將框包
送往表上指定的埠。如果找不到,它就將框包送往除了來源之外的每一個埠
,希望收到的目的地會送出一個回應,讓 Switch 更新本身的轉送表。廣播
與 Multicast 都送往每個埠。
/*轉載結束*/
[痞註] 這裡應該是用「傳送」比較合適。
另外 p.40 頁說,switch 說穿了,就是一個多 port 的 Bridge
其他的沒啥好提的,所以就省略不 post :P
--
侃侃長論鮮窒礙 首頁:https://www.psmonkey.idv.tw
眾目睽睽無心顫 Blog:https://ps-think.blogspot.com
煢居少聊常人事
殺頭容易告白難 歡迎參觀 Java 版(@ptt.cc)精華區 \囧/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.193.189
... <看更多>