TCP/IP協議並不完全符合OSI的七層參考模型。傳統的開放式系統互連參考模型,是一種通訊協定的7層抽象的參考模型,其中每一層執行某一特定任務。該模型的目的是使各種硬體在相同的層次上相互連信。這7層是:物理層、資料連結層、網路層、傳輸層、話路層、展示層和應用程式層。而TCP/IP通訊協議採用了4層的層級結構,每一層都呼叫它的下一層所提供的網路來完成自己的需求。這4層分別為:
1、先來看看TCP/IP的體繫結構,如:
TCP/IP協議實際上就是在物理網上的一組完整的網路通訊協定。其中TCP是提供傳輸層服務,而IP則是提供網路層服務。下面是各個層的協議說明:
IP: 網間協議(Internet Protocol) 負責主機間資料的路由和網路上資料的儲存。同時為ICMP,TCP,UDP提供分組發送服務。使用者進程通常不需要涉及這一層。
ARP: 位址解析通訊協定(Address Resolution Protocol)
此協議將網路地址映射到硬體地址。
RARP: 反向位址解析通訊協定(Reverse Address Resolution Protocol)
此協議將硬體地址映射到網路地址
ICMP: 網間報文控制協議(Internet Control Message Protocol)
此協議處理信關和主機的差錯和傳送控制。
TCP: 傳送控制協議(Transmission Control Protocol)
這是一種提供給使用者進程的可靠的全雙工系統位元組流連線導向的協議。它要為使用者進程提供虛電路服務,並為資料可靠傳輸建立檢查。(註:大多數網路使用者程式使用TCP)
UDP: 使用者資料包通訊協定(User Datagram Protocol)
這是提供給使用者進程的無連線協定,用於傳送資料而不執行正確性檢查。
FTP: 檔案傳輸通訊協定(File Transfer Protocol)
允許使用者以檔案操作的方式(檔案的增、刪、改、查、傳送等)與另一主機相互連信。
SMTP: 簡單郵件傳送協議(Simple Mail Transfer Protocol)
SMTP協議為系統之間傳送電子郵件。
TELNET:終端協議(Telnet Terminal Procotol)
允許使用者以虛終端方式訪問遠程主機
HTTP: 超文字傳輸通訊協定 (HTTP)(Hypertext Transfer Procotol)
TFTP: 簡單檔案傳輸通訊協定(Trivial File Transfer Protocol)
2、TCP/IP協議的核心部分是傳輸層協議(TCP、UDP),網路層協議(IP)和物理介面層,這三層通常是在作業系統核心中實現。通常使用者的服務需要通過應用程式來實現,所以在底層與應用程式層就是通過通訊端來實現,也就是我們通常所說的Socket來建立串連的。具體如所示:
TCP/IP協議核心與應用程式關係如所示,所以對照這個圖來理解我們的應用程式層開發,就直觀多了,特別是對一些應用進行效能測試時,基於什麼協議來通訊,分析也會得心應手了。
應用程式層:應用程式間溝通的層,如簡單電子郵件傳輸(SMTP)、檔案傳輸通訊協定(FTP)、網路遠端存取協議(Telnet)等。
傳輸層:在此層中,它提供了節點間的資料傳送服務,如傳輸控制通訊協定(TCP)、使用者資料包通訊協定(UDP)等,TCP和UDP給資料包加入傳輸資料並把它傳輸到下一層中,這一層負責傳送資料,並且確定資料已被送達並接收。
互連網路層:負責提供基本的資料封包傳送功能,讓每一塊資料包都能夠到達目的主機(但不檢查是否被正確接收),如網際協議(IP)。
網路介面層:對實際的網路媒體的管理,定義如何使用實際網路(如Ethernet、Serial Line等)來傳送資料。