果洛皆料电子有限公司

TCP_IP完整基礎(chǔ)介紹

  • 發(fā)布于:2021-04-01
  • 261 人圍觀

TCP/IP應(yīng)該是個(gè)協(xié)議集,根據(jù)OS的七層理論,TCP/IP分為四層.分別是應(yīng)用,傳輸,Interne和網(wǎng)絡(luò)界面.

我們一般說(shuō)TCP在傳輸層,而IP在Internet層.

TCP/IP的應(yīng)用程序包括我們平時(shí)經(jīng)常用到的Ping,Telnet,Ftp,Finger等等

TCP/IP應(yīng)該是個(gè)協(xié)議集,根據(jù)OS的七層理論,TCP/IP分為四層.分別是應(yīng)用,傳輸,Interne和網(wǎng)絡(luò)界面.

我們一般說(shuō)TCP在傳輸層,而IP在Internet層.

TCP/IP的應(yīng)用程序包括我們平時(shí)經(jīng)常用到的Ping,Telnet,Ftp,Finger等等

配置TCP/IP包括IP地址,子網(wǎng)掩碼和缺省網(wǎng)關(guān)

正確檢測(cè)TCP/IP的四個(gè)步驟:PIng 127.0.0.1(回環(huán)地址)如果通表示TCP/IP已經(jīng)裝入,Ping自己表明客戶機(jī)正常(主要是網(wǎng)卡),Ping網(wǎng)關(guān)表示局域網(wǎng)正常,Ping路由外地址表示完全正常,當(dāng)然你也可以直接進(jìn)行第四步,一般來(lái)說(shuō)沒(méi)這么麻煩的,但理論是基礎(chǔ)

IP地址是四段八位的二進(jìn)制數(shù)組成的,IP分為A,B,C,D,E五類地址

A類高端為0,從1.x.y.z~126.x.y.z .B類高端為10,從128.x.y.z~191.x.y.z C類高端為110,從192.x.y.z~223.x.y.z D類高端為1110是保留的IP地址 E類高端為1111,是科研用的IP地址

其中255是廣播地址,127是內(nèi)部回送函數(shù)

一、以下內(nèi)容是子網(wǎng)的設(shè)定

若公司不上Internet,那一定不會(huì)煩惱IPAddress的問(wèn)題,因 為可以任意使用所有的IPAddress,不管是AClass或是BClass, 這個(gè)時(shí)候不會(huì)想到要用SubNet,但若是上Internet那IPAddress 便彌足珍貴了,目前全球一陣Internet熱,IPAddress已經(jīng)愈 來(lái)愈少了,而所申請(qǐng)的IPAddress目前也趨保守,而且只有 經(jīng)申請(qǐng)的IPAddress能在Internet使用,但對(duì)某些公司只能申 請(qǐng)到一個(gè)CCLass的IPAddress,但又有多個(gè)點(diǎn)需要使用,那這 時(shí)便需要使用到Subnet,這篇短文說(shuō)明Subnet的原理及如 何規(guī)劃。

SubnetMask的介紹

設(shè)定任何網(wǎng)路上的任何設(shè)備不管是主機(jī)、PC、Router等 皆需要設(shè)定IPAddress,而跟隨著IPAddress的是所謂的NetMask, 這個(gè)NetMask主要的目的是由IPAddress中也能獲得NetworkNumber ,也就是說(shuō)IPAddress和NetMask作AND而得到NetworkNumber,如下所示

IPAddress 192.10.10.611000000.00001010.00001010.00000110

NetMask 255.255.255.011111111.11111111.11111111.00000000

AND -------------------------------------------------------------------

etworkNumber 192.10.10.011000000.00001010.00001010.00000000

NetMask有所謂的預(yù)設(shè)值,如下所示

 

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

 

在預(yù)設(shè)的NetMask都只有255的值,在談到SubnetMask時(shí)這個(gè)值 便不一定是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,所以這?兩者皆不能使用,實(shí) 際只能使用203.67.10.1--203.67.10.254等254個(gè)IPAddress,這是以 255.255.255.0作NetMask的結(jié)果,而所謂SubnetMsk尚可將整組C Class分成數(shù)組NetworkNumber,這要在NEtMask作手腳,若是要將 整組CCLass分成2個(gè)NetworkNumber那NetMask設(shè)定為255.255.255.192, 若是要將整組CCLass分成8組NetworkNumber則NetMask要為 255.255.255.224,這是怎麼來(lái)的,由以上知道NetworkNumber是由IP Address和NetMask作AND而來(lái)的,而且將NetMask以二進(jìn)位表示 法知道是1的會(huì)保留,而為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的結(jié)果,NetworkNumber是192.10.10.0, 若是使用255.255.255.224作NetMask結(jié)果便有所不同

 

192.10.10.193--11000000.00001010.00001010.10000000

255.255.255.224--11111111.11111111.11111111.11100000

--------------------------------------------------------------

192.10.10.192--11000000.00001010.00001010.10000000

 

此時(shí)NetworkNumber變成了192.10.10.192,這便是Subnet。

那要如何決定所使用的NetMask,255.255.255.224以二進(jìn)位表示 法為11111111.11111111.11111111.11100000,變化是在最後一組,11100000 便是224,以三個(gè)Bit可表示2的3次方便是8個(gè)NetworkNumber

NetMask二進(jìn)位表示法可分幾個(gè)Network

 

255.255.255.0 11111111.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,各 個(gè)NetworkNumber及其BroadcastIPAddress及可使用之IPAddress

 

序號(hào)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

 

可驗(yàn)證所使用的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可自行以上述方法自行推演出來(lái)。

Subnet的應(yīng)用

使用Subnet是要解決只有一組CClass但需要數(shù)個(gè)NetworkNumber的問(wèn)題,并不是解決IPAddress不夠用的問(wèn)題,因?yàn)槭褂?Subnet反而能使用的IPAddress會(huì)變少,Subnet通常是使用在總公司在臺(tái)北,但分公司在臺(tái)中,兩者之間使用Router連線 ,同時(shí)也上Internet,但只申請(qǐng)到一組CCLassIPAddress,過(guò)Router又需不同的Network,所以此時(shí)就必須使用到Subnet,當(dāng)然二 辦公司間可以RemoteBridge連接,那便沒(méi)有使用Subnet的問(wèn)題,這點(diǎn)在此不討論,所以在以上情況下的網(wǎng)路連線架 構(gòu)及IPAddress的使用

TCP/IP(傳輸控制協(xié)議/網(wǎng)間協(xié)議)是一種網(wǎng)絡(luò)通信協(xié)議,它規(guī)范了網(wǎng)絡(luò)上的所有通信設(shè)備,尤其是一個(gè)主機(jī)與另一個(gè)主機(jī)之間的數(shù)據(jù)往來(lái)格式以及傳送方式。TCP/IP是INTERNET的基礎(chǔ)協(xié)議,也是一種電腦數(shù)據(jù)打包和尋址的標(biāo)準(zhǔn)方法。在數(shù)據(jù)傳送中,可以形象地理解為有兩個(gè)信封,TCP和IP就像是信封,要傳遞的信息被劃分成若干段,每一段塞入一個(gè)TCP信封,并在該信封面上記錄有分段號(hào)的信息,再將TCP信封塞入IP大信封,發(fā)送上網(wǎng)。在接受端,一個(gè)TCP軟件包收集信封,抽出數(shù)據(jù),按發(fā)送前的順序還原,并加以校驗(yàn),若發(fā)現(xiàn)差錯(cuò),TCP將會(huì)要求重發(fā)。因此,TCP/IP在INTERNET中幾乎可以無(wú)差錯(cuò)地傳送數(shù)據(jù)。

在任何一個(gè)物理網(wǎng)絡(luò)中,各站點(diǎn)都有一個(gè)機(jī)器可識(shí)別的地址,該地址叫做物理地址.物理地址有兩個(gè)特點(diǎn):

物理地址的長(zhǎng)度,格式等是物理網(wǎng)絡(luò)技術(shù)的一部分,物理網(wǎng)絡(luò)不同,物理地址也不同.

同一類型不同網(wǎng)絡(luò)上的站點(diǎn)可能擁有相同的物理地址.

以上兩點(diǎn)決定了,不能用物理網(wǎng)絡(luò)進(jìn)行網(wǎng)間網(wǎng)通訊.

在網(wǎng)絡(luò)術(shù)語(yǔ)中,協(xié)議中,協(xié)議是為了在兩臺(tái)計(jì)算機(jī)之間交換數(shù)據(jù)而預(yù)先規(guī)定的標(biāo)準(zhǔn)。TCP/IP并不是一個(gè)而是許多協(xié)議,這就是為什么你經(jīng)常聽(tīng)到它代表一個(gè)協(xié)議集的原因,而TCP和IP只是其中兩個(gè)基本協(xié)議而已。

你裝在計(jì)算機(jī)-的TCP/IP軟件提供了一個(gè)包括TCP、IP以及TCP/IP協(xié)議集中其它協(xié)議的工具平臺(tái)。特別是它包括一些高層次的應(yīng)用程序和FTP(文件傳輸協(xié)議),它允許用戶在命令行上進(jìn)行網(wǎng)絡(luò)文件傳輸。

TCP/IP是美國(guó)政府資助的高級(jí)研究計(jì)劃署(ARPA)在二十世紀(jì)七十年代的一個(gè)研究成果,用來(lái)使全球的研究網(wǎng)絡(luò)聯(lián)在一起形成一個(gè)虛擬網(wǎng)絡(luò),也就是國(guó)際互聯(lián)網(wǎng)。原始的Internet通過(guò)將已有的網(wǎng)絡(luò)如ARPAnet轉(zhuǎn)換到TCP/IP上來(lái)而形成,而這個(gè)Internet最終成為如今的國(guó)際互聯(lián)網(wǎng)的骨干網(wǎng)。

 

如今TCP/IP如此重要的原因,在于它允許獨(dú)立的網(wǎng)格加入到Internet或組織在一起形成私有的內(nèi)部網(wǎng)(Intranet)。構(gòu)成內(nèi)部網(wǎng)的每個(gè)網(wǎng)絡(luò)通過(guò)一種-做路由器或IP路由器的設(shè)備在物理上聯(lián)接在一起。路由器是一臺(tái)用來(lái)從一個(gè)網(wǎng)絡(luò)到另一個(gè)網(wǎng)絡(luò)傳輸數(shù)據(jù)包的計(jì)算機(jī)。在一個(gè)使用TCP/IP的內(nèi)部網(wǎng)中,信息通過(guò)使用一種獨(dú)立的叫做IP包(IPpacket)或IP數(shù)據(jù)報(bào)(IPdatagrams)的數(shù)據(jù)單元進(jìn)--傳輸。TCP/IP軟件使得每臺(tái)聯(lián)到網(wǎng)絡(luò)上的計(jì)算機(jī)同其它計(jì)算機(jī)“看”起來(lái)一模一樣,事實(shí)上它隱藏了路由器和基本的網(wǎng)絡(luò)體系結(jié)構(gòu)并使其各方面看起來(lái)都像一個(gè)大網(wǎng)。如同聯(lián)入以太網(wǎng)時(shí)需要確認(rèn)一個(gè)48位的以太網(wǎng)地址一樣,聯(lián)入一個(gè)內(nèi)部網(wǎng)也需要確認(rèn)一個(gè)32位的IP地址。我們將它用帶點(diǎn)的十進(jìn)制數(shù)表示,如128.10.2.3。給定一個(gè)遠(yuǎn)程計(jì)算機(jī)的IP地址,在某個(gè)內(nèi)部網(wǎng)或Internet上的本地計(jì)算機(jī)就可以像處在同一個(gè)物理網(wǎng)絡(luò)中的兩臺(tái)計(jì)算機(jī)那樣向遠(yuǎn)程計(jì)算機(jī)發(fā)送數(shù)據(jù)。

TCP/IP提供了一個(gè)方案用來(lái)解決屬于同一個(gè)內(nèi)部網(wǎng)而分屬不同物理網(wǎng)的兩臺(tái)計(jì)算機(jī)之間怎樣交換數(shù)據(jù)的問(wèn)題。這個(gè)方案包括許多部分,而TCP/IP協(xié)議集的每個(gè)成員則用來(lái)解決問(wèn)題的某一部分。如TCP/IP協(xié)議集中最基本的協(xié)議-IP協(xié)議用來(lái)在內(nèi)部網(wǎng)中交換數(shù)據(jù)并且執(zhí)行一項(xiàng)重要的功能:路由選擇--選擇數(shù)據(jù)報(bào)從A主機(jī)到B主機(jī)將要經(jīng)過(guò)的路徑以及利用合適的路由器完成不同網(wǎng)絡(luò)之間的跨越(hop)。

TCP是一個(gè)更高層次的它允許運(yùn)行在在不同主機(jī)上的應(yīng)用程序相互交換數(shù)據(jù)流。TCP將數(shù)據(jù)流分成小段叫做TCP數(shù)據(jù)段(TCPsegments),并利用IP協(xié)議進(jìn)行傳輸。在大多數(shù)情況下,每個(gè)TCP數(shù)據(jù)段裝在一個(gè)IP數(shù)據(jù)報(bào)中進(jìn)行發(fā)送。但如需要的話,TCP將把數(shù)據(jù)段分成多個(gè)數(shù)據(jù)報(bào),而IP數(shù)據(jù)報(bào)則與同一網(wǎng)絡(luò)不同主機(jī)間傳輸位流和字節(jié)流的物理數(shù)據(jù)幀相容。由于IP并不能保證接收的數(shù)據(jù)報(bào)的順序相一致,TCP會(huì)在收信端裝配TCP數(shù)據(jù)段并形成一個(gè)不間斷的數(shù)據(jù)流。FTP和Telnet就是兩個(gè)非常流行的依靠TCP的TCP/IP應(yīng)用程序。

另一個(gè)重要的TCP/IP協(xié)議集的成員是用戶數(shù)據(jù)報(bào)協(xié)議(UDP),它同TCP相似但比TCP原始許多。TCP是一個(gè)可靠的協(xié)議,因?yàn)樗绣e(cuò)誤檢查和握手確認(rèn)來(lái)保證數(shù)據(jù)完整的到達(dá)目的地。UDP是一個(gè)“不可靠”的協(xié)議,因?yàn)樗荒鼙WC數(shù)據(jù)報(bào)的接收順序同發(fā)送順序相同,甚至不能保證它們是否全部到達(dá)。如果有可靠性要求,則應(yīng)用程序避免使用它。同許多TCP/IP工具同時(shí)提供的SNMP(簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)就是一個(gè)使用UDP協(xié)議的應(yīng)用例子。

其它TCP/IP協(xié)議在TCP/IP網(wǎng)絡(luò)中工作在幕后,但同樣也發(fā)揮著重要作用。例如地址轉(zhuǎn)換協(xié)議(ARP)將IP地址轉(zhuǎn)換為物理網(wǎng)絡(luò)地址如以太網(wǎng)地址。而與其對(duì)應(yīng)的反向地址轉(zhuǎn)換協(xié)議(RARP)做相反的工作,即將物理網(wǎng)絡(luò)地址轉(zhuǎn)換為IP地址。網(wǎng)際控制報(bào)文協(xié)議(ICMP)則是一個(gè)支持性協(xié)議,它利用IP完成IP數(shù)據(jù)報(bào)在傳輸時(shí)的控制信息和錯(cuò)誤信息的傳輸。例如,如果一個(gè)路由器不能向前發(fā)送一個(gè)IP數(shù)據(jù)報(bào),它就會(huì)利用ICMP來(lái)告訴發(fā)送者這里出現(xiàn)了問(wèn)題。

網(wǎng)絡(luò)設(shè)計(jì)者在解決網(wǎng)絡(luò)體系結(jié)構(gòu)時(shí)經(jīng)常使用ISO/OSI( 國(guó)際標(biāo)準(zhǔn)化組織/開(kāi)放系統(tǒng)互連)七層模型,該模型每 一層代表一定層次的網(wǎng)絡(luò)功能。最下面是物理層,它 代表著進(jìn)行數(shù)據(jù)轉(zhuǎn)輸?shù)奈锢斫橘|(zhì),換句話說(shuō),即網(wǎng)絡(luò) 電纜。其上是數(shù)據(jù)鏈路層,它通過(guò)網(wǎng)絡(luò)接口卡提供服 務(wù)。最上層是應(yīng)用層,這里運(yùn)行著使用網(wǎng)絡(luò)服務(wù)的應(yīng) 用程序。

TCP/IP是同ISO/OSI模型等價(jià)的。當(dāng)一個(gè)數(shù)據(jù)單元 從網(wǎng)絡(luò)應(yīng)用程序下流到網(wǎng)絡(luò)接口卡,它通過(guò)了一列的TCP/IP 模塊。這其中的每一步,數(shù)據(jù)單元都會(huì)同網(wǎng)絡(luò)另一端 對(duì)等TCP/IP模塊所需的信息一起打成包。這樣當(dāng)數(shù)據(jù)最 終傳到網(wǎng)卡時(shí),它成了一個(gè)標(biāo)準(zhǔn)的以太幀(假設(shè)物理 網(wǎng)絡(luò)是以太網(wǎng))。而接收端的TCP/IP軟件通過(guò)剝?nèi)ヒ蕴W(wǎng) 幀并將數(shù)據(jù)向上傳輸過(guò)TCP/IP棧來(lái)為處于接收狀態(tài)的應(yīng) 用程序重新恢復(fù)原始數(shù)據(jù)(一種最好的了解TCP/IP工作實(shí) 質(zhì)的方法,是使用探測(cè)程序來(lái)觀察網(wǎng)絡(luò)中的到處流動(dòng) 的幀中被不同TCP/IP模塊所加上的信息)。

為了勾勒TCP/IP在現(xiàn)實(shí)網(wǎng)絡(luò)世界中所扮演的角色, 請(qǐng)考慮當(dāng)使用HTTP(超文本傳輸協(xié)議)的Web瀏覽器從連接 在Internet上的Web服務(wù)器上獲取一頁(yè)HTML數(shù)據(jù)時(shí)所發(fā)生的情 況。為形成同Web服務(wù)器的虛鏈路,瀏覽器使用一種被 抽象地稱為套接口(socket)的高層軟件。為了獲 取Web頁(yè),它通過(guò)向套接口向套接口寫入HTTPGET命令來(lái)向Web 服務(wù)器發(fā)出該指令。接下來(lái)套接口軟件使用TCP協(xié)議向 Web服務(wù)器發(fā)出包含GET命令的字節(jié)流和位流,TCP將數(shù)據(jù) 分段并將各獨(dú)立段傳到IP模塊,該模塊將數(shù)據(jù)段轉(zhuǎn)換 成數(shù)據(jù)報(bào)并發(fā)送給Web服務(wù)器。

如果瀏覽器和服務(wù)器運(yùn)--在不同物理網(wǎng)絡(luò)的計(jì) 算機(jī)上(一般情況如此),數(shù)據(jù)報(bào)從一個(gè)網(wǎng)絡(luò)傳到另一 個(gè)網(wǎng)絡(luò),直到抵達(dá)服務(wù)器所在的那個(gè)網(wǎng)。最終,數(shù)據(jù) 被傳輸?shù)侥康牡刂凡⒈恢匦卵b配,這樣Web服務(wù)器通過(guò) 讀自己的套接口來(lái)獲得數(shù)據(jù)主干,并進(jìn)而查看連續(xù)的 數(shù)據(jù)流。對(duì)瀏覽器和服務(wù)器來(lái)說(shuō),數(shù)據(jù)在這一端寫入 套接口而在另一端出現(xiàn)如同魔術(shù)一般,但這只是底 下發(fā)生的各種復(fù)雜的交互,它創(chuàng)造了數(shù)據(jù)經(jīng)過(guò)網(wǎng)絡(luò)無(wú) 縫傳輸?shù)募傧蟆?

這就是TCP/IP所做的:將許多小網(wǎng)聯(lián)成一個(gè)大網(wǎng)。 并在這個(gè)大網(wǎng)也就是Internet上提供應(yīng)用程序所需要的 相互通信的服務(wù)。

評(píng)論:

對(duì)于TCP/IP有許多可談的,但這里僅講三個(gè)關(guān)鍵 點(diǎn):

·TCP/IP是一族用來(lái)把不同的物理網(wǎng)絡(luò)聯(lián)在一 起構(gòu)成網(wǎng)際網(wǎng)的協(xié)議。TCP/IP聯(lián)接獨(dú)立的網(wǎng)絡(luò)形成一個(gè) 虛擬的網(wǎng),在網(wǎng)內(nèi)用來(lái)確認(rèn)各種獨(dú)立的不是物理網(wǎng)絡(luò) 地址,而是IP地址。

·TCP/IP使用多層體系結(jié)構(gòu),該結(jié)構(gòu)清晰定義了 每個(gè)協(xié)議的責(zé)任。TCP和UDP向網(wǎng)絡(luò)應(yīng)用程序提供了高層 的數(shù)據(jù)傳輸服務(wù),并都需要IP來(lái)傳輸數(shù)據(jù)包。IP有責(zé)任 為數(shù)據(jù)包到達(dá)目的地選擇合適的路由。

·在Internet主機(jī)上,兩個(gè)運(yùn)行著的應(yīng)用程序之 間傳送要通過(guò)主機(jī)的TCP/IP堆棧上下移動(dòng)。在發(fā)送端TCP/IP 模塊加在數(shù)據(jù)上的信息將在接收端對(duì)應(yīng)的TCP/IP模塊上 濾掉,并將最終恢復(fù)原始數(shù)據(jù)。

如果你有興趣學(xué)習(xí)更多的TCP/IP知識(shí),這里有兩個(gè) 較高層次的信息源RFC(RequestforComment)1180——叫做“TCP/IP Tutorial”的文檔,你可以從許多普及的RFC的Internet節(jié)點(diǎn)上 下載。另一個(gè)是InternetworkingwithTCP/IP的第一卷:Principles,Protocols,and Architectures,作者DouglasE.Comer(1995,Prentice-Hall)。作為該系三部 曲中的第一部分,許多人把看成是一本TCP/IP圣經(jīng)。(原 文刊載于Vol.15No.20)

二、傳輸層的安全性

在Internet應(yīng)用編程序中,通常使用廣義的進(jìn)程間通信(IPC)機(jī)制來(lái)與不同層次的安全協(xié)議打交道。比較流行的兩個(gè)IPC編程界面是BSD Sockets和傳輸層界面(TLI),在Unix系統(tǒng)V命令里可以找到。

在Internet中提供安全服務(wù)的首先一個(gè)想法便是強(qiáng)化它的IPC界面,如BSD Sockets等,具體做法包括雙端實(shí)體的認(rèn)證,數(shù)據(jù)加密密鑰的交換等。Netscape通信公司遵循了這個(gè)思路,制定了建立在可靠的傳輸服務(wù)(如TCP/IP所提供)基礎(chǔ)上的安全套接層協(xié)議(SSL)。SSL版本3(SSL v3)于1995年12月制定。它主要包含以下兩個(gè)協(xié)議:

SSL記錄協(xié)議 它涉及應(yīng)用程序提供的信息的分段、壓縮、數(shù)據(jù)認(rèn)證和加密。SSL v3提供對(duì)數(shù)據(jù)認(rèn)證用的MD5和SHA以及數(shù)據(jù)加密用的R4和DES等的支持,用來(lái)對(duì)數(shù)據(jù)進(jìn)行認(rèn)證和加密的密鑰可以通過(guò)SSL的握手協(xié)議來(lái)協(xié)商。

SSL握手協(xié)議 用來(lái)交換版本號(hào)、加密算法、(相互)身份認(rèn)證并交換密鑰。SSL v3 提供對(duì)Deffie-Hellman密鑰交換算法、基于RSA的密鑰交換機(jī)制和另一種實(shí)現(xiàn)在 Fortezza chip上的密鑰交換機(jī)制的支持。

Netscape通信公司已經(jīng)向公眾推出了SSL的參考實(shí)現(xiàn)(稱為SSLref)。另一免費(fèi)的SSL實(shí)現(xiàn)叫做SSLeay。SSLref和SSLeay均可給任何TCP/IP應(yīng)用提供SSL功能。Internet號(hào)碼分配當(dāng)局(IANA)已經(jīng)為具備SSL功能的應(yīng)用分配了固定端口號(hào),例如,帶SSL的 HTTP(https)被分配的端口號(hào)為443,帶SSL的SMTP(ssmtp)被分配的端口號(hào)為465,帶SSL的NNTP(snntp)被分配的端口號(hào)為563。

微軟推出了SSL2的改進(jìn)版本稱為PCT(私人通信技術(shù))。至少?gòu)乃褂玫挠涗浉袷絹?lái)看,SSL和PCT是十分相似的。它們的主要差別是它們?cè)诎姹咎?hào)字段的最顯著位(The Most Significant Bit)上的取值有所不同: SSL該位取0,PCT該位取1。這樣區(qū)分之后,就可以對(duì)這兩個(gè)協(xié)議都給以支持。

1996年4月,IETF授權(quán)一個(gè)傳輸層安全(TLS)工作組著手制定一個(gè)傳輸層安全協(xié)議(TLSP),以便作為標(biāo)準(zhǔn)提案向IESG正式提交。TLSP將會(huì)在許多地方酷似SSL。

前面已介紹Internet層安全機(jī)制的主要優(yōu)點(diǎn)是它的透明性,即安全服務(wù)的提供不要求應(yīng)用層做任何改變。這對(duì)傳輸層來(lái)說(shuō)是做不到的。原則上,任何TCP/IP應(yīng)用,只要應(yīng)用傳輸層安全協(xié)議,比如說(shuō)SSL或PCT,就必定要進(jìn)行若干修改以增加相應(yīng)的功能,并使用(稍微)不同的IPC界面。于是,傳輸層安全機(jī)制的主要缺點(diǎn)就是要對(duì)傳輸層IPC界面和應(yīng)用程序兩端都進(jìn)行修改??墒牵绕餓nternet層和應(yīng)用層的安全機(jī)制來(lái),這里的修改還是相當(dāng)小的。另一個(gè)缺點(diǎn)是,基于UDP的通信很難在傳輸層建立起安全機(jī)制來(lái)。同網(wǎng)絡(luò)層安全機(jī)制相比,傳輸層安全機(jī)制的主要優(yōu)點(diǎn)是它提供基于進(jìn)程對(duì)進(jìn)程的(而不是主機(jī)對(duì)主機(jī)的)安全服務(wù)。這一成就如果再加上應(yīng)用級(jí)的安全服務(wù),就可以再向前跨越一大步了。

三、應(yīng)用層的安全性

必須牢記(且須仔細(xì)品味): 網(wǎng)絡(luò)層(傳輸層)的安全協(xié)議允許為主機(jī)(進(jìn)程)之間的數(shù)據(jù)通道增加安全屬性。本質(zhì)上,這意味著真正的(或許再加上機(jī)密的)數(shù)據(jù)通道還是建立在主機(jī)(或進(jìn)程)之間,但卻不可能區(qū)分在同一通道上傳輸?shù)囊粋€(gè)具體文件的安全性要求。比如說(shuō),如果一個(gè)主機(jī)與另一個(gè)主機(jī)之間建立起一條安全的IP通道,那么所有在這條通道上傳輸?shù)腎P包就都要自動(dòng)地被加密。同樣,如果一個(gè)進(jìn)程和另一個(gè)進(jìn)程之間通過(guò)傳輸層安全協(xié)議建立起了一條安全的數(shù)據(jù)通道,那么兩個(gè)進(jìn)程間傳輸?shù)乃邢⒕投家詣?dòng)地被加密。

如果確實(shí)想要區(qū)分一個(gè)具體文件的不同的安全性要求,那就必須借助于應(yīng)用層的安全性。提供應(yīng)用層的安全服務(wù)實(shí)際上是最靈活的處理單個(gè)文件安全性的手段。例如一個(gè)電子郵件系統(tǒng)可能需要對(duì)要發(fā)出的信件的個(gè)別段落實(shí)施數(shù)據(jù)簽名。較低層的協(xié)議提供的安全功能一般不會(huì)知道任何要發(fā)出的信件的段落結(jié)構(gòu),從而不可能知道該對(duì)哪一部分進(jìn)行簽名。只有應(yīng)用層是唯一能夠提供這種安全服務(wù)的層次。

一般來(lái)說(shuō),在應(yīng)用層提供安全服務(wù)有幾種可能的做法,第一個(gè)想到的做法大概就是對(duì)每個(gè)應(yīng)用(及應(yīng)用協(xié)議)分別進(jìn)行修改。一些重要的TCP/IP應(yīng)用已經(jīng)這樣做了。在RFC 1421至1424中,IETF規(guī)定了私用強(qiáng)化郵件(PEM)來(lái)為基于SMTP的電子郵件系統(tǒng)提供安全服務(wù)。由于種種理由,Internet業(yè)界采納PEM的步子還是太慢,一個(gè)主要的原因是PEM依賴于一個(gè)既存的、完全可操作的PKI(公鑰基礎(chǔ)結(jié)構(gòu))。PEM PKI是按層次組織的,由下述三個(gè)層次構(gòu)成:

頂層為Internet安全政策登記機(jī)構(gòu)(IPRA)

次層為安全政策證書頒發(fā)機(jī)構(gòu)(PCA)

底層為證書頒發(fā)機(jī)構(gòu)(CA)

建立一個(gè)符合PEM規(guī)范的PKI也是一個(gè)政治性的過(guò)程,因?yàn)樗枰喾皆谝粋€(gè)共同點(diǎn)上達(dá)成信任。不幸的是,歷史表明,政治性的過(guò)程總是需要時(shí)間的,作為一個(gè)中間步驟,Phil Zimmermann開(kāi)發(fā)了一個(gè)軟件包,叫做PGP(pretty Good Privacy)。PGP符合PEM的絕大多數(shù)規(guī)范,但不必要求PKI的存在。相反,它采用了分布式的信任模型,即由每個(gè)用戶自己決定該信任哪些其他用戶。因此,PGP不是去推廣一個(gè)全局的PKI,而是讓用戶自己建立自己的信任之網(wǎng)。這就立刻產(chǎn)生一個(gè)問(wèn)題,就是分布式的信任模型下,密鑰廢除了怎么辦。

S-HTTP是Web上使用的超文本傳輸協(xié)議(HTTP)的安全增強(qiáng)版本,由企業(yè)集成技術(shù)公司設(shè)計(jì)。S-HTTP提供了文件級(jí)的安全機(jī)制,因此每個(gè)文件都可以被設(shè)成私人/簽字狀態(tài)。用作加密及簽名的算法可以由參與通信的收發(fā)雙方協(xié)商。S-HTTP提供了對(duì)多種單向散列(Hash)函數(shù)的支持,如: MD2,MD5及SHA; 對(duì)多種單鑰體制的支持,如:DES,三元DES,RC2,RC4,以及CDMF; 對(duì)數(shù)字簽名體制的支持,如: RSA和DSS。

目前還沒(méi)有Web安全性的公認(rèn)標(biāo)準(zhǔn)。這樣的標(biāo)準(zhǔn)只能由WWW Consortium,IETF或其他有關(guān)的標(biāo)準(zhǔn)化組織來(lái)制定。而正式的標(biāo)準(zhǔn)化過(guò)程是漫長(zhǎng)的,可能要拖上好幾年,直到所有的標(biāo)準(zhǔn)化組織都充分認(rèn)識(shí)到Web安全的重要性。S-HTTP和SSL是從不同角度提供Web的安全性的。S-HTTP對(duì)單個(gè)文件作"私人/簽字"之區(qū)分,而SSL則把參與通信的相應(yīng)進(jìn)程之間的數(shù)據(jù)通道按"私用"和"已認(rèn)證"進(jìn)行監(jiān)管。Terisa公司的SecureWeb工具軟件包可以用來(lái)為任何Web應(yīng)用提供安全功能。該工具軟件包提供有 RSA數(shù)據(jù)安全公司的加密算法庫(kù),并提供對(duì)SSL和S-HTTP的全面支持。

另一個(gè)重要的應(yīng)用是電子商務(wù),尤其是信用卡交易。為使Internet上的信用卡交易安全起見(jiàn),MasterCard公司(同IBM,Netscape,GTE和Cybercash一道) 制定了安全電子付費(fèi)協(xié)議(SEPP),Visa國(guó)際公司和微軟(和其他一些公司一道)制定了安全交易技術(shù)(STT)協(xié)議。同時(shí),MasterCard,Visa國(guó)際和微軟已經(jīng)同意聯(lián)手推出Internet上的安全信用卡交易服務(wù)。他們發(fā)布了相應(yīng)的安全電子交易(SET)協(xié)議,其中規(guī)定了信用卡持卡人用其信用卡通過(guò)Internet進(jìn)行付費(fèi)的方法。這套機(jī)制的后臺(tái)有一個(gè)證書頒發(fā)的基礎(chǔ)結(jié)構(gòu),提供對(duì)X.509證書的支持。

上面提到的所有這些加安全功能的應(yīng)用都會(huì)面臨一個(gè)主要的問(wèn)題,就是每個(gè)這樣的應(yīng)用都要單獨(dú)進(jìn)行相應(yīng)的修改。因此,如果能有一個(gè)統(tǒng)一的修改手段,那就好多了。通往這個(gè)方向的一個(gè)步驟就是赫爾辛基大學(xué)的Tatu Yloenen開(kāi)發(fā)的安全shell(SSH)。SSH允許其用戶安全地登錄到遠(yuǎn)程主機(jī)上,執(zhí)行命令,傳輸文件。它實(shí)現(xiàn)了一個(gè)密鑰交換協(xié)議,以及主機(jī)及客戶端認(rèn)證協(xié)議。SSH有當(dāng)今流行的多種Unix系統(tǒng)平臺(tái)上的免費(fèi)版本,也有由Data Fellows公司包裝上市的商品化版本。

把SSH的思路再往前推進(jìn)一步,就到了認(rèn)證和密鑰分配系統(tǒng)。本質(zhì)上,認(rèn)證和密鑰分配系統(tǒng)提供的是一個(gè)應(yīng)用編程界面(API),它可以用來(lái)為任何網(wǎng)絡(luò)應(yīng)用程序提供安全服務(wù),例如: 認(rèn)證、數(shù)據(jù)機(jī)密性和完整性、訪問(wèn)控制以及非否認(rèn)服務(wù)。目前已經(jīng)有一些實(shí)用的認(rèn)證和密鑰分配系統(tǒng),如: MIT的Kerberos(V4與V5),IBM的CryptoKnight和Netwrok Security Program,DEC的SPX,Karlsruhe大學(xué)的指數(shù)安全系統(tǒng)(TESS)等,都是得到廣泛采用的實(shí)例。甚至可以見(jiàn)到對(duì)有些認(rèn)證和密鑰分配系統(tǒng)的修改和擴(kuò)充。例如,SESAME和OSF DCE對(duì)Kerberos V5作了增加訪問(wèn)控制服務(wù)的擴(kuò)充,Yaksha對(duì)Kerberos V5作了增加非否認(rèn)服務(wù)的擴(kuò)充。

關(guān)于認(rèn)證和密鑰分配系統(tǒng)的一個(gè)經(jīng)常遇到的問(wèn)題是關(guān)于它們?cè)贗nternet上所受到的冷遇。一個(gè)原因是它仍要求對(duì)應(yīng)用本身做出改動(dòng)。考慮到這一點(diǎn),對(duì)一個(gè)認(rèn)證和密鑰分配系統(tǒng)來(lái)說(shuō),提供一個(gè)標(biāo)準(zhǔn)化的安全API就顯得格外重要。能做到這一點(diǎn),開(kāi)發(fā)人員就不必再為增加很少的安全功能而對(duì)整個(gè)應(yīng)用程序大動(dòng)手術(shù)了。因此,認(rèn)證系統(tǒng)設(shè)計(jì)領(lǐng)域內(nèi)最主要的進(jìn)展之一就是制定了標(biāo)準(zhǔn)化的安全API,即通用安全服務(wù)API(GSS-API)。GSS-API(v1及v2)對(duì)于一個(gè)非安全專家的編程人員來(lái)說(shuō)可能仍顯得過(guò)于技術(shù)化了些,但德州Austin大學(xué)的研究者們開(kāi)發(fā)的安全網(wǎng)絡(luò)編程(SNP),把界面做到了比GSS-API更高的層次,使同網(wǎng)絡(luò)安全性有關(guān)的編程更加方便了。

局域網(wǎng)在網(wǎng)絡(luò)層有什么不安全的地方?

不安全的地方

由于局域網(wǎng)中采用廣播方式,因此,若在某個(gè)廣播域中可以偵聽(tīng)到所有的信息包,黑客就對(duì)可以對(duì)信息包進(jìn)行分析,那么本廣播域的信息傳遞都會(huì)暴露在黑客面前。

網(wǎng)絡(luò)分段

網(wǎng)絡(luò)分段是保證安全的一項(xiàng)重要措施,同時(shí)也是一項(xiàng)基本措施,其指導(dǎo)思想在于將非法用戶與網(wǎng)絡(luò)資源相互隔離,從而達(dá)到限制用戶非法訪問(wèn)的目的。

網(wǎng)絡(luò)分段可分為物理分段和邏輯分段兩種方式:

物理分段通常是指將網(wǎng)絡(luò)從物理層和數(shù)據(jù)鏈路層(ISO/OSI模型中的第一層和第二層)上分為若干網(wǎng)段,各網(wǎng)段相互之間無(wú)法進(jìn)行直接通訊。目前,許多交換機(jī)都有一定的訪問(wèn)控制能力,可實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)的物理分段。邏輯分段則是指將整個(gè)系統(tǒng)在網(wǎng)絡(luò)層(ISO/OSI模型中的第三層)上進(jìn)行分段。例如,對(duì)于TCP/IP網(wǎng)絡(luò),可把網(wǎng)絡(luò)分成若干IP子網(wǎng),各子網(wǎng)間必須通過(guò)路由器、路由交換機(jī)、網(wǎng)關(guān)或防火墻等設(shè)備進(jìn)行連接,利用這些中間設(shè)備(含軟件、硬件)的安全機(jī)制來(lái)控制各子網(wǎng)間的訪問(wèn)。在實(shí)際應(yīng)用過(guò)程中,通常采取物理分段與邏輯分段相結(jié)合的方法來(lái)實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)系統(tǒng)的安全性控制。

VLAN的實(shí)現(xiàn)

虛擬網(wǎng)技術(shù)主要基于近年發(fā)展的局域網(wǎng)交換技術(shù)(ATM和以太網(wǎng)交換)。交換技術(shù)將傳統(tǒng)的基于廣播的局域網(wǎng)技術(shù)發(fā)展為面向連接的技術(shù)。因此,網(wǎng)管系統(tǒng)有能力限制局域網(wǎng)通訊的范圍而無(wú)需通過(guò)開(kāi)銷很大的路由器。

以太網(wǎng)從本質(zhì)上基于廣播機(jī)制,但應(yīng)用了交換器和VLAN技術(shù)后,實(shí)際上轉(zhuǎn)變?yōu)辄c(diǎn)到點(diǎn)通訊,除非設(shè)置了監(jiān)聽(tīng)口,信息交換也不會(huì)存在監(jiān)聽(tīng)和插入(改變)問(wèn)題。

由以上運(yùn)行機(jī)制帶來(lái)的網(wǎng)絡(luò)安全的好處是顯而易見(jiàn)的:

信息只到達(dá)應(yīng)該到達(dá)的地點(diǎn)。因此、防止了大部分基于網(wǎng)絡(luò)監(jiān)聽(tīng)的入侵手段。

通過(guò)虛擬網(wǎng)設(shè)置的訪問(wèn)控制,使在虛擬網(wǎng)外的網(wǎng)絡(luò)節(jié)點(diǎn)不能直接訪問(wèn)虛擬網(wǎng)內(nèi)節(jié)點(diǎn)。

但是,虛擬網(wǎng)技術(shù)也帶來(lái)了新的安全問(wèn)題:

執(zhí)行虛擬網(wǎng)交換的設(shè)備越來(lái)越復(fù)雜,從而成為被攻擊的對(duì)象?;诰W(wǎng)絡(luò)廣播原理的入侵監(jiān)控技術(shù)在高速交換網(wǎng)絡(luò)內(nèi)需要特殊的設(shè)置?;贛AC的VLAN不能防止MAC欺騙攻擊。

采用基于MAC的VLAN劃分將面臨假冒MAC地址的攻擊。因此,VLAN的劃分最好基于交換機(jī)端口。但這要求整個(gè)網(wǎng)絡(luò)桌面使用交換端口或每個(gè)交換端口所在的網(wǎng)段機(jī)器均屬于相同的VLAN。

VLAN之間的劃分原則

VLAN的劃分方式的目的是保證系統(tǒng)的安全性。因此,可以按照系統(tǒng)的安全性來(lái)劃分VLAN;可以將總部中的服務(wù)器系統(tǒng)單獨(dú)劃作一個(gè)VLAN,如數(shù)據(jù)庫(kù)服務(wù)器、電子郵件服務(wù)器等。也可以按照機(jī)構(gòu)的設(shè)置來(lái)劃分VLAN,如將領(lǐng)導(dǎo)所在的網(wǎng)絡(luò)單獨(dú)作為一個(gè)Leader VLAN(LVLAN), 其他司局(或下級(jí)機(jī)構(gòu))分別作為一個(gè)VLAN,并且控制LVLAN與其他VLAN之間的單向信息流向,即允許LVLAN查看其他VLAN的相關(guān)信息,其他VLAN不能訪問(wèn)LVLAN的信息。VLAN之內(nèi)的連接采用交換實(shí)現(xiàn), VLAN與VLAN之間采用路由實(shí)現(xiàn)。由于路由控制的能力有限,不能實(shí)現(xiàn)LVLAN與其他VLAN之間的單向信息流動(dòng),需要在LVLAN與其他VLAN之間設(shè)置一個(gè)Gauntlet防火墻作為安全隔離設(shè)備,控制VLAN與VLAN之間的信息交流。

萬(wàn)企互聯(lián)
標(biāo)簽: