目錄node
計算機網絡=通訊技術+計算機技術=一種通訊網絡git
定義:互連的、 自治(無主從關係)的計算機集
合。github
構成:由交換網絡互連主機算法
全球最大的互聯網絡,由ISP(Internet Service Provider互連而成的「網絡之網絡」瀏覽器
網絡協議(network protocol)是爲進行網絡中的數據交換而創建的規則。緩存
協議規定了通訊實體之間所交換消息的格式、 意義以及針對收到信息或發生的事件所應採起的「動做」 、 順序安全
語義規定了通訊,語法表示具體實現方式,時序表示通訊服務器
主機(端系統)位於網絡邊緣,運行網絡應用程序。網絡
客戶/服務器(client/server)應用模型:客戶發送請求,接收服務器響應
對等(peer-peer, P2P)應用模型:無(或不只依賴)專用服務器通訊在對等實體之間直接進行併發
將網絡邊緣接入核心網的中介網絡。是端系統到其邊緣路由器的物理鏈路
利用已有的電話線鏈接中心局的DSLA
經過共享的無線接入網絡鏈接端系統與路由器
互聯的路由器或交換機構成的網絡
結構很是複雜當前Internet結構無人能給出精確描述,下面給出一個基本描述圖像:
Q:Internet是全球最大的互聯網絡,其網絡拓撲結構極其複雜,並且具備很強的動態性,有不少研究機構或研究團隊在開展網絡拓撲結構發現相關問題研究。請你們搜索閱讀相關文獻,並討論實現網絡拓撲發現的意義有哪些?
A:網絡拓撲圖形中能更直觀明瞭的看清楚網絡中各個節點之間的連接,還有接口之間的連接,也就是反應網絡中各實體間的結構關係,這樣方便配置和排除錯誤。網絡拓撲設計地好壞對整個網絡的性能和經濟性有重大影響。
來源:百度百科
網絡管理的目的是經過監視和控制複雜的計算機網絡,最大限度地保證其正常運行,而且要提升效率、下降成本。而網絡拓撲發現則是配置管理的核心,故障和性能管理的基礎,同時它也是衡量一個商業網絡管理系統成敗的重要尺度。所以拓撲發現算法的設計在整個網管系統的開發中有着舉足輕重的地位。
網絡拓撲發現的應用:
(1)模擬網絡:爲了模擬實際網絡,必須首先獲得該網絡的拓撲結構;
(2)網絡管理:涉及到配置管理、性能管理、故障管理,具體地說,網絡拓撲信息可幫助網絡管理者肯定優化網絡配置:測試和判斷網絡性能,發現網絡瓶頸所在
和失效的鏈路;
(3)服務器定位:網絡拓撲信息可幫助用戶肯定自身在網絡中的位置,從而肯定服務器的位置,以及選擇哪個網絡服務提供商能夠將時延最小化、可用帶寬最大化;
(4)爲與拓撲結構相關的算法的性能改進提供依據;
(5)爲Internet流量工程(traffic engineering)和網絡行爲學的研究提供基礎輔助依據。
來源:(中國知網)莊鎖法, 龔儉.網絡拓撲發現綜述[J].計算機技術與發展, 2007, 17 (10) :80-91.
咱們這裏討論的數據交換是核心網絡實現互聯互通功能的主要手段,即設立中介路由器或交換機。
若是直連的話是O(n^2) 的。必須提升線路複用率。
電路交換
報文交換
分組交換
直接在兩點之間創建物理線路來完成交換。
對於多路佔用的物理鏈路,若是每回只有一個路能使用則須要頻繁的物理接點調整,所以使用多路複用技術使得一條物理線路能被多路使用。
多路複用(Multiplexing):
頻分多路複用( frequency division multiplexing-FDM )
時分多路複用( time division multiplexing-TDM )
波分多路複用(Wavelength division multiplexing-WDM)
碼分多路複用( Code division multiplexing-CDM )
頻分多路複用的各用戶佔用不一樣的帶寬資源(請注意,這裏的「帶寬」是頻率帶寬(單位: Hz) 而不是數據的發送速率),帶寬這一詞會屢次出現,在不一樣的語境下分別表示頻率的範圍或數據傳輸速率。
被分配的資源就是頻率帶寬。
時分複用則是將時間劃分爲一段段等長的時分複用幀(TDM 幀),每一個用戶在每一個 TDM 幀中佔用固定序號的時隙,每用戶所佔用的時隙是週期性出現(其週期就是TDM 幀的長度)
波分複用就是光的頻分複用
碼分多路複用利用正交向量的特殊數學性質完成多路數據合併,鏈路傳輸合併數據,各路使用本身的正交向量來對合並數據解碼,以此實現多路複用。
每 個 用 戶 分 配 一 個 惟 一 的 m bit 碼 片 序 列 (chipping sequence), 其中「0」 用「-1」 表示、 「1」 用「+1」 表示, 例如:
S 站的碼片序列: (–1 –1 –1 +1 +1 –1 +1 +1)各用戶使用相同頻率載波, 利用各自碼片序列編碼數據,編碼信號 = (原始數據) × (碼片序列)。
如發送比特 1(+1) , 則發送本身的 m bit 碼片序列
如發送比特 0(-1) , 則發送該碼片序列的m bit 碼片序列的反碼
各用戶碼片序列相互正交(orthogonal)
若{di}爲原始數據序列,疊加向量爲
解碼:碼片序列與編碼信號的內積
其實很是簡單,就是指把信息打包,一次性發送。打包的信息叫作報文
報文交換的改進版,把報文拆成較小的數據包,分開傳送,再從新組裝。
和報文交換區別:
分組交換使用統計多路複用。
統計多路複用即路由器將接收到的數據包加入緩存隊列,逐一發送,那麼多個主機發送的數據包,路由器並不區分,只是接受併發送,誰發的快,路由器就更可能下一個發送其數據包,即表現統計傾向。
不像電路分組的多路複用,是一種按需共享的動態複用技術。
報文交換與分組交換均採用存儲-轉發交換方式
報文: M bits
鏈路帶寬 : R bps
分組長度(大小) : L bits
跳步數: h
路由器數: n=h-1
T分組交換=M/R+(h-1)L/R=M/R+nL/R
T報文交換=hM/R
因爲分組交換的並行發送機制,使得路由器的帶寬利用率被提升。
二者的區分主要在於分組交換的存儲轉發機制以及拆分合並傳輸。
Q:分組交換是現代計算機網絡重要的理論基礎之一,也是目前在計算機網絡中普遍採用的數據交換技術,存儲-轉發則是分組交換的基本工做方式。請你們討論一下,分組交換是否能夠採起其餘工做方式?有什麼樣的優缺點?
A:
直通轉發(Cut-through Switching)
交換機在接收整個幀以前讀取目標地址,而後在整個幀到達以前轉發幀。此模式減小了傳輸
的延遲,但缺乏檢查,且不支持不一樣輸入輸出速率的端口間的數據轉發。 其有兩種形式,快
速轉發和無碎片轉發。
快速轉發(Fast-forward switching)
快速轉發經過在接收目標地址(幀的前6個字節)後當即轉發幀來提供最低級別的延遲。因爲
其不會檢查錯誤,所以可能會出現轉發壞幀的狀況。雖然這種狀況不多發生,而且目標網絡
適配器在收到時會丟棄壞幀,但在具備高衝突率的網絡中,這會對可用帶寬產生負面影響。
無碎片轉發(Fragment-Free Switching)
無碎片轉發是直通轉發的一種改進形式。在進行轉發以前,交換機讀取以太網幀的至少64個
字節,避免轉發小於64字節的以太網幀,以此過濾掉衝突片斷。但若是頻繁發送數據量很小
的報文,會致使帶寬的利用效率低下。
速率即數據率(data rate)或稱數據傳輸速
率或比特率(bit rate),單位時間(秒)傳輸信息(比特)量。
單位: b/s(或bps)、 kb/s、 Mb/s、 Gb/s,$k=10^3$、 $M=10^6$、$ G=10^9$
網絡的「帶寬」一般是數字信道所能傳送的「最
高數據率」,單位: b/s (bps)
「帶寬」 (bandwidth)本來指信號具備的頻帶寬度,即最高頻率與最低頻率之差,單位是赫茲(Hz)
該節針對針對目前網絡實際選擇使用的分組轉發討論。
信號經過物理鏈路傳送給路由器以後,路由器對接收到的信息進行處理的時間。
等待輸出鏈路可用,取決於路由器擁塞程度
R: 鏈路帶寬(bps)
L: 分組長度 (bits)
a: 平均分組到達速率
$流量強度()流量強度()流量強度()流量強度(traffic intensity)= La/R$
鏈路帶寬指的是路由器將存儲內容變爲物理信號發送的能力,傳輸延遲指將數據包轉換爲物理信號發送出路由器的時間。
信號離開路由器後,在物理鏈路上傳播的時間
$時延帶寬積傳播時延帶寬時延帶寬積傳播時延帶寬時延帶寬積傳播時延帶寬時延帶寬積 = 傳播時延帶寬=d_{prop}R (bits)$
即某個瞬間,物理鏈路存儲的數據量
丟包率=丟包數/已發分組總數
吞吐量:表示在發送端與接收端之間傳送數據速率 (b/s)
和帶寬不一樣,帶寬只是一端屬性。
吞吐量是發送端與接收端鏈路上各段鏈路的帶寬最小值
計算機網絡是一個很是複雜的系統,涉及許多組成部分,須要一種結構來有效的解析、管理整個計算機網絡
咱們使用分層結構來描述計算機網絡體系結構。
網絡體系結構是從功能上描述計算機網絡結構,每一層實際上指一個等級的功能。
結構清晰,有利於識別複雜系統的部件及其關係
Q:分層網絡體系結構有什麼缺點?
A:因爲分層須要定義模塊結構,可能致使層間交互不清晰,接口複雜,而且因爲每層都要對
數據進行處理,致使信息交互的時間延長,增長了數據量。另外,因爲各個層次隔離,對通
信的優化和擴展都只能在各個層次進行,沒法在整個系統層次討論。
Q:在哪些狀況下有必要不採用分層結構?
A:分層結構(模塊化)是任何複雜系統的必要實現手段。因此任何成系統的體系都一般存在
分層結構,否則就會很麻煩。可能在某些極端狀況下,不須要分層結構,例如:家裏的電燈
泡和開關,開關傳遞給電燈泡一個電「信號」(?),電燈泡當即打開(沒有軟件進行上層的
處理操做)。而跨層體系結構是能夠考慮的。
Q:跨層體系結構的網絡設計及其優勢?
A:跨層設計是一種綜合考慮協議棧各層次設計與優化並容許任意層次和功能模塊之間自由交
互信息的方法,在原有的分層協議棧基礎上集成跨層設計與優化方法能夠獲得一種跨層協議
棧。跨層設計與優化的優點在於經過使用層問交互,不一樣的層次能夠及時共享本地信息,減
少了處理和通訊開銷,優化了系統總體性能。與傳統的分層結構相比,跨層協議棧的層問交
互要複雜些,各層須要瞭解其餘層的行爲並須要更多的專用接口,下降了通用性。可是,跨
層設計方法的各層協議和功能模塊的協同有助於消除冗餘功能;採用消息驅動的控制方法,
任意層之間能夠交互信息;針對特定的場合進行集成設計和優化能夠較好匹配應用需求和網
絡條件。例如在無限通訊中,考慮到無線信道有限的帶寬資源、信道的時變特性以及節點自
身的侷限性,跨層設計方法優點帶來的好處遠大於層間交互帶來的協議設計複雜性的缺點。
參考:王海濤,劉曉明 adhoc網絡中跨層設計方法的研究 2005
計算機網絡體系結構(network architecture)是分層結構:
實體(entity) :表示任何可發送或接收信息的硬件或軟件進程。同一系統的各個層次分別都是實體,兩個不一樣系統的層次分別都是實體。
協議:控制兩個同層實體進行通訊的規則的集合,協議是「水平的」 。
服務:任一層實體須要使用下層服務,遵循本層協議,實現本層功能, 向上層提供服務,服務是「垂直的」 。
透明:下層協議的實現對上層的服務用戶是透明的。
SAP和交換原語:同系統的相鄰層實體間經過接口進行交互(服務和要求服務),經過服務訪問點 SAP(Service Access Point)和交換原語(控制指令),指定請求的特定服務。
開放系統互連 (OSI)參考模型是由國際標準化組織 (ISO) 於1984年提出的分層網絡體系結構模型。目的是支持異構網絡系統的互聯互通。
提供基本的比特流傳輸服務,並不能穩定的進行數據傳輸,須要數據鏈路層的輔助。
爲網絡層提供高質量的數據傳輸功能。
傳輸層和數據鏈路層之間。保證網絡上的數據傳輸。
負責源-目的(端-端)(進程間)完整報文傳輸
在osi中功能很是少,實際應用上沒有這一層
處理兩個系統間交換信息的語法與語義(syntax and semantics ) 問題,實際應用上沒有這一層
幫助用戶經過用戶代理(如瀏覽器)或網絡接口使用網絡應用
典型應用層服務:
先實踐後整理,不一樣於osi先理論後實踐
IP可用於任何網絡接口層,這也是TCP/IP得以快速發展的緣由之一。
綜合 OSI (理論清晰)和 TCP/IP 的優勢(實用),實用最普遍的參考模型,課程講解也是用該模型。
注意,交換機只有鏈路層和物理層,而路由器還有網絡層,即交換機沒法在多網絡間傳播。
Markdown文本:https://github.com/ArrogantL/BlogData/tree/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9Cspoc
本文做者: ArrogantL (arrogant262@gmail.com) : 本博客全部文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明出處!