朝花夕拾,簡要回顧一下計算機網絡課程。html
美國國防部 -> ARPANET -> MILNET(軍事), ARPANET -> NSFNET數據庫
遠程聯機系統 50s -> 60s
前端處理機FEP,調制解調器M,終端控制器TC,主機,終端T
服務器
計算機-計算機 網絡 60s ->70s
通訊子網(路由器和線路),資源子網(服務器和主機) 缺點:沒法任意互聯,拓展性差
網絡
開放式標準化網絡 80s -> now
統一的網絡體系結構:OSI,CCITT,TCP/IP架構
參考定義:將若干臺具備獨立功能的計算機 系統,用某種或多種通訊介質鏈接起來,經過完善的網絡協議, 在數據交換的基礎上,實現網絡資源共享的系統稱爲計算機網絡。socket
一整套通訊規程,包括規定要交換的數據格式、 控制信息的格式和控制功能、通訊過程當中事件執行的次序等。可能涉及到:tcp
真正的物理通訊老是發生在除物理層。除物理層外,其他各對等層實體間都是進行虛擬通訊。
通訊必須在對等層進行,不容許交差通訊。
虛擬通訊是一種邏輯通訊,其意義在於:
n-1層爲n層提供服務。n層直接使用n-1層提供的服務,間接 使用n-2, n-3, …… 層提供的服務。
OSI參考模型各層功能
網絡通訊↑ 數據處理↓
兩個核心協議:TCP和IP,故此模型也稱爲TCP/IP協議。
(Internet和OSI的參考模型比較)
應用層對應OSI的應用層,表示層和會話層。主要包括:FTP, SMTP, TELNET, DNS, HTTP 等
傳輸層:TCP(傳輸控制協議Transmission control protocol)
, UDP(用戶數據報協議User Datagram protocol )
互聯網層大致對應OSI的網絡層,爲IP協議。將IP分組以數據報方式從源主機發送到目的主機。
子網層對應物理層和數據鏈路層:802.3, PPP, 802.5, 千兆百兆以太網等
模擬通訊與數字通訊
信道, 兩個重要參數:帶寬(Hz),誤碼率(bps)
帶寬與數據率的關係
1.奈奎斯特(無噪聲信道)C = 2Hlog2L
2.香農定理(有噪聲信道,L不受限)C =Hlog2(1+S/N)
(C:數據率,H:帶寬,L:數字信號的離散取值數,S/N:信噪比)
波特率:每秒傳輸的碼元的數目 C=Blog2L (B爲波特率)
誤碼率:P = Ne/N
信道通訊方向:單工,半雙工,雙工
數字信號的編碼 e.g. 非歸零,曼切斯特,差分曼切斯特
調製(調幅,調頻,調相),解調(採樣,量化,編碼)。
數據同步方式:字符同步和位同步
多路複用:頻分複用,時分複用
物理層協議實質上是通訊接口標準
涉及內容:機械,功能,規格,電氣特性
數據幀是傳送單位
做用:物理地址尋址、數據的成幀、流量控制、數據的檢錯、重發等。
停-等協議:發一幀後等應答
滑動窗口協議:連續發送若干後再等待應答
順序接受管道協議(回退N):接受窗口尺寸爲1的滑動窗口協議,某幀丟失後其後所有丟棄並返回否定。
選擇接收管道協議
上述協議均可看做滑動窗口協議,差異在於窗口尺寸的不一樣
窗口尺寸的限制:
Wt>=Wr, Wt+Wr<=2^m (幀序號的位數爲m)
實現兩個主機系統之間的數據透明傳送,具體功能包括尋址和路由選擇、鏈接的創建、保持和終止等
虛電路
通訊前發送方和接收方之間必須創建鏈接(虛電 路),因此虛電路是面向鏈接的網絡服務。
虛電路只是一種邏輯電路,而不是真正的物理電 路。報文分組在虛電路上傳輸不像再物理線路上 那樣中暢通無阻。而是要中間節點的存儲轉發。
一條鏈路上容許創建多個虛電路。
一旦虛電路創建完畢,本地通訊的全部分組必須 通過該虛電路進行。所以,虛電路可以保證分組 的順序接收。
僅當創建虛電路時須要源/目的結點地址,數據分 組需分配一個虛電路號而無須源/目的結點地址。
數據報
數據報無需創建鏈接,每一個報文分組攜帶完整的源/目的地址,獨立的選擇路徑,經過 同的路徑到達目的主機
數據報子網 | 虛電路子網 | |
---|---|---|
延時 | 分組傳輸延時 | 電路創建,分組傳輸延時 |
路由選擇 | 每一個分組單獨選擇路由 | 創建虛電路時選擇路由,之後 全部分組都使用該路由 |
狀態信息 | 子網無需保存狀態信息 | 每一個結點要保存一張虛電路表 |
地址 | 每一個分組包括源和目的的完 整地址 | 每一個分組含有一個短的虛電路 號 |
結點失敗 的影響 | 除了在崩潰時正在該結點處 理的分組都丟失外,無其餘 影響 | 全部通過失效結點的虛電路都 要被終止 |
擁塞控制 | 難 | 若是有足夠的緩衝區分配給已 經創建的虛電路,則容易控制 |
路由選擇:根據某種策略(靜態、動態),選擇一條最佳的路徑到達目的主機,對路由器而言, 路由選擇實質上是選擇最佳 輸出端口。
虛電路:一次路由選擇
數據報:每一個分組要進行路由選擇
擴散法(洪泛法)
當結點收到一個分組後,把該分組向除進來的鏈 路外的全部其餘鏈路轉發,結果至少有一個分組 以最快的速度到達目的結點。
問題:產生大量重複分組 解決:設置下一跳字段每次減小
固定式路由選擇
每一個結點保存一張固定的路由表,當某一分組到達時, 根據分組的目的結點,在路由表中找到其對應的輸出 鏈路,而後來分組從該鏈路轉發出去。
最佳路由選擇算法
孤立路由算法
集中路由算法
分佈路由算法
D-V | L-S | |
---|---|---|
交換路由信息 | 按期 | 網絡拓撲結構發生 改變(或按期) |
路由更新 | 緩慢 | 迅速 |
適用範圍 | 小規模,變化緩慢 的網絡 | 大規模,變化較激 烈的網絡 |
IP協議是Internet體系結構的核心協議,已成 爲鏈接異構網絡的工業標準。
IP提供無鏈接的數據報服務,每一個IP分組長 度≤64K字節,不能保證分組可靠的,按序到 達,這些留給高層協議解決。
IP協議須要路由協議ICMP,ARP,RARP等 協議支持
ARP: 根據IP地址獲取物理地址
地址
子網的規模與借用主機字段的位數有關。借用位數越多,子網規模越大。
採用子網掩碼來分離網絡號和主機號
ip尋址:每一個路由器中都保存一張路由表(不管是靜態仍是動態)。路由表 的主要項目有兩個:網絡號、下一跳地址(最佳輸出鏈路)。
網際控制報文協議 ICMP
差錯報告,詢問報文 ping TTL
地址解析協議ARP
是將IP地址轉化成MAC,有存則發送,沒有則發送ARP請求找相應的MAC地址。
RARP與ARP相反,知道MAC不知道IP。
在計算機網絡中,傳輸層處於很是重要的位置。傳輸 層,也稱爲運輸層,不管在OIS仍是在TCP/IP模型中 ,傳輸層都處於面向應用部分的最低層和麪向通訊部分的最高層。(承上啓下)進程間通訊
網絡邊緣:主機、存儲、服務器、數據庫
網絡核心:路由器、鏈路
主要功能:爲運行在網絡邊緣的不 同主機上的各應用程序之間提供通訊服務;在應用層和網絡層之間充當複用器的做用。各類各樣的網絡應用,經過傳輸層的端口被提交統一的網絡層,並由IP協議用統一的方式將它們發送到網絡中。
端口與地址
進程標識符X,利用協議端口(軟件端口)。
熟知端口:0~1023
登記端口號:1024~49151
客戶端口號,短暫端口號:49152~65535
傳輸服務訪問點:當兩個不一樣主機的兩個進程須要通訊時 ,必須指明對方是哪個進程,這個標記稱爲傳輸層地 址,也稱爲傳輸服務訪問點(TSAP)
傳輸層地址(TSAP) = 主機IP地址+端口號
e.g. 192.168.10.1:80
套接字:爲了使應用程序可以方便地使用 協議棧軟件進行通訊的一種方法。{協議,本地地址,本地端口,遠程地址,遠程端口}
上聯應用,下聯網絡協議棧。
流式套接字(stream socket):提供面向鏈接、可靠的數據傳輸服務,數據無差錯、無重複 的發送,且按發送順序接收。內設流量控制,避免數據流超 限;數據被看做是字節流,無長度限制。
數據報式套接字(Datagram socket):提供無鏈接服務。數據包以獨立包形式發送,不提供無差錯 保證,數據可能丟失或重複,而且接收順序混亂。
原始套接字(Raw Socket):字容許對較低層次的協議,如IP、ICMP直接訪 問,用於檢驗新的協議的實現。
UDP 只在 IP 的數據報服務之上增長了不多一點的功能 ,即端口的功能和差錯檢測的功能。
是一種面向鏈接的、可靠的、基於字節流的傳輸層通訊協議。
TCP的鏈接
爲什麼要進行三次握手和三次揮手
鏈接須要三次握手
鏈接的釋放 四次揮手
客戶端要等待2MSL(最大報文生命)後才能夠釋放
TCP計時器:至少應該有四種計時器:重傳計時器、持久計時器、保活計時器和時間等待計時器
擁塞控制:慢開始 和 擁塞避免
在TCP/IP中,應用層對應OSI/RM中的會話層、表示層 和應用層,是應用程序與網絡傳輸的接口,是面向應用 需求的通訊協議中的最高端。
應用層協議不是應用程序,也不解決用戶的具體應用需 求,而是爲應用程序進程的網絡通訊提供服務的第一層 協議,是爲用戶的應用需求提供通訊服務。
規定了運行在不一樣端系統上的應用程序進程相互傳遞報文的規範:
體系架構
TCP/IP中的應用層協議:域名,超文本傳輸,電子郵件,會話發起,文件傳輸,遠程訪問
主機向本地域名服務器的查詢通常都是採用遞歸查詢。 若是主機所詢問的本地域名服務器不知道被查詢域名 的IP 地址,那麼本地域名服務器就以 DNS 客戶的身份,向其餘根域名服務器繼續發出查詢請求報文。
** 解析過程**
發送:SMTP
讀取:POP3 IMAP(不須要所有下載 交互式)
MIME 郵件中傳輸數據