TCP/IP

TCP/IP

TCP/IP其實是兩個網路基礎協定:IP協定、TCP協定名稱的組合。下面我們分別來看看這兩個無處不在的協定。

TCP/IP其實是兩個網路基礎協定:IP協定、TCP協定名稱的組合。下面我們分別來看看這兩個無處不在的協定。
IP協定。

IP(InternetProtocol)協定的英文名直譯就是:網際網路協定。從這個名稱我們就可以知道IP協定的重要性。在現實生活中,我們進行貨物運輸時都是把貨物包裝成一個個的紙箱或者是貨櫃之後才進行運輸,在網路世界中各種信息也是通過類似的方式進行傳輸的。IP協定規定了數據傳輸時的基本單元和格式。如果比作貨物運輸,IP協定規定了貨物打包時的包裝箱尺寸和包裝的程式。除了這些以外,IP協定還定義了數據包的遞交辦法和路由選擇。同樣用貨物運輸做比喻,IP協定規定了貨物的運輸方法和運輸路線。

TCP/IPTCP/IP

TCP協定

我們已經知道了IP協定很重要,IP協定已經規定了數據傳輸的主要內容,在IP協定中定義的傳輸是單向的,也就是說發出去的貨物對方有沒有收到我們是不知道的。就好像8毛錢一份的平信一樣。那對於重要的信件我們要寄掛號信怎么辦呢?TCP協定就是幫我們寄“掛號信”的。TCP協定提供了可靠的面向對象的數據流傳輸服務的規則和約定。簡單的說在TCP模式中,對方發一個數據包給你,你要發一個確認數據包給對方。通過這種確認來提供可靠性。

TCP/IP(TransmissionControlProtocol/InternetProtocol的簡寫,中文譯名為傳輸控制協定/網際網路協定)協定是Internet最基本的協定,簡單地說,就是由底層的IP協定和TCP協定組成的。TCP/IP協定的開發工作始於70年代,是用於網際網路的第一套協定。

協定介紹

TCP/IP的通訊協定

簡要介紹一下TCP/IP的內部結構,TCP/IP協定組之所以流行,部分原因是因為它可以用在各種各樣的信道和底層協定(例如T1和X.25、乙太網以及RS-232串列接口)之上。確切地說,TCP/IP協定是一組包括TCP協定和IP協定,UDP(UserDatagramProtocol)協定、ICMP(InternetControlMessageProtocol)協定和其他一些協定的協定組。

整體構架

TCP/IP協定並不完全符合OSI的七層參考模型。傳統的開放式系統互連參考模型,是一種通信協定的7層抽象的參考模型,其中每一層執行某一特定任務。該模型的目的是使各種硬體在相同的層次上相互通信。這7層是:物理層、數據鏈路層、網路層、傳輸層、會話層、表示層和套用層。而TCP/IP通訊協定採用了4層的層級結構,每一層都呼叫它的下一層所提供的網路來完成自己的需求。這4層分別為:

套用層:應用程式間溝通的層,如簡單電子郵件傳輸(SMTP)、檔案傳輸協定FTP)、網路遠程訪問協定(Telnet)等。

TCP/IPTCP/IP

傳輸層:在此層中,它提供了節點間的數據傳送服務,如傳輸控制協定(TCP)、用戶數據報協定(UDP)等,TCP和UDP給數據包加入傳輸數據並把它傳輸到下一層中,這一層負責傳送數據,並且確定數據已被送達並接收。

互連網路層:負責提供基本的數據封包傳送功能,讓每一塊數據包都能夠到達目的主機(但不檢查是否被正確接收),如網際協定(IP)。

網路接口層:對實際的網路媒體的管理,定義如何使用實際網路(如Ethernet、SerialLine等)來傳送數據。

具體功能

以下簡單介紹TCP/IP中的協定都具備什麼樣的功能,都是如何工作的:

1.IP

網際協定IP是TCP/IP的心臟,也是網路層中最重要的協定。

IP層接收由更低層(網路接口層例如乙太網設備驅動程式)發來的數據包,並把該數據包傳送到更高層---TCP或UDP層;相反,IP層也把從TCP或UDP層接收來的數據包傳送到更低層。IP數據包是不可靠的,因為IP並沒有做任何事情來確認數據包是按順序傳送的或者沒有被破壞。IP數據包中含有傳送它的主機的地址(源地址)和接收它的主機的地址(目的地址)。

高層的TCPUDP服務在接收數據包時,通常假設包中的源地址是有效的。也可以這樣說,IP位址形成了許多服務的認證基礎,這些服務相信數據包是從一個有效的主機傳送來的。IP確認包含一個選項,叫作IPsourcerouting,可以用來指定一條源地址和目的地址之間的直接路徑。對於一些TCP和UDP的服務來說,使用了該選項的IP包好像是從路徑上的最後一個系統傳遞過來的,而不是來自於它的真實地點。這個選項是為了測試而存在的,說明了它可以被用來欺騙系統來進行平常是被禁止的連線。那么,許多依靠IP源地址做確認的服務將產生問題並且會被非法入侵。

2.TCP

如果IP數據包中有已經封好的TCP數據包,那么IP將把它們向‘上’傳送到TCP層。TCP將包排序並進行錯誤檢查,同時實現虛電路間的連線。TCP數據包中包括序號和確認,所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。

TCP/IPTCP/IP

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的服務。

5.TCP和UDP的連線埠結構

TCP和UDP服務通常有一個客戶/伺服器的關係,例如,一個Telnet服務進程開始在系統上處於空閒狀態,等待著連線。用戶使用Telnet客戶程式與服務進程建立一個連線。客戶程式向服務進程寫入信息,服務進程讀出信息並發出回響,客戶程式讀出回響並向用戶報告。因而,這個連線是雙工的,可以用來進行讀寫。

兩個系統間的多重Telnet連線是如何相互確認並協調一致呢?TCP或UDP連線唯一地使用每個信息中的如下四項進行確認:

源IP位址傳送包的IP位址。

目的IP位址接收包的IP位址。

源連線埠源系統上的連線的連線埠。

目的連線埠目的系統上的連線的連線埠。

連線埠是一個軟體結構,被客戶程式或服務進程用來傳送和接收信息。一個連線埠對應一個16比特的數。服務進程通常使用一個固定的連線埠,例如,SMTP使用25、Xwindows使用6000。這些連線埠號是‘廣為人知’的,因為在建立與特定的主機或服務的連線時,需要這些地址和目的地址進行通訊。

參考模型

TCP/IP協定的開發研製人員將Internet分為五個層次,以便於理解,它也稱為網際網路分層模型或網際網路分層參考模型,如下表:

套用層(第五層)
傳輸層(第四層)
網際網路層(第三層)
網路接口層(第二層)
物理層(第一層)

物理層:對應於網路的基本硬體,這也是Internet物理構成,即我們可以看得見的硬設備,如PC機、互連網伺服器、網路設備等,必須對這些硬設備的電氣特性作一個規範,使這些設備都能夠互相連線併兼容使用。

網路接口層:它定義了將資料組成正確幀的規程和在網路中傳輸幀的規程,幀是指一串資料,它是資料在網路中傳輸的單位。

網際網路層:本層定義了網際網路中傳輸的“信息包”格式,以及從一個用戶通過一個或多個路由器到最終目標的"信息包"轉發機制。
傳輸層:為兩個用戶進程之間建立、管理和拆除可靠而又有效的端到端連線。

套用層:它定義了應用程式使用網際網路的規程。

網間協定IP

Internet上使用的一個關鍵的底層協定是網際協定,通常稱IP協定。我們利用一個共同遵守的通信協定,從而使Internet成為一個允許連線不同類型的計算機和不同作業系統的網路。要使兩台計算機彼此之間進行通信,必須使兩台計算機使用同一種"語言"。通信協定正像兩台計算機交換信息所使用的共同語言,它規定了通信雙方在通信中所應共同遵守的約定。
計算機的通信協定精確地定義了計算機在彼此通信過程的所有細節。例如,每台計算機傳送的信息格式和含義,在什麼情況下應傳送規定的特殊信息,以及接收方的計算機應做出哪些應答等等。
網際協定IP協定提供了能適應各種各樣網路硬體的靈活性,對底層網路硬體幾乎沒有任何要求,任何一個網路只要可以從一個地點向另一個地點傳送二進制數據,就可以使用IP協定加入Internet了。
如果希望能在Internet上進行交流和通信,則每台連上Internet的計算機都必須遵守IP協定。為此使用Internet的每台計算機都必須運行IP軟體,以便時刻準備傳送或接收信息。
IP協定對於網路通信有著重要的意義:網路中的計算機通過安裝IP軟體,使許許多多的區域網路構成了一個龐大而又嚴密的通信系統。從而使Internet看起來好像是真實存在的,但實際上它是一種並不存在的虛擬網路,只不過是利用IP協定把全世界上所有願意接入Internet的計算機區域網路連線起來,使得它們彼此之間都能夠通信。

傳輸控制協定TCP

儘管計算機通過安裝IP軟體,從而保證了計算機之間可以傳送和接收資料,但IP協定還不能解決資料分組在傳輸過程中可能出現的問題。因此,若要解決可能出現的問題,連上Internet的計算機還需要安裝TCP協定來提供可靠的並且無差錯的通信服務。
TCP協定被稱作一種端對端協定。這是因為它為兩台計算機之間的連線起了重要作用:當一台計算機需要與另一台遠程計算機連線時,TCP協定會讓它們建立一個連線、傳送和接收資料以及終止連線。
傳輸控制協定TCP協定利用重發技術和擁塞控制機制,向應用程式提供可靠的通信連線,使它能夠自動適應網上的各種變化。即使在Internet暫時出現堵塞的情況下,TCP也能夠保證通信的可靠。
眾所周知,Internet是一個龐大的國際性網路,網路上的擁擠和空閒時間總是交替不定的,加上傳送的距離也遠近

TCP/IPTCP/IP
不同,所以傳輸資料所用時間也會變化不定。TCP協定具有自動調整"逾時值"的功能,能很好地適應Internet上各種各樣的變化,確保傳輸數值的正確。
因此,從上面我們可以了解到:IP協定只保證計算機能傳送和接收分組資料,而TCP協定則可提供一個可靠的、可流控的、全雙工的信息流傳輸服務。

綜上所述,雖然IP和TCP這兩個協定的功能不盡相同,也可以分開單獨使用,但它們是在同一時期作為一個協定來設計的,並且在功能上也是互補的。只有兩者的結合,才能保證Internet在複雜的環境下正常運行。凡是要連線到Internet的計算機,都必須同時安裝和使用這兩個協定,因此在實際中常把這兩個協定統稱作TCP/IP協定。

IP位址及其分類

在Internet上連線的所有計算機,從大型機到微型計算機都是以獨立的身份出現,我們稱它為主機。為了實現各主機間的通信,每台主機都必須有一個唯一的網路地址。就好像每一個住宅都有唯一的門牌一樣,才不至於在傳輸資料時出現混亂。
Internet的網路地址是指連入Internet網路的計算機的地址編號。所以,在Internet網路中,網路地址唯一地標識一台計算機。
我們都已經知道,Internet是由幾千萬台計算機互相連線而成的。而我們要確認網路上的每一台計算機,靠的就是能唯一標識該計算機的網路地址,這個地址就叫做IP(InternetProtocol的簡寫)地址,即用Internet協定語言表示的地址。
目前,在Internet里,IP位址是一個32位的二進制地址,為了便於記憶,將它們分為4組,每組8位,由小數點分開,用四個位元組來表示,而且,用點分開的每個位元組的數值範圍是0~255,如202.116.0.1,這種書寫方法叫做點數表示法。
IP位址可確認網路中的任何一個網路和計算機,而要識別其它網路或其中的計算機,則是根據這些IP位址的分類來確定的。一般將IP位址按節點計算機所在網路規模的大小分為A,B,C三類,默認的網路禁止是根據IP位址中的第一個欄位確定的。
1.A類地址
A類地址的表示範圍為:0.0.0.0~126.255.255.255,默認網路禁止為:255.0.0.0;A類地址分配給規模特別大的網路使用。A類網路用第一組數字表示網路本身的地址,後面三組數字作為連線於網路上的主機的地址。分配給具有大量主機(直接個人用戶)而區域網路個數較少的大型網路。例如IBM公司的網路。
2.B類地址
B類地址的表示範圍為:128.0.0.0~191.255.255.255,默認網路禁止為:255.255.0.0;B類地址分配給一般的中型網路。B類網路用第一、二組數字表示網路的地址,後面兩組數字代表網路上的主機地址。
3.C類地址
C類地址的表示範圍為:192.0.0.0~223.255.255.255,默認網路禁止為:255.255.255.0;C類地址分配給小型網路,如一般的區域網路和校園網,它可連線的主機數量是最少的,採用把所屬的用戶分為若干的網段進行管理。C類網路用前三組數字表示網路的地址,最後一組數字作為網路上的主機地址。

RFC1918留出了3塊IP位址空間(1個A類地址段,16個B類地址段,256個C類地址段)作為私有的內部使用的地址。在這個範圍內的IP位址不能被路由到Internet骨幹網上;Internet路由器將丟棄該私有地址。

IP位址類別RFC1918內部地址範圍
A類10.0.0.0到10.255.255.255
B類172.16.0.0到172.31.255.255
C類192.168.0.0到192.168.255.255

使用私有地址將網路連至Internet,需要將私有地址轉換為公有地址。這個轉換過程稱為網路地址轉換(NetworkAddressTranslation,NAT),通常使用路由器來執行NAT轉換。

實際上,還存在著D類地址E類地址。但這兩類地址用途比較特殊,在這裡只是簡單介紹一下:D類地址稱為廣播地址,供特殊協定向選定的節點傳送信息時用。E類地址保留給將來使用。

TCP/IPTCP/IP

連線到Internet上的每台計算機,不論其IP位址屬於哪類都與網路中的其它計算機處於平等地位,因為只有IP位址才是區別計算機的唯一標識。所以,以上IP位址的分類只適用於網路分類。
在Internet中,一台計算機可以有一個或多個IP位址,就像一個人可以有多個通信地址一樣,但兩台或多台計算機卻不能共享一個IP位址。如果有兩台計算機的IP位址相同,則會引起異常現象,無論哪台計算機都將無法正常工作。
順便提一下幾類特殊的IP位址:
1.廣播地址目的端為給定網路上的所有主機,一般主機段為全0
2.單播地址目的端為指定網路上的單個主機地址
3.組播地址目的端為同一組內的所有主機地址
4.環回地址127.0.0.1在環回測試和廣播測試時會使用
1.5子網的劃分
若公司不上Internet,那一定不會煩惱IPAddress的問題,因為可以任意使用所有的IPAddress,不管是AClass或是BClass,這個時候不會想到要用SubNet,但若是上Internet那IPAddress便彌足珍貴了,目前全球一陣Internet熱,IPAddress已經愈來愈少了,而所申請的IPAddress目前也趨保守,而且只有經申請的IPAddress能在Internet使用,但對某些公司只能申請到一個CCLass的IPAddress,但又有多個點需要使用,那這時便需要使用到Subnet,這就需要考慮子網的劃分,下面簡介Subnet的原理及如何規劃。

SubnetMask的介紹

設定任何網路上的任何設備不管是主機、PC、Router等皆需要設定IPAddress,而跟隨著IPAddress的是所謂的NetMask,這個NetMask主要的目的是由IPAddress中也能獲得NetworkNumber,也就是說IPAddress和NetMask作AND而得到NetworkNumber,如下所示:
IPAddress
192.10.10.611000000.00001010.00001010.00000110
NetMask
255.255.255.011111111.11111111.11111111.00000000
AND
-------------------------------------------------------------------
NetworkNumber
192.10.10.011000000.00001010.00001010.00000000
NetMask有所謂的默認值,如下所示
ClassIPAddress範圍NetMask
A 1.0.0.0-126.255.255.255255.0.0.0
B 128.0.0.0-191.255.255.255255.255.0.0
C 192.0.0.0-223.255.255.255255.255.255.0
在預設的NetMask都只有255的值,在談到SubnetMask時這個值便不一定是255了。在完整一組CClass中如203.67.10.0-203.67.10.255NetMask255.255.255.0,203.67.10.0稱之NetworkNumber(將IPAddress和Netmask作AND),而203.67.10.255是Broadcast的IPAddress,所以這兩者皆不能使用,實際只能使用203.67.10.1--203.67.10.254等254個IPAddress,這是以255.255.255.0作NetMask的結果,而所謂SubnetMsk尚可將整組CClass分成數組NetworkNumber,這要在NEtMask作手腳,若是要將整組CCLass分成2個NetworkNumber那NetMask設定為255.255.255.192,若是要將整組CCLass分成8組NetworkNumber則NetMask要為255.255.255.224,這是怎么來的,由以上知道NetworkNumber是由IPAddress和NetMask作AND而來的,而且將NetMask以二進制表示法知道是1的會保留,而為0的去掉

192.10.10.193--11000000.00001010.00001010.10000001
255.255.255.0--11111111.11111111.11111111.00000000
--------------------------------------------------------------
192.10.10.0--11000000.00001010.00001010.00000000
以上是以255.255.255.0為NetMask的結果,NetworkNumber是192.10.10.0,若是使用255.255.255.224作NetMask結果便有所不同
192.10.10.193--11000000.00001010.00001010.10000000
255.255.255.224--11111111.11111111.11111111.11100000
--------------------------------------------------------------
192.10.10.192--11000000.00001010.00001010.10000000
此時NetworkNumber變成了192.10.10.192,這便是Subnet。那要如何決定所使用的NetMask,255.255.255.224以二進制表示法為11111111.11111111.11111111.11100000,變化是在最後一組,11100000便是224,以三個Bit可表示2的3次方便是8個NetworkNumber
NetMask二進制表示法可分幾個Network
255.255.255.011111111.11111111.11111111.000000001
255.255.255.128
11111111.11111111.11111111.100000002
255.255.255.192
11111111.11111111.11111111.110000004
255.255.255.224
11111111.11111111.11111111.111000008
255.255.255.240
11111111.11111111.11111111.1111000016
255.255.255.248
11111111.11111111.11111111.1111100032
255.255.255.252
11111111.11111111.11111111.1111110064
以下使用255.255.255.224將C Class203.67.10.0分成8組NetworkNumber,各個NetworkNumber及其BroadcastIPAddress及可使用之IPAddress序號NetworkNumberBroadcast可使用之IPAddress
(1)203.67.10.0--203.67.10.31
203.67.10.1--203.67.10.30
(2)203.67.10.32--203.67.10.63
203.67.10.33--203.67.10.62
(3)203.67.10.64--203.67.10.95
203.67.10.65--203.67.10.94
(4)203.67.10.96--203.67.10.127
203.67.10.97--203.67.10.126
(5)203.67.10.128--203.67.10.159
203.67.10.129--203.67.10.158
(6)203.67.10.160--203.67.10.191
203.67.10.161--203.67.10.190
(7)203.67.10.192--203.67.10.223
203.67.10.193--203.67.10.222
(8)203.67.10.224--203.67.10.255
203.67.10.225--203.67.10.254
可驗證所使用的IPAddress是否如上表所示
203.67.10.115--11001011.01000011.00001010.01110011
255.255.255.224--11111111.11111111.11111111.11100000
--------------------------------------------------------------
203.67.10.96--11001011.01000011.00001010.01100000
203.67.10.55--11001011.01000011.00001010.00110111
255.255.255.224--11111111.11111111.11111111.11100000
--------------------------------------------------------------
203.67.10.32--11001011.01000011.00001010.00100000
其它的NetMask所分成的NetworkNumber可自行以上述方法自行推演出來。

Subnet的套用

使用Subnet是要解決只有一組CClass但需要數個NetworkNumber的問題,並不是解決IPAddress不夠用的問題,因為使用Subnet反而能使用的IPAddress會變少,Subnet通常是使用在跨地域的網路互聯之中,兩者之間使用Router連線,同時也上Internet,但只申請到一組CClassIPAddress,過Router又需不同的Network,所以此時就必須使用到Subnet,當然二網路間也可以RemoteBridge連線,那便沒有使用Subnet的問題。

測試簡介

安裝網路硬體和網路協定之後,我們一般要進行TCP/IP協定的測試工作,那么怎樣測試才算是比較全面的測試呢?我們認為,全面的測試應包括區域網路和網際網路兩個方面,因此應從區域網路和網際網路兩個方面測試,以下是我們在實際工作中利用命令行測試TCP/IP配置的步驟:
1、單擊“開始”/“運行”,輸入CMD按回車,打開命令提示符視窗。

2、首先檢查IP位址、子網掩碼、默認網關、DNS伺服器地址是否正確,輸入命令ipconfig/all,按回車。此時顯示了你的網路配置,觀查是否正確。

3、輸入ping127.0.0.1,觀查網卡是否能轉發數據,如果出現“Requesttimedout”,表明配置差錯或網路有問題。

4、Ping一個網際網路地址,如ping202.102.128.68,看是否有數據包傳回,以驗證與網際網路的連線性。

5、Ping一個區域網路地址,觀查與它的連通性。

6、用nslookup測試DNS解析是否正確,輸入如nslookupwww.ccidnet.com,查看是否能解析。

如果計算機通過了全部測試,則說明網路正常,否則網路可能有不同程度的問題。在此不展開詳述。不過,要注意,在使用ping命令時,有些公司會在其主機設定丟棄icmp數據包,造成你的ping命令無法正常返回數據包,不防換個網站試試。

協定簇

TCP/IP(TransmissionControlProtocol/InternetProtocol)已成為一個事實上的工業
標準。
TCP/IP是一組協定的代名詞,它還包括許多協定,組成了TCP/IP協定簇。
TCP/IP協定簇分為四層,IP位於協定簇的第二層(對應OSI的第三層),TCP位於協定簇的第
三層(對應OSI的第四層)。
TCP和IP是TCP/IP協定簇的中間兩層,是整個協定簇的核心,起到了承上啟下的作用。
1、接口層
TCP/IP的最低層是接口層,常見的接口層協定有:
Ethernet802.3、TokenRing802.5、X.25、Framereley、HDLC、PPP等。
2、網路層
網路層包括:IP(InternetProtocol)協定、ICMP(InternetControlMessageProtocol)
控制報文協定、ARP(AddressResolutionProtocol)地址轉換協定、RARP(ReverseARP)反向
地址轉換協定。
IP是網路層的核心,通過路由選擇將下一跳IP封裝後交給接口層。IP數據報是無連線服務

ICMP是網路層的補充,可以回送報文。用來檢測網路是否通暢。
Ping命令就是傳送ICMP的echo包,通過回送的echorelay進行網路測試。
ARP是正向地址解析協定,通過已知的IP,尋找對應主機的MAC地址。
RARP是反向地址解析協定,通過MAC地址確定IP位址。比如無盤工作站和DHCP服務。
3、傳輸層
傳輸層協定主要是:傳輸控制協定TCP(TransmissionControlProtocol)和用戶數據報協
議UDP(UserDatagramrotocol)。
TCP是面向連線的通信協定,通過三次握手建立連線,通訊時完成時要拆除連線,由於TCP
是面向連線的所以只能用於點對點的通訊。
TCP提供的是一種可靠的數據流服務,採用“帶重傳的肯定確認”技術來實現傳輸的可靠
性。TCP還採用一種稱為“滑動視窗”的方式進行流量控制,所謂視窗實際表示接收能力,用
以限制傳送方的傳送速度。
UDP是面向無連線的通訊協定,UDP數據包括目的連線埠號和源連線埠號信息,由於通訊不需要
連線,所以可以實現廣播傳送。
UDP通訊時不需要接收方確認,屬於不可靠的傳輸,可能會出丟包現象,實際套用中要求
在程式設計師編程驗證。
4、套用層
套用層一般是面向用戶的服務。如FTP、TELNET、DNS、SMTP、POP3。
FTP(FileTransmisionProtocol)是檔案傳輸協定,一般上傳下載用FTP服務,數據連線埠
是20H,控制連線埠是21H。

TCP/IPTCP/IP

Telnet服務是用戶遠程登錄服務,使用23H連線埠,使用明碼傳送,保密性差、簡單方便。
DNS(DomainNameService)是域名解析服務,提供域名到IP位址之間的轉換。
SMTP(SimpleMailTransferProtocol)是簡單郵件傳輸協定,用來控制信件的傳送、中
轉。 
POP3(PostOfficeProtocol3)是郵局協定第3版本,用於接收郵件。
數據格式:
數據幀:幀頭+IP數據包+幀尾(幀頭包括源和目標主機MAC地址及類型,幀尾是校驗字)
IP數據包:IP頭部+TCP數據信息(IP頭包括源和目標主機IP位址、類型、生存期等)
TCP數據信息:TCP頭部+實際數據(TCP頭包括源和目標主機連線埠號、順序號、確認號、校
驗字等)。

前景分析

每種網路協定都有自己的優點,但是只有TCP/IP允許與Internet完全的連線。TCP/IP是在60年代由麻省理工學院和一些商業組織為美國國防部開發的,即便遭到核攻擊而破壞了大部分網路,TCP/IP仍然能夠維持有效的通信。ARPANET就是由基於協定開發的,並發展成為作為科學家和工程師交流媒體的Internet。

TCP/IP同時具備了可擴展性和可靠性的需求。不幸的是犧牲了速度和效率(可是:TCP/IP的開發受到了政府的資助)。

Internet公用化以後,人們開始發現全球網的強大功能。Internet的普遍性是TCP/IP至今仍然使用的原因。常常在沒有意識到的情況下,用戶就在自己的PC上安裝了TCP/IP棧,從而使該網路協定在全球套用最廣。

TCP/IP的32位定址功能方案不足以支持即將加入Internet的主機和網路數。因而可能代替當前實現的標準是IPv6。

參考連結

http://www.cnpaf.net/class/tcpandip/

http://ccpcpc.cn/html/base/175/index_2.html

網路協定

網路上的計算機之間又是如何交換信息的呢?就像我們說話用某種語言一樣,在網路上的各台計算機之間也有一種語言,這就是網路協定,不同的計算機之間必須使用相同的網路協定才能進行通信。

相關搜尋

熱門詞條

聯絡我們