網路通訊協議

2021-07-31 10:51:07 字數 3656 閱讀 8778

通過計算機網路可以使多台計算機實現連線,位於同乙個網路中的計算機在進行連線和通訊時需要遵守一定的規則,這就好比在道路中行駛的汽車一定要遵守交通規則一樣。在計算機網路中,這些連線和通訊的規則被稱為網路通訊協議,它對資料的傳輸格式、傳輸速率、傳輸步驟等做了統一規定,通訊雙方必須同時遵守才能完成資料交換。

網路通訊協議有很多種,目前應用最廣泛的是tcp/ip協議

(transmission control protocal/internet protoal

傳輸控制協議

/英特網互聯協議

),它是乙個

包括tcp協議和

ip協議,

udp(

user datagram protocol

)協議和其它一些協議的協議組,

在學習具體協議之前首先了解一下

tcp/ip協議組的層次結構。

在進行資料傳輸時,要求傳送的資料與收到的資料完全一樣,這時,就需要在原有的資料上新增很多資訊,以保證資料在傳輸過程中資料格式完全一致。

tcp/ip協議的層次結構比較簡單,共分為四層,如圖所示。

上圖中,tcp/ip協議中的四層分別是應用層、傳輸層、網路層和鏈路層,每層分別負責不同的通訊功能,接下來針對這四層進行詳細地講解。

鏈路層:

鏈路層是

用於定義

物理傳輸通道,

通常是對某些網路連線裝置的驅動協議,例如針對

光纖、網線

提供的驅動。

網路層:網路層

是整個tcp/ip協議的核心

,它主要用於將傳輸的資料進行分組,將分組資料傳送到目標計算機或者網路。 傳

輸層:主要使網路程式進行通訊,在進行網路通訊時,可以採用tcp協議,也可以採用

udp協議。

應用層:主要負責應用程式的協議,例如http協議、

ftp協議等。

要想使網路中的計算機能夠進行通訊,必須為每台計算機指定乙個標識號,通過這個標識號來指定接受資料的計算機或者傳送資料的計算機。

在tcp/ip協議中,這個標識號就是

ip位址,它可以唯一標識一台計算機,目前,

ip位址廣泛使用的版本是

ipv4

,它是由

4個位元組大小的二進位制數來表示,如:

00001010000000000000000000000001

。由於二進位制形式表示的

ip位址非常不便記憶和處理,因此通常會將

ip位址寫成十進位制的形式,每個位元組用乙個十進位制數字

(0-255)

表示,數字間用符號「

.」分開,如 「

192.168.1.100」。

隨著計算機網路規模的不斷擴大,對ip位址的需求也越來越多,

ipv4

這種用4

個位元組表示的

ip位址面臨枯竭,因此

ipv6

便應運而生了,

ipv6

使用16

個位元組表示

ip位址,它所擁有的位址容量約是

ipv4的8

×1028倍,達到2128

個(算上全零的),這樣就解決了網路位址資源數量不夠的問題。

通過ip位址可以連線到指定計算機,但如果想訪問目標計算機中的某個應用程式,還需要指定埠號。在計算機中,不同的應用程式是通過埠號區分的。埠號是用兩個位元組(

16位的二進位制數)表示的,它的取值範圍是

0~65535

,其中,

0~1023

之間的埠號用於一些知名的網路服務和應用,使用者的普通應用程式需要使用

1024

以上的埠號,從而避免埠號被另外乙個應用或服務所占用。

接下來通過乙個圖例來描述ip位址和埠號的作用,如下圖所示。

gfu

從上圖中可以清楚地看到,位於網路中一台計算機可以通過ip位址去訪問另一台計算機,並通過埠號訪問目標計算機中的某個應用程式。

了解了ip位址的作用,我們看學習下

jdk中提供了乙個

inetadderss

類,該類用於封裝乙個

ip位址,並提供了一系列與

ip位址相關的方法,下表中列出了

inetaddress

類的一些常用方法。

上圖中,列舉了inetaddress的四個常用方法。其中,前兩個方法用於獲得該類的例項物件,第乙個方法用於獲得表示指定主機的

inetaddress

物件,第二個方法用於獲得表示本地的

inetaddress

物件。通過

inetaddress

物件便可獲取指定主機名,

ip位址等,接下來通過乙個案例來演示

inetaddress

的常用方法,如下所示。

}在介紹tcp/ip結構時,提到傳輸層的兩個重要的高階協議,分別是

udp和

tcp,其中

udp是

user datagram protocol

的簡稱,稱為使用者資料報協議,

tcp是

transmission control protocol

的簡稱,稱為傳輸控制協議。

埠號:用來區別當前電腦中的應用程式的

udp程式互動的流程:

* 傳送端

1,建立

datagramsocket

物件2,建立

datagrampacket

物件,並封裝資料

3,傳送資料

4,釋放流資源

* 接收端

1,建立

datagramsocket

物件2,建立

datagrampacket

物件3,接收資料儲存到

datagrampacket

物件中4,獲取

datagrampacket

物件的內容

5,釋放流資源

tcp程式互動的流程

客戶端

1,建立客戶端的

socket

物件2,獲取

socket

的輸出流物件

3,寫資料給伺服器

4,獲取

socket

的輸入流物件

5,使用輸入流,讀反饋資訊

6,關閉流資源

伺服器端

1,建立伺服器端

serversocket

物件,指定伺服器端埠號

2,開啟伺服器,等待著客戶端

socket

物件的連線,如有客戶端連線,返回客戶端的

socket

物件3,通過客戶端的

socket

物件,獲取客戶端的輸入流,為了實現獲取客戶端發來的資料

4,通過客戶端的輸入流,獲取流中的資料

5,通過客戶端的

socket

物件,獲取客戶端的輸出流,為了實現給客戶端反饋資訊

6,通過客戶端的輸出流,寫資料到流中

7,關閉流資源

網路通訊協議

網路協議是構成網路的基本元件之一,協議是若干規則和協定的組合,一般指機器1的第n 層與機器2的第 n層的對話,這種對話中所使用的若干規則和約束便稱為第 n層網路協議。tcp ip 網路體系結構模型就是遵循 tcp ip 協議進行通訊的一種分層體系,現今,internet 和intranet 所使用的...

網路通訊協議

一 osi模型 名稱 層次 功能 物理層 1 實現計算機系統與網路間的物理連線 資料鏈路層 2 進行資料打包與解包,形成資訊幀 網路層 3 提供資料通過的路由 傳輸層 4 提供傳輸順序資訊與響應 會話層 5 建立和中止連線 表示層 6 資料轉換 確認資料格式 應用層 7 提供使用者程式介面 二 協議...

網路通訊協議

傳輸層協議中有兩個非常重要的協議 tcp ip 以其兩個主要協議 傳輸控制協議 tcp,和網路互聯協議 ip,而得名,實際上是一組協議,包括多個具有不同功能且互為關聯的協議。ip internet protocol 協議是網路層的主要協議,支援網間互聯的資料通訊。tcp ip協議模型從更實用的角度出...