第一篇:計算機網絡謝希仁版運輸層知識點總結
運輸層
運輸層之間的通信是進程與進程之間的,通過端口的
一、運輸層協議概述
1、從通信和信息處理的角度看,運輸層向它上面的應用層提供通信服務,它屬于面向通信部分的最高層,同時也是用戶功能中的最低層。
2、當網絡的邊緣部分中的兩個主機使用網絡的核心部分的功能進行端到端的通信時,只有位于網絡邊緣部分的主機的協議棧才有運輸層,而網絡核心部分中的路由器在轉發分組時都只用到下三層的功能。
3、兩個主機進行通信實際上就是兩個主機中的應用進程互相通信。
4、運輸層的一個很重要的功能就是復用和分用。通過端口實現。
5、網絡層為主機之間提供邏輯通信,運輸層為應用進程之間提供端到端的邏輯通信
6、當運輸層采用面向連接的TCP 協議時,盡管下面的網絡是不可靠的(只提供盡最大努力服務),但這種邏輯通信信道就相當于一條全雙工的可靠信道。當運輸層采用無連接的UDP協議時,這種邏輯通信信道是一條不可靠信道。
7、兩個對等運輸實體在通信時傳送的數據單位叫作運輸協議數據單元 TPDU
8、UDP 在傳送數據之前不需要先建立連接。雖然UDP 不提供可靠交付,但在某些情況下UDP 是一種最有效的工作方式;TCP 則提供面向連接的服務。
9、運輸層的 UDP 用戶數據報與網際層的IP數據報的區別:IP 數據報要經過互連網中許多路由器的存儲轉發,但 UDP 用戶數據報是在運輸層的端到端抽象的邏輯信道中傳送的。
10、硬件端口與軟件端口的區別:在協議棧層間的抽象的協議端口是軟件端口。路由器或交換機上的端口是硬件端口。硬件端口是不同硬件設備進行交互的接口,而軟件端口是應用層的各種協議進程與運輸實體進行層間交互的一種地址。
11、端口用一個16 位端口號進行標志。
12、端口號只具有本地意義,即端口號只是為了標志本計算機應用層中的各進程。在因特網中不同計算機的相同端口號是沒有聯系的。
13、端口的分類:熟知端口和登記端口號合稱為服務器端使用的端口號
? 熟知端口,數值一般為0~1023。
? 登記端口號,數值為1024~49151,為沒有熟知端口號的應用程序使用的。使用這個范圍的端口號必須在IANA 登記,以防止重復。
? 客戶端口號或短暫端口號,數值為49152~65535,留給客戶進程選擇暫時使用。
二、用戶數據報協議UDP
1、UDP只是在IP 的數據報服務之上增加了端口的功能和差錯檢測的功能。
2、UDP 的主要特點
? UDP 是無連接的,即發送數據之前不需要建立連接。
? UDP 使用盡最大努力交付,即不保證可靠交付,同時也不使用擁塞控制。? UDP 是面向報文的。
? UDP 支持一對一、一對多、多對一和多對多的交互通信。? UDP 的首部開銷小,只有8 個字節。
? UDP沒有擁塞控制,很適合多媒體通信的要求
3、發送方UDP 對應用程序交下來的報文,在添加首部后就向下交付IP 層。UDP 對應用層交下來的報文,既不合并,也不拆分,而是保留這些報文的邊界。
4、UDP 的首部格式(每個部分各兩個字節)源端口(不需要回送時可填0),目的端口,長度(包括數據部分,最小為8字節),檢驗和(檢查用戶數據報是否有差錯)
5、IP數據報首部檢驗和與UDP數據報檢驗和的區別:IP數據報只檢驗首部,UDP則把首部和數據報部分一起檢驗了。
6、偽首部與檢驗和:為了計算檢驗和在UDP首部之前再加入12字節的偽首部。偽首部不能向上遞交也不用向下傳送。接收方將UDP數據報與偽首部按二進制反碼求和,正確的結果應為全0,否則丟棄這個數據報。
7、偽首部包括源IP,目的IP,一個全0字節,一個協議字段,2字節的UDP長度
三、傳輸控制協議TCP
1、TCP 最主要的特點
? TCP 是面向連接的運輸層協議。
? 每一條TCP 連接只能有兩個端點,每一條TCP 連接只能是點對點的(一對一)。? TCP 提供可靠交付的服務。?
TCP 提供全雙工通信。? 面向字節流。
2、TCP 連接是一條虛連接而不是一條真正的物理連接。
3、TCP 連接的端點:不是主機,不是主機的IP 地址,不是應用進程,也不是運輸層的協議端口,而是套接字(socket)或插口,是端口號拼接到IP 地址后面構成的。套接字socket =(IP地址: 端口號)
192.168.1.1:80 TCP 連接::= {socket1, socket2}
= {(IP1: port1),(IP2: port2)}
4、同一個IP地址可以有多個不同的TCP連接,而同一個端口號也可以出現在多個不同的TCP連接中。
四、可靠傳輸的工作原理
1、理想傳輸條件的兩個特點:傳輸信道不產生差錯,無論發送發以多快的速度發送,接送方總來的及接受數據。在這種條件下不需要采取何種措施就可以實現可靠傳輸。
2、停止等待協議:每發送完一個分組就停止發送,等待對方確認。確認后再發下一個分組
3、為了在出現差錯時能夠繼續通信:在發送完一個分組后,必須暫時保留已發送的分組的副本;分組和確認分組都必須進行編號;超時重傳,超時計時器的重傳時間應當比數據在分組傳輸的平均往返時間更長一些。
4、確認丟失和確認遲到
5、使用確認和重傳機制,我們就可以在不可靠的傳輸網絡上實現可靠的通信。
6、可靠傳輸協議又稱為自動重傳請求ARQ
7、信道利用率:U?TD
TD:分組發送時間;RTT:分組往返時間;TA:TD?RTT?TA發送確認分組所需的時間
8、停止等待協議的優點是簡單,但缺點是信道利用率太低。
9、提高信道利用率的措施:采用流水線傳輸:發送方可連續發送多個分組,不必每發完一個分組就停頓下來等待對方的確認
10、連續ARQ 協議:TCP 連接的每一端都必須設有兩個窗口——一個發送窗口和一個接收窗口。發送窗口內的數據可以連續發送出去,不需要等待對方的確認,接收方采用累積確認,對按序到達的最后一個分組確認,表示:到這個分組為止的所有分組都已正確收到了。發送方每接收到一個確認,就把發送窗口向前滑動一個分組單位。
五、TCP 報文段的首部格式
1、源端口和目的端口字段——各占2 字節。端口是運輸層與應用層的服務接口。運輸層的復用和分用功能都要通過端口才能實現。
2、序號字段——占4 字節。TCP 連接中傳送的數據流中的每一個字節都編上一個序號。序號字段的值則指的是本報文段所發送的數據的第一個字節的序號。
3、確認號字段——占4 字節,是期望收到對方的下一個報文段的數據的第一個字節的序號。
4、數據偏移(即首部長度)——占4 位,它指出TCP 報文段的數據起始處距離TCP 報文段的起始處有多遠,以四個字節為單位,其實就是首部長度,最大60字節。
5、確認ACK —— 只有當ACK ? 1 時確認號字段才有效。
6、復位RST(ReSeT)—— 當RST ? 1 時,表明TCP 連接中出現嚴重差錯(如由于主機崩潰或其他原因),必須釋放連接,然后再重新建立運輸連接。
7、同步SYN —— 同步SYN = 1 表示這是一個連接請求或連接接受報文
8、終止FIN(FINis)—— 用來釋放一個連接。FIN ? 1 表明此報文段的發送端的數據已發送完畢,并要求釋放運輸連接。
9、窗口字段—— 占2 字節,用來讓對方設置發送窗口的依據,單位為字節。
10、檢驗和—— 占2 字節。檢驗和字段檢驗的范圍包括首部和數據這兩部分。檢驗規則和UDP檢驗和一樣。
11、緊急指針字段—— 占16 位,指出在本報文段中緊急數據共有多少個字節
12、MSS是TCP 報文段中的數據字段的最大長度
13、選項字段—— 長度可變。包括:
? 窗口擴大選項——占3 字節,? 時間戳選項——占10 字節,其中最主要的字段時間戳值字段(4 字節)和時間戳回送回答字段(4 字節)。用來計算往返時間,處理TCP序號超過2的32次方的情況,防止序號繞回,時間戳可以做個標記 ? 選擇確認選項
14、填充字段,填0,這是為了使整個首部長度是4 字節的整數倍。
六、TCP 可靠傳輸的實現
1、TCP的滑動窗口以字節為單位
2、窗口越大,發送方就可以在收到確認之前發送更多的數據,傳輸效率高,但是接收方必須來的及接收。
3、窗口的分類:發送窗口,可用窗口,未確認窗口
4、A 的發送窗口并不總是和B 的接收窗口一樣大(因為有一定的時間滯后)。
5、TCP 要求接收方必須有累積確認的功能,這樣可以減小傳輸開銷。
6、緩存和窗口的關系:緩存一般大于窗口
7、發送緩存與接收緩存的作用
發送緩存用來暫時存放:
發送應用程序傳送給發送方TCP 準備發送的數據; TCP 已發送出但尚未收到確認的數據。
接收緩存用來暫時存放:
按序到達的、但尚未被接收應用程序讀取的數據;
不按序到達的數據。
8、超時重傳時間的選擇: RTO ? RTTS + 4 ? RTTD
平均往返時間
新的RTTS?(1 ??)?(舊的RTTS)???(新的RTT 樣本)0 ??? 1推薦=0.125 RTT 的偏差的加權平均值
新的RTTD =(1 ??)?(舊的RTTD)+ ???RTTS?新的RTT 樣本? ?推薦=0.25
9、如何判定一個確認報文段是對原來的報文段1 的確認,還是對重傳的報文段2 的確認? 采用Karn算法:在計算平均往返時間RTT 時,只要報文段重傳了,就不采用其往返時間樣本。
修正的Karn算法:報文段每重傳一次,就把RTO 增大一些:
10、選擇確認sack是解決:接收方收到了和前面的字節流不連續的兩個字節塊,怎樣讓發送方只發送沒有到達的數據段
11、使用SACK時要將TCP首部中的SACK位置1,然后再選項字段填入未接受到的斷塊的邊界值,每個邊界值占4個字節,確定一個斷塊要用兩個邊界值,所以選項字段最多只能指明4個字節塊的信息。另外還要一個選項指明是SACK選項,一個指明SACK占用的字節數
七、TCP 的流量控制:利用滑動窗口實現流量控制
1、流量控制(flow control)就是讓發送方的發送速率不要太快,既要讓接收方來得及接收,也不要使網絡發生擁塞。
2、丟失報文導致互等死鎖的解決辦法:持續計時器
? TCP 為每一個連接設有一個持續計時器。
? 只要TCP 連接的一方收到對方的零窗口通知,就啟動持續計時器。
? 若持續計時器設置的時間到期,就發送一個零窗口探測報文段(僅攜帶1 字節的數據),而對方就在確認這個探測報文段時給出了現在的窗口值。
? 若窗口仍然是零,則收到這個報文段的一方就重新設置持續計時器。? 若窗口不是零,則死鎖的僵局就可以打破了。
3、發送方的發送窗口不能超過接收方給的接收窗口的數值,TCP窗口的單位是字節。
4、考慮到傳輸效率,要解決TCP 報文段的發送時機的選擇: ? 長度限制:第一種機制是TCP 維持一個變量,它等于最大報文段長度MSS。只要緩存中存放的數據達到MSS 字節時,就組裝成一個TCP 報文段發送出去。? 自己要求:第二種機制是由發送方的應用進程指明要求發送報文段,即TCP 支持的推送(push)操作。
? 時間限制:第三種機制是發送方的一個計時器期限到了,這時就把當前已有的緩存數據裝入報文段(但長度不能超過MSS)發送出去。
八、TCP的擁塞控制
1、在某段時間,若對網絡中某資源的需求超過了該資源所能提供的可用部分,網絡的性能就要變壞——產生擁塞,即資源需求>可用資源
2、擁塞控制與流量控制的關系: 擁塞控制是一個全局性的過程,就是防止過多的數據注入到網絡中,這樣可以使網絡中的路由器或鏈路不致過載。
流量控制往往指在給定的發送端和接收端之間的點對點通信量的控制。流量控制所要做的就是抑制發送端發送數據的速率,以便使接收端來得及接收。
3、擁塞控制要解決好網絡吞吐量與負載的關系
4、幾種擁塞控制方法:慢開始和擁塞避免,快重傳和快恢復
5、發送方維持一個叫做擁塞窗口cwnd的狀態變量。擁塞窗口的大小取決于網絡的擁塞程度,并且動態地在變化。發送方讓自己的發送窗口等于或小于擁塞窗口。
6、發送方控制擁塞窗口的原則是:只要網絡沒有出現擁塞,擁塞窗口就再增大一些,發送更多的分組。但只要網絡出現擁塞,擁塞窗口就減小一些,以減少注入到網絡中的分組數。
7、“擁塞避免”不能完全避免擁塞,只是說在擁塞避免階段把擁塞窗口控制為較多按線性規律增長,使網絡比較不容易出現擁塞。
8、快重傳算法:快重傳算法首先要求接收方每收到一個失序的報文段后就立即發出重復確認。這樣做可以讓發送方及早知道有報文段沒有到達接收方。發送方只要一連收到三個重復確認就應當立即重傳對方尚未收到的報文段。
9、快恢復算法:當發送端收到連續三個重復的確認時,就執行“乘法減小”算法,把慢開始門限ssthresh減半,然后執行加法增大。這是因為三個確認報文能夠到達發送端,網絡很可能沒有擁塞
10、發送窗口的上限值? Min [rwnd, cwnd]
接收方窗口rwnd和擁塞窗口cwnd
九、TCP 的運輸連接管理
1、運輸連接就有三個階段,即:連接建立、數據傳送和連接釋放。
2、TCP 連接的建立都是采用客戶服務器方式。主動發起連接建立的應用進程叫做客戶(client)。被動等待連接建立的應用進程叫做服務器(server)。
3、TCP用三次握手建立連接:A表示發送方,B表示接收方
(1)A 的TCP 向B 發出連接請求報文段,其首部中的同步位SYN = 1,并選擇序號seq = x,表明傳送數據時的第一個數據字節的序號是x。
(2)B 的TCP 收到連接請求報文段后,如同意,則發回確認。
B 在確認報文段中應使SYN = 1,使ACK = 1,其確認號ack = x ? 1,自己選擇的序號seq = y。
(3)A 收到此報文段后向B 給出確認,其ACK = 1,確認號ack = y ? 1。A 的TCP 通知上層應用進程,連接已經建立。
4、TCP的連接釋放:四次握手釋放連接。A表示發送方,B表示接收方(1)A 把連接釋放報文段首部的FIN = 1,其序號seq = u,等待B 的確認。
(2)B 發出確認,確認號ack = u ? 1,而這個報文段自己的序號seq = v。TCP 服務器進程通知高層應用進程。從 A 到B 這個方向的連接就釋放了,TCP 連接處于半關閉狀態。B 若發送數據,A 仍要接收。
(3)若B 已經沒有要向A 發送的數據,其應用進程就通知 TCP 釋放連接。(4)A 收到連接釋放報文段后,必須發出確認。
5、數據傳輸結束后,通信的雙方都可釋放連接。
6、發送方確認后必須等待2MSL 的時間后才能真正釋放連接理由如下: 第一,為了保證A 發送的最后一個ACK 報文段能夠到達B。
第二,防止“已失效的連接請求報文段”出現在本連接中。A 在發送完最后一個ACK 報文段后,再經過時間2MSL,就可以使本連接持續的時間內所產生的所有報文段,都從網絡中消失。
整理者:福州大學張毅
第二篇:計算機網絡謝希仁版網絡層知識點總結
網絡層
一、網絡層提供的兩種服務
虛電路服務可靠通信應當由網絡來保證 數據報服務可靠通信應當由用戶主機來保證
網絡層向上只提供簡單靈活的、無連接的、盡最大努力交付的數據報服務。
二、網際協議IP
1、與IP 協議配套使用的還有三個協議:
? 地址解析協議ARP ? 網際控制報文協議ICMP ? 網際組管理協議IGMP
2、網絡互相連接起來要使用一些中間設備
? 中間設備又稱為中間系統或中繼(relay)系統。
? 物理層中繼系統:轉發器(repeater)。
? 數據鏈路層中繼系統:網橋或橋接器(bridge)。? 網絡層中繼系統:路由器(router)。
? 網橋和路由器的混合物:橋路器(brouter)。
網絡層以上的中繼系統:網關(gateway)
3、互聯網可以由許多異構網絡互聯組成
4、分類的IP 地址
IP 地址定義:就是給每個連接在因特網上的主機(或路由器)分配一個在全世界范圍是唯一的 32 位的標識符。
5、IP 地址的編址方法
分類的 IP 地址,子網的劃分,構成超網。
兩級的 IP 地址:IP 地址 ::= { <網絡號>, <主機號>} 分類的 IP 地址:A類,B類,C類地址都是單播地址 D類地址用于多播,E類地址保留
實際上 IP 地址是標志一個主機(或路由器)和一條鏈路的接口。Ip地址不僅可以指明一個主機,還指明了主機所連接到的網絡 點分十進制記法:192.168.1.1 一些特殊的ip地址:保留地址0.0.0.0
本地軟件環回測試地址127.0.0.1 不指派地址
128.0.0.0
192.0.0.0
6、ip地址與硬件地址的區別:IP地址放在IP數據報首部,硬件地址放在MAC幀首部,在網絡層及網絡層以上使用IP地址,在鏈路層及以下使用硬件地址
7、解析協議 ARP 每一個主機都設有一個ARP 高速緩存(ARP cache),里面有所在的局域網上的各主機和路由器的IP 地址到硬件地址的映射表,這個映射表還經常動態更新。
ARP 是解決同一個局域網上的主機或路由器的IP 地址和硬件地址的映射問題。
8、如何知道同一個局域網內其他主機的mac地址? A在局域網內廣播arp請求分組,其他主機接收分組,IP地址與報文中一致的主機收下分組,并在自己的arp緩存中寫入主機A的IP地址到mac地址的映射,并發送arp響應報文,A收到響應報文后在自己的arp緩存中寫入主機B的IP地址到mac地址的映射。
9、生存時間,一般為10-20分鐘
10、若主機不在同一個局域網內,arp映射表怎樣建立?交給連接不同網絡的路由器
11、使用ARP 的四種典型情況 發送方是主機,要把IP數據報發送到本網絡上的另一個主機。這時用ARP 找到目的主機的硬件地址。
發送方是主機,要把IP 數據報發送到另一個網絡上的一個主機。這時用ARP 找到本網絡上的一個路由器的硬件地址。剩下的工作由這個路由器來完成。
發送方是路由器,要把IP 數據報轉發到本網絡上的一個主機。這時用ARP 找到目的主機的硬件地址。
發送方是路由器,要把IP 數據報轉發到另一個網絡上的一個主機。這時用ARP 找到本網絡上另一個路由器的硬件地址。剩下的工作由這個路由器來完成。12為什么不直接使用mac地址通信,要加上ip地址
為了完成異構網絡之間的通訊,mac地址比較復雜,ip方便用戶操作,提高CPU的效率,這樣在網絡傳輸中就可以由網卡來識別mac地址,不用再上傳到CPU識別
13、IP數據包格式
? 一個IP 數據報由首部和數據兩部分組成。
? 首部的前一部分是固定長度,共20 字節,是所有IP 數據報必須具有的。? 在首部的固定部分的后面是一些可選字段,其長度是可變的。
14、首部長度——占4 位,可表示的最大數值是15 個單位(一個單位為4 字節)因此IP 的首部長度的最大值是60 字節。固定長度為20字節
15、總長度——占16 位,指首部和數據之和的長度,單位為字節,因此數據報的最大長度為65535 字節。總長度必須不超過最大傳送單元MTU
16、標志(flag):占3 位,目前只有前兩位有意義。
標志字段的最低位是MF(More Fragment)。MF ? 1 表示后面“還有分片”。MF ? 0 表示最后一個分片。標志字段中間的一位是DF(Don't Fragment)。只有當DF ? 0 時才允許分片。
17、片偏移(13 位)指出:較長的分組在分片后某片在原分組中的相對位置。片偏移以8 個字節為偏移單位。
18、生存時間(8 位)記為TTL(Time To Live)數據報在網絡中可通過的路由器數的最大值。單位為跳數。數據報能在英特網中傳輸的最大跳數為255個路由器
19、協議(8 位)字段指出此數據報攜帶的數據使用何種協議,以便目的主機的IP 層將數據部分上交給哪個處理過程
20、首部檢驗和(16 位)字段只檢驗數據報的首部,不檢驗數據部分。采用累加法,以16位字為單位加
21、IP層分組轉發的流程:分組轉發算法
(1)從數據報的首部提取目的主機的 IP 地址D, 得出目的網絡地址為N。
(2)若網絡N 與此路由器直接相連,則把數據報直接交付目的主機D;否則是間接交付,執行(3)。
(3)若路由表中有目的地址為D 的特定主機路由,則把數據報傳送給路由表中所指明的下一跳路由器;否則,執行(4)。
(4)若路由表中有到達網絡N 的路由,則把數據報傳送給路由表指明的下一跳路由器;否則,執行(5)。
(5)若路由表中有一個默認路由,則把數據報傳送給路由表中所指明的默認路由器;否則,執行(6)。
(6)報告轉發分組出錯。
三、劃分子網
1、三級IP:IP地址::= {<網絡號>, <子網號>, <主機號>}
2、劃分子網純屬一個單位內部的事情。單位對外仍然表現為沒有劃分子網的網絡。
3、從主機號借用若干個位作為子網號 subnet-id,而主機號host-id 也就相應減少了若干個位。
4、子網掩碼:使用子網掩碼(subnet mask)可以找出IP 地址中的子網部分。
5、默認子網掩碼:原來兩級IP時A、B、C類地址使用的網絡號
6、路由器的路由表中的每一個項目,除了要給出目的網絡地址外,還必須同時給出該網絡的子網掩碼
7、不同的子網掩碼得出相同的網絡地址,但不同的掩碼的效果是不同的
8、在劃分子網的情況下路由器轉發分組的算法(1)從收到的分組的首部提取目的IP 地址D。(2)先用各網絡的子網掩碼和D 逐位相“與”,看是否和相應的網絡地址匹配。若匹配,則將分組直接交付。否則就是間接交付,執行(3)。
(3)若路由表中有目的地址為D 的特定主機路由,則將分組傳送給指明的下一跳路由器;否則,執行(4)。
(4)對路由表中的每一行的子網掩碼和D 逐位相“與”,若其結果與該行的目的網絡地址匹配,則將分組傳送給該行指明的下一跳路由器;否則,執行(5)。
(5)若路由表中有一個默認路由,則將分組傳送給路由表中所指明的默認路由器;否則,執行(6)。
(6)報告轉發分組出錯。
9、無分類編址CIDR CIDR使用各種長度的“網絡前綴”(network-prefix)來代替分類地址中的網絡號和子網號。IP 地址從三級編址(使用子網掩碼)又回到了兩級編址。
IP地址::= {<網絡前綴>, <主機號>}
128.14.32.0/20
四、網際控制報文協議ICMP:為了提高IP 數據報交付成功的機會
1、ICMP 允許主機或路由器報告差錯情況和提供有關異常情況的報告。
2、作用:用于在IP主機、路由器之間傳遞控制消息。控制消息是指網絡通不通、主機是否可達、路由是否可用等網絡本身的消息
3、ICMP 不是高層協議,而是IP 層的協議。
4、ICMP 報文作為IP 層數據報的數據,加上數據報的首部,組成IP 數據報發送出去。
5、ICMP 報文的格式:類型:1字節,代碼:1字節,檢驗和:2字節;接下去四個字節與類型有關,數據部分(差錯報文):ip首部+ip數據報前8個字節
6、ICMP 報文的種類有兩種,即ICMP 差錯報告報文和ICMP 詢問報文。
7、ICMP 差錯報告報文共有5 種:終點不可達、源點抑制、時間超過、參數問題、改變路由(重定向)
8、不應發送ICMP 差錯報告報文的幾種情況
(1)對ICMP 差錯報告報文不再發送ICMP 差錯報告報文。
(2)對第一個分片的數據報片的所有后續數據報片都不發送ICMP 差錯報告報文。(3)對具有多播地址的數據報都不發送ICMP 差錯報告報文。
(4)對具有特殊地址(如127.0.0.0 或0.0.0.0)的數據報不發送ICMP 差錯報告報文。
9、ICMP 詢問報文有兩種:回送請求和回答報文、時間戳請求和回答報文
10、ping報文就是icmp報文
五、因特網的路由選擇協議
1、路由選擇協議的核心就是理想的路由算法
2、從路由算法的自適應性分類 靜態路由選擇策略——即非自適應路由選擇 動態路由選擇策略——即自適應路由選擇
3、因特網采用分層次的路由選擇協議。
4、自治系統AS 的定義:在單一的技術管理下的一組路由器,而這些路由器使用一種AS 內部的路由選擇協議和共同的度量以確定分組在該AS 內的路由,同時還使用一種AS 之間的路由選擇協議用以確定分組在AS之間的路由
5、因特網有兩大類路由選擇協議
內部網關協議 IGP(Interior Gateway Protocol)
即在一個自治系統內部使用的路由選擇協議,常用的有RIP,OSPF 外部網關協議EGP(External Gateway Protocol)不在一個自治系統內部使用的路由選擇協議,常用的有BGP
6、自治系統之間的路由選擇也叫做,域間路由選擇(interdomain routing),在自治系統內部的路由選擇叫做,域內路由選擇(intradomain routing)
7、內部網關協議RIP(路由信息協議):RIP 是一種分布式的基于距離向量的路由選擇協議。基于UDP的應用層協議
? RIP 協議中的“距離”也稱為“跳數”(hop count),因為每經過一個路由器,跳數就加1。
? RIP 允許一條路徑最多只能包含15 個路由器。
? “距離”的最大值為16 時即相當于不可達。可見RIP只適用于小型互聯網。
? RIP 不能在兩個網絡之間同時使用多條路由。RIP 選擇一個具有最少路由器的路由(即最短路由),哪怕還存在另一條高速(低時延)但路由器較多的路由。
8、RIP 協議的三個要點
? 僅和相鄰路由器交換信息。
? 交換的信息是當前本路由器所知道的全部信息,即自己的路由表。? 按固定的時間間隔交換路由信息,例如,每隔30 秒。
9、距離向量算法
收到相鄰路由器(其地址為X)的一個RIP 報文:
(1)先修改此RIP 報文中的所有項目:把“下一跳”字段中的地址都改為X,并把所有的“距離”字段的值加1。
(2)對修改后的RIP 報文中的每一個項目,重復以下步驟:若項目中的目的網絡不在路由表中,則把該項目加到路由表中。否則,若下一跳字段給出的路由器地址是同樣的,則把收到的項目替換原路由表中的項目。否則,若收到項目中的距離小于路由表中的距離,則進行更新,否則,什么也不做。
(3)若3 分鐘還沒有收到相鄰路由器的更新路由表,則把此相鄰路由器記為不可達路由器,即將距離置為16(距離為16表示不可達)。(4)返回。
10、RIP2 的報文由首部和路由部分組成
路由部分:地址族標識符,路由標記,網絡地址、該網絡的子網掩碼、下一跳路由器地址以及到此網絡的距離組成
11、RIP 協議的特點:好消息傳播的快,壞消息傳播的慢 網絡出故障的傳播時間往往需要較長的時間(例如數分鐘)
12、內部網關協議OSPF(開放最短路徑優先)
(1)向本自治系統中所有路由器發送信息,這里使用的方法是洪泛法。
(2)發送的信息就是與本路由器相鄰的所有路由器的鏈路狀態,但這只是路由器所知道的部分信息。“鏈路狀態”就是說明本路由器都和哪些路由器相鄰,以及該鏈路的“度量”(metric)。
(3)只有當鏈路狀態發生變化時,路由器才用洪泛法向所有路由器發送此信息。
13、OSPF 的區域(area):為了使OSPF 能夠用于規模很大的網絡,OSPF 將一個自治系統再劃分為若干個更小的范圍,叫作區域。
14、每一個區域的路由器數量不超過200個,分成兩種區域,即主干區域和其他區域
15、劃分區域的好處就是將利用洪泛法交換鏈路狀態信息的范圍局限于每一個區域而不是整個的自治系統,這就減少了整個網絡上的通信量。
在一個區域內部的路由器只知道本區域的完整網絡拓撲,而不知道其他區域的網絡拓撲的情況。
OSPF 使用層次結構的區域劃分。在上層的區域叫作主干區域(backbone area)。主干區域的標識符規定為0.0.0.0。主干區域的作用是用來連通其他在下層的區域。
16、OSPF 不用UDP 而是直接用IP數據報傳送。OSPF 構成的數據報很短。這樣做可減少路由信息的通信量,而
17、OSPF協議中如果到同一個目的網絡有多條相同代價的路徑,那么可以將通信量分配給這幾條路徑。這叫作多路徑間的負載平衡。
18、OSPF 的五種分組類型:問候(Hello)分組。數據庫描述分組。鏈路狀態請求分組。鏈路狀態更新分組,用洪泛法對全網更新鏈路狀態。鏈路狀態確認分組。
19、OSPF 還規定每隔一段時間,如30 分鐘,要刷新一次數據庫中的鏈路狀態。當互聯網規模很大時,OSPF 協議要比距離向量協議RIP 好得多
20、外部網關協議BGP:BGP 是不同自治系統的路由器之間交換路由信息的協議。
六、IP 多播:可明顯地減少網絡中資源的消耗
1、多播使用組地址—— IP 使用D 類地址支持多播。多播地址只能用于目的地址,而不能用于源地址
2、因此TCP/IP 協議使用的以太網多播地址塊的范圍是:從00-00-5E-00-00-00 到00-00-5E-FF-FF-FF
3、IP多播需要兩種協議:網際組管理協議、IGMP多播路由選擇協議。
4、多播數據包和一般數據報的區別是其使用D類IP地址作為目的地址
5、IP多播的分類:在本局域網內進行硬件多播(IP地址到mac地址的轉換看待)和在因特網的范圍進行多播
七、虛擬專用網VPN:利用公用的英特網作為本機構各專用網之間的通信載體。通過英特網傳送的數據要加密。
1、本地地址——僅在機構內部使用的IP 地址,可以由本機構自行分配,而不需要向因特網的管理機構申請。
2、全球地址——全球唯一的IP地址,必須向因特網的管理機構申請。
專用地址:只能用于一個機構的內部通信,而不能用于和因特網上的主機通信,是本地地址
? 10.0.0.0 到10.255.255.255 ? 172.16.0.0 到172.31.255.255 ? 192.168.0.0 到192.168.255.255
3、內聯網和外聯網:看結果是否屬于同一個機構
八、網絡地址轉換NAT
1、需要在專用網連接到因特網的路由器上安裝NAT 軟件。裝有NAT 軟件的路由器叫做NAT路由器,它至少有一個有效的外部全球地址IPG。
2、在專用網絡內使用專用IP地址,僅在連接到英特網上的路由器時使用全球IP地址。并且一定要使用全球IP才能和英特網連接
3、通過NAT地址轉換表可以把IP數據報上的舊目的IP地址轉換為新的目的IP地址
4、使用端口號的NAT也叫網絡地址與端口號轉換NAPT
九、本章中出現的幾個表
1、ARP緩存的映射表:主要內容是同一局域網內的主機路由器的IP地址與MAC地址
2、路由表:主要內容是目的網絡,距離,下一跳的路由器
3、NAT轉換表:主要內容是內部專用IP地址與公網全球IP地址
整理者:福州大學張毅
第三篇:計算機網絡第五版謝希仁 縮寫總結
ADSL非對稱數字用戶線路Asymmetric Digital Subscriber Line
API應用程序編程接口 Application Programming Interface
ARP地址解析協議Address Resolution Protocol ATM異步傳輸模式Asynchronous Transfer Mode BGP邊界網關協議Border Gateway Protocol CATV有線電視Community Antenna Television CDM碼分復用Code Division Multiplexing CDMA碼分多址Code Division Multiple Access)CIDR無類域內路由選擇Classless Inter-Domain Routing)
CRC循環冗余碼校驗Cyclic Redundancy Check CSMA/CD載波監聽多點接入/沖突檢測 CSMA/CA載波監聽多點接入/沖突避免 DES數據加密標準data encryption standard DHCP動態主機配置協議Dynamic host configuration protocol)
DNS域名服務器Domain Name Server DSSS直接序列擴頻Direct Sequence Spread Spectrum
DWDM密集波分復用Dense Wavelength Division Multiplexing
EGP外部網關協議Exterior Gateway Protocol FDDI光纖分布式數據接口Fiber Distributed Data Interface)
FDM頻分多路復用Frequency Division Multiplexing
FHSS跳頻擴頻技術Frequency Hopping Spread Sprectrum)
FIFO先入先出First In First Out FTP文件傳輸協議File Transfer Protocol HDSL高速數字用戶線High Speed Digital Subscriber Line
HFC光纖同軸電纜混合網Hybrid Fiber Coaxial HTML超文本標記語言Hypertext Markup Language HTTP超文本傳輸協議Hyper Text Transport Protocol
ICMP網間控制報文協議Internet Control Messages Protocol
IEEE電氣與電子工程師協會Institute of Electrical and Electronic Engineers)IGMP因特網組管理協議Internet Group Management Protocol
IMAP因特網報文存取協議(Internet Message Access Protocol)
IP互聯網協議Internet Protocol
IPsec網際協議安全Internet Protocol Security ISO國際標準化組織International Standardization Organization LAN 局域網local area network
LCP鏈路控制協議link control protocol)MAC介質訪問控制
MPLS多協定標簽交換Multi Protocol Label Switch
NAT網絡地址轉換Network Address Translation)NCP網絡控制協議Network Control Protocol)NVT網絡虛擬終端Network Virtual Terminal)OSPF最短路徑優先Open Shortest Path First P2P點對點技術peer-to-peer
PCM脈沖編碼調制pulseto-Point Protocol PPPoE以太網點對點協議Point-to-Point Protocol over Ethernet)
RARP逆地址解析協議Reverse Address Resolution Protocol
RIP路由信息協議Routing Information Protocol RSVP資源預留協議Respondezsilvous plait RTSP實時流式協議Real Time Streaming Protocol SDH同步數據系列Synchronous Digital Hierarchy SET安全電子交易Secure Electronic Transaction SIP會話發起協議Session Initiation Protocol SMTP簡單郵件傳輸協議Simple Message Transfer Protocol
SNMP簡單網絡管理協議Simple Network Management Protocol)
SONET同步光纖網Synchronous Optical Network SSID服務集標識符Service Set Identifier SSL安全插口層(Secure Sockets Layer STDM統計時分復用Synchronous Time-Division Multiplexing)
STP屏蔽雙絞線Shielded Twisted Pair
TCP傳輸控制協議Transmission Control Protocol TDM時分復用Time Division Multiplex TELNET遠程終端協議
TFTP簡單文件傳輸協議Trivial File Transfer Protocol URL統一資源定位符Uniform Resource Locator VLAN虛擬局域網Virtual Local Area Network VPN虛擬專用網Virtual Private Network WAN廣域網Wide Area Network
WDM波分復用Wavelength Division Multiplexing WLAN無限局域網Wireless Metropolitan Area Network
WMAN無限城域網Wireless Metropolitan Area Network
WPAN 無線個人區域網Wireless Personal Area Network
WWW 萬維網World Wide Web 無新信息,不改變 相同下一跳,更新 新項目,添加進來
相同下一跳,距離變短,更新 不同下一跳,距離變短,更新 不同下一跳,距離一樣,不改變 不同下一跳,距離變大,不改變
第四篇:河南科技大學計算機網絡第六版(謝希仁)期末考試總結
網標準化的四個階段?
1.因特因特網草案2.建議標準3.草案標準4.因特網標準。
按網絡的作用范圍進行分類?
廣域網、城域網、局域網、個人區域網。
1.廣域網的作用范圍通常為幾十到幾千公里。是因特網的核心部分,任務是通過長距離運送主機所發送的數據。連接廣域網各結點交換機的鏈路一般是高速鏈路,具有較大通信容量。2.城域網的作用范圍一般是一個城市,約5-50km。城域網可以是一個或幾個單位所擁有,也可以是一種公用設施,用來將多個局域網進行互連。目前很多城域網采用以太網技術。
3.局域網作用范圍較小1km左右。一般用微型計算機或工作站通過高速通信線路相連,學校或企業大都擁有許多互連的局域網,常稱為校園網或企業網。
4.個人區域網就是在個人工作地方把屬于個人使用的電子設備用無線技術連接起來的網絡,常稱為無線個人區域網。范圍大約在10m左右。
計算機網絡的性能指標? 速率、帶寬、吞吐量、時延、時延帶寬積、往返時間RTT、利用率。
網絡協議三要素:
語法:數據與控制信息的結構或格式。
語義:即需要發出何種控制信息,完成何種動作以及做出何種響應。同步:即事件實現順序的詳細說明。
實體表示任何可發送或接收信息的硬件或軟件進程。
協議與服務有何區別?有何關系?
網絡協議:為進行網絡中的數據交換而建立的規則、標準或約定。由以下三個要素組成:(1)語法:即數據與控制信息的結構或格式。
(2)語義:即需要發出何種控制信息,完成何種動作以及做出何種響應。(3)同步:即事件實現順序的詳細說明。
協議是控制兩個對等實體進行通信的規則的集合。在協議的控制下,兩個對等實體間的通信使得本層能夠向上一層提供服務,而要實現本層協議,還需要使用下面一層提供服務。協議和服務的概念的區分:
1、協議的實現保證了能夠向上一層提供服務。本層的服務用戶只能看見服務而無法看見下面的協議。下面的協議對上面的服務用戶是透明的。
2、協議是“水平的”,即協議是控制兩個對等實體進行通信的規則。但服務是“垂直的”,即服務是由下層通過層間接口向上層提供的。上層使用所提供的服務必須與下層交換一些命令,這些命令在OSI中稱為服務原語。
物理層的主要任務描述為確定與傳輸媒體的接口有關的一些特性? 機械特性:指明接口所用接線器的形狀和尺寸。
電氣特性:指明在接口電纜的各條線上出現的電壓的范圍。功能特性:指明某條線上出現的某一電平的電壓表示何種意義。過程特性:指明對于不同功能的各種可能事件的出現順序。
一個數據通信系統可劃分為三大部分:源系統、傳輸系統、目的系統。
通信的雙方信息交互方式:
單向通信:只能有一個方向的通信而沒有反方向的交互。(無線電廣播、有線電廣播、電視廣播)。
雙向交替通信:通信雙方都可以發送信息,但不能雙方同時發送和接收,只能一方發送另一方接收。
雙向同時通信:通信雙方可以同時發送和接收信息。
香農公式:信道的極限信息傳輸速率C=W㏒2(1+S/N)(b/s)W為信道帶寬(Hz)s為平均功率
N為高斯噪聲功率
公示表明:信道的帶寬或信道中的噪音比越大,信息的極限傳輸速率就越高。信噪比(dB)=10㏒10(S/N)(dB)
非引導型傳輸媒體的特點? 1.無線傳輸可使用的頻段很廣 2.短波通信,靠電商層的反射。
3.微波通信在數據通信中占有重要的地位。微波通信主要包括兩種方式:地面微波接力通信(信道容量很大,傳輸質量高,投資少、見效快。)。衛星通信(通信距離遠,通信容量大、干擾小、穩定,具有較大的傳播時延,覆蓋面廣,造價較高)
例3-1:要發送的數據為1101011011。采用CRC的生成多項式是P(X)=X4+X+1。試求應添加在數據后面的余數。數據在傳輸過程中最后一個1變成了0,問接收端能否發現?若數據在傳輸過程中最后兩個1都變成了0,問接收端能否發現?采用CRC檢驗后,數據鏈路層的傳輸是否就變成了可靠的傳輸?
答:作二進制除法,1101011011 0000
10011 得余數1110,添加的檢驗序列是1110.作二進制除法,兩種錯誤均可發展
僅僅采用了CRC檢驗,缺重傳機制,數據鏈路層的傳輸還不是可靠的傳輸。
例:要發送的數據為101110。采用CRCD 生成多項式是P(X)=X3+1。試求應添加在數據后面的余數。
答:作二進制除法,101110
000 10011 添加在數據后面的余數是011
PPP協議的主要特點是什么?
PPP協議就是用戶計算機和JSP進行通信時所使用的數據鏈路層協議。PPP協議需要滿足的需求:簡單、封裝成幀、透明性、多種網絡層協議、多種類型鏈路、差錯檢測、檢測連接狀態、最大傳輸單元、網絡層地址協商、數據壓縮協商。
PPP協議的組成:1.一個將IP數據報封裝到鏈路的方法。2.一個用來建立、配置和測試數據鏈路控制協議LCP。3.一套網絡控制協議NCP,其中的每個協議支持不同的網絡協議層。
局域網的拓撲有哪幾種,特點是什么? 星形網,環形網,總線網。1.星型拓撲結構
是一種以中央節點為中心,把若干外圍節點連接起來的輻射式互聯結構。這種結構適用于局域網,特別是近年來連接的局域網大都采用這種連接方式。這種連接方式以雙絞線或同軸電纜作連接線路。優點:結構簡單、容易實現、便于管理,通常以集線器(Hub)作為中央節點,便于維護和管理。缺點:中心結點是全網絡的可靠瓶頸,中心結點出現故障會導致網絡的癱瘓。
2.環形拓撲結構
各結點通過通信線路組成閉合回路,環中數據只能單向傳輸,信息在每臺設備上的延時時間是固定的。特別適合實時控制的局域網系統。優點:結構簡單,適合使用光纖,傳輸距離遠,傳輸延遲確定。缺點:環網中的每個結點均成為網絡可靠性的瓶頸,任意結點出現故障都會造成網絡癱瘓,另外故障診斷也較困難。最著名的環形拓撲結構網絡是令牌環網(Token Ring)3.總線拓撲結構
是將網絡中的所有設備通過相應的硬件接口直接連接到公共總線上,結點之間按廣播方式通信,一個結點發出的信息,總線上的其它結點均可“收聽”到。拓撲結構
優點:結構簡單、布線容易、可靠性較高,易于擴充,節點的故障不會殃及系統,是局域網常采用的拓撲結構。缺點:所有的數據都需經過總線傳送,總線成為整個網絡的瓶頸;出現故障診斷較為困難。另外,由于信道共享,連接的節點不宜過多,總線自身的故障可以導致系統的崩潰。最著名的總線拓撲結構是以太網(Ethernet)。
計算機與外界局域網的連接是通過通信適配器,適配器本來是在主機箱內插入的一塊網絡接口板,這種接口板簡稱為網卡。適配器的作用:連接計算機與外界局域網,進行數據串行傳輸并進行傳輸的轉換。實現數據鏈路層物理層這兩層的功能。
1990年IEEE制定出星形以太網10BASE-T的標準802.3i。“10”代表10Mb/s的數據率。BASE表示連接線上的信號是基帶信號,T代表雙絞線。
什么是無效的MAC幀?
幀的長度不是整數個字節,用收到的幀檢驗序列FCS查出有差錯,收到的幀的MAC客戶數據字段的長度不在46-1500字節之間。考慮到MAC幀首部和尾部的長度共有18個字節,可以得出有效的MAC幀長度為64-1518字節之間。
網橋的工作原理和特點是什么?網橋與轉發器以及以太網交換機有何異同?
網橋工作在數據鏈路層,它根據 MAC 幀的目的地址對收到的幀進行轉發。網橋具有過濾幀的功能。當網橋收到一個幀時,并不是向所有的接口轉發此幀,而是先檢查此幀的目的 MAC 地址,然后再確定將該幀轉發到哪一個接口轉發器工作在物理層,它僅簡單地轉發信號,沒有過濾能力。以太網交換機則為鏈路層設備,可視為多端口網橋
PING指令原理:ping指令通過發送ICMP包來驗證與另一臺TCP/IP計算機的IP級連接。應答消息的接收情況將和往返過程的次數一起顯示出來。ping指令用于檢測網絡的連接性和可到達性。
端口的分類和作用是什么?
分類:運輸層的端口號共分為兩大類:服務器端使用的端口號(最重要的一類叫做熟知端口號或系統端口號,另一類叫做登記端口號)、客戶端使用的端口號。
作用:端口的作用是對TCP/IP體系的應用進程進行統一的標志,使運行不同操作系統的計算機的應用進程能夠互相通信
TCP的主要特點?
TCP是面向連接的運輸層協議、每一條TCP連接只能有兩個端點、TCP提供可靠交付的服務、TCP提供全雙工通信、面向字節流。
基于TCP的FTP和基于UDP的簡單文件傳輸協議TFTP。
第五篇:計算機網絡(謝希仁版)讀書筆記
計算機網絡(謝希仁版)讀書筆記
楊林翰
第 1 章 概述
計算機網絡在信息時代的作用:世紀的一些重要特征就是數字化、網絡化和信息化,它是一個以網絡為核心的信息時代。
網絡現已成為信息社會的命脈和發展知識經濟的重要基礎。
網絡是指“三網”,即電信網絡、有線電視網絡和計算機網絡。
發展最快的并起到核心作用的是計算機網絡。
新型網絡的基本特點:
網絡用于計算機之間的數據傳送,而不是為了打電話。
網絡能夠連接不同類型的計算機,不局限于單一類型的計算機。
所有的網絡結點都同等重要,因而大大提高網絡的生存性。
計算機在進行通信時,必須有冗余的路由。
網絡的結構應當盡可能地簡單,同時還能夠非常可靠地傳送數據。
電路交換的特點:
電路交換必定是面向連接的。
電路交換的三個階段:建立連接、通信、釋放連接
電路交換傳送計算機數據效率低:計算機數據具有突發性,這導致通信線路的利用率很低。
分組交換的原理:
一、在發送端,先把較長的報文劃分成較短的、固定長度的數據段。
二、每一個數據段前面添加上首部構成分組。
三、分組交換網以“分組”作為數據傳輸單元。
依次把各分組發送到接收端。
分組首部的重要性:
每一個分組的首部都含有地址等控制信息。
分組交換網中的結點交換機根據收到的分組的首部中的地址信息,把分組轉發到下一個結點交換機。用這樣的存儲轉發方式,分組就能傳送到最終目的地。
四、接收端收到分組后剝去首部還原成報文。
五、最后,在接收端把收到的數據恢復成為原來的報文。
這里我們假定分組在傳輸過程中沒有出現差錯,在轉發時也沒有被丟棄。
結點交換機
在結點交換機中的輸入和輸出端口之間沒有直接連線。
結點交換機處理分組的過程是:
把收到的分組先放入緩存(暫時存儲);
查找轉發表,找出到某個目的地址應從哪個端口轉發;
把分組送到適當的端口轉發出去。
主機和結點交換機的作用不同:
主機是為用戶進行信息處理的,并向網絡發送分組,從網絡接收分組。
結點交換機對分組進行存儲轉發,最后把分組交付給目的主機。
分組交換的優點:
高效動態分配傳輸帶寬,對通信鏈路是逐段占用。
靈活以分組為傳送單位和查找路由。
迅速不必先建立連接就能向其他主機發送分組;充分使用鏈路的帶寬。
可靠完善的網絡協議;自適應的路由選擇協議使網絡有很好的生存性。
分組交換帶來的問題:
分組在各結點存儲轉發時需要排隊,這就會造成一定的時延。
分組必須攜帶的首部(里面有必不可少的控制信息)也造成了一定的開銷。
因特網時代:
因特網的基礎結構大體上經歷了三個階段的演進。
但這三個階段在時間劃分上并非截然分開而是有部分重疊的,這是因為網絡的演進是逐漸的而不是突然的。因特網發展的第一階段:
第一個分組交換網 ARPANET 最初只是一個單個的分組交換網。
ARPA 研究多種網絡互連的技術。
1983 年 TCP/IP 協議成為標準協議。
同年,ARPANET分解成兩個網絡:
ARPANET——進行實驗研究用的科研網
MILNET——軍用計算機網絡
1983~1984 年,形成了因特網 Internet。
1990 年 ARPANET 正式宣布關閉。
因特網發展的第二階段:
1986 年,NSF 建立了國家科學基金網。NSFNET。它是一個三級計算機網絡:
主干網
地區網
校園網
1991 年,美國政府決定將因特網的主干網轉交給私人公司來經營,并開始對接入因特網的單位收費。
1993 年因特網主干網的速率提高到 45 Mb/s(T3 速率)。
因特網發展的第三階段:
從1993年開始,由美國政府資助的 NSFNET逐漸被若干個商用的 ISP 網絡所代替。
1994 年開始創建了 4 個網絡接入點 NAP(Network Access Point),分別由 4 個電信公司經營。
NAP 就是用來交換因特網上流量的結點。在NAP 中安裝有性能很好的交換設施。到本世紀初,美國的 NAP 的數量已達到十幾個。
從 1994 年到現在,因特網逐漸演變成多級結構網絡。
計算機網絡的不同定義
最簡單的定義:計算機網絡是一些互相連接的、自治的計算機的集合。
因特網(Internet)是“網絡的網絡”。
計算機網絡的分類——幾種不同的分類方法:
一、從網絡的交換功能分類
電路交換
報文交換
分組交換
混合交換
二、從網絡的作用范圍進行分類
廣域網 WAN(Wide Area Network)
局域網 LAN(Local Area Network)
城域網 MAN(Metropolitan Area Network)
接入網 AN(Access Network)
三、從網絡的使用者進行分類
公用網(public network)
專用網(private network)
帶寬
“帶寬”(bandwidth)本來是指信號具有的頻帶寬度,單位是赫(或千赫、兆赫、吉赫等)。
現在“帶寬”是數字信道所能傳送的“最高數據率”的同義語,單位是“比特每秒”,或 b/s(bit/s)。
更常用的帶寬單位是
千比每秒,即 kb/s(103 b/s)
兆比每秒,即 Mb/s(106 b/s)
吉比每秒,即 Gb/s(109 b/s)
太比每秒,即 Tb/s(1012 b/s)
請注意:在計算機界,K = 210 = 1024
M = 220, G = 230, T = 240。
數字信號流隨時間的變化
在時間軸上信號的寬度隨帶寬的增大而變窄。
時延(delay 或 latency)
發送時延(傳輸時延)發送數據時,數據塊從結點進入到傳輸媒體所需要的時間。
信道帶寬數據在信道上的發送速率。常稱為數據在信道上的傳輸速率。
發送時延=數據塊長度(比特)/信道帶寬(比特/秒)
傳播時延電磁波在信道中需要傳播一定的距離而花費的時間。
信號傳輸速率(即發送速率)和信號在信道上的傳播速率是完全不同的概念。
傳播時延=信道長度(米)/信號在信道上的傳播速率(米/秒)
處理時延交換結點為存儲轉發而進行一些必要的處理所花費的時間。
結點緩存隊列中分組排隊所經歷的時延是處理時延中的重要組成部分。
處理時延的長短往往取決于網絡中當時的通信量。
有時可用排隊時延作為處理時延。
數據經歷的總時延就是發送時延、傳播時延和處理時延之和:
總時延 = 發送時延 + 傳播時延 + 處理時延
容易產生的錯誤概念
對于高速網絡鏈路,我們提高的僅僅是數據的發送速率而不是比特在鏈路上的傳播速率。
提高鏈路帶寬減小了數據的發送時延。
計算機網絡體系結構的形成相互通信的兩個計算機系統必須高度協調工作才行,而這種“協調”是相當復雜的。
“分層”可將龐大而復雜的問題,轉化為若干較小的局部問題,而這些較小的局部問題就比較易于研究和處理。關于開放系統互連參考模型 OSI/RM
只要遵循 OSI 標準,一個系統就可以和位于世界上任何地方的、也遵循這同一標準的其他任何系統進行通信。在市場化方面 OSI 卻失敗了。
OSI 的專家們在完成 OSI 標準時沒有商業驅動力;
OSI 的協議實現起來過分復雜,且運行效率很低;
OSI 標準的制定周期太長,因而使得按 OSI 標準生產的設備無法及時進入市場;
OSI 的層次劃分并也不太合理,有些功能在多個層次中重復出現。
兩種國際標準
法律上的(be jure)國際標準 OSI 并沒有得到市場的認可。
是非國際標準 TCP/IP 現在獲得了最廣泛的應用。
TCP/IP 常被稱為事實上的(be facto)國際標準。
劃分層次的必要性
計算機網絡中的數據交換必須遵守事先約定好的規則。
這些規則明確規定了所交換的數據的格式以及有關的同步問題(同步含有時序的意思)。
為進行網絡中的數據交換而建立的規則、標準或約定即網絡協議(network protocol),簡稱為協議。
b]網絡協議的組成要素 :
語法數據與控制信息的結構或格式。
語義需要發出何種控制信息,完成何種動作以及做出何種響應。
同步事件實現順序的詳細說明。
分層的好處 :
各層之間是獨立的。
靈活性好。
結構上可分割開。
易于實現和維護。
能促進標準化工作。
層數多少要適當
若層數太少,就會使每一層的協議太復雜。
層數太多又會在描述和綜合各層功能的系統工程任務時遇到較多的困難。
計算機網絡的體系結構
計算機網絡的體系結構(architecture)是計算機網絡的各層及其協議的集合。
體系結構就是這個計算機網絡及其部件所應完成的功能的精確定義。
實現(implementation)是遵循這種體系結構的前提下用何種硬件或軟件完成這些功能的問題。
體系結構是抽象的,而實現則是具體的,是真正在運行的計算機硬件和軟件。
具有層協議的體系結構
TCP/IP 是四層的體系結構:應用層、運輸層、網際層和網絡接口層。
最下面的網絡接口層并沒有具體內容。
因此往往采取折中的辦法,即綜合 OSI 和 TCP/IP 的優點,采用一種只有五層協議的體系結構。
五層協議的體系結構:
應用層(application layer)
運輸層(transport layer)
網絡層(network layer)
數據鏈路層(data link layer)
物理層(physical layer)
實體、協議、服務 和服務訪問點
實體(entity)表示任何可發送或接收信息的硬件或軟件進程。
協議是控制兩個對等實體進行通信的規則的集合。
在協議的控制下,兩個對等實體間的通信使得本層能夠向上一層提供服務。
要實現本層協議,還需要使用下層所提供的服務。
本層的服務用戶只能看見服務而無法看見下面的協議。
下面的協議對上面的服務用戶是透明的。
協議是“水平的”,即協議是控制對等實體之間通信的規則。
服務是“垂直的”,即服務是由下層向上層通過層間接口提供的。
同一系統相鄰兩層的實體進行交互的地方,稱為服務訪問點 SAP(Service Access Point)。
協議很復雜
協議必須將各種不利的條件事先都估計到,而不能假定一切情況都是很理想和很順利的。
必須非常仔細地檢查所設計協議能否應付所有的不利情況。
應當注意:事實上難免有極個別的不利情況在設計協議時并沒有預計到。在出現這種情況時,協議就會失敗。因此實際上協議往往只能應付絕大多數的不利情況。
面向連接服務與 無連接服務
面向連接服務(connection-oriented)
面向連接服務具有連接建立、數據傳輸和連接釋放這三個階段。
無連接服務(connectionless)
兩個實體之間的通信不需要先建立好連接。
是一種不可靠的服務。這種服務常被描述為“盡最大努力交付”(best effort delivery)或“盡力而為”。
應用層的客戶-服務器方式
在 TCP/IP 的應用層協議使用的是
客戶-服務器方式
計算機的進程(process)就是運行著的計算機程序。
為解決具體應用問題而彼此通信的進程稱為“應用進程”。
應用層的具體內容就是規定應用進程在通信時所遵循的協議。
客戶和服務器
客戶(client)和服務器(server)都是指通信中所涉及的兩個應用進程。
客戶-服務器方式所描述的是進程之間服務和被服務的關系。
客戶是服務請求方,服務器是服務提供方。
客戶軟件的特點:
在進行通信時臨時成為客戶,但它也可在本地進行其他的計算。
被用戶調用并在用戶計算機上運行,在打算通信時主動向遠地服務器發起通信。
可與多個服務器進行通信。
不需要特殊的硬件和很復雜的操作系統。
服務器軟件的特點:
專門用來提供某種服務的程序,可同時處理多個遠地或本地客戶的請求。
在共享計算機上運行。當系統啟動時即自動調用并一直不斷地運行著。
被動等待并接受來自多個客戶的通信請求。
一般需要強大的硬件和高級的操作系統支持。
第7章網絡互連
一、TCP/IP體系中的運輸層
UDP在傳送數據之前不需要先建立連接。遠地主機的運輸層在收到UDP報文后,不需要給出任何確認。
TCP則提供面向連接的服務。在傳送數據之前必須先建立連接,數據傳送結束后要釋放連接。TCP不提供廣播或多播服務。
強調兩點:
(1)運輸層的UDP用戶數據報和網際層的IP數據報有很大的區別。IP數據報要經過互連網中許多路由器的存儲轉發,但UDP用戶數據報是在運輸層的端到端抽象的邏輯信道中傳送的,但運輸層的這個邏輯信道并不經過路由器(運輸層看不見路由器)。IP數據報雖然經過路由器進行轉發,但用戶數據報只是IP數據報中的數據,因此路由器看不見有用戶數據報經過它。
(2)TCP是運輸層的連接,TCP報文段是在運輸層抽象的的端到瑞邏輯信道中傳送,這種信道是可靠的全雙工信道。但這樣的信道卻不知道究競經過了哪些路由器,而這些路山器也根本不知道上面的運輸層是否建立了TCP連接。當IP數據報的傳輸路徑中增加或減少了路由器時,上層的TCP連接都不會發生變化,出為上層的TCP根本不知道下層所發生的事情。
端口:
UDP和TCP都使用了與應用層接口處的端口(port)與上層的應用進程進行通信。端口的作用就是讓應用層的各種應用進程都能將其數據通過端口向下交付給運輸層,以及讓運輸層知道應當將其報文段中的數據向上通過端口交付給應用層相應的進程。從這個意義上講,端口是用來標志應用層的進程。
端口用一個16bit端口號進行標志。對于不同的計算機,端口的具體實現方法可能有很大的差別,因為這取決于計算機的操作系統。
端口號分為兩類:一類熟知端口(well-known port),TCP/IP體系確定并公布的。一種新的應用程序出現時,必須為它指派一個熟知端口,否則其他的應用進程就無法和它進行交互。在應用層中的各種不同的服務器進程不斷地檢測分配給它們的熟知端口,以便發現是否有某個客戶進程要和它通信。另一類則是一般端口,用來隨時分配給請求通信的客戶進程。
TCP連接的端點稱為插口(socket),或套接字、套接口。
關于socket的幾個意思:
(1)允許應用程序訪問連網協議的應用編程接口API,也就是在運輸層和應用層之間的一種接口,稱為socket API,并簡稱為socket。
(2)在socket API中使用的一個函數名也叫作socket。
(3)調用socket函數的端點稱為socket,如“創建一個數據報socket”。
(4)調用socket函數時其返回值稱為socket描述符,可簡稱為socket。
(5)在操作系統內核中連網協議的Berkely實現,稱為socket實現。
上面的這些socket的意思都和TCP連接的端點(指IP地址和端口號的組合)不同。
二、用戶數據報協議UDP
用戶數據報協議由于沒有擁塞控制,因此網絡出現的擁塞不會使源主機的發送速率降低。這對某些實時應用是很重要的。很多的實時應用(如IP電話、實時視頻會議等)要求源主機以恒定的速率發送數據,并且允許在網絡發生擁塞時丟失一些數據,但卻不允許數據有太大的時延。
UDP與應用層之間的端口都是用報文隊列來實現的。當出隊列發生溢出時,操作系統就通知客戶進程暫停發送;入隊列發生溢出時,UDP就丟棄收到的報文,但不通知對方。在服務端,UDP用戶數據報的首部格式:
用戶數據報UDP有兩個字段:數據字段和首部字段。首部字段由4個字段組成,每個字段都是兩個字節。各字段意義如下:
(1)源端口源端口號。
(2)目的端口目的端口號。
(3)長度UDP用戶數據報的長度。
(4)檢驗和防止UDP用戶數據報在傳輸中出錯。
三、傳輸控制協議TCP
TCP報文段首部的前20個字節是固定的,后面有4N字節是根據需要而增加的選項(N必須是整數)。因此TCP首部的最小長度是20字節。
首部固定部分各字段的意義如下:
(1、2)源端口和目的端口各占2個字節。
(3)序號占4字節。TCP把在一個TCP連接中傳送的數據流中的每一個字節都編上一個序號,整個數據的起始序號在連接建立時設置。首部中的序號字段的值則指的是本報文段所發送的數據的第一個字節的序號。例如,—報文段的序號字段的值是301,而攜帶的數據共有100字節。這就表明:本報文段的數據的最后—個字節的序號應當是400。下一個報文段的數據序號應當從40l開姑,因而下一個報文段的序號字段值應為401。
(4)確認號占4字節,是期望收到對方的下一個報文段的數據的第一個字節的序號。例如,A正確收到了B發送過來的一個報文段,其序號字段的值是50l,而數據長度是200字節,因此,A期望收到B的下一個報文段的首部中的序號字段值為701。
(5)數據偏移占4bit,它指出TCP報文段的數據起始處距離TCP報文段的起始處有多遠。這實際就是TCP報文段首部的長度。注意,“數據偏移”的單位不是字節而是32bit字(即以4字節長的字為計算單位)。由于4bit能夠表示的最大十進制數字是15,因此數據偏移的最大值是60字節,這也是TCP首部的最大長度。
(6)保留占6bit。
(7)緊急比特URG當URG=1時,表明緊急指針字段有效,相當于高優先級。例如,已經發送了很長的一個程序要在遠地的主機上運行。但后來發現了問題要取消,因此用戶發出中斷命令。如果不使用緊急數據,那將浪費很多時間。
(8)確認比特ACK只有當ACK=l時確認號字段才有效。當ACK=0時,確認號無效。
(9)推送比特PSH(PUSH)相當于高優先級的一個玩意。
(10)復位比特RST
(11)同步比特SYN
(12)終止比特FIN
(13)窗口占2字節。窗口字段用來控制對方發送的數據量,單位為字節。即用接收端的接收能力的大小來控制發送端的數據發送量。
(14)檢驗和占2字節。
(15)選項長度可變。TCP只規定了一種選項,即最大報文段長度MSS。MSS告訴對方TCP:“我的緩存所能接收的報文段的數據字段的最大長度是MSS個字節”。當沒有使用選項時,TCP首部長度是20字節。
TCP傳輸的可靠是由于使用了序號和確認。當TCP發送—報文段時,它同時也在自己的重傳隊列中存放一個副本。若收到確認,則刪除此副本。若在計時器時間到之前沒有收到確認,則重傳此報文段的副本。TCP的確認并不保證數據己由應用層交付給了端用戶,而只是表明在接收端的TCP收到了對方所發送的報文段。
TCP有三種基本機制來控制報文段的發送。第一種機制是TCP維持一個變量,它等于最大報文段長度MSS。只要發送緩存從發送進程得到的數據達到MSS字節時,就組裝成一個TCP報文段。第二種機制是發送端的應用進程指明要求發送報文段,即TCP支持的推送(push)操作。第三種機制是發送端的一個計時器時間到了,這時就把當前已有的緩存數據裝入報文段發送出去。
慢開始和擁塞避免
對于每一個TCP連接,需要有以下兩個狀態變量:
(1)接收端窗口rwnd這是接收端根據其目前的接收緩存大小所許諾的最新的窗口值,是來自接收端的流量控制。
(2)擁塞窗口cwnd這是發送端根據自己估計的網絡擁塞程度而設置的竊口值,是來自發送端的流量控制。
慢開始算法的原理是這樣的。當主機開始發送數據時,如果立即將較大的發送窗口中的全部數據字節都注入到網絡,那么由于這時還不清楚網絡的狀況,因而就有可能引起網絡擁塞。經驗證明,較好的方法是試探一下,即由小到大逐漸增大發送端的擁塞窗口數值。通常在剛剛開始發送報文段時可先將擁塞窗口cwnd設置為一個最大報文段MSS的數值。而在每收到一個對新的報文段的確認后,將擁塞窗口增加至多一個MSS的數值。用這樣的方法逐步增大發送端的擁塞窗口cwnd,可以使分組注入到網絡的速率更加合理。
例如,在一開始.發送端先設置cwnd=1,發送第一個報文段Mo,收到確認后將cwnd從1增大到2,于是發送端可以接著發送M1和M2兩個報文段。再收到確認后cwnd又從2增大到4,并可發送M3到M6共4個報文段。為了防止擁塞窗口cwnd的增長引起網絡擁塞,還需要另一個狀態變量慢開始門限ssthresh。用法如下:
當cwnd 當cwnd>ssthresh時,停止使用慢開始算法而改用擁塞避免算法。 當cwnd=ssthresh時,既可使用慢開始算法.也可使用擁塞避免算法。 具體的做法是: 擁塞避免算法使發送端的擁塞窗口cwnd每經過—個往返時延RTT就增加一個MSS的大小(而不管在時間RTT內收到了幾個ACK)。這樣,擁塞窗口cwnd按線性規律緩慢增長,比慢開始算法的擁塞窗口增長速率緩慢得多。 快重傳和快恢復 快重傳的工作原理:即使不能收到某個ACK,也先傳后面的報文段,等到收到3個重復的ACK才認為分組丟失(不必等待超時)。 快恢復算法:當不使用快恢復算法時,發送端若發現網絡擁塞就將擁塞窗口降低為1,然后執行慢開始算法。但這樣做的缺點是網絡不能很快地到正常工作狀態。快恢復算法可以較好地解決這一問題,其具體步驟如下: (1)當發送端收到連續三個重復的ACK時,就開始慢開始算法。 (2)與慢開始不向之處是擁塞窗口cwnd不是設置為l,而是設置為ssthresh+3*MSS。理由是:發送端收到三個重復的ACK表明有三個分組已經離開了網絡,它們不會再消耗網絡的資源。這三個分組是停留在接收端的緩存中的。可見現在網絡中并不是堆積了分組而是減少了三個分組。因此,將擁塞窗口擴大些并不會加劇網絡的擁塞。 (3)若收到的重復的ACK為n個(n>3),則將cwnd設置為ssthresh+n*MSS。 (4)若發送窗口值還容許發送報文段.就按擁塞避免算法繼續發送報文段。 (5)若收到了確認新的報文段的ACK,就將cwnd縮小到ssthresh。 在采用快恢復算法時,慢開始算法只是在TCP連接建立時才使用。 TCP的重傳機制 將各個報文段的往返時延樣本加權平均,就得出報文段的平均往返時延RTT。每測量到一個新的往返時延樣本,就按下式重新計算一次RTT: RTT=a×(舊的RTT)+(1-a)×(新的往返時延樣本)(7—2) 0<=a<1,典型的a值為7/8。 顯然,計時器設置的超時重傳時間RTO應略大于RTT,即:RTO=p×RTT 這里p是個大于1的系數。實際上,系數p是很難確定的。例如:發送出一個TCP報文段l,設定的重傳時間到了,還沒有收到確認,于是重傳此報文段,即報文段2,經過了一段時間后,收到了確認報文段ACK。問題是:無法判定此確認報文段是對原來的報文段1的確認,還是對重傳的報文段2的確認。 根據以上所述,Karn提出了一個算法:在計算平均往返時延RTT時,只要報文段重傳了,就不采用其往返時延樣本。 這樣得出的RTT就和重傳時間就較準確。 但是,這又引起新的問題。設想出現這樣的情況:報文段的時延突然增大了很多。因此在原來得出的重傳時間內,不會收到確認報文段。于是就重傳報文段。但根據Karn算法,不考慮重傳的報文段的往返時延樣本。這樣,重傳時間就無法更新。 對Karn算法進行修正:報文段每重傳—次,就將重傳時間增大一些: 新的重傳時間=Y×(舊的重傳時間) 系數Y的典型值是2。當不再發生報文段的重傳時,才根據報文段的往返時延更新平均往返時延RTT和重傳時間的數值。采用隨機早期丟棄RED進行擁塞控制 上面的TCP擁塞控制并沒有和網絡層采取的策略聯系起來。 路由器采取尾部丟棄策略丟棄隊列尾部的數據報時,會導致上層的TCP進入擁塞控制的慢開始狀態,使TCP連接的發送端突然將數據的發送速率降低到很小的數值。更為嚴重的是,在網絡中通常有很多的TCP連接(它們有不同的源點和終點),這些連接中的報文段通常是復用在網絡層的IP數據報中傳送。在這種情況下,就可能會同時影響到很多條TCP連接,結果使這許多TCP連接在同一時間突然都進入到慢開始狀態。這在TCP的術語中稱為全局同步。全局同步使得全網的通信量突然下降了很多,而在網絡恢復正常后,其通信量又突然增大很多。 實現隨機早期丟棄(RED)的要點如下: 使路由器的隊列維持兩個參數,即隊列長度最小門限THmin和最大門限THmax。對每一個到達的數據報都先計算平均隊列長度LAV。若LAV 隨機就是先以概率P丟棄個別的數據報,讓擁塞控制只在個別的TCP連接上進行,因而避免發生全局性的擁塞控制。TCP的運輸連接管理 運輸連接的三個階段:連接建立、數據傳送和連接釋放。 在連接建立過程中要解決以下問題: (1)要使每一方能夠確知對方的存在。 (2)要允許雙方協商一些參數(如最大報文段長度,最大窗口大小,服務質量等)。 (3)能夠對運輸實體資源(如緩存大小,連接表中的項目等)進行分配。 TCP的連接和建立都是采用客戶服務器方式。主動發起連接建立的應用過程叫做客戶(client),而被動等待連接建立的應用進程叫做服務器(server)。設主機B中運行一個服務器進程,它先發出—個被動打開(passive open)命令,告訴它的TCP要準備接受客戶過程的連接請求。然后服務器進程就處于“聽”(listen)的狀態,不斷檢測是否有客戶進程要發起連接請求。如有,即作出響應。設客戶進程遠行在主機A中。它先向其TCP發出主動打開(active open)命令,表明要向某個IP地址的某個端口建立運輸連接。 連接建立采用三次握手:A發送一個報文給B,B發回確認,然后A再加以確認。 為什么要發送這第三個報文段呢?這主要是為了防止已失效的連接請求報文段突然又傳送到了主機B,因而產生錯誤。所謂協議是指通信雙方關于如何進行通信的一種約定。協議的三要素:語法,語義和時序(指數據應傳誦或被接收機許找的時間,信息的排序,速率匹配等)。體系結構是指計算機通信網的分層,各層協議和層間接口的集合。OSI模型下三層為并聯,上四曾為串聯。傳輸數據的格式分別為:比特->幀->分組->TPDU->SPDU->PPDU->APDU。 面向連接的網絡:1.X.25和幀中繼:20世紀80年代,幀中繼frame relay的本質是一個無錯誤控制的,無流控制的,面向連接的網絡,因為是面向連接的,所以分組會按照發送的順序被遞交,非常類似于一個廣域的LAN,最重要的應用是能將公司的多個辦公區域的LAN互相連接起來。2.ATM(Asynchronous Transfer Mode異步傳輸模式):ATM已在電話系統中被廣泛使用,通常用于傳輸IP分組,現在主要被乘運商用于內部傳輸。 802.1 LAN的總體介紹和體系結構 802.2 邏輯鏈路控制 802.3 以太網 802.4 令牌總線(在制造業暫時用過一段時間) 802.5 令牌環(IBM進入LAN領域的一項技術) 802.6 雙隊列總線(早期的城域網) 802.7 關于寬帶技術的技術咨詢組 802.8 關于光纖技術的技術咨詢組 802.9 同步LAN(針對實時應用) 802.10 虛擬LAN和安全性 802.12 需求的優先級(Hewlett-Packard的AnyLAN) 802.13 不吉利的數字,沒人愿意使用。 802.14 有線調制器(已廢除) 802.15 個人區域網絡(藍牙) 802.16 寬帶無線 802.17 彈性的分組環