Hello,你好呀,我是
灰小猿!一個超會寫bug的程式猿!
用堅持締造技術、用指尖敲動未來!
和很多小伙伴們一樣,我也是一名奔波在Java道路上的“創造者”,也想靠技術來改未來,改變世界!因為我們堅信每一次敲動鍵盤都能讓生活變得更智能、世界變得更有趣!
在此專欄《Java核心面試寶典》記錄我們備戰夢想的【day 16】!

前一部分和小伙伴分享了很多在Java基礎和容器執行緒等方面的面試題,其中很多都是面試中常見的核心問題,小伙伴們可以一同去學習一下,今天我們來分享在計算機網路方面的面試題,計算機網路部分雖然枯燥且理論性強,但是這絲毫不影響面試官對我們的考察呀,
今天我們的面試題就圍繞這下面這個圖展開,看一看單這一個圖,能從中出多少面試題?

1、說一下OSI七層模型?
OSI七層模型從低向上依次是:物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層,
2、說一下TCP/IP五層參考模型?
TCP/IP五層模型包括:物理層、資料鏈路層、網路層、傳輸層、應用層,
其中應用層對應OSI的上三層,下四層和OSI相同,五層協議的體系結構只是為了介紹網路原理而設計的,實際應用還是四層協議,
3、說一下TCP/IP四層參考模型中每一層的作用?
TCP/IP四層模型包括:網路介面層、網際互連層、傳輸層,應用層,
這四層的作用分別是:
① 應用層
TCP/IP 模型將 OSI 參考模型中的會話層、表示層和應用層的功能合并到一個應用層實作,通過不同的應用層協議為不同的應用提供服務,例如:FTP、Telnet、DNS、SMTP 等,
② 傳輸層
該層對應于 OSI 參考模型的傳輸層,為上層物體提供源端到對端主機的通信功能,傳輸層定義了兩個主要協議:傳輸控制協議(TCP)和用戶資料報協議(UDP),其中面向連接的 TCP 協議保證了資料的傳輸可靠性,面向無連接的 UDP 協議能夠實作資料包簡單、快速地傳輸,
③ 網際互聯層
網際互聯層對應 OSI 參考模型的網路層,主要負責相同或不同網路中計算機之間的通信,在網際互聯層, IP 協議提供的是一個不可靠、無連接的資料報傳遞服務,該協議實作兩個基本功能:尋址和分段,根據資料報報頭中的目的地址將資料傳送到目的地址,在這個程序中 IP 負責選擇傳送路線,除了 IP 協議外,該層另外兩個主要協議是互聯網組管理協議(IGMP)和互聯網控制報文協議(ICMP),
④ 網路接入層
網路接入層的功能對應于 OSI 參考模型中的物理層和資料鏈路層,它負責監視資料在主機和網路之間的交換,事實上,TCP/IP 并未真正描述這一層的實作,而由參與互連的各網路使用自己的物理層和資料鏈路層協議,然后與 TCP/IP 的網路接入層進行連接,因此具體的實作方法將隨著網路型別的不同而有所差異,
4、OSI模型和TCP/IP模型有哪些異同?
相同點:
- OSI模型和TCP/IP模型都采用了層次結構
- 都能夠提供面向連接和無連接的服務機制
不同點:
- OSI采用七層模型,TCP/IP是四層結構
- TCP/IP 參考模型沒有對網路介面層進行細分,只是一些概念性的描述; OSI 參考模型對服務和協議做了明確的區分,
- OSI 先有模型,后有協議規范,適合于描述各種網路;TCP/IP是先有協議集然后建立模型,不適用于非 TCP/IP 網路,
- TCP/IP 一開始就提出面向連接和無連接服務,而 OSI一開始只強調面向連接服務,直到很晚才開始制定無連接的服務標準,
- OSI參考模型雖然被看好,但將網路劃分為七層,實作起來較困難;相反,TCP/IP參考模型雖然有許多不盡人意的地方,但作為一種簡化的分層結構還是比較成功的,
5、OSI和TCP/IP協議之間的對應關系
OSI和TCP/IP協議之間的對應關系以及他們哪一層中使用什么網路協議都要記清楚!

6、分別例舉一下在TCP和UDP協議下有哪些常見的傳輸協議?
有很多協議只支持TCP協議或UDP協議,所以我把這些協議以圖表的形式給羅列了出來,

7、為什么TCP/IP去除了表示層和會話層?
原因是由于會話層、表示層、應用層都是在程式內部實作的,最終產出的是一個應用資料包,而應用程式之間幾乎是無法實作代碼的抽象共享的,這也就造成OSI設想中的應用程式維度的分層是無法實作的,例如,我們幾乎不會認為資料的壓縮、加密演算法算是一種協議,而會話的概念則更為抽象,難以用協議來進行描述,所以在后來的 TCP/IP 協議框架的設計中,便將表示層和會話層與應用層整合在一起,讓整個程序更為清晰明了,
8、資料如何在各層之間傳輸【資料的封裝程序】?
在發送主機端,一個應用層報文被傳送到運輸層,在最簡單的情況下,運輸層收取到報文并附上附加資訊,該首部將被接收端的運輸層使用,應用層報文和運輸層首部資訊一道構成了運輸層報文段,
附加的資訊可能包括:允許接收端運輸層向上向適當的應用程式交付報文的資訊以及差錯檢測位資訊,該資訊讓接收端能夠判斷報文中的位元是否在途中已被改變,運輸層則向網路層傳遞該報文段,網路層增加了如源和目的端系統地址等網路層首部資訊,生成了網路層資料報,該資料報接下來被傳遞給鏈路層,在資料鏈路層資料包添加發送端 MAC 地址和接收端 MAC 地址后被封裝成資料幀,在物理層資料幀被封裝成位元流,之后通過
傳輸介質傳送到對端,
今日總結
今天只是了解了計算機網路的協議層次以及他們的服務型別,我們需要掌握的理論內容比較的多,
如果小伙伴們有遇到其他相關的面試題,歡迎在評論區留言提出,我會把大家提出的總結到文章內`, 歡迎小伙伴們一起評論區打卡學習!小伙伴們可也在左方加我好友一起探討學習!
我是灰小猿,我們下期見!

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/293714.html
標籤:java
