下圖是osi模型和tcp/ip協議模型的對比。
tcp/ip通常被認為是乙個四層協議系統,每一層負責不同的功能:
1)應用層:使用者通過應用程式與該層進行互動,主要包括http、ftp、telnet等協議
2)傳輸層:為兩台主機提供端到端通訊,主要包括tcp和udp協議。tcp協議提供面向連線的高可靠通訊,包含了確認重傳、擁塞控制、滑動視窗等機制。udp協議只是簡單的將資料報從一端發往另一端,並不提供任何可靠性機制。
3)網路層:為主機直接提供點到點通訊,同樣也是不可靠的傳輸,主要功能是分段和定址。
4)網路介面層:也叫資料鏈路層,主要包含一些裝置驅動程式和網絡卡等。
在tcp/ip中,網路層和運輸層之間的區別是最為關鍵的:網路層(ip)提供點到點的服務,
而運輸層(tcp和udp)提供端到端的服務。
端到端是網路連線的兩個終端之間的通訊,而網路層之間的通訊是逐跳(hop-by-hop)的。兩個終端之間要完成通訊,可能要經過多個裝置的**,而點到點裝置之間是可以直接通訊的。總之,一句話概括就是端到端是由無數的點到點實現和組成的。ip及以下各層採用點到點傳輸,4層以上採用端到端傳輸。
tcp/ip協議族中不同層次的協議如下所示,其中socket抽象層並不屬於乙個層次,只是我們抽象出來用於更好的說明問題的。socket是用於連線應用層和tcp/ip底層協議棧的,也是使用者空間與核心之間資料傳輸的媒介,使用者通過read()、write()系統呼叫將使用者資料發往核心協議棧,並從核心中讀取接收到的經過解封裝的資料
網際網路上的每個裝置都必須具有乙個全球唯一的ip位址,ip位址共有32bit,則internet中最多有2^32臺裝置。五類不同的網際網路位址格式如下:
其中在a、b、c類位址中,分別保留了一些私有ip,可自行使用不必申請。
a類:10.0.0.0~~10.255.255.255
b類:172.16.0.0~~172.31.255.255
c類:192.168.0.0~~192.168.255.255
即私有網路內部的主機可以直接使用這些ip,但是在於外部網路通訊時,必須在閘道器通過nat獲得乙個公網ip,再由閘道器**至外網。
指的是邏輯埠,而不是硬體埠。tcp、udp通過16bit的埠號來標誌應用程式,如:ftp(21)、telnet(23)、tftp(69)。埠號可以為0~65535,但一些埠號可能已經被占用,一般tcp/ip在實現時臨時分配的埠都在1024~5000之間。
資料從應用程式產生到分發出去的過程中,會經過一系列的封裝過程。當網絡卡收到資料後,則會向上遞交,經歷一系列的解封裝過程。
ip首部中有1個位元組的協議域,用於區分ip資料報中的資料是哪種協議型別,其中1:icmp、2:igmp、6:tcp、17:udp
在乙太網幀中也有2個位元組的協議與,用於區分ip包、arp包和rarp包。
在第二層上的資料,我們叫frame,在第三層上的資料叫packet,第四層的資料叫segment。
tcp連線的客戶端和伺服器端基本通訊流程如下
《TCP IP 卷1》筆記 IP協議
ip協議具有兩個特性 ip資料報格式 各字段的含義 ip路由選擇 主機也可以配置成路由器。區別 主機從不把資料報從乙個介面 到另乙個介面,而路由器要 資料報。路由表的表目資訊 ip路由選擇是逐跳地進行的。ip路由器收到請求時會做一下三件事 搜尋路由表,尋找與目標ip完全匹配的表目 網路號和主機號 如...
《TCP IP 卷1》筆記 RARP協議
該協議是給哪些無盤系統使用的,根據硬體位址廣播傳送rarp請求,獲取本機的ip。rfc 903 rarp和arp的分組格式基本一致。幀型別 為0x8035.操作碼請求時3,應答是4 對應於arp,rarp請求以廣播方式傳送,而rarp應答一般是單播發送的 r a r p伺服器的複雜性在於,伺服器一般...
《TCP IP 卷1》筆記 ICMP協議
使用範圍 ip層和更高層協議 tcp udp 使用。作用 把差錯報文返回給使用者程序。規範 rfc792 posterl 1981 b 詳細介紹 位址掩碼請求和應答 時間戳請求和應答以及不可達埠。ping程式所使用的回應請求和應答報文和處理ip路由的icmp報文 icmp報文的型別 丟棄ip資料報時...