计算机网络重点知识
只要是計算機相關工作,都需要了解這些,面試中也經常會被問到。
一、接口、協議和服務的概念
接口:下層向上層提供的原語操作
協議:同一層之間,通信雙方進行信息交換必須遵守的規則
服務:不同層之間交換信息必須遵守的規則
二、計算機網絡系統結構
三、網路各層的作用和協議
| 物理層:通過傳輸介質發送和接收二進制比特流。
屬于物理層定義的典型規范如RJ-45等。
| 數據鏈路層: 數據的封裝成幀、數據的透明傳輸、數據的差錯檢測。
數據鏈路層協議的代表包括:PPP、幀中繼等
| 網絡層: 負責對子網間的數據包進行路由選擇,為分組交換網上的不同主機提供通信服務。
網絡層協議的代表包括IP、ICMP、IGMP等。
| 運輸層: 負責向兩個主機中進程之間的通信提供服務。運輸層還要處理端到端的差錯檢測(與數據鏈路層不同)、擁塞控制、流量控制等問題。
運輸層協議的代表包括:TCP、UDP等。
| 應用層: 為操作系統或網絡應用程序提供訪問網絡服務的接口。
應用層協議的代表包括:FTP、HTTP、SNMP等。
四、數據如何在網絡各層之間傳輸
物理層,數據鏈路層、網絡層屬于OSI模型的低三層,負責創建網絡通信連接的鏈路,傳輸層、會話層、表示層和應用層是OSI模型的高四層,具體負責端到端的數據通信。當然,并不是所有通信都要通過OSI的全部七層,如物理接口之間的轉接,只需要物理層中進行即可;而路由器與路由器之間的連接則只需網絡層以下的三層。
五、在網絡各層之間,數據是以什么單位進行傳輸的
在物理層數據傳輸的單位是比特;在數據鏈路層數據的傳輸單元稱為幀;在網絡層數據的傳輸單元稱為數據包;在運輸層數據的傳輸單元稱為報文段。
六、同步通信與異步通信的區別(簡稱同步、異步)
同步通信:通信雙方必須先建立同步,即雙方的時鐘要調整到同一個頻率。收發雙方不停地發送和接收連續的同步比特流。
異步通信:異步通信在發送字符時,所發送的字符之間的時間間隔可以是任意的。當然,接收端必須時刻做好接收的準備。發送端可以在任意時刻發送字符,因此必須在每一個字符的開始和結束的地方加上標志,即加上開始位和停止位,以便使接收端能夠正確地講每一個字符接收下來。異步通信的好處是通信設備簡單、便宜、但傳輸效率較低(因為開始位和停止位的開銷所占比例較大)。
異步通信也可以是以幀作為發送的單位,接收端必須隨時做好接收幀的準備。這時,幀的首部必須設有一些特殊的比特組合,使得接收端能夠找出一幀的開始,這也稱為幀定界。幀定界還包含確定幀的結束位置,這有兩種方法:一種是在幀的尾部設有某種特殊的比特組合來標志幀的結束;或者在幀首部中設有幀長度的字段。需要注意的是,在異步發送幀時,并不是說發送端對幀中的每一個字符都必須加上開始位和停止位后再發送出去,而是說,發送端可以在任意時間發送一個幀,而幀與幀之間的時間間隔也可以是任意的。發送端不需要在發送一
幀之前和接收端進行協調(不需要先進行比特同步)。
七、IP協議的定義,主要有什么作用?TCP與UDP呢?
IP協議(Internet?Protocol):網際協議,主要提供網際互聯的作用。
TCP(Transmission?Control?Protocol,傳輸控制協議)是面向連接的協議,在收發數據前,必須和對方建立連接。UDP(User?Data?Protocol,用戶數據報協議)是與TCP相對應的協議,它是面向非連接的協議,不與對方建立連接,而是直接就把數據包發送過去。
?
八、TCP最主要的特點
| TCP是面向連接的運輸層協議
| 每一條TCP連接只能有兩個端點(一對一)
| TCP提供可靠交付的服務
| TCP提供全雙工通信
| 面向字節流
九、TCP運輸連接管理
1、TCP的連接建立(用三次握手建立TCP連接)
為什么A還要發送一次確認呢?
這主要是為了防止已失效的連接請求報文段突然又傳送到了B,因而產生錯誤。假定出現一種異常情況,即A發出的第一個連接請求報文段并沒有丟失,而是在某些網絡結點長時間滯留了,以致延誤到連接釋放以后的某個時間才到達B。本來這是一個早已失效的報文段。但B收到此失效的連續請求報文段后,就誤認為是A又發出新的連接請求。于是就向A發出確認報文段,同意建立連接。假定不采用三次握手,那么只要B發出確認,新的連接就建立了。
由于現在A并沒有發出建立連接的請求,因此不會理睬B的確認,也不會向B發送數據。但B卻認為新的運輸連接已經建立了,并一直等待A發來數據。B的許多資源就這樣白白浪費了。
采用三次握手的辦法可以防止上述現象的發生。例如在剛才的情況下,A不會向B的確認發出確認。B由于收不到確認,就知道A并沒有要求建立連接。
2、TCP的連接釋放(四次揮手)
?
?
?
?
?
?
?
?
?
?
?
轉載于:https://www.cnblogs.com/victorwu/p/5215132.html
總結
- 上一篇: The RAII Programming
- 下一篇: 开源 免费 java CMS - Fre