TCP/IP協議基礎教程(簡單實用,申請加精)
p>在過去的20多年的時間里,網絡技術不斷發(fā)展,從最初的X.25、幀中繼,到以太網、FDDI,再到目前流行的ATM,不同的技術提供了多樣化的網絡選擇。為了能夠在眾多不同類型的局域網和廣域網之間實現網絡的互操作性,就需要使用網絡協議。
Internet所采用的網絡協議棧不僅具有低層次的協議規(guī)范,如TCP和IP協議等,而且還對象電子郵件、模擬終端和文件傳輸這樣的高層次應用也制定了相應的規(guī)范。下圖中顯示了較為重要的Internet協議和OSI參考模型之間的對應關系。
本文將主要講述TCP、IP協議,以及其它一些相關協議和協議使用環(huán)境。本文的重點將放在對第三層IP協議和路由功能的介紹上,而對于第四層的TCP協議只做簡單說明。
TCP協議
TCP,即傳輸控制協議,是一種面向連接的傳輸層協議。通過使用序列號和確認信息,TCP協議能夠向發(fā)送方提供到達接收方的數據包的傳送信息。當傳送過程中出現數據包丟失情況時,TCP協議可以重新發(fā)送丟失的數據包直到數據成功到達接收方或者出現網絡超時。TCP協議還可以識別重復信息,丟棄不需要的多余信息,使網絡環(huán)境得到優(yōu)化。如果發(fā)送方傳送數據的速度大大快于接收方接收數據的速度,TCP協議可以采用數據流控制機制減慢數據的傳送速度,協調發(fā)送和接收方的數據響應。TCP協議能夠把數據傳送信息傳遞給所支持的更高層次的協議或應用使用。
TCP/IP協議基礎教程
2000-12-02 00:00:00? 呂曉波?yesky
IP協議
IP協議位于Internet協議棧的第三層,最早于1970年在UNIX系統(tǒng)平臺上開發(fā)成功。今天,IP協議已經發(fā)展成為網絡操作系統(tǒng)相互之間進行通訊的標準機制,是HTTP和TCP等高層協議的基礎。除了可以提供網絡路由之外,IP協議還具有錯誤控制以及網絡分段等眾多功能,是整個Internet協議棧的核心。
一個完整的IP地址由4字節(jié),即32位數字組成,為了方便人們的使用,IP地址經常被寫成10進制的形式,中間使用符號“.”分開不同的字節(jié)。例如采用32位形式的IP地址如下:
00001010000000000000000000000001
如果使用十進制的形式則為:
10.0.0.1
IP地址可以被劃分成不同的類,根據最左邊4個地址位的值決定具體的網絡類型。例如,所有的A類網絡的地址最左邊一位的值均為0,而其它剩余31位的值既可以取0也可以取1。即:
0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
(x代表0或1)
根據A類網絡地址的規(guī)定,我們可 撲慍齦美嘈屯?緄撓行У刂販段?譴?.0.0.0到127.255.255.255。
B類網絡地址從左向右第一位必須為1,第二為必須為0,其它30位則可以自由取值。例如:
10xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
因此,B類型網絡地址的有效取值范圍是從128.0.0.0到191.255.255.255。同樣的,除第一位必須為1之外,C、D和E類網絡地址的第二、三和四位都應當分別為1。我們在下表中對不同網絡類型IP地址的劃分進行了總結:
TCP/IP協議基礎教程
2000-12-02 00:00:00? 呂曉波?yesky
域名
域名是一種更加方便,更易于記憶的可以唯一標識網絡上任何一臺計算機的方法。Internet使用域名系統(tǒng)(即DNS)給IP地址指定名稱,并且可以根據不同的命令在域名和IP地址之間進行映射和轉換。域名系統(tǒng)采用類似目錄樹的等級結構,所有的域名和地址信息都被保存在遍布Internet的分布式數據庫中。
作為公用網絡的Internet,所有的域名和地址都必須在使用前向授權域名注冊商注冊,然后才能使用。象.com,.net,和.org這樣的頂級域名只有那些具有頂級域名注冊權的注冊商才能夠注冊。
IPv4和IPv6
目前所普遍采用的IP協議又被成為IPv4,即版本4。更高版本的IPv6已經開始在小范圍的網絡環(huán)境內開始試用,將在今后的幾年內逐步取代IPv4。IPv6對整個地址分配系統(tǒng)進行了改進,支持128位(32字節(jié))的地址長度,在性能和安全性上有所增強。
我們已經知道IPv4只能支持32位(8字節(jié))的地址長度,因此所能分配的地址數目也是有限的,大致相當于4,294,967,296,即2的32次方。當然,在IP協議最早開始使用的時候,這個數字還是相當可觀的,但是隨著近幾年全球范圍內計算機網絡的爆炸性增長,可以使用的IPv4地址空間已經越來越有限。雖然目前可以暫時采用類似操作系統(tǒng)虛擬內存的虛擬地址技術,但是還是不能緩解日益增長的壓力。因此,為了從根本上解決IP地址空間不足的問題,提供更加廣闊的網絡發(fā)展空間,人們對IPv4進行改進,推出功能更加完善和可靠的IPv6。
網絡地址
由于受到網線電氣性能上的局限,計算機網絡一般都是由一些單獨的網段組成。路由器和網橋等網絡設備則被用來連接不同的網段。除了使用網線在物理上劃分網絡之外,還可以使用更高層次的軟件協議來劃分子網。子網不僅可以與物理網段一一對應,還可以跨網段劃分。
即使不劃分子網,任何IP網絡上的主機都屬于一個由網絡地址決定的對等網絡(多宿主主機因為具有多塊網卡可以同時屬于多個對等網絡)。具有相同網絡地址上的主機既可以位于同一個物理網段也可以分散在不同的地方,通過網絡地址組合在一起,可以方便相互之間進行通訊。
網絡地址和IP地址非常相似,但是我們不能把兩者混為一談。網絡地址由主機的IP地址和網絡類型決定。例如,對于10.0.0.1這個主機地址,默認情況下最左邊的8位代表網絡地址,其它各位為0,即網絡地址為10.0.0.0。
我們在下表中給出了A、B和C類網絡的網絡地址劃分方法。因為D和E類網絡只用于網絡管理目的,我們在這里就不進行說明了。
TCP/IP協議基礎教程
2000-12-02 00:00:00? 呂曉波?yesky
子網
除了由主機地址和網絡類型決定的網絡地址之外,IP協議還支持用戶根據自己網絡的實際需要,創(chuàng)建子網絡。子網與網絡地址相結合,不僅可以把位于不同物理位置的主機組合在一起,還可以通過分離關鍵設備或者優(yōu)化數據傳送等措施提高網絡安全性能,降低網絡流量。
子網掩碼
子網一個最顯著的特征就是具有子網掩碼。與IP地址相同,子網掩碼的長度也是32位,也可以使用十進制的形式。例如,以下二進制形式的子網掩碼
11111111111111111111111100000000
采用十進制的形式為:255.255.255.0
掩碼規(guī)則
子網掩碼既不能作為IP地址使用,也不同單獨存在,必須結合IP地址一起使用。子網掩碼的作用就是對IP地址進行劃分,形成擴展網絡地址和主機地址兩部分。
一個有效的子網掩碼由兩部分組成,分別是左邊的擴展網絡地址位(用數字1表示)和右邊的主機地址位(用數字0表示)。象下面這兩個子網掩碼都是無效的。
00000000000000000000000000000000
11111111111111111111111111111111
擴展網絡地址由我們上文所講的基本網絡地址和多出的子網地址組成。通過使用子網地址可以在主機地址空間內劃分出一部分地址位作為子網絡的地址。舉例來說,一個小型企業(yè)計劃使用192.168.1.0網絡建立企業(yè)內部網,并且希望為不同的部門分配不同的網段,這就需要使用子網掩碼對網絡進行劃分。我們已經知道這是一個C類網絡,網絡地址為24位,如果要對其進行分段,必須要求擴展網絡地址的位數超過24。例如,如果我們決定使用25位的子網掩碼255.255.255.128,就會創(chuàng)建兩個新的子網絡,而原先用于主機的地址位則會相應減少。具體可見下表:
如果我們在主機地址中取兩位作為子網掩碼,可以創(chuàng)建4個子網;如果取三位作為子網掩碼,可以建立8個子網,按此類推。用戶可以根據需要創(chuàng)建子網數和每個子網上可以連接的主機數權衡決定設置多少位的子網掩碼。
ARP和RARP
在一些象以太網這樣的網絡結構中,可以使用Internet協議棧中的兩個子協議ARP(地址解析協議)和RARP(逆向地址解析協議)動態(tài)的獲得網絡主機的IP地址。ARP協議可以通過發(fā)送網絡廣播信息的方式,確定與某個網絡層IP地址相對應的物理層地址(即MAC地址)。RARP是ARP的反向協議,同樣通過網絡廣播的方式決定與某個硬件地址相對應的網絡層IP地址。RARP協議對于無盤工作站尤為重要,因為無盤工作站系統(tǒng)啟動時不知道本機的網絡層地址,但是可以通過RARP協議找到與本機硬件層地址相對應的IP地址。
TCP/IP協議基礎教程
2000-12-02 00:00:00? 呂曉波?yesky
路由
Internet是由遍布全球的無數個大大小小的網絡相互連接而成,可以在不同的網絡之間進行數據的傳送。作為連接不同網絡的接口設備,路由器已經得到了非常廣泛的應用,其主要功能就是連接多個獨立的網絡或子網,實現互聯網間的最佳尋徑及數據傳送。根據路由器作用范圍的不同,我們可以將其分為內部路由器和外部路由器兩種。其中,內部路由器主要用于網絡內部(又稱自主系統(tǒng))信息的交換,而外部路由器則主要用于網絡之間的信息傳送。
IP路由協議是一種動態(tài)協議,要求路由設備能夠根據網絡環(huán)境計算路由,并且當網絡發(fā)生變化時可以自動選擇最佳路徑。與動態(tài)路由不同,靜態(tài)路由則要求網絡管理人員手動配置路由信息,當網絡環(huán)境改變時,除非網管人員更改路由,否則靜態(tài)路由保持不變。
路由信息一般被保存在路由表中,其中每一條都包含目標接收方地址和下一個路由器的地址等信息。因為網絡環(huán)境的狀況隨時隨地都在發(fā)生變化,數據在傳送過程中所經過的完整路徑很難事先預知,所以不可能在路由表中羅列出所有的路徑信息。因此,路由表一般只給出可以到達數據接收方的下一臺路由器的路徑,這樣就可以通過網絡上每一臺路由器之間形成的連續(xù)關系,為數據傳送提供最終的最佳完整路徑。
當路由過程中出現異常情況時,IP協議本身并不提供任何的錯誤監(jiān)控措施,而主要由ICMP(Internet控制信息協議)負責錯誤情況的報告和處理。ICMP協議具有多項功能,除了可以向數據發(fā)送方傳回路由錯誤信息之外,還可以檢測網絡節(jié)點的可達性(使用ICMP Echo和Reply信息),提高路由效率(使用ICMPRedirect信息),以及提醒發(fā)送方數據包超出存活時間(使用ICMP TimeExceeded信息)等??傊琁CMP協議是整個IP網絡必不可少的組成部分,尤其對那些運行路由器的網絡環(huán)境來說作用更為重要。
最后,我們來簡單介紹一下各種路由協議。
內部路由協議
內部路由協議又稱IGP(內部網關協議),主要在自主系統(tǒng)內部使用。目前,TCP/IP網絡中較為常用的IGP主要有以下幾種:
RIP
如果要談到IP網絡的路由協議,就不能不提到RIP(路由信息協議)。RIP協議最早是由施樂公司在80年代推出,當時主要用于施樂公司自己開發(fā)的一種網絡系統(tǒng)。如今,RIP協議已經被眾多的計算機網絡所采用,成為一種基本的路由協議。
RIP主要適用于小規(guī)模的網絡環(huán)境,如果應當到大型網絡中則存在很多限制。例如,RIP協議規(guī)定任何兩臺網絡主機之間的路由跳躍次數(每通過一臺路由器定為跳躍一次)不得超過16。此外,RIP的聚斂速度很慢,這就意味著當網絡發(fā)生變化時,變動信息需要經過很長時間才能傳送到所有的路由器。最后,RIP是通過查看兩個節(jié)點之間的路由跳數來確定最佳路由,而不考慮線路速度、使用率等其它因素,從而導致結果往往不是最佳路徑。正是基于上述原因,許多原先采用RIP協議的大型網絡已經逐步轉向其它功能更加完善的路由協議
TCP/IP協議基礎教程
2000-12-02 00:00:00? 呂曉波?yesky
IGRP
IGRP(內部網關路由協議)是由Cisco公司在80年代開發(fā)的一種內部路由協議,對RIP協議中存在的一些問題進行了改進。IGRP可以通過查看路由器之間的網絡帶寬和延遲來確定最佳路徑。IGRP的聚斂速度要明顯快于RIP,因而可以有效的避免由于路由信息的不一致而導致的路由回路。此外,IGRP不存在RIP對路由長度的限制,更加適合那些大型、復雜的網絡拓撲結構。
為了更好的滿足運行關鍵任務的大型網絡的需要,Cisco對IGRP協議的功能進行了加強,將傳統(tǒng)距離向量路由協議易于使用的特點和鏈路狀態(tài)路由協議的高速度結合在一起,優(yōu)化了路由信息的傳送,降低了網絡帶寬的占用量。此外,除了IP路由之外,增強型IGRP協議還可以支持AppleTalk和NovellIPX路由信息。
OSPF
OSPF即最短路徑優(yōu)先協議由Internet工程任務組(IETF)推出以取代RIP。OSPF是一種基于鏈路狀態(tài),采用分級結構的域間路由協議,支持自主系統(tǒng)內部的分級路由。自主系統(tǒng)可以被劃分成多個路由區(qū)域,其中每一個路由區(qū)域都是由相互連接的一個或多個子網組成,并且都與主干區(qū)域連接。此外,OSPF協議支持可變長度子網延碼(VLSM),提供網絡地址空間轉換和基于帶寬的量的計算。
外部路由協議
外部路由協議提供了自主系統(tǒng)之間的路由,在TCP/IP網絡中最為常用的主要有以下兩種:
EGP
第一代廣為使用的外部路由協議就是EGP(外部網關協議)。EGP可以提供動態(tài)連通性,但是要求所有連接的自主系統(tǒng)都必須采用樹形結構,這在Internet發(fā)展的初期還是可以使用的。
雖然EGP是一種動態(tài)路由協議,但是其設計原理非常簡單,沒有采用任何形式的度量標準,因而也就無法真正做出智能化的路由決定。由于EGP協議已經無法滿足當今復雜網絡的需要,因此正逐漸被另一種協議BGP所替代。
BGP
BGP協議對EGP中的很多關鍵性問題進行了改進。與EGP一樣,BGP也是一種域間路由協議,主要用于網絡核心路由器。但是與EGP不同,BGP被設計成可以在任何網絡拓撲結構工作,對網絡結構的支持更加靈活。