哈工大計算機網絡Week0-概述

L01什麼是計算機網絡

計算機網絡

計算機網絡=通訊技術+計算機技術=一種通訊網絡git

定義:互連的、 自治(無主從關係)的計算機集
合。github

構成:由交換網絡互連主機算法

  • 主機(hosts)=端系統(end systems)
    • 運行各類網絡應用
  • 交換網絡
    • 交換節點:路由器或交換機
    • 通訊鏈路
      • 光纖, 銅纜, 無線電,衛星……

Internet

全球最大的互聯網絡,由ISP(Internet Service Provider互連而成的「網絡之網絡」瀏覽器

L02什麼是網絡協議?

定義

網絡協議(network protocol)是爲進行網絡中的數據交換而創建的規則。緩存

內容

協議規定了通訊實體之間所交換消息的格式、 意義以及針對收到信息或發生的事件所應採起的「動做」 、 順序安全

三要素

語義規定了通訊,語法表示具體實現方式,時序表示通訊服務器

  • 語義(Semantics)
    • 通訊雙方應當作什麼
    • 須要發出何種控制信息,以及信息含義(收到特定信息須要完成的動做與作出什麼樣的響應)。
  • 語法(Syntax)
    • 規定信息格式
    • 用戶數據與控制信息的結構與格式
  • 時序(Timing)
    • 事件發生順序
    • 時序是對事件發生順序的詳細說明。

L03計算機網絡結構

網絡邊緣

主機(端系統)位於網絡邊緣,運行網絡應用程序。網絡

客戶/服務器(client/server)應用模型:客戶發送請求,接收服務器響應
對等(peer-peer, P2P)應用模型:無(或不只依賴)專用服務器通訊在對等實體之間直接進行併發

接入網絡

將網絡邊緣接入核心網的中介網絡。是端系統到其邊緣路由器的物理鏈路

數字用戶線路DSL

利用已有的電話線鏈接中心局的DSLA

  • 數據通訊經過DSL電話線接入Internet
  • 語音(電話)經過DSL電話線接入電話網
  • 非對稱接入網絡,上行速度遠慢於下行
  • FDM

電纜網絡

  • FDM
  • 非對稱

無線接入網絡

經過共享的無線接入網絡鏈接端系統與路由器

  • 經過基站(base station)或稱爲「接入點」(access point)
  • 無線局域網(LANs)
  • 廣域無線接入

網絡核心(核心網絡)

互聯的路由器或交換機構成的網絡

關鍵功能:routing+forwarding

  • 路由:肯定分組從源到目的傳輸路徑
  • 轉發:肯定路徑後的發送動做

L04Internet結構

結構很是複雜當前Internet結構無人能給出精確描述,下面給出一個基本描述圖像:

1535633387584

1535633685512

  1. 多層次的isp將全球的邊緣網絡組織起來。
  2. 因爲政治經濟因素,頂層isp不惟一
  3. 各個isp經過ixp internet exchange point做爲交換節點,以對等鏈路(peering link)圖中爲紅線相鏈接。
  4. 除了各個主機,還有regional net區域網絡也是接入者之一。
  5. 除了isp提供主機交互外,內容提供商網絡(content provider networks,如: Google,Microsoft等) 可能運行其本身的網絡,並就近爲端用戶提供服務、內容。

Q:Internet是全球最大的互聯網絡,其網絡拓撲結構極其複雜,並且具備很強的動態性,有不少研究機構或研究團隊在開展網絡拓撲結構發現相關問題研究。請你們搜索閱讀相關文獻,並討論實現網絡拓撲發現的意義有哪些?

A:網絡拓撲圖形中能更直觀明瞭的看清楚網絡中各個節點之間的連接,還有接口之間的連接,也就是反應網絡中各實體間的結構關係,這樣方便配置和排除錯誤。網絡拓撲設計地好壞對整個網絡的性能和經濟性有重大影響。

來源:百度百科

網絡管理的目的是經過監視和控制複雜的計算機網絡,最大限度地保證其正常運行,而且要提升效率、下降成本。而網絡拓撲發現則是配置管理的核心,故障和性能管理的基礎,同時它也是衡量一個商業網絡管理系統成敗的重要尺度。所以拓撲發現算法的設計在整個網管系統的開發中有着舉足輕重的地位。

網絡拓撲發現的應用:

(1)模擬網絡:爲了模擬實際網絡,必須首先獲得該網絡的拓撲結構;

(2)網絡管理:涉及到配置管理、性能管理、故障管理,具體地說,網絡拓撲信息可幫助網絡管理者肯定優化網絡配置:測試和判斷網絡性能,發現網絡瓶頸所在

和失效的鏈路;

(3)服務器定位:網絡拓撲信息可幫助用戶肯定自身在網絡中的位置,從而肯定服務器的位置,以及選擇哪個網絡服務提供商能夠將時延最小化、可用帶寬最大化;

(4)爲與拓撲結構相關的算法的性能改進提供依據;

(5)爲Internet流量工程(traffic engineering)和網絡行爲學的研究提供基礎輔助依據。

來源:(中國知網)莊鎖法, 龔儉.網絡拓撲發現綜述[J].計算機技術與發展, 2007, 17 (10) :80-91.

L05數據交換-電路交換

數據交換

咱們這裏討論的數據交換是核心網絡實現互聯互通功能的主要手段,即設立中介路由器或交換機。

爲何要使用數據交換

若是直連的話是O(n^2) 的。必須提升線路複用率。

數據交換類型

電路交換

報文交換

分組交換

電路交換

直接在兩點之間創建物理線路來完成交換。

對於多路佔用的物理鏈路,若是每回只有一個路能使用則須要頻繁的物理接點調整,所以使用多路複用技術使得一條物理線路能被多路使用。

L06多路複用

多路複用(Multiplexing)

  1. 鏈路/網絡資源劃分爲「資源片」將資源片分配給各路「呼叫」(calls)
  2. 每路呼叫獨佔分配到的資源片進行通訊
  3. 資源片可能「閒置」

分類

頻分多路複用( frequency division multiplexing-FDM )
時分多路複用( time division multiplexing-TDM )
波分多路複用(Wavelength division multiplexing-WDM)
碼分多路複用( Code division multiplexing-CDM )

FDM

頻分多路複用的各用戶佔用不一樣的帶寬資源(請注意,這裏的「帶寬」是頻率帶寬(單位: Hz) 而不是數據的發送速率),帶寬這一詞會屢次出現,在不一樣的語境下分別表示頻率的範圍或數據傳輸速率。

被分配的資源就是頻率帶寬。

1535635398906

TDM

時分複用則是將時間劃分爲一段段等長的時分複用幀(TDM 幀),每一個用戶在每一個 TDM 幀中佔用固定序號的時隙,每用戶所佔用的時隙是週期性出現(其週期就是TDM 幀的長度)

1535635413963

WDM

波分複用就是光的頻分複用

CDM

碼分多路複用利用正交向量的特殊數學性質完成多路數據合併,鏈路傳輸合併數據,各路使用本身的正交向量來對合並數據解碼,以此實現多路複用。

每 個 用 戶 分 配 一 個 惟 一 的 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)

1535635550360

若{di}爲原始數據序列,疊加向量爲

1535635607113

解碼:碼片序列與編碼信號的內積

1535635655735

L07數據交換-報文交換、分組交換

報文交換

其實很是簡單,就是指把信息打包,一次性發送。打包的信息叫作報文

分組交換

報文交換的改進版,把報文拆成較小的數據包,分開傳送,再從新組裝。

和報文交換區別:

  • 須要拆分重組
  • 數據包要額外包頭
  • 可並行傳送

統計多路複用

分組交換使用統計多路複用。

統計多路複用即路由器將接收到的數據包加入緩存隊列,逐一發送,那麼多個主機發送的數據包,路由器並不區分,只是接受併發送,誰發的快,路由器就更可能下一個發送其數據包,即表現統計傾向。

不像電路分組的多路複用,是一種按需共享的動態複用技術。

報文交換vs分組交換

存儲轉發

報文交換與分組交換均採用存儲-轉發交換方式

  • 報文交換以完整報文進行「存儲-轉發」
    • 須要更大的路由器緩存
    • 串行發送
    • 不須要額外時間拆分合並
    • 無文件頭
  • 分組交換以較小的分組進行「存儲-轉發」
    • 路由器緩存要求低
    • 並行發送
    • 須要額外時間來拆分合並
    • 附加額外文件頭

報文交付時間差別

報文: M bits
鏈路帶寬 : R bps
分組長度(大小) : L bits
跳步數: h
路由器數: n=h-1

T分組交換=M/R+(h-1)L/R=M/R+nL/R

T報文交換=hM/R

因爲分組交換的並行發送機制,使得路由器的帶寬利用率被提升。

分組交換vs電路交換

二者的區分主要在於分組交換的存儲轉發機制以及拆分合並傳輸。

  • 因爲分組轉發是統計多路複用,所以相比電路交換的獨佔多路複用可以更靈活的分配物理鏈路資源,容許更多用戶同時使用網絡。
  • 分組轉發適用於突發數據傳輸網絡
  • 分組轉發,當路由器接受過多內容致使緩存填滿時會丟棄後續數據包,產生數據丟失。隊列等待也會產生傳輸延遲。須要協議處理可靠數據傳輸和擁塞控制。
  • 電路交換雖然沒法靈活分配資源,可是可以提供穩定低延遲的鏈接

Q:分組交換是現代計算機網絡重要的理論基礎之一,也是目前在計算機網絡中普遍採用的數據交換技術,存儲-轉發則是分組交換的基本工做方式。請你們討論一下,分組交換是否能夠採起其餘工做方式?有什麼樣的優缺點?

A:

直通轉發(Cut-through Switching)

交換機在接收整個幀以前讀取目標地址,而後在整個幀到達以前轉發幀。此模式減小了傳輸

的延遲,但缺乏檢查,且不支持不一樣輸入輸出速率的端口間的數據轉發。 其有兩種形式,快

速轉發和無碎片轉發。

快速轉發(Fast-forward switching)

快速轉發經過在接收目標地址(幀的前6個字節)後當即轉發幀來提供最低級別的延遲。因爲

其不會檢查錯誤,所以可能會出現轉發壞幀的狀況。雖然這種狀況不多發生,而且目標網絡

適配器在收到時會丟棄壞幀,但在具備高衝突率的網絡中,這會對可用帶寬產生負面影響。

無碎片轉發(Fragment-Free Switching)

無碎片轉發是直通轉發的一種改進形式。在進行轉發以前,交換機讀取以太網幀的至少64個

字節,避免轉發小於64字節的以太網幀,以此過濾掉衝突片斷。但若是頻繁發送數據量很小

的報文,會致使帶寬的利用效率低下。

L08計算機網絡性能

速率

速率即數據率(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)

延遲/時延(delay或latency)

該節針對針對目前網絡實際選擇使用的分組轉發討論。

節點處理延遲

信號經過物理鏈路傳送給路由器以後,路由器對接收到的信息進行處理的時間。

  • 差錯檢測
  • 肯定輸出鏈路
  • 一般< msec,毫秒級

排隊延遲

等待輸出鏈路可用,取決於路由器擁塞程度

R: 鏈路帶寬(bps)
L: 分組長度 (bits)
a: 平均分組到達速率

$流量強度()流量強度()流量強度()流量強度(traffic intensity)= La/R$

  • La/R ~ 0: 平均排隊延遲很小
  • La/R -> 1: 平均排隊延遲很大
    • 均態阻塞很大是由於網絡傳輸量的突發性,致使瞬間數據量可能很大,使得一直維持一個較大的阻塞時長。
  • La/R > 1: 超出服務能力, 平均排隊延遲無限大!

傳輸延遲

鏈路帶寬指的是路由器將存儲內容變爲物理信號發送的能力,傳輸延遲指將數據包轉換爲物理信號發送出路由器的時間。

傳播延遲

信號離開路由器後,在物理鏈路上傳播的時間

時延帶寬積

$時延帶寬積傳播時延帶寬時延帶寬積傳播時延帶寬時延帶寬積傳播時延帶寬時延帶寬積 = 傳播時延帶寬=d_{prop}R (bits)$

即某個瞬間,物理鏈路存儲的數據量

分組丟失(丟包率)

丟包率=丟包數/已發分組總數

  • 隊列緩存容量有限
  • 分組到達已滿隊列將被丟棄 (即丟包)
  • 丟棄分組可能由前序結點或源重發(也可能不重發)

吞吐量/率(Throughput)

吞吐量:表示在發送端與接收端之間傳送數據速率 (b/s)
和帶寬不一樣,帶寬只是一端屬性。

吞吐量是發送端與接收端鏈路上各段鏈路的帶寬最小值

L09計算機網絡體系結構

爲何須要計算機網絡體系結構?

計算機網絡是一個很是複雜的系統,涉及許多組成部分,須要一種結構來有效的解析、管理整個計算機網絡

分層結構

咱們使用分層結構來描述計算機網絡體系結構。

網絡體系結構是從功能上描述計算機網絡結構,每一層實際上指一個等級的功能。

優勢

結構清晰,有利於識別複雜系統的部件及其關係

  • 模塊化的分層易於系統更新、 維護
  • 任何一層服務實現的改變對於系統其它層都是獨立的
  • 定義抽象功能而自由具體實現,利於標準化

缺點

  • 過分分層下降效率,提高複雜度
  • 各層次的隔離使得沒法經過綜合調整改善性能

Q:分層網絡體系結構有什麼缺點?

A:因爲分層須要定義模塊結構,可能致使層間交互不清晰,接口複雜,而且因爲每層都要對

數據進行處理,致使信息交互的時間延長,增長了數據量。另外,因爲各個層次隔離,對通

信的優化和擴展都只能在各個層次進行,沒法在整個系統層次討論。

Q:在哪些狀況下有必要不採用分層結構?

A:分層結構(模塊化)是任何複雜系統的必要實現手段。因此任何成系統的體系都一般存在

分層結構,否則就會很麻煩。可能在某些極端狀況下,不須要分層結構,例如:家裏的電燈

泡和開關,開關傳遞給電燈泡一個電「信號」(?),電燈泡當即打開(沒有軟件進行上層的

處理操做)。而跨層體系結構是能夠考慮的。

Q:跨層體系結構的網絡設計及其優勢?

A:跨層設計是一種綜合考慮協議棧各層次設計與優化並容許任意層次和功能模塊之間自由交

互信息的方法,在原有的分層協議棧基礎上集成跨層設計與優化方法能夠獲得一種跨層協議

棧。跨層設計與優化的優點在於經過使用層問交互,不一樣的層次能夠及時共享本地信息,減

少了處理和通訊開銷,優化了系統總體性能。與傳統的分層結構相比,跨層協議棧的層問交

互要複雜些,各層須要瞭解其餘層的行爲並須要更多的專用接口,下降了通用性。可是,跨

層設計方法的各層協議和功能模塊的協同有助於消除冗餘功能;採用消息驅動的控制方法,

任意層之間能夠交互信息;針對特定的場合進行集成設計和優化能夠較好匹配應用需求和網

絡條件。例如在無限通訊中,考慮到無線信道有限的帶寬資源、信道的時變特性以及節點自

身的侷限性,跨層設計方法優點帶來的好處遠大於層間交互帶來的協議設計複雜性的缺點。

參考:王海濤,劉曉明 adhoc網絡中跨層設計方法的研究 2005

計算機網絡體系結構

計算機網絡體系結構(network architecture)是分層結構:

  • 每層遵循某個/些網絡協議完成本層功能,功能的依賴構成層次關係。層即功能,協議是對功能的具體定義。
  • network architecture即計算機網絡的各層及其協議的集合

基本概念

實體(entity) :表示任何可發送或接收信息的硬件或軟件進程。同一系統的各個層次分別都是實體,兩個不一樣系統的層次分別都是實體。
協議:控制兩個同層實體進行通訊的規則的集合,協議是「水平的」
服務:任一層實體須要使用下層服務,遵循本層協議,實現本層功能, 向上層提供服務服務是「垂直的」
透明:下層協議的實現對上層的服務用戶是透明的。
SAP和交換原語:同系統的相鄰層實體間經過接口進行交互(服務和要求服務),經過服務訪問點 SAP(Service Access Point)和交換原語(控制指令),指定請求的特定服務。

L10OSI與Internet參考模型

OSI參考模型

開放系統互連 (OSI)參考模型是由國際標準化組織 (ISO) 於1984年提出的分層網絡體系結構模型。目的是支持異構網絡系統的互聯互通。

  • 異構網絡系統互連的國際標準
  • 理解網絡通訊的最佳學習工具(理論模型),市場失敗
  • 7層劃分

OSI參考模型解釋的通訊過程

1535696960361

  • 協議控制層次之間數據的邏輯傳輸,使用虛線表示;實際信息傳輸是經過傳輸介質實現的,傳輸使用實線表示。
  • 中間系統只須要網絡層、數據鏈路層、物理層
  • 主機須要所有7層。

OSI參考模型數據封裝與通訊過程

1535697122457

  • 發送方各層次依據協議附加頭部信息,逐層向下遞增
  • 接收方個層次按協議拆解、解析頭部,逐層向上遞減
  • 物理層不會再對數據加工

爲何須要數據封裝?

  • 增長控制信息
    • 構造協議數據單元 (PDU)
  • 控制信息主要包括:
    • 地址(Address) : 標識發送端/接收端
    • 差錯檢測編碼(Error-detecting code) : 用於差錯檢測或糾正
    • 協議控制(Protocol control) : 實現協議功能的附加信息,如: 優先級(priority)、服務質量(QoS)、 和安全控制等

層次功能介紹

物理層功能

提供基本的比特流傳輸服務,並不能穩定的進行數據傳輸,須要數據鏈路層的輔助。

  • 接口特性
    • 機械特性、電氣特性、功能特性、規程特性
  • 比特編碼:如何表示0如何表示1
  • 數據率:物理層上數據傳輸速率
  • 比特同步:保證發送接收同步
    • 時鐘同步
  • 傳輸模式
    • 單工(Simplex):單向通訊
    • 半雙工(half-duplex):交替進行,同一時刻只能單向通訊(對講機)
    • 全雙工(full-duplex):同一時刻能雙向通訊

數據鏈路層功能

爲網絡層提供高質量的數據傳輸功能。

  • 負責物理鏈路直接相連的兩個節點之間的數據傳輸,結點-結點(node-to-node)數據傳輸。注意物理層不會再加頭尾,物理層發的只是比特,數據鏈路層保證爲網絡層提供高質量的數據交換服務,物理層只是實現比特傳輸。
  • 組幀(Framing),發送數據時未來自網絡層的數據加頭加尾。了使傳輸中發生差錯後只將有錯的有限數據進行重發,數據鏈路層將比特流組合成以幀爲單位傳送。
  • 差錯控制:檢測並重傳損壞或丟失幀,並避免重複幀。常見的是校驗碼。
  • 幀同步:幀的組織結構必須設計成使接收方可以 明確地從物理層收到的比特流中對其進行識別,也即能從比特流中區分出幀的起始與終止,這就是幀同步要解決的問題。
  • 物理尋址(Physical addressing):在幀頭中增長髮送端和/或接收端的物理地址標識數據,物理層並不能很好的控制比特流接受對象,極可能接受方是無篩選的,這時候就須要增添物理地址來告訴接收方該數據是不是以其爲對象的。
  • 流量控制(Flow control):匹配發送接受端的帶寬,避免淹沒接收端形成擁塞或丟包。
  • 訪問(接入)控制(Access control):對於共享的數據鏈路,在任一給定時刻決定哪一個設備擁有鏈路(物理介質)控制使用權。

網絡層功能

傳輸層和數據鏈路層之間。保證網絡上的數據傳輸。

  • 邏輯尋址(Logical addressing)全局惟一邏輯地址,確保數據分組被送達目的主機,如IP地址。物理尋址在不一樣網絡中不具備惟一性,沒法在多網絡中有效尋址。
  • 路由:路線選擇
  • 分組轉發 :分組轉發數據

傳輸層功能

負責源-目的(端-端)(進程間)完整報文傳輸

  • 報文的分段重組
  • SAP尋址(業務接入點):其頭部有源-目的進程號、端口號、其餘類型SAP號
  • 鏈接控制:端-端邏輯鏈接的創建維護拆除
  • 流量控制(可選):匹配發送接受速度問題
  • 差錯控制(可選):差錯、糾錯

會話層功能

在osi中功能很是少,實際應用上沒有這一層

  • 對話控制:創建維護
  • 同步:在數據流插入「同步點」

表示層功能

處理兩個系統間交換信息的語法與語義(syntax and semantics ) 問題,實際應用上沒有這一層

  • 數據表示轉化
    • 轉換爲主機獨立的編碼
  • 加密/解密
  • 壓縮/解壓縮

應用層功能

幫助用戶經過用戶代理(如瀏覽器)或網絡接口使用網絡應用

典型應用層服務:

  • 文件傳輸(FTP)
  • 電子郵件(SMTP)
  • Web(HTTP)

TCP/IP參考模型

先實踐後整理,不一樣於osi先理論後實踐

1535699966448

IP可用於任何網絡接口層,這也是TCP/IP得以快速發展的緣由之一。

5層參考模型

綜合 OSI (理論清晰)和 TCP/IP 的優勢(實用),實用最普遍的參考模型,課程講解也是用該模型。

  • 應用層: 支持各類網絡應用
    • FTP, SMTP, HTTP
  • 傳輸層: 進程-進程的數據傳輸
    • TCP, UDP
  • 網絡層: 源主機到目的主機的數據分組路由與轉發
    • IP協議、路由協議等
  • 鏈路層: 相鄰網絡元素(主機、交換機、路由器等)的數據傳輸
    • 以太網(Ethernet)、 802.11 (WiFi)、PPP
  • 物理層:比特傳輸

5層模型的數據封裝

1535700294848

注意,交換機只有鏈路層和物理層,而路由器還有網絡層,即交換機沒法在多網絡間傳播。

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 許可協議。轉載請註明出處!

相關文章
相關標籤/搜索