計算機網路知識點整理
一、電路交換、報文交換、分組交換的比較
1、電路交換
公共電話網(PSTN網)和移動網(包括GSM和CDMA網)採用的都是電路交換技術,它的基本特點是採用面向連線的方式,在雙方進行通訊之前,需要為通訊雙方分配一條具有固定寬頻的通訊電路,通訊雙方在通訊過程中一直佔用所分配的資源,直到通訊結束,並且在電路的建立和釋放過程中都需要利用相關的信令協議。這種方式的優點是在通訊過程中可以保證為使用者提供足夠的頻寬,並且實時性強,時延小,交換裝置成本低,但同時帶來的缺點是通道利用率低,一旦電路被建立不管通訊雙方是否處於通話狀態分配的電路一直被佔用。
2、報文交換
報文交換是以報文為資料交換的單位,報文攜帶有目標地址、源地址等資訊,在交換結點採用儲存轉發的傳輸方式;由於報文長度差異很大,長報文可能導致很大的時延;為了滿足各種長度報文的需要並且達到高效的目的,節點需要分配不同大小的緩衝區,否則就有可能造成資料傳送的失敗,這樣對每個節點來說緩衝區的分配也比較困難。另外一個缺點是出錯時,整個報文都將重傳。
3、分組交換
分組交換仍採用儲存轉發傳輸方式,但將一個長報文先分割為若干個較短的分組,然後把這些分組(攜帶源、目的地址和編號資訊)逐個地傳送出去。採用分組交換技術,在通訊之前不需要建立連線,每個節點首先將前一節點送來的分組收下並儲存在緩衝區中,然後根據分組頭部中的地址資訊選擇適當的鏈路將其傳送至下一個節點,這樣在通訊過程中可以根據使用者的要求和網路的能力來動態分配頻寬。分組交換比電路交換的通道利用率高,但時延較大。分組轉發的帶來的問題:排隊時延以及增加頭部帶來的開銷。
總之,若要傳送的資料量很大,且其傳送時間遠大於呼叫時間,則採用電路交換較為合適;當端到端的通路有很多段的鏈路組成時,採用分組交換傳送資料較為合適。從提高整個網路的通道利用率上看,報文交換和分組交換優於電路交換,其中分組交換比報文交換的時延小,尤其適合於計算機之間的突發式的資料通訊。
二、介面、協議和服務
介面:下層向上層提供的原語操作
協議:同一層之間,通訊雙方進行資訊交換必須遵守的規則
服務:不同層之間交換資訊必須遵守的規則
三、計算機網路系統結構
四、網路各層的作用
l 物理層:通過傳輸介質傳送和接收二進位制位元流。
屬於物理層定義的典型規範如RJ-45等。
l 資料鏈路層:資料的封裝成幀、資料的透明傳輸、資料的差錯檢測。
資料鏈路層協議的代表包括:PPP、幀中繼等。
l 網路層:負責對子網間的資料包進行路由選擇,為分組交換網上的不同主機提供通訊服務。
網路層協議的代表包括:IP、ICMP、IGMP等。
l 運輸層:負責向兩個主機中程序之間的通訊提供服務
運輸層協議的代表包括:TCP、UDP等。
l 應用層:為作業系統或網路應用程式提供訪問網路服務的介面。
應用層協議的代表包括:FTP、HTTP、SNMP等。
五、資料如何在網路各層之間傳輸
物理層,資料鏈路層,網路層屬於OSI模型的低三層,負責建立網路通訊連線的鏈路,傳輸層,會話層,表示層和應用層是OSI模型的高四層,具體負責端到端的資料通訊。當然,並不是所有通訊都是要經過OSI的全部七層,如物理介面之間的轉接,只需要物理層中進行即可;而路由器與路由器之間的連線則只需網路層以下的三層。
六、在網路各層之間,資料是以什麼單位進行傳輸的
在物理層資料的傳輸單位稱為位元;在資料鏈路層資料的傳輸單元稱為幀; 在網路層資料的傳輸單元稱為資料包;在傳輸層資料的傳輸單元稱為報文段。
七、奈氏準則和夏農公式的主要區別是什麼
奈氏準則:在任何通道中,碼元傳輸的速率是有上限的,傳輸速率超過此上限,就會出現嚴重的碼間串擾的問題,使接收端對碼元的判決(即識別)成為不可能。
夏農公式:求出了資訊傳輸速率的極限。
八、同步通訊與非同步通訊的區別是什麼
同步通訊:通訊雙方必須先建立同步,即雙方的時鐘要調整到同一個頻率。收發雙方不停地傳送和接收連續的同步位元流。
非同步通訊:非同步通訊在傳送字元時,所傳送的字元之間的時間間隔可以是任意的。當然,接收端必須時刻做好接收的準備。傳送端可以在任意時刻開始傳送字元,因此必須在每一個字元的開始和結束的地方加上標誌,即加上開始位和停止位,以便使接收端能夠正確地將每一個字元接收下來。非同步通訊的好處是通訊裝置簡單、便宜,但傳輸效率較低(因為開始位和停止位的開銷所佔比例較大)。
非同步通訊也可以是以幀作為傳送的單位,接收端必須隨時做好接收幀的準備。這時,幀的首部必須設有一些特殊的位元組合,使得接收端能夠找出一幀的開始,這也稱為幀定界。幀定界還包含確定幀的結束位置,這有兩種方法:一種是在幀的尾部設有某種特殊的位元組合來標誌幀的結束;或者在幀首部中設有幀長度的欄位。需要注意的是,在非同步傳送幀時,並不是說傳送端對幀中的每一個字元都必須加上開始位和停止位後再發送出去,而是說,傳送端可以在任意時間傳送一個幀,而幀與幀之間的時間間隔也可以是任意的。傳送端不需要在傳送一幀之前和接收端進行協調(不需要先進行位元同步)。
九、位同步與幀同步的區別
位同步:使接收端接收的每一位資訊都與傳送端保持同步。
幀同步:識別一個幀的起始和結束位置。
十、資料鏈路層協議的三個基本問題
1、封轉成幀
就是在一段資料的前後分別新增首部和尾部,這樣就構成了一個幀。
2、透明傳輸
不管什麼字元都可以放在幀中傳輸過去,這樣的傳輸就是透明傳輸。解決透明傳輸的問題方法是:傳送端的資料鏈路層在資料中出現控制字元"SOH"或"EOH"的前面插入一個轉義字元"ESC",而在接收端的資料鏈路層在將資料送往網路層之前刪除這個插入的轉義字元。
3、差錯檢測
採用的是迴圈冗餘檢驗(CRC:Cyclic Redundancy Check)的差錯檢查技術,如果僅僅使用CRC,則只能做到對幀的無差錯接收,即接收的幀在傳輸的過程中沒有產生差錯,並沒有要求資料鏈路層向網路層提供“可靠傳輸”的服務。
十一、介面卡(網絡卡)的作用
1、介面卡的一個重要功能就是要進行資料序列傳輸和並行傳輸的轉換。
2、由於網路上的資料率和計算機總線上的資料率並不相同,因此在介面卡中必須裝有對資料進行快取的儲存晶片。
3、介面卡還要實現乙太網協議。
十二、CSMA/CD(載波監聽多點接入/碰撞檢測)協議的要點
l 多點接入:說明這是匯流排型網路
l 載波監聽:就是“傳送前先監聽”,即每一個站點在傳送資料之前先要檢測一下總線上是否有其他的站點在傳送資料,如果有,則暫時不要傳送資料,要等待通道變為空閒時再發送。
l 碰撞檢測:就是“邊傳送邊監聽”,即介面卡邊傳送資料邊檢測通道上的訊號電壓的變化情況,以便判斷自己在傳送資料時其他站是否也在傳送資料。
十三、為什麼乙太網有一個最小幀長和最大幀長
設定最小幀長是為了區分開正常和因發生碰撞而異常中止的短幀。
設定最大幀長是為了保證個站都能公平競爭接入到乙太網。因為如果某個站傳送特長的資料幀,則其他的站就必須等待很長的時間才能傳送資料。
十四、ARP的工作原理
1、首先,每個主機都會在自己的ARP緩衝區中建立一個ARP列表,以表示IP地址和MAC地址之間的對應關係。
2、當源主機要傳送資料時,首先檢查ARP列表中是否有對應IP地址的目的主機的MAC地址,如果有,則直接傳送資料,如果沒有,就向“本網段”的所有主機發送ARP資料包,該資料包包括的內容有:源主機IP地址,源主機MAC地址,目的主機的IP地址。
3、當本網路的所有主機收到該ARP資料包時,首先檢查資料包中的目的主機IP 地址是否是自己的IP地址,如果不是,則忽略該資料包,如果是,則首先從資料包中取出源主機的IP和MAC地址寫入到ARP列表中,如果已經存在,則覆蓋,然後將自己的MAC地址寫入ARP響應包中,告訴源主機自己是它想要找的MAC地址。
4、源主機收到ARP響應包後,將目的主機的IP和MAC地址寫入ARP列表,並利用此資訊傳送資料。如果源主機一直沒有收到ARP響應資料包,表示ARP 查詢失敗。
廣播發送ARP請求,單播發送ARP響應。
十五、假定在一個區域網中計算機A傳送ARP請求分組,希望找出計算機B的硬體地址。這時區域網上的所有計算機都能收到這個廣播發送的ARP請求分組。試問這時由哪一個計算機使用ARP響應分組將計算機B的硬體地址告訴計算機A
這要區分兩種情況。
如果計算機B和計算機A都連線在同一個區域網上,那麼就是計算機B傳送ARP響應分組。
如果計算機B和計算機A不是連線在同一個區域網上,那麼就必須由一個連線在本區域網上的路由器來轉發ARP請求分組。這時,該路由器向計算機A傳送ARP回答分組,給出自己的硬體地址。
十六、IP協議的定義,主要有什麼作用?TCP與UDP呢?
IP協議(Internet Protocol):網際協議,主要提供網際互聯的作用。
TCP(Transmission Control Protocol,傳輸控制協議)是面向連線的協議,在收發資料前,必須和對方建立連線。UDP(User Data Protocol,使用者資料報協議)是與TCP相對應的協議,它是面向非連線的協議,不與對方建立連線,而是直接就把資料包傳送過去。
十七、鏈路層廣播和IP廣播有何區別
鏈路層廣播是用資料鏈路層協議(第二層)在一個乙太網上實現的對該區域網上的所有主機的MAC幀進行廣播。
IP廣播則是用IP協議通過因特網實現的對一個網路(即目的網路)上的所有主機的IP資料報廣播。
十八、ICMP(Internet Control Message Protocol)網際控制報文協議
ICMP 報文有兩種:差錯報告報文和詢問報文。
十九、當執行PING 127.0.0.1時,這個IP資料報將傳送給誰
127.0.0.1是環回地址。主機將測試用的IP資料報傳送給本主機的ICMP(而不是傳送到因特網上)以便進行環回測試。
二十、RIP協議的特點?RIP的優缺點?RIP用什麼來傳送?
1、特點
l 僅和相鄰路由器交換資訊
l 路由器交換的資訊是當前本路由器所知道的全部資訊,即自己的路由表
l 按固定的時間間隔交換路由資訊
2、優缺點
優點:實現簡單、開銷較小
缺點:限制了網路的規模(因為它能使用的最大距離為15),壞訊息傳播得慢。
3、RIP用UDP來傳送
二十一、OSPF協議的特點?OSPF用什麼來傳送?
1、特點
l 向本自治系統中所有路由器傳送資訊(而RIP是傳送給鄰居)
l 傳送的資訊就是與本路由器相鄰的所有路由器的鏈路狀態(RIP傳送的是整個路由表)
l 只有當鏈路狀態發生變化時,路由器才向所有路由器用洪泛法傳送此資訊(而RIP是30秒更新一次)
2、OSPF直接用IP資料報傳送
二十二、交換機和路由器各自的實現原理是什麼?有什麼區別?
實現原理:
路由器通過路由決定資料的轉發。轉發策略稱為路由選擇。
而交換機則是一種基於MAC地址識別,能完成封轉轉發資料包功能的網路裝置。交換機可以“學習”MAC地址,並把其存放在內部地址表中,通過在資料幀的起始者和目標接收者之間建立臨時的交換路徑,使資料幀直接由源地址到達目的地址。
區別:
l 二者的工作層次不同
交換機工作在資料鏈路層,而路由器工作在網路層。
l 二者轉發所依據的物件不同
交換機是利用MAC地址確定轉發資料的目的地址,而路由器則是利用IP地址來確定資料轉發的地址。
二十三、如果一個路由器要同時連線在一個乙太網和一個ATM網路上,需要有什麼樣的硬體加到路由器上
一個乙太網介面卡(網絡卡)和一個ATM介面卡(網絡卡)。
二十四、TCP最主要的特點
l TCP是面向連線的運輸層協議
l 每一條TCP連線只能有兩個端點(一對一)
l TCP提供可靠交付的服務
l TCP提供全雙工通訊
l 面向位元組流
二十五、TCP可靠傳輸、流量控制和擁塞控制的實現
可靠傳輸:
l 對於收到的請求,給出確認響應
l 超時重傳
流量控制:
所謂流量控制就是讓傳送方的傳送速率不要太快,要讓接收方來得及接收。利用滑動視窗實現流量控制。
擁塞控制:
所謂擁塞控制就是防止過多的資料注入到網路中,這樣可以使網路中的路由器或鏈路不致過載。
l 慢開始
慢開始的“慢”並不是指增長速率的慢,而是指在TCP開始傳送報文段時先設定擁塞視窗為1。
l 擁塞避免
使擁塞視窗按線性規律增長。
l 快重傳
傳送方只要一連收到三個重複確認就應當立即重傳對方尚未收到的報文段,而不必繼續等待為其設定的重傳計時器到期。
l 快恢復(與快重傳配合使用)
當傳送方連續收到三個重複確認時,就執行“乘法減小”演算法,把慢開始門限減半。這是為了預防網路發生擁塞。請注意,接下來不執行慢開始演算法。
由於傳送方現在認為網路很可能沒有發生擁塞(如果網路發生了嚴重的擁塞,就不會一連有好幾個報文段連續達到接收方,就不會導致接收方連續傳送重複確認),因此與慢開始不同之處是現在不執行慢開始演算法(即擁塞視窗現在不設定為1),而是把它設定為慢開始門限減半後的數值,然後開始執行擁塞避免演算法(“加法增大”),使擁塞視窗緩慢地線性增大。
二十六、TCP運輸連線管理
1、TCP的連線建立(用三次握手建立TCP連線)
為什麼A還要傳送一次確認呢?
這主要是為了防止已失效的連線請求報文段突然又傳送到了B,因而產生錯誤。假定出現一種異常情況,即A發出的第一個連線請求報文段並沒有丟失,而是在某些網路結點長時間滯留了,以致延誤到連線釋放以後的某個時間才到達B。本來這是一個早已失效的報文段。但B收到此失效的連續請求報文段後,就誤認為是A又發出新的連線請求。於是就向A發出確認報文段,同意建立連線。假定不採用三次握手,那麼只要B發出確認,新的連線就建立了。
由於現在A並沒有發出建立連線的請求,因此不會理睬B的確認,也不會向B傳送資料。但B卻認為新的運輸連線已經建立了,並一直等待A發來資料。B的許多資源就這樣白白浪費了。
採用三次握手的辦法可以防止上述現象的發生。例如在剛才的情況下,A不會向B的確認發出確認。B由於收不到確認,就知道A並沒有要求建立連線。
2、TCP的連線釋放(四次揮手)
l A的應用程序先向其TCP發出連線釋放報文段,並停止再發送資料,主動關閉TCP連線。A把連線釋放報文段首部的FIN置1,其序號seq=u,它等於前面已傳送過的資料的最後一個位元組的序號加1。這時A進入FIN-WAIT-1(終止等待1)狀態,等待B的確認。
l B收到連線釋放報文段後即發出確認,確認號是ack=u+1,而這個報文段自己的序號是v,等於B前面已傳送過的資料的最後一個位元組的序號加1。然後B就進入了CLOSE-WAIT(關閉等待)狀態。因而從A到B這個方向的連線釋放了,這時的TCP連線處於半關閉狀態,即A已經沒有資料要傳送了,但B若傳送資料,A仍要接收。
l A收到來自B的確認後,就進入FIN-WAIT-2(終止等待2)狀態,等待B發出的連線釋放報文段。
l 若B已經沒有要向A傳送的資料,其應用程式就通知TCP釋放連線。這時B發出的連線釋放該報文段必須使FIN=1。現假定B的序號為w(在半關閉狀態B可能又傳送了一些資料)。B還必須重複上次已傳送過的確認號ack=u+1。這時B就進入LAST_ACK(最後確認)狀態,等待A的確認。
l A在收到B的連線釋放該報文段後,必須對此發出確認。在確認報文段中把ACK置1,確認號ack=w+1,而自己的序號是seq=u+1。然後進入到TIME-WAIT(時間等待)狀態。請注意,現在TCP連線還沒有釋放掉。必須經過時間等待計時器(TIME-WAIT timer)設定的時間2MSL後,A才進入到CLOSED狀態。
為什麼A在TIME-WAIT狀態必須等待2MSL的時間呢?
l 為了保證A傳送的最後一個ACK報文段能夠到達B
l 防止已失效的連線請求報文段出現在本連線中。
二十七、DNS(Domain Name System)域名系統
1、DNS的工作原理
DNS提供的服務是用來將域名轉換為IP地址的工作。它的基本工作原理如下圖所示:
2、DNS的工作過程
l 在瀏覽器中輸入www.qq.com域名,作業系統會先檢查自己本地的hosts檔案是否有這個網址對映關係,如果有,就先呼叫這個IP地址對映,完成域名解析。
l 如果hosts裡沒有這個域名的對映,則查詢本地DNS解析器快取,是否有這個網址對映關係,如果有,直接返回,完成域名解析。
l 如果hosts與本地DNS解析器快取都沒有相應的網址對映關係,首先會找TCP/IP引數中設定的首選DNS伺服器,在此我們叫它本地DNS伺服器,此伺服器收到查詢時,如果要查詢的域名,包含在本地配置區域資源中,則返回解析結果給客戶機,完成域名解析,此解析具有權威性。
l 如果要查詢的域名,不由本地DNS伺服器區域解析,但該伺服器已快取了此網址對映關係,則呼叫這個IP地址對映,完成域名解析,此解析不具有權威性。
l 如果本地DNS伺服器本地區域檔案與快取解析都失效,則根據本地DNS伺服器的設定(是否設定轉發器)進行查詢,如果未用轉發模式,本地DNS就把請求發至13臺根DNS,根DNS伺服器收到請求後會判斷這個域名(.com)是誰來授權管理,並會返回一個負責該頂級域名伺服器的一個IP。本地DNS伺服器收到IP資訊後,將會聯絡負責.com域的這臺伺服器。這臺負責.com域的伺服器收到請求後,如果自己無法解析,它就會找一個管理.com域的下一級DNS伺服器地址(qq.com)給本地DNS伺服器。當本地DNS伺服器收到這個地址後,就會找qq.com域伺服器,重複上面的動作,進行查詢,直至找到www.qq.com主機。
l 如果用的是轉發模式,此DNS伺服器就會把請求轉發至上一級DNS伺服器,由上一級伺服器進行解析,上一級伺服器如果不能解析,或找根DNS或把轉請求轉至上上級,以此迴圈。不管是本地DNS伺服器用的是轉發,還是根提示,最後都是把結果返回給本地DNS伺服器,由此DNS伺服器再返回給客戶機。
從客戶端到本地DNS伺服器是屬於遞迴查詢,而DNS伺服器之間就是迭代查詢。
計算機網路的其他知識點
1、資料在網路中傳輸,傳輸層及以上層的資訊是不變的,變動只是二層幀,在區域網上用乙太網幀頭封裝,在廣域網用PPP,ATM,FR等格式的幀頭封裝,
這些都是由網路傳輸線路上的交換機實現,對上層資料沒有影響的。
2、集線器工作在物理層,不進行碰撞檢測。使用集線器的乙太網在邏輯上仍是一個匯流排網,用集線器組成更大的區域網都在一個碰撞域中。
3、在資料鏈路層擴充套件乙太網要使用網橋,網橋工作在資料鏈路層。當網橋收到一個幀時,並不是向所有的介面轉發此幀,而是先檢查此幀的MAC地址,然
後再確定將該幀轉發到哪一個介面,或者是把它丟棄。
4、網橋在轉發幀時,不改變幀的源地址和目的地址,路由器會改變,但是在點對點之類的封轉格式下是沒有MAC地址的。
5、乙太網交換機以全雙工方式工作在資料鏈路層。
6、在因特網中的所有路由器,對目的地址是專用地址的資料報一律不進行轉發。專用地址是:
10.0.0.0到10.255.255.255
172.16.0.0到172.31.255.255
192.168.0.0到192.168.255.255
7、MAC層的FCS檢驗範圍是整個MAC幀,IP資料報的檢驗和只檢驗IP資料報的首部,UDP(TCP)的檢驗和是把首部和資料部分一起都檢驗。
8、UDP傳送的報文長度是應用程式給出的,TCP則需要根據對方給出的視窗值和當前網路擁塞的程度來決定一個報文段應包含多少個位元組。
9、無論在慢開始階段還是在擁塞避免階段,只要傳送方判斷網路出現擁塞(其根據就是沒有按時收到確認),就要把慢開始門限設定為出現擁塞時的傳送方
視窗值的一半(但不能小於2)。然後把擁塞視窗重新設定為1,執行慢開始演算法。