1. 程式人生 > >網路程式設計通訊協議————TCP/IP

網路程式設計通訊協議————TCP/IP

通訊協議

計算機之間的相互通訊是通過網路來完成的,它們之間的通訊必需遵守一定的規則,在計算機網路中,這些規則就是網路通訊協議,它對傳輸的資料及格式等都做了統一的規定,雙方同時遵守才能完成資料交換。

TCP/IP

TCP/IP是“transmission Control Protocol/Internet Protocol”的簡寫,中文譯名為傳輸控制協議/網際網路絡協議, TCP/IP(傳輸控制協議/網際網路絡協議)是一種網路通訊協議,它規範了網路上的所有通訊裝置,尤其是一個主機與另一個主機之間的資料往來格式以及傳送方式

TCP/IP是網路中基本的通訊協議。從命名上看TCP/IP包括兩個協議,即傳輸控制協議(TCP)和網際網路絡協議(IP),但TCP/IP實際上是一組協議,它還包括其他各種不同功能的協議,例如檔案傳輸和電子郵件、HTTP等,而TCP協議和IP協議是保證資料完整傳輸的兩個基本重要協議。所以說TCP/IP是Internet協議族,而不僅僅指TCP和IP

。 

TCP/IP四層模型

應用層:對不同的網路應用引用不同的應用層協議,負責處理特定的應用程式的業務和程式細節,如檔案傳輸(FTP),網頁瀏覽(HTTP)、不同的服務採用不同的協議

常用協議如下:

1、FTP協議———(File Transfer Protocol 檔案傳輸協議) 基於 TCP,使用埠號 20(傳輸資料)和 21(傳輸控制資訊)

它的主要功能是減少或消除在不同作業系統下處理檔案的不相容性,以達到便捷高效的檔案傳輸效果。

FTP 只提供檔案傳輸的基本服務,它採用 客戶端—伺服器 的方式,一個 FTP 伺服器可同時為多個客戶端提供服務

在進行檔案傳輸時,FTP 的客戶端和伺服器之間會建立兩個 TCP 連線:21 號埠建立控制連線,20 號埠建立資料連線

FTP 的傳輸有兩種方式:ASCII 傳輸模式和二進位制資料傳輸模式。

2、HTTP協議———(HyperText Transfer Protocol 超文字傳輸協議) 基於 TCP,使用埠號 80 或 8080

在瀏覽器裡輸入一個網址或點選一個連結時,瀏覽器就通過 HTTP 協議從伺服器提取網頁資訊然後再在瀏覽器中顯示出來,在WEB應用中使用頻率極高

3、DNS———(Domain Name Service 域名服務) 協議基於 UDP,使用埠號 53

由數字組成的 IP 地址很難記憶,所以我們上網使用網站 IP 地址的別名——域名。實際使用中,域名與 IP 地址是對應的,這種對應關係儲存在DNS 伺服器之中。在瀏覽器中輸入一個網站地址(域名)後,會有 DNS 伺服器將域名解析為對應的 IP 地址。

4、Telnet————遠端登入協議

傳輸層:為應用層提供端到端的通訊功能,保證資料包的順序傳送以及資料的完整性。該層有兩個最主要的功能,第一定義了兩個主要的協議:傳輸控制協議(TCP)、使用者資料報協議(UDP),其中TCP協議是可靠的、面向連線的協議;UDP協議是不可靠的,面向無連線的協議;第二,確定接收端的埠號即傳送端的埠號。

傳輸層協議為TCP和UDP

兩者的區別

網路層:網路又分區域網(LAN, Local Area Network)和廣域網(WAN, Wide Area Network)。對於後者通常需要使用眾多分級的路由器來連線分散的主機或者LAN,即通訊的兩臺主機一般不是直接連線,而是通過多箇中間節點(路由器)連線的,從而形成網路拓撲連線。

網路層的任務之一就是選擇這些中間節點,以確定兩臺主機間的通訊路徑。

網路層對上層協議隱藏了網路拓撲連線的細節,傳輸層看來通訊雙方是直接連線的

IP協議(Internet Protocol)是網路層最核心的協議,它根據資料包的目的IP地址來決定如何投遞該資料包。若資料包不可直接傳送給目標主機,那麼IP協議就為它尋找一個合適的下一跳路由器,並將資料包交付給該路由器去轉發,如此迴圈直至到達目標主機或者傳送失敗而丟棄該資料包。
 

ARP:地址解析協議

在乙太網協議中規定,同一區域網中的一臺主機要和另一臺主機進行直接通訊,必須要知道目標主機的MAC地址。而在TCP/IP協議中,網路層和傳輸層只關心目標主機的IP地址。這就導致在乙太網中使用IP協議時,資料鏈路層的乙太網協議接到上層IP協議提供的資料中,只包含目的主機的IP地址。於是需要一種方法,根據目的主機的IP地址,獲得其MAC地址。這就是ARP協議要做的事情。所謂地址解析(address resolution)就是主機在傳送幀前將目標IP地址轉換成目標MAC地址的過程。
 

RARP:逆地址解析協議

ICMP:Internet控制報文協議

鏈路層四層模型的最底層,用來處理連線網路的硬體部分,包括控制作業系統,硬體的驅動、網路介面卡(網絡卡)、及物理可見部分,與硬體相關的基本都屬於鏈路層範疇。處理資料在物理媒介上的傳輸。

附上兩篇詳細博文: