TCP/IP通訊架構
1 .計算機網路的體系結構
計算機網路是一個非常複雜的系統,將整個網路的傳輸功能進行分層設計的網路結構層次模型及各層協議的集合稱為計算機網路的體系結構。為了解決異構互聯及通訊問題, 20 世紀 70 年代後期國際標準化組織( ISO )制定了 OSI ( Open System Interconnect )開放式系統互聯參考模型。該模型採用了三級抽象,即體系結構、服務定義和協議規格說明,是一種標準化的理論參考模型。
開放式網際網路( Internet )發展的第一階段是從單個網路 ARPANET 向網際網路發展的過程,以 1983 年 TCP/IP
2 . TCP/IP 參考模型
TCP/IP ,全稱為 Transfer Controln Protocol/Internet Protocol ,即傳輸控制 / 網際協議,它並不單隻 TCP 和 IP 這兩個協議,而是用於計算機通訊的一組協議,我們通常稱之為 TCP/IP 協議族。
TCP/IP 是四層的體系結構:應用層、運輸層、網際層和網路介面層。但最下面的網路介面層並沒有具體內容。因此往往採取折中的辦法,即綜合 OSI 和 TCP/IP
圖 1 OSI 體系結構與 TCP/IP 體系結構的關係
2.1 .物理層( Physical Layer )
物理層把位元流傳送到物理媒體。電氣訊號(或光訊號)在物理媒體中傳播,位元流從傳送端物理層傳送到接收端物理層。物理層接收到位元流,上交給資料鏈路層。主機的網絡卡、 RJ45 乙太網介面、網線等硬體裝置均屬於物理層範疇。
2.2 .資料鏈路層( Data Link Layer )
資料鏈路層也稱為網路介面層,它的功能是將網路層提交的資料報(
對於一個給定的(物理)連線來說,鏈路層協議主要實現在網路介面卡中,即我們常說的網絡卡( NIC , Network Interface Card )。傳輸節點的網路層把 IP 資料報傳遞到介面卡,由介面卡將此資料報封裝到鏈路層的幀中,然後把這個幀傳輸到物理層通訊鏈路。
現在一般都是乙太網卡,上面跑的是乙太網驅動。 DSL 通訊中的 PPPoE 即 Point to Point Protocol over Ethernet ,其層級同網路層。
2.3 .網路層( Network Layer )
Internet 的網路層通過一系列的路由器在源地址和目的地址之間傳輸資料包,它依賴於底層鏈路層的服務。由於該層的主要協議是 IP 協議,因而也可簡稱為 IP 層。它是 TCP/IP 協議棧中最重要的一層,主要功能是可以把源主機上的分片( Fragment )傳送到網際網路中的任何一臺目標主機上。
網路層包含了子網操作,它是懂得網路拓撲結構(網路中機器的物理配置,頻寬的限制等)的最高層,也是內網通訊的最高層。涉及到 ARP 協議, ICMP 協議, RIP 、 OSPF 、 BGP 等路由協議和路由器裝置。
2.4 .傳輸層( Transport Layer )
我們通常所說的兩臺主機之間的通訊其實是兩臺主機上對應應用程式之間的通訊,傳輸層提供的就是應用程式之間的通訊,也叫端到端( host-to-host end-to-end )的通訊。在 TCP/IP 協議族中傳輸層包含點對點( Peer to Peer )的傳輸協議:一個是 TCP (傳輸控制協議);另一個是 UDP (使用者資料報協議)。
TCP 是一個可靠的面向連線的協議,它允許源於一個機器的位元組流( byte stream )被無錯誤地傳輸到 Internet 上的任何機器。 UDP 是一個不可靠無連線的協議,它是為那些不需要 TCP 的序列號管理和流控制而想自己提供這些功能的應用程式設計的。
2.5 .應用層( Application Layer )
應用層是指建立在傳輸層之上,直接面向用戶,向用戶提供特定的、常用的應用程式。如遠端登入服務( tcp/telnet )、超文字傳輸協議( tcp/http )、檔案傳輸協議( tcp/ftp )、實時流媒體協議( tcp/rtsp );動態主機設定協議( udp/dhcp )、簡單檔案傳輸協議( udp/tftp )、實時傳輸協議( udp/rtp )等。
鑑於 TCP 和 UDP 協議各自的特性,有些應用綜合使用兩種協議。例如 DNS 在某些情況下使用 TCP (傳送和接收域名資料庫),但使用 UDP 傳送有關單個主機的資訊; RTSP/RTP/RTCP 使用 TCP 實現流點播控制,使用 UDP 實現資料傳輸及控制。
3 . TCP/IP 協議模組
TCP/IP 協議模組關係如圖 2 所示。
圖 2 TCP/IP 協議模組關係
TCP/IP 協議分為四層結構,這四層結構中有兩個重要的邊界:一個是將作業系統與應用程式分開的邊界,另一個是將高層網際網路地址與低層物理網絡卡地址分開的邊界,如圖 2-3 所示。
圖 3 TCP/IP 協議模型的兩個邊界
3.1 .作業系統邊界
作業系統邊界的上面是應用層,應用層處理的是使用者應用程式(使用者程序)的細節問題,提供面向使用者的服務。
3.2 .地址邊界
地址邊界的上層為網路層,網路層用於對不同的網路進行互聯,連線在一起的所有網路為了能互相定址,要使用統一的網際網路地址( IP 地址)。
4 .基於 TCP/IP 架構的網路通訊模型
如圖 4 所示的 TCP/IP 協議通訊模型,這個模型儘管是由分析主機 A 和主機 B 通訊而來的,但該模型是一個一般的模型,也適合於網路中其他主機之間的通訊描述。
該模型中,主機 A 和主機 1 組成了端到端( Endpoint to Endpoint )的系統。
圖 4 TCP/IP 協議的通訊模型