tcp/ip參考模型
是乙個抽象的分層模型,這個模型中,所有的
tcp/ip
系列網路協議
都被歸類到4個抽象的"層"中。每一抽象層建立在低一層提供的服務上,並且為高一層提供服務。完成一些特定的任務需要眾多的協議協同工作,這些協議分布在參考模型的不同層中的,因此有時稱它們為乙個
協議棧。
最上面的是應用層了,這裡面有http,ftp,等等我們熟悉的協議。而第二層則是傳輸層,著名的tcp和udp協議就在這個層次。第三層是網路層,ip協議就在這裡,它負責對資料加上ip位址和其他的資料以確定傳輸的目標。第四層是叫網路介面層,這個層次為待傳送的資料加入乙個乙太網協議頭,並進行crc編碼,為最後的資料傳輸做準備。
tcp/ip協議模型層次:應用層,傳輸層,網路層,網路介面層。
應用層協議:
dns、tftp等協議
傳輸層協議:tcp
、udp
、rtp
、sctp
網路層協議:ip
協議、icmp
協議、arp
協議、rarp
協議和bootp
協議。應用層
該層包括所有和應用程式協同工作,利用基礎網路交換應用程式專用的資料的協議。
應用層是大多數普通與網路相關的程式為了通過網路與其他程式通訊所使用的層。這個層的處理過程是應用特有的;資料從網路相關的程式以這種應用內部使用的格式進行傳送,然後被編碼成標準協議的格式。每乙個應用層(tcp/ip參考模型的最高層)協議一般都會使用到兩個傳輸層協議之一: 面向連線的tcp傳輸控制協議和無連線的包傳輸的udp使用者資料報文協議。
常用的應用層協議有:
執行在tcp協議上的協議:
執行在udp協議上的協議:
其他:
傳輸層
傳輸層的協議,能夠解決諸如端到端可靠性(「資料是否已經到達目的地?」)和保證資料按照正確的順序到達這樣的問題。在tcp/ip協議組中,傳輸協議也包括所給資料應該送給哪個應用程式。
tcp是乙個「可靠的」、面向鏈結的傳輸機制,它提供一種可靠的位元組流保證資料完整、無損並且按順序到達。tcp盡量連續不斷地測試網路的負載並且控制傳送資料的速度以避免網路過載。另外,tcp試圖將資料按照規定的順序傳送。這是它與udp不同之處,這在實時資料流或者路由高網路層丟失率應用的時候可能成為乙個缺陷。
網路層
網路層解決在乙個單一網路上傳輸資料報的問題。
負責相鄰計算機之間的通訊。其功能包括三方面。
網路層協議:ip(internet protocol)協議、icmp(internet control message protocol)、
控制報文協議、arp(address resolution protocol)位址轉換協議、rarp(reverse arp)反向位址轉換協議。
ip是網路層的核心,通過路由選擇將下一條ip封裝後交給介面層。ip資料報是無連線服務。
icmp
是網路層的補充,可以回送
報文。用來檢測網路是否通暢。
ping
命令就是傳送icmp的
echo
包,通過回送的echo relay進行網路測試。
arp是正向
位址解析協議
,通過已知的ip,尋找對應主機的
mac位址
。rarp
是反向位址解析協議,通過mac位址確定ip位址。比如
無盤工作站
還有dhcp服務。
網路介面層
物理層是定義物理介質的各種特性。資料鏈路層是負責接收ip資料報並通過網路傳送,或者從網路上接收物理幀,抽出ip資料報,交給ip層。協議還是很多的,最常用的乙太網(就是平時我們用的網絡卡)協議。
TCP IP協議學習
tcp提供一種面向連線的 可靠的位元組流服務。tcp ip一般被認為是四層協議 應用層 處理特定的應用程式細節。傳輸層 主機間的應用程式提供端到端的通訊,包括tcp 傳輸控制協議 和udp 使用者資料報協議 網路層 網路層的協議包括ip協議 icmp協議 internet網際網路控制報文協議 igm...
TCP IP協議學習總結
本文為自己的學習總結,沒有那些大神們那麼的深入,只為自己的一些心得總結,有很多不足之處,請各位勿噴,望多多指正!無限感激 一 tcp ip協議 為什麼會有這個協議 為了實現不同計算機系統 網路系統之間的通訊其他還有很多網路協議,只是很多只能特定某些計算機系統間的通訊,通用性不強 tcp ip協議是什...
如何學習TCP IP協議
學習tcp ip協議的終極方法是自己研究並實現乙個tcp ip協議棧。在linux核心層面,是要實現下圖紅框內的部分。乍看這個做法有點不可思議,但其實並沒有看上去那麼難,下面提供乙個可行的方法。1 確定乙個linux發行版,ubuntu redhat都行,uname檢視核心具體版本,去the lin...