TCP/IP協定包含連結層、網路層、傳輸層、應用層。
TCP/IP協議(傳輸控制協議/互聯網協議)不是簡單的協議,而是一組特別的協議,包括:TCP,IP,UDP,ARP等,這些被稱為子協議。在這些協定中,最重要、最著名的就是TCP和IP。因此,大部分網路管理員稱整個協定族為「TCP/IP」。
分層:
在電腦網路中,實際應用的網路協定是TCP/IP協定族,TCP/IP的應用層大體上對應OSl/RM模型的應用層、表示層和會話層,TCP/IP的網路介面層對應著OSI/RM的資料鏈結層和實體層,而傳輸層和網路層則在兩個模型中對應得很好。
1、連結層
連結層有時也稱為資料鏈結層或網路介面層,通常包括作業系統中的裝置驅動程式和電腦中對應的網路介面卡。它們一起處理與電纜(或其他任何傳輸媒介)的實體介面細節。把鏈結層位址和網路層位址連結起來的協定有ARP(Address Resolution Protocol,位址解析協定)和RARP(Reverse Address Resolution Protocol,逆位址解析協定)。
2、網路層
網路層處理分組在網路中的活動,例如分組的選路。在TCP/IP協定族中,網路層協定包含IP協定(Internet Protocol,網路協定)、ICMP協定(Internet Control Message Protocol,網路控制封包協定)和IGMP協定(Internet Group Management Protocol,網路群組管理協定) 。
3、傳輸層
傳輸層主要為兩台主機上的應用程式提供端對端的通訊。在TCP/IP協定族中,有兩個互不相同的傳輸協定:TCP(Transmission Control Protocol,傳輸控制協定)和UDP(User Datagram Protocol,用戶資料報協定)。
4、應用程式層
應用程式層負責處理特定的應用程式細節。幾乎各種不同的TCP/IP實作都會提供以下這些通用的應用程式:Telnet遠端登入、SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協定)、FTP(File Transfer Protocol,檔案傳輸協定)、HTTP(Hyper Text Transfer Protocol,超文本傳輸協定)等。
核心協定:
1、IP協定
網路協定IP是TCP/IP的心臟,也是網路層中最重要的協定。
IP層接收由更低層(網路介面層,例如乙太網路裝置驅動程式)發送的資料包,並把該資料包傳送到更高層-TCP或UDP層;相反,IP層也把從TCP或UDP層接收來的封包傳送到更低層。 IP封包是不可靠的,因為IP並沒有做任何事情來確認封包是按順序發送的或沒有被破壞。 IP封包中含有發送它的主機的位址(來源位址)和接收它的主機的位址(目的位址)。
高層的TCP和UDP服務在接收封包時,通常假設套件中的來源位址是有效的。也可以這樣說,IP位址形成了許多服務的認證基礎,這些服務相信資料包是從一個有效的主機發送來的。 IP確認包含一個選項,稱為IPsource routing,可以用來指定一條來源位址與目的位址之間的直接路徑。對於一些TCP和UDP的服務來說,使用了該選項的IP包好像是從路徑上的最後一個系統傳遞過來的,而不是來自於它的真實地點。這個選項是為了測試而存在的,說明了它可以被用來欺騙系統來進行平時是被禁止的連接。因此,許多依靠IP來源位址做確認的服務將產生問題並且會被非法入侵。
2、TCP協定
如果IP封包中有已經封好的TCP封包,那麼IP就會把它們傳送到TCP層到「上」。
TCP將套件排序並進行錯誤檢查,同時實現虛擬電路間的連接。 TCP封包中包含序號和確認,所以未依照順序收到的封包可以被排序,而損壞的封包可以被重傳。
TCP將它的資訊送到更高層的應用程序,例如,Telnet的服務程式和客戶程式。應用程式輪流將訊息送回TCP層,TCP層便將它們向下傳送到IP層,裝置驅動程式和實體介質,最後到接收方。
連線導向的服務(例如Telnet、FTP、rlogin、XWindows和SMTP)需要高度的可靠性,所以它們使用了TCP。 DNS在某些情況下使用TCP(傳送和接收網域資料庫),但使用UDP傳送單一主機的資訊。
3、UDP協定
UDP與TCP位於同一層,但對於封包的順序錯誤或重發。因此,UDP不被應用於那些使用虛電路的面向連接的服務,UDP主要用於那些面向查詢一應答的服務,例如NFS。相對於FTP或Telnet,這些服務需要交換的資訊量較小。使用UDP的服務包括NTP(網路時間協定)和DNS(DNS也使用TCP)。
欺騙UDP套件比欺騙TCP套件更容易,因為UDP沒有建立初始化連接(也可以稱為握手)(因為在兩個系統之間沒有虛擬電路),也就是說,與UDP相關的服務面臨著更大的危險。
4、ICMP協定
ICMP與IP位於同一層,它被用來傳送IP的控制訊息。它主要是用來提供有關通往目的地址的路徑資訊。 ICMP的「Redirect」資訊通知主機通往其他系統的更準確的路徑,而「Unreachable」資訊則指出路徑有問題。另外,如果路徑不可用了,ICMP可以使TCP連接「體面地」終止。 PING是最常用的基於ICMP的服務。
以上是tcp/ip協定分為幾層的詳細內容。更多資訊請關注PHP中文網其他相關文章!