TCP/IP協議族分層詳解


1、TCP/IP的介紹

互聯網協議族(Internet Protocol Suite,縮寫IPS)是一個網絡通信模型,以及一整個網絡傳輸協議家族,
為互聯網的基礎通信架構。它常被通稱為TCP/IP協議族(TCP/IP Protocol Suite,或TCP/IP Protocols),
簡稱TCP/IP。

TCP/IP提供點對點的鏈接機制,將數據應該如何封裝、定址、傳輸、路由以及在目的地如何接收,都加以標
准化。它通常將軟件通信過程抽象化為四個抽象層,采取協議堆棧的方式,分別實現出不同通信協議。協議套組下的各種協議,依其功能不同,被分別歸屬到這四個層次結構之中,常被視為是簡化的七層OSI模型。

2、TCP/IP和ISO/OSI 分層比較

這里寫圖片描述

補充: ISO/OSI模型,即開放式通信系統互聯參考模型(Open System Interconnection Reference 
Model),是國際標准化組織(ISO)提出的一個試圖使各種計算機在世界范圍內互連為網絡的標准框架,簡稱OSI。

參考資料:OSI七層模型詳解

3、TCP/IP分層詳解

這里寫圖片描述

在上面,通常我們是把TCP/IP協議族分為四層,但是如果是五層的話就是在鏈路層下再加個物理層。下面是對各層的詳細介紹。

這里寫圖片描述

IP是一種網絡層協議,提供的是一種不可靠的服務,它只是盡可能快地把分組從源結點送到目的結點,但是、並不提供
任何可靠性保證。同時被TCP和UDP使用。TCP和UDP的每組數據都通過端系統和每個中間路、由器中的IP層在互聯網中
進行傳輸。
ICMP是IP協議的附屬協議。IP層用它來與其他主機或路由器交換錯誤報文和其他重要信息。
IGMP是Internet組管理協議。它用來把一個UDP數據報多播到多個主機。
TCP是一個傳輸控制協議,它為兩台主機提供了可靠性的數據通信,它所做的工作包括把應用程序交給它的數據進行合適
的分塊交給下層的網絡層,確認接收到的分組,設置發送最后確認分組的超時時鍾等
UDP是用戶數據報協議,它為應用層提供了簡單的服務,它只是把稱作數據報的分組從一台主機發送到另外一台主機,並
不保證該數據報能到達另外一端。

4、IP地址的介紹

互聯網上的每個接口必須有一個唯一的Internet地址(也稱作IP地址)。IP地址長32 bit。Internet地址並不
采用平面形式的地址空間,如1、2、3等。IP地址具有一定的結構,五類不同的互聯網地址格式如下:
這里寫圖片描述

從上圖,我們可以看出IP地址有五類,每類的地址范圍為:
這里寫圖片描述

我們可以發現,通過IP地址的網絡號和主機號已經可以識別網絡接口,進而訪問主機,但是人們最喜歡還是使用主機名,所以我們需要提供一個:域名系統(DNS),它給我們提供了主機名和IP地址之間的映射信息。

5、封裝和分用

  • 封裝

這里寫圖片描述

如上圖所示,當應用程序采用TCP傳送數據時,數據被送入協議棧中,然后,通過每一層直到被當做一串比特流傳入網絡中。其中每一層收到數據都會對數據增加一些首部信息(有的還需要尾部信息)。TCP傳給IP的數據單元稱為TCP報文段或簡稱為TCP段(UDP傳給IP的數據單元稱為UDP數據段),IP傳給網絡接口層的數據單元稱為IP數據報。通過以太網傳輸的比特流稱為幀。

  • 分用
    當目的主機收到了一個以太網的數據幀時,數據要從協議棧中,由底往上,同時去掉各層協議上的報文首部,如下圖所示:
    這里寫圖片描述

補充:端口號介紹

服務器一般都是通過知名端口號來識別的。例如,對於每個TCP/IP實現來說,FTP服務器的TCP端口號都是21,每個
Telnet服務器的TCP端口號都是23,每個TFTP (簡單文件傳送協議)服務器的UDP端口號都是69。任何TCP/IP實現所
提供的服務都用知名的1~1023之間的端口號。這些知名端口號由Internet號分配機構(Internet Assigned
Numbers Authority, IANA)來管理。知名端口號介於1~255之間;256~1023之間的端口號通常都是由Unix系統
占用,以提供一些特定的Unix服務;1024~5000端口號用於客戶端分配臨時端口號;大於5000的端口號是為其他服務
器預留的。

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: