《TCP/IP協議》筆記——工作原理

TCP/IP協議-筆記

在講TCP/IP之前我們先來了解下網絡七層模型,以及TCP/IP和osi七層的關係。

OSI網絡七層

1.應用層:與其它計算機進行通訊的一個應用,它是對應應用程序的通信服務的。例如,一個沒有通信功能的字處理程序就不能執行通信的代碼,從事字處理工作的程序員也不關心OSI的第7層。但是,如果添加了一個傳輸文件的選項,那麼字處理器的程序就需要實現OSI的第7層。示例:TELNET,HTTP,FTP,NFS,SMTP等。
2.表示層:這一層的主要功能是定義數據格式及加密。例如,FTP允許你選擇以二進制或ASCII格式傳輸。如果選擇二進制,那麼發送方和接收方不改變文件的內容。如果選擇ASCII格式,發送方將把文本從發送方的字符集轉換成標準的ASCII後發送數據。在接收方將標準的ASCII轉換成接收方計算機的字符集。示例:加密,ASCII等。
3.會話層:它定義瞭如何開始、控制和結束一個會話,包括對多個雙向消息的控制和管理,以便在只完成連續消息的一部分時可以通知應用,從而使表示層看到的數據是連續的,在某些情況下,如果表示層收到了所有的數據,則用數據代表表示層。示例:RPC,SQL等。
4.傳輸層:這層的功能包括是否選擇差錯恢復協議還是無差錯恢復協議,及在同一主機上對不同應用的數據流的輸入進行復用,還包括對收到的順序不對的數據包的重新排序功能。示例:TCP,UDP,SPX。
5.網絡層:這層對端到端的包傳輸進行定義,它定義了能夠標識所有結點的邏輯地址,網絡層的主要工作是定義網絡地址,區分網段,子網內MAC尋址,對於不同子網的數據包進行路由。爲了適應最大傳輸單元長度小於包長度的傳輸介質,網絡層還定義瞭如何將一個包分解成更小的包的分段方法。示例:IP,IPX等。
6.數據鏈路層:它定義了在單個鏈路上如何傳輸數據。這些協議與被討論的各種介質有關。示例:ATM,FDDI等。
7.物理層:OSI的物理層規範是有關傳輸介質的特性,這些規範通常也參考了其他組織制定的標準。連接頭、幀、幀的使用、電流、編碼及光調製等都屬於各種物理層規範中的內容。物理層常用多個規範完成對所有細節的定義。示例:Rj45,802.3等。
osi網絡七層

TCP/IP五層

TCP/IP五層模型的協議分爲:應用層、傳輸層、網絡層、數據鏈路層和物理層
TCP/IP和osi七層的關係:
TCP/IP和osi七層

TCP/IP的工作原理

這裏我們要理解數據是怎樣從一個主機到達另一個主機的;當通過http發起一個請求時,應用層、傳輸層、網絡層和鏈路層的相關協議依次對該請求進行包裝並攜帶對應的首部,最終在鏈路層生成以太網數據包,以太網數據包通過物理介質傳輸給對方主機,對方接收到數據包以後,然後再一層一層採用對應的協議進行拆包,最後把應用層數據交給應用程序處理。這種結構非常有棧的味道,所以某些文章也把tcp/ip協議族稱爲tcp/ip協議棧。
在這裏插入圖片描述
一個數據包被稱爲一幀(IEEE 802.3協議)
一個完整的以太網數據包分爲:頭部、數據域、尾部
數據報文

ARP協議

apr協議即:地址解析協議,是根據IP地址獲取MAC地址的一個網絡層協議。
工作原理:ARP首先發起一個請求報文,報文首部包含目標主機的IP地址,然後這個報文回來鏈路層進行再次封裝,變成以太網數據包,最終由以太網廣播給子網內(侷限在此,後文會講)的所有主機,每一臺主機都會接收到這個數據包,並取出標頭裏的IP地址,然後和自己的IP地址進行比較,如果相同就返回自己的MAC地址,如果不同就丟棄該數據包。ARP接收返回消息,以此確定目標機的MAC地址;與此同時,ARP還會將返回的MAC地址與對應的IP地址存入本機ARP緩存中並保留一定時間,下次請求時直接查詢ARP緩存以節約資源。cmd輸入 arp -a 就可以查詢本機緩存的ARP數據。

arp命令

路由協議

通過上文我們發現,ARP的MAC尋址還是侷限在同一個子網中,因此網絡層引入了路由協議。首先通過IP協議來判定兩個主機是否在同一局域網,若在,就按ARP協議查詢對應的MAC地址,然後以廣播的形式向改子網的主機發送數據。若不在,則以太網會講改數據報文妝發給本子網的網關進行路由。網關是互聯網上子網與子網之間的橋樑,最終將該數據包轉發到目標IP所在的子網中,然後在通過ARP協議獲取目標MAC地址,最終仍是通過廣播形式將數據包發給接收方

參考:https://blog.csdn.net/weixin_41143657/article/details/105797074

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章