TCP IP簡介

TCP IP簡介

tern tern tern

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

TCP/IP參考模型

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

TCP IP簡介TCP IP簡介

·物理層:對應於網路的基本硬體,這也是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協定具有自動調整"逾時值"的功能,能很好地適應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類網路用前三組數字表示網路的地址,最後一組數字作為網路上的主機地址。
實際上,還存在著D類地址E類地址。但這兩類地址用途比較特殊,在這裡只是簡單介紹一下:D類地址稱為廣播地址,供特殊協定向選定的節點傳送信息時用。E類地址保留給將來使用。
連線到Internet上的每台計算機,不論其IP位址屬於哪類都與網路中的其他計算機處於平等地位,因為只有IP位址才是區別計算機的唯一標識。所以,以上IP位址的分類只適用於網路分類。
在Internet中,一台計算機可以有一個或多個IP位址,就像一個人可以有多個通信地址一樣,但兩台或多台計算機卻不能共用一個IP位址。如果有兩台計算機的IP位址相同,則會引起異常現象,無論哪台計算機都將無法正常工作。
順便提一下幾類特殊的IP位址:
1. 廣播地址目的端為給定網路上的所有主機,一般主機段為全0
2.單播地址目的端為指定網路上的單個主機地址
3. 組播地址目的端為同一組內的所有主機地址
4. 環回地址127.0.0.1在環回測試和廣播測試時會使用

子網的劃分

若公司不上Internet,那一定不會煩惱IPAddress的問題,因為可以任意使用所有的IPAddress,不管是AClass或是BClass,這個時候不會想到要用SubNet,但若是上Internet那IPAddress便彌足珍貴了,目前全球一陣Internet熱,IPAddress已經愈來愈少了,而所申請的IPAddress目前也趨保守,而且只有經申請的IPAddress能在Internet使用,但對某些公司只能申請到一個CCLass的IPAddress,但又有多個點需要使用,那這時便需要使用到Subnet,這就需要考慮子網的劃分,下面簡介Subnet的原理及如何規劃。
1 Subnet Mask的介紹
設定任何網路上的任何設備不管是主機、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可自行以上述方法自行推演出來。
2 Subnet的套用
使用Subnet是要解決只有一組CClass但需要數個NetworkNumber的問題,並不是解決IPAddress不夠用的問題,因為使用Subnet反而能使用的IPAddress會變少,Subnet通常是使用在跨地域的網路互聯之中,兩者之間使用Router連線,同時也上Internet,但只申請到一組CClassIPAddress,過Router又需不同的Network,所以此時就必須使用到Subnet,當然二網路間也可以RemoteBridge連線,那便沒有使用Subnet的問題。

幾個常用的程式

1 ping
這個程式用來檢測一幀數據從當前主機傳送到目的主機所需要的時間。當網路運行中出現故障時,採用這個實用程式來預測故障和確定故障源是非常有效的。如果執行ping不成功,則可以預測故障出現在以下幾個方面:網線是否連通,網路適配器配置是否正確,IP位址是否可用等;如果執行ping成功而網路仍無法使用,那么問題很可能出在網路系統的軟體配置方面,ping成功只能保證當前主機與目的主機間存在一條連通的物理路徑。它還提供了許多參數,如-t使當前主機不斷地向目的主機傳送數據,直到使用Ctrl-C中斷;-n可以自己確定向目的主機傳送的數據幀數等等。
2 winipcfg
它用來顯示主機內IP協定的配置信息。它採用Windows視窗的形式顯示具體信息。這些信息包括:網路適配器的物理地址、主機的IP位址、子網掩碼以及默認網關等,還可以查看主機的相關信息如:主機名、DNS伺服器、節點類型等。其中網路適配器的物理地址在檢測網路錯誤時非常有用。
3 tracert
這個程式的功能是判定數據包到達目的主機所經過的路徑、顯示數據包經過的中繼節點清單和到達時間。還可以使用參數-d決定是否解析主機名。
4 netstat
這個程式有助於我們了解網路的整體使用情況。它可以顯示當前正在活動的網路連線的詳細信息,如採用的協定類型、當前主機與遠端相連主機(一個或多個)的IP位址以及它們之間的連線狀態等。它提供的較為常用的參數是:-e用以顯示乙太網的統計信息;-s顯示所有協定的使用狀態,這些協定包括TCP、UDP和IP,一般這兩個參數都是結合在一起使用的。另外-p可以選擇特定的協定並查看其具體使用信息,-a可以顯示所有主機的連線埠號,-r則顯示當前主機的詳細路由信息。要運行以上這些程式,只要在DOS方式或Windows開始選單的運行欄中以命令行的形式鍵入程式名即可。靈活使用這幾個程式可以使你大體了解自己主機對網路的使用情況。

相關詞條

相關搜尋

熱門詞條

聯絡我們