今天是計算機網絡總結的最后一節,主要是講OSI七層模型相關的知識點,還有就是面試過程中會遇到的一些問題進行了匯總,這章內容算是計算機網絡的全集了,相信有了這篇文章,大家的復習過程中就一定會提高效率。
大家都知道在面試過程中,不管是校招還是社招,計算機網絡肯定是必考項,如果準備的不夠充分,后果可想而知,。能看到這篇文章的,我相信不是學弟學妹,就是剛參加工作不久的,一是不知道計算機網絡該從哪兒看起,也不知道哪里是重點,二是時間不允許系統的去復習計算機網絡,所以我會將面試中遇到的高頻考點都羅列出來供大家學習。可以點贊收藏,以免著急使用而找不到。希望大家都能在求職過程中拿到自己滿意的offer!
那就開始正文嘍~
TCP/IP 與 OSI 都是為了使網絡中的兩臺計算機能夠互相連接并實現通信與回應,但他們最大的不同在于,OSI 是一個理論上的網絡通信模型,而 TCP/IP 則是實際上的網絡通信標準。
一、OSI七層模型:
1、物理層
實現計算機節點之間比特流的透明傳輸,規定傳輸媒體接口的標準,屏蔽掉具體傳輸介質和物理設備的差異,使數據鏈路層不必關心網絡的具體傳輸介質,按照物理層規定的標準傳輸數據就行。
2、數據鏈路層
通過差錯控制、流量控制等方法,使有差錯的物理線路變為無差錯的數據鏈路。
數據鏈路層的幾個基本方法:數據封裝成幀、透明傳輸、差錯控制、流量控制。
- 封裝成幀:把網絡層數據報加頭和尾,封裝成幀,幀頭中包括源MAC地址和目的MAC地址。
- 透明傳輸:零比特填充、轉義字符。
- 差錯控制:接收者檢測錯誤,如果發現差錯,丟棄該幀,差錯控制方法有 CRC 循環冗余碼。
- 流量控制:控制發送的傳輸速度,使得接收方來得及接收。傳輸層TCP也有流量控制功能,但TCP是端到端的流量控制,鏈路層是點到點(比如一個路由器到下一個路由器)。
3、網絡層
實現網絡地址與物理地址的轉換,并通過路由選擇算法為分組通過通信子網選擇最適當的路徑。
網絡層最重要的一個功能就是:路由選擇。路由一般包括路由表和路由算法兩個方面。每個路由器都必須建立和維護自身的路由表,一種是靜態維護,也就是人工設置,適用于小型網絡;另一種就是動態維護,是在運行過程中根據網絡情況自動地動態維護路由表。
4、傳輸層
提供源端與目的端之間提供可靠的透明數據傳輸,傳輸層協議為不同主機上運行的進程提供邏輯通信。
- 網絡層協議負責的是提供主機間的邏輯通信;
- 傳輸層協議負責的是提供進程間的邏輯通信。
5、會話層
是用戶應用程序和網絡之間的接口,負責在網絡中的兩節點之間建立、維持、終止通信。
6、表示層
處理用戶數據的表示問題,如數據的編碼、格式轉換、加密和解密、壓縮和解壓縮。
7、應用層
為用戶的應用進程提供網絡通信服務,完成和實現用戶請求的各種服務。
二、TCP/IP模型
TCP/IP協議模型(Transmission Control Protocol/Internet Protocol),包含了一系列構成互聯網基礎的網絡協議,是Internet的核心協議。TCP/IP協議族按照層次由上到下,層層包裝。
數據進入協議棧時的封裝過程
上圖表示了TCP/IP協議中每個層的作用,而TCP/IP協議通信的過程其實就對應著數據入棧與出棧的過程。入棧的過程,數據發送方每層不斷地封裝首部與尾部,添加一些傳輸的信息,確保能傳輸到目的地。出棧的過程,數據接收方每層不斷地拆除首部與尾部,得到最終傳輸的數據。
1、網絡層
實現網絡地址與物理地址的轉換,并通過路由選擇算法為分組通過通信子網選擇最適當的路徑。
1.1、IP地址與物理地址
物理地址是數據鏈路層和物理層使用的地址,IP地址是網絡層和以上各層使用的地址,是一種邏輯地址,其中ARP協議將IP地址轉換成物理地址。
1.2、ARP地址解析協議的工作原理
ARP 是根據 IP 地址獲取 MAC 地址的一種協議,核心原理就是廣播發送ARP請求,單播發送ARP響應。
- 每個主機都在自己的ARP緩沖區中建立一個ARP列表,以表示 IP 地址和 MAC 地址之間的對應關系。
- 當源主機要發送數據時,先檢查ARP列表中是否有該 IP 地址對應的 MAC 地址,如果有,則直接發送數據;如果沒有,就向本網段的所有主機發送ARP數據包,用于查詢目的主機的MAC地址,該數據包包括的內容有:源主機IP地址,源主機MAC地址,目的主機的IP。
- 當本網絡的所有主機收到該ARP數據包時,首先檢查數據包中的IP地址是否是自己的IP地址,如果不是,則忽略該數據包,如果是,則首先從數據包中取出源主機的IP和MAC地址寫入到ARP列表中,如果已經存在,則覆蓋,然后將自己的MAC地址寫入ARP響應包中,告訴源主機自己是它想要找的MAC地址。
- 源主機收到 ARP 響應包后,將目的主機的 IP 和 MAC 地址寫入ARP列表,并利用此信息發送數據。如果源主機一直沒有收到ARP響應數據包,表示ARP查詢失敗。
1.3、RARP逆地址解析協議
RARP是逆地址解析協議,作用是完成硬件地址到IP地址的映射,主要用于無盤工作站,因為給無盤工作站配置的IP地址不能保存。工作流程:在網絡中配置一臺RARP服務器,里面保存著 MAC 地址和 IP 地址的映射關系,當無盤工作站啟動后,就封裝一個RARP數據包,里面有其MAC地址,然后廣播到網絡上去,當服務器收到請求包后,就查找對應的MAC地址的IP地址裝入響應報文中發回給請求者。因為需要廣播請求報文,因此RARP只能用于具有廣播能力的網絡。
1.4、DHCP協議
動態主機配置協議,對 IP地址進行集中管理和分配,提升地址的使用率,通過DHCP協議,可以使客戶機自動獲得服務器分配的lP地址和子網掩碼。
DHCP數據發送過程
1.5、ICMP協議
因特網控制報文協議,用于在IP主機、路由器之間傳遞控制消息(控制消息是指網絡通不通、主機是否可達、路由器是否可用等網絡本身的消息),確認 IP 包是否成功到達目標地址。因為 IP 協議并不是一個可靠的協議,它不保證數據被送達,當傳送IP數據包發生錯誤,比如主機不可達、路由不可達等等,ICMP協議將會把錯誤信息封包,然后傳送回給主機,給主機一個處理錯誤的機會。
ICMP報文有兩種:差錯報告報文和詢問報文。
以下是4種常見的ICMP差錯報告報文:
- 終點不可達
- 路由器不知道如何轉發某數據報,丟棄該數據報,并向源站發送“終點不可達”報文。
- 主機收到無法交付給應用進程的數據報,將其丟棄,向源站發送“終點不可達”報文。
- 時間超過
- 路由器丟棄生存時間TTL為0的數據報,并向源站發送“時間超過”報文。
- 當終點在預先規定的時間內不能收到一個數據報的全部分片時,就把已收到的分片都丟棄,并向源站發送“時間超過”報文。
- 參數問題
當路由器或目的主機收到的數據報的首部中有些字段的值不正確時,就丟棄該數據報,并向源站發送“參數問題”報文。
- 改變路由(重定向)
路由器把“改變路由”報文發送給主機,讓主機知道下次應將數據報發送給另一個路由器,這樣可以通過更好的路由。
1.6、交換機與路由器的區別
- 工作所處的OSI層次不一樣,交換機工作在OSI第二層數據鏈路層,路由器工作在OSI第三層網絡層。
- 尋址方式不同:交換機根據MAC地址尋址,路由器根據IP地址尋址。
- 轉發速率不同:交換機的轉發速度快,路由器轉發速度相對較慢。
1.7、路由選擇協議
- 內部網關協議IGP:
- RIP(Routing Information Protocol):是一種動態路由選擇協議,基于距離矢量算法,使用“跳數”來衡量到達目標地址的路由距離,并且只與自己相鄰的路由器交換信息,范圍限制在15跳之內。
- OSPF:開放最短路徑優先協議,使用Dijskra算法計算出到達每一網絡的最短路徑,并在檢測到 鏈路的情況發生變化時(如鏈路失效),就執行該算法快速收斂到新的無環路拓撲。
- 外部網關協議:
BGP:邊界網關協議,BGP 是力求尋找一條能夠到達目的網絡 且 較好的路由,而并非要尋找一條最佳路由。BGP采用路徑向量路由選擇協議。
2、傳輸層:
傳輸層主要提供不同主機上進程間“邏輯通信+可靠傳輸”或者“不可靠傳輸”的功能。
2.1、傳輸控制協議TCP與用戶數據報協議UDP的區別
- TCP是面向字節流的,基本傳輸單位是TCP報文段;UDP是面向報文的,基本傳輸單位是用戶數據報。
- 面向字節流:應用程序和TCP的交互是一次一個數據塊(大小不等),但TCP把應用程序看成是一連串的無結構的字節流。TCP有一個緩沖,當應用程序傳送的數據塊太長,TCP就可以把它劃分短一些再傳送。
- 面向報文:面向報文的傳輸方式是應用層交給UDP多長的報文,UDP就照樣發送。因此,應用程序必須選擇合適大小的報文。
- TCP 注重安全可靠性,連接雙方在進行通信前,需進行三次握手建立連接。UDP 是無連接的,使用最大努力交付,即不保證可靠交付。
- UDP 不需要連接等待,所以數據傳輸快,而 TCP 傳輸效率相對較低。
- TCP首部開銷是20個字節;UDP的首部開銷是8個字節,這也是減少網絡傳輸開銷的一方面。
- TCP有擁塞控制和流量控制,而UDP沒有擁塞控制和流量控制。
- TCP支持點對點通信,提供全雙工通信,不提供廣播或多播服務;UDP支持一對一、一對多、多對一、多對多的通信模式。
2.2、TCP和UDP的使用場景
- 當對網絡通訊質量要求不高時,并且要求網絡通訊速度能盡量的快,這時就可以使用UDP。比如及時通信:語音、 視頻 、直播等。
- 當對網絡通訊質量有要求時,要求整個數據準確無誤可靠的傳遞給對方,這時就適用使用 TCP 協議,一般用于文件傳輸、發送和接收郵件等場景。比如HTTP、HTTPS、FTP等傳輸文件的協議,POP、SMTP等郵件傳輸的協議都是使用 TCP 協議。
- TCP對應的協議:
FTP:文件傳輸協議,使用21端口
Telnet:遠程終端接入,使用23端口,用戶可以以自己的身份遠程連接到計算機上,可提供基于DOS模式下的通信服務。
SMTP:郵件傳送協議,用于發送郵件,使用25端口
POP3:郵件傳送協議,P用于接收郵件。使用110端口
HTTP:萬維網超文本傳輸協議,是從Web服務器傳輸超文本到本地瀏覽器的傳送協議
- UDP對應的協議:
DNS:域名解析服務,將域名地址轉換為IP地址,使用53號端口;
SNMP:網絡管理協議,用來管理網絡設備,使用161號端口;
TFTP:簡單文件傳輸協議,提供不復雜、開銷不大的文件傳輸服務,使用 69 端口;
NFS:遠程文件服務器
RIP:路由信息協議
DHCP:動態主機配置協議
IGMP:網際組管理協議
2.3、TCP相關知識點
前面一節已經非常清楚的分析,歡迎查看:
3、應用層
應用成主要提供應用進程間的網絡通信服務,完成用戶請求的各種服務。
-
計算機
+關注
關注
19文章
7534瀏覽量
88453 -
IP
+關注
關注
5文章
1716瀏覽量
149827 -
TCP
+關注
關注
8文章
1378瀏覽量
79199 -
OSI
+關注
關注
0文章
83瀏覽量
15448
發布評論請先 登錄
相關推薦
評論