防火墻第二章課件_第1頁
防火墻第二章課件_第2頁
防火墻第二章課件_第3頁
防火墻第二章課件_第4頁
防火墻第二章課件_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第2章 TCP/IP2.1 OSI七層模型 2.2 TCP/IP數(shù)據(jù)傳輸2.3 應(yīng)用程序及工具2.1.1 OSI七層模型的產(chǎn)生在計(jì)算機(jī)網(wǎng)絡(luò)中,除了TCP/IP以外,還使用著由制造開發(fā)商開發(fā)的數(shù)量眾多的協(xié)議。為了使不同協(xié)議的網(wǎng)絡(luò)實(shí)現(xiàn)互聯(lián),協(xié)議的標(biāo)準(zhǔn)化變得極為必要。因此,通過國(guó)際標(biāo)準(zhǔn)化組織-ISO(International Organaization for Standarization),推動(dòng)了網(wǎng)絡(luò)體系標(biāo)準(zhǔn)化。OSI參考模型的一個(gè)很重要特性就是它采用的是分層體系結(jié)構(gòu),OSI參考模型共劃分為七層。2.1 OSI七層模型下一頁返回總結(jié)起來,OSI七層參考模型具有以下優(yōu)點(diǎn): 簡(jiǎn)化了相關(guān)的網(wǎng)絡(luò)操作。

2、提供即插即用的兼容性和不同廠商之間的標(biāo)準(zhǔn)接口。 使各個(gè)廠商能夠設(shè)計(jì)出具備互操作性的網(wǎng)絡(luò)設(shè)備,加快數(shù)據(jù)通信網(wǎng)絡(luò)發(fā)展。 防止一個(gè)區(qū)域網(wǎng)絡(luò)發(fā)生的變化移向另一個(gè)區(qū)域的網(wǎng)絡(luò),因此,每一個(gè)區(qū)域的網(wǎng)絡(luò)都能夠單獨(dú)快速升級(jí)。 把復(fù)雜的網(wǎng)絡(luò)問題分解成小的簡(jiǎn)單問題,易于學(xué)習(xí)和操作。2.1 OSI七層模型下一頁返回上一頁2.1.2 OSI模型層次結(jié)構(gòu)及各層功能OSI參考模型的七層分別是:第一層物理層(Physical Layer)、第二層數(shù)據(jù)鏈路層(Data Link Layer)、第三層網(wǎng)絡(luò)層(Network Layer)、第四層傳輸層(Transport Layer)、第五層會(huì)話層(Session Layer)、

3、第六層表示層(Presentation Layer)和第七層應(yīng)用層(Application Layer),如圖2 1所示。OSI七層參考模型是建設(shè)和設(shè)計(jì)網(wǎng)絡(luò)的核心,其每一層都完成推動(dòng)數(shù)據(jù)通信的特定任務(wù),即每一層都有特定的功能。下面詳細(xì)介紹各層的功能。2.1 OSI七層模型下一頁返回上一頁1. 物理層物理層是OSI七層參考模型的最底層或稱為第一層。有一點(diǎn)需要明確的是,物理層并不是指物理設(shè)備或物理媒體,而是有關(guān)物理設(shè)備通過物理媒體進(jìn)行互聯(lián)的描述和規(guī)定。物理層協(xié)議還定義了接口的4個(gè)基本功能特性。2.1 OSI七層模型下一頁返回上一頁2. 數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層是OSI七層參考模型的第二層。它的傳輸單位

4、是幀,通常,幀由地址段、數(shù)據(jù)段、控制段、校驗(yàn)段等字段組成。圖2 2描述了一個(gè)簡(jiǎn)化的數(shù)據(jù)幀格式,數(shù)據(jù)幀的格式根據(jù)網(wǎng)絡(luò)類型的不同而不同。在局域網(wǎng)中有以太幀、令牌環(huán)網(wǎng)幀,在廣域網(wǎng)中有HDLC,PPP等。2.1 OSI七層模型下一頁返回上一頁3. 網(wǎng)絡(luò)層網(wǎng)絡(luò)層,在數(shù)據(jù)鏈路層中討論的是兩臺(tái)相鄰的設(shè)備之間的通信。但是,實(shí)際中的兩臺(tái)設(shè)備之間可能相隔很遠(yuǎn),它們之間的通路可能要包括許多段鏈路,而數(shù)據(jù)鏈路層的協(xié)議不能解決由多條鏈路組成的通路的數(shù)據(jù)傳送問題。這些問題都是由第三層,即網(wǎng)絡(luò)層來解決的。2.1 OSI七層模型下一頁返回上一頁4. 傳輸層傳輸層的功能是保證在不同子網(wǎng)的兩臺(tái)設(shè)備間進(jìn)行數(shù)據(jù)包可靠、順序、無錯(cuò)地傳

5、輸。在傳輸層,數(shù)據(jù)傳送的單位是段。傳輸層負(fù)責(zé)處理端對(duì)端通信,所謂端對(duì)端是指從一個(gè)終端(主機(jī))到另一個(gè)終端(主機(jī)),中間可以有一個(gè)或多個(gè)交換結(jié)點(diǎn)。圖2 4示意了傳輸層提供端到端的服務(wù),網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層完成端到端通路的尋址和傳輸。2.1 OSI七層模型下一頁返回上一頁5. 會(huì)話層會(huì)話層是利用傳輸層提供的端到端的服務(wù),向表示層或會(huì)話用戶提供會(huì)話服務(wù)。會(huì)話層建立通信鏈接,保持會(huì)話過程通信鏈接的通暢,同步兩個(gè)節(jié)點(diǎn)之間的對(duì)話,決定通信是否被中斷以及通信中斷時(shí)如何決定從何處重新發(fā)送。舉例來說,某個(gè)用戶登錄到一個(gè)遠(yuǎn)程系統(tǒng),并與之交換信息。會(huì)話層管理這一進(jìn)程,控制哪一方有權(quán)發(fā)送信息,哪一方必須接收信息

6、,這其實(shí)是一種同步機(jī)制。2.1 OSI七層模型下一頁返回上一頁6. 表示層表示層就是將應(yīng)用層的信息“表示”成一種格式,讓對(duì)端設(shè)備能夠正確識(shí)別。它關(guān)注的是格式的轉(zhuǎn)換,就如同是應(yīng)用程序和網(wǎng)絡(luò)之間的翻譯官。在表示層,數(shù)據(jù)將按照網(wǎng)絡(luò)能識(shí)別的編碼進(jìn)行格式轉(zhuǎn)換,由于不同的軟件應(yīng)用程序經(jīng)常使用不同的數(shù)據(jù)格式編碼,所以數(shù)據(jù)格式轉(zhuǎn)換是必需的。它可以確保數(shù)字和文本以接收方的表示層可以閱讀的格式發(fā)送。例如,在運(yùn)行Windows 98的主機(jī)上向遠(yuǎn)端的IBM大型機(jī)讀取數(shù)據(jù),由于IBM大型機(jī)使用的是EBCDIC字符,而Windows98使用的是ASCII字符格式,如果沒有翻譯官的翻譯,本要得到的是“good”,可在屏幕上

7、看到的卻是串亂碼,如圖2 5所示。2.1 OSI七層模型下一頁返回上一頁7. 應(yīng)用層應(yīng)用層是OSI的最高層,它直接與用戶和應(yīng)用程序打交道,負(fù)責(zé)對(duì)軟件提供接口以使程序能使用網(wǎng)絡(luò)。這里的網(wǎng)絡(luò)服務(wù)包括文件傳輸、文件管理、電子郵件的消息處理等。必須強(qiáng)調(diào)的是應(yīng)用層并不等同于一個(gè)應(yīng)用程序。例如,在網(wǎng)絡(luò)上發(fā)送電子郵件,你的請(qǐng)求就是通過應(yīng)用層傳輸?shù)骄W(wǎng)絡(luò)的。2.1 OSI七層模型下一頁返回上一頁2.1.3 層次間的關(guān)系OSI七層參考模型的每一層都具有清晰的特征?;緛碚f,第七層至第四層處理數(shù)據(jù)源和數(shù)據(jù)目的地之間的端到端通信,而第三層至第一層處理網(wǎng)絡(luò)設(shè)備間的通信。另外,OSI參考模型的七層也可以劃分為兩組:上層(

8、第七層、第六層和第五層)和下層(第四層、第三層、第二層和第一層)。OSI參考模型的上層處理應(yīng)用程序問題,并且通常只應(yīng)用在軟件上。最高層,即應(yīng)用層是與終端用戶最接近的。OSI模型的下層是處理數(shù)據(jù)傳輸?shù)模锢韺雍蛿?shù)據(jù)鏈路層應(yīng)用在硬件和軟件上,最底層,即物理層是與物理網(wǎng)絡(luò)媒介(比如電線)最接近的,并且負(fù)責(zé)在媒介上發(fā)送數(shù)據(jù)。2.1 OSI七層模型下一頁返回上一頁具體通信過程為:設(shè)左邊的計(jì)算機(jī)為A,右邊的計(jì)算機(jī)為B,如果計(jì)算機(jī)A上的應(yīng)用程序要將信息發(fā)送到計(jì)算機(jī)B的應(yīng)用程序,則計(jì)算機(jī)A中的應(yīng)用程序需要將信息先發(fā)送到其應(yīng)用層(第七層),然后此層將信息發(fā)送到表示層(第六層),表示層將數(shù)據(jù)轉(zhuǎn)送到會(huì)話層(第五層)

9、,如此繼續(xù),直至物理層(第一層),在物理層,數(shù)據(jù)被放置在物理網(wǎng)絡(luò)媒介中并被發(fā)送至計(jì)算機(jī)B;計(jì)算機(jī)B的物理層接收來自物理媒介的數(shù)據(jù),然后將信息向上發(fā)送至數(shù)據(jù)鏈路層(第二層),數(shù)據(jù)鏈路層再轉(zhuǎn)送給網(wǎng)絡(luò)層,依次繼續(xù),直到信息到達(dá)計(jì)算機(jī)B的應(yīng)用層,最后,計(jì)算機(jī)B的應(yīng)用層再將信息傳送給應(yīng)用程序接收端,從而完成通信過程。2.1 OSI七層模型下一頁返回上一頁在網(wǎng)絡(luò)通信中,通過傳輸該層的PDU到對(duì)方的同一層(對(duì)等層),以實(shí)現(xiàn)通信。從邏輯上講,對(duì)等層間的通信是兩個(gè)設(shè)備的同一層之間的通信。物理上,每一層都只與自己相鄰的上下兩層直接通信,下層通過服務(wù)訪問點(diǎn)(SAP,Service Access Point)為上一層

10、提供服務(wù)。SAP是指同一設(shè)備中相鄰兩層間的信息交換之處,如同常用的郵箱,郵箱就是郵局為用戶提供信件服務(wù)的訪問點(diǎn),郵遞員將信件放入郵箱,用戶再通過郵箱(服務(wù)訪問點(diǎn))取回自己的信件。2.1 OSI七層模型下一頁返回上一頁下面圖2 6和圖2 7示意了兩個(gè)設(shè)備之間是如何建立通信的。從圖2 6可以看出,兩個(gè)設(shè)備建立對(duì)等層的通信連接,即在各個(gè)對(duì)等層間建立邏輯信道,對(duì)等層使用功能相同的協(xié)議實(shí)現(xiàn)對(duì)話。如主機(jī)A的第二層不能和對(duì)方的第三層直接通信。同時(shí),同一層之間的不同協(xié)議也不能通信,比如主機(jī)A的E-mail應(yīng)用程序就不能和對(duì)方的Telnet應(yīng)用程序通信。圖2 7示意了物理上兩個(gè)設(shè)備間的數(shù)據(jù)流是通過物理傳輸線路進(jìn)

11、行傳遞的。2.1 OSI七層模型下一頁返回上一頁2.1.4 數(shù)據(jù)封裝1. 封裝封裝(Encapsulation)是指網(wǎng)絡(luò)節(jié)點(diǎn)(Node)將要傳送的數(shù)據(jù)用待定的協(xié)議頭打包來傳送數(shù)據(jù),有時(shí)候,也可能在數(shù)據(jù)尾部加上報(bào)文,這時(shí)候,也稱為封裝。OSI七層模型的每一層都對(duì)數(shù)據(jù)進(jìn)行封裝,以保證數(shù)據(jù)能夠正確無誤地到達(dá)目的地,被終端主機(jī)理解及處理。2.1 OSI七層模型下一頁返回上一頁要理解封裝是如何進(jìn)行的,可以考察一下數(shù)據(jù)傳輸時(shí)是如何通過各層的。如圖2 8所示,當(dāng)數(shù)據(jù)從源端發(fā)出后,它就會(huì)從應(yīng)用層一直向下傳遞到達(dá)其他各層。對(duì)所交換的數(shù)據(jù)進(jìn)行打包的方式以及這些數(shù)據(jù)的流動(dòng)方式都會(huì)隨著每一層為終端用戶所執(zhí)行的網(wǎng)絡(luò)服務(wù)

12、的變化而變化。以電信號(hào)形式表示的數(shù)據(jù),必須通過線纜傳送到正確的目標(biāo)計(jì)算機(jī)中,然后再轉(zhuǎn)化為能夠被接收端所能讀取的最初形式。正因?yàn)槿绱?,硬件、軟件和協(xié)議的開發(fā)人員意識(shí)到實(shí)現(xiàn)網(wǎng)絡(luò)通信的最有效的方式就是進(jìn)行分層處理。2.1 OSI七層模型下一頁返回上一頁2. 解封裝當(dāng)遠(yuǎn)程設(shè)備順序接收到一串比特時(shí),遠(yuǎn)程設(shè)備的物理層把這些比特傳送到數(shù)據(jù)鏈路層進(jìn)行操作。數(shù)據(jù)鏈路層會(huì)執(zhí)行如下工作:第1步,檢驗(yàn)該MAC目的地址是否與工作站的地址相匹配,或者是否為一個(gè)以太網(wǎng)廣播地址。如果這兩種情況都沒有出現(xiàn),就丟棄該幀。第2步,如果數(shù)據(jù)已經(jīng)出錯(cuò)了,那么將它丟棄,而且數(shù)據(jù)鏈路層可能會(huì)要求重傳數(shù)據(jù)。否則,數(shù)據(jù)鏈路層就讀取并解釋數(shù)據(jù)鏈

13、路報(bào)頭上的控制信息。2.1 OSI七層模型下一頁返回上一頁第3步,數(shù)據(jù)鏈路層剝離數(shù)據(jù)鏈路報(bào)頭和報(bào)尾,然后根據(jù)數(shù)據(jù)鏈路報(bào)頭上的控制信息把剩下的數(shù)據(jù)向上傳送到網(wǎng)絡(luò)層。這個(gè)過程稱為解封裝(de-encapsulation),每一個(gè)后續(xù)層都會(huì)執(zhí)行一個(gè)類似的解封裝過程??梢园呀夥庋b過程看作為讀取信封上的地址來判斷是否是給你的信,如果信上寫的是你的地址,你就可以從信封里取出信件。2.1 OSI七層模型返回上一頁2.2.1 TCP/IP概述TCP/IP的目的是為實(shí)現(xiàn)計(jì)算機(jī)之間數(shù)據(jù)傳送提供方法,它為應(yīng)用程序提供了把數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)上的方法,同時(shí)也為網(wǎng)絡(luò)提供了把數(shù)據(jù)分發(fā)給其他計(jì)算機(jī)或主機(jī)上應(yīng)用程序的方法。TCP/

14、IP被安裝到世界上各種類型的計(jì)算機(jī)、操作系統(tǒng)以及網(wǎng)絡(luò)設(shè)備中。當(dāng)前的TCP/IP是老版本。IP協(xié)議第4版(IPv4)在1981年9月標(biāo)準(zhǔn)化。1992年,在Internet工程任務(wù)組(IETF)的推動(dòng)下,制定了新一代的Internet協(xié)議(IP)標(biāo)準(zhǔn),通常稱為IPng。IPng現(xiàn)在被稱為IP協(xié)議第6版(IPv6)。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回2.2.2 TCP/IP參考模型1. TCP/IP參考模型及與OSI模型比較TCP/IP是發(fā)展至今最成功的通信協(xié)議,它被用于構(gòu)筑目前最大的、開放的互聯(lián)網(wǎng)絡(luò)系統(tǒng)Internet。TCP和IP是兩個(gè)獨(dú)立且緊密結(jié)合的協(xié)議,負(fù)責(zé)管理和引導(dǎo)數(shù)據(jù)報(bào)文在Inter

15、net上的傳輸。二者使用專門的報(bào)文頭定義每個(gè)報(bào)文的內(nèi)容。TCP負(fù)責(zé)和遠(yuǎn)程計(jì)算機(jī)的連接;IP負(fù)責(zé)尋址,使報(bào)文被送到其該去的地方。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁2. TCP/IP參考模型各層功能(1)應(yīng)用層TCP/IP的高層協(xié)議設(shè)計(jì)成包含OSI模型中的會(huì)話層、表示層和應(yīng)用層的功能。它的應(yīng)用層能處理高層協(xié)議和有關(guān)表示、編碼及會(huì)話控制的問題。TCP/IP協(xié)議集把所有與應(yīng)用層相關(guān)的功能整合為一層,并且保證這一層的數(shù)據(jù)能夠被下一層正確封裝。TCP/IP協(xié)議集不僅描述了Internet層和傳輸層的技術(shù)規(guī)范(比如IP協(xié)議和TCP協(xié)議),還詳細(xì)敘述了一些常用的應(yīng)用層協(xié)議。2.2 TCP/IP數(shù)據(jù)傳

16、輸下一頁返回上一頁(2)傳輸層傳輸層提供從源主機(jī)到目的主機(jī)的傳輸服務(wù)。在端點(diǎn)(發(fā)送主機(jī)和接收主機(jī))之間建立邏輯連接。傳輸層負(fù)責(zé)分段和重組上層應(yīng)用程序發(fā)送的數(shù)據(jù),并在端點(diǎn)之間重組成同一數(shù)據(jù)流。傳輸層數(shù)據(jù)流提供端到端的傳輸服務(wù),也稱為端到端的服務(wù)。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁(3)網(wǎng)絡(luò)層在OSI參考模型中,網(wǎng)絡(luò)層使得上層協(xié)議不用關(guān)心網(wǎng)絡(luò)中的具體情況,網(wǎng)絡(luò)層管理跨網(wǎng)絡(luò)的連接。IP正式來說是作為TCP/IP網(wǎng)絡(luò)層,因?yàn)槠湓赥CP/IP互聯(lián)網(wǎng)中的重要性,所以一般也可以稱為TCP/IP模型中的Internet層。通過TCP/IP協(xié)議集傳輸數(shù)據(jù),所有的上層和底層通信都需要通過IP協(xié)議。網(wǎng)絡(luò)層

17、的目的是利用相應(yīng)的本層協(xié)議發(fā)送分組。決定最佳路徑和分組交換都在這層完成。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁(4)數(shù)據(jù)鏈路層和物理層數(shù)據(jù)鏈路層和物理層一般也被整合成網(wǎng)絡(luò)訪問層,這一層主要參與在傳輸IP分組時(shí)建立和網(wǎng)絡(luò)介質(zhì)的物理連接。這一層包括局域網(wǎng)和廣域網(wǎng)技術(shù),以及OSI參考模型中的物理層和數(shù)據(jù)鏈路層的內(nèi)容。網(wǎng)絡(luò)訪問層的功能包括IP地址與物理硬件地址的映射,以及將IP分組封裝成幀,基于不同硬件類型的網(wǎng)絡(luò)接口,網(wǎng)絡(luò)訪問層定義了和物理介質(zhì)的連接。網(wǎng)絡(luò)訪問層配置的一個(gè)典型例子是Windows系統(tǒng)采用第三方的網(wǎng)絡(luò)接口卡(NIC)。根據(jù)不同的Windows版本,2.2 TCP/IP數(shù)據(jù)傳輸下一頁

18、返回上一頁操作系統(tǒng)會(huì)自動(dòng)檢測(cè)NIC,安裝相應(yīng)的驅(qū)動(dòng)程序。如果使用一個(gè)版本較老的Windows系統(tǒng),用戶必須使用指定的網(wǎng)卡驅(qū)動(dòng)程序。網(wǎng)卡廠商一般在軟盤或光盤中提供相應(yīng)的驅(qū)動(dòng)程序。2.2.3 TCP/IP協(xié)議棧TCP/IP協(xié)議棧包含一簇協(xié)議,分別對(duì)應(yīng)各個(gè)不同的層次,它完成特定的功能和應(yīng)用。下面對(duì)每一層中的對(duì)應(yīng)的協(xié)議加以介紹,如圖2 12所示。網(wǎng)絡(luò)層的主要協(xié)議有4個(gè),即IP協(xié)議、ICMP協(xié)議、ARP協(xié)議和RARP協(xié)議。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁 IP協(xié)議是主要的一個(gè)網(wǎng)絡(luò)層協(xié)議,提供無連接,盡力而為地分組傳送路由。它不關(guān)心分組的具體內(nèi)容,只查找把分組發(fā)送到目的地的路徑。 互聯(lián)網(wǎng)控制報(bào)

19、文協(xié)議ICMP(Internet Control Message Protocol)。在網(wǎng)絡(luò)中,網(wǎng)關(guān)和主機(jī)用ICMP發(fā)送關(guān)于所發(fā)數(shù)據(jù)包的有關(guān)問題報(bào)告,如目的或端口不可達(dá),或網(wǎng)絡(luò)中出現(xiàn)擁塞等。 地址解析協(xié)議ARP(Address Resolution Protocol)用來將邏輯地址解析成物理地址。 反向地址解析協(xié)議RARP(Reverse Address Resolution Protocol)。通過RARP廣播,將物理地址解析成邏輯地址。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁傳輸層的主要協(xié)議有TCP協(xié)議和UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)協(xié)議。傳輸控

20、制協(xié)議TCP是面向連接的協(xié)議,用三次握手和滑動(dòng)窗口機(jī)制來保證傳輸?shù)目煽啃院瓦M(jìn)行流量控制;用戶數(shù)據(jù)報(bào)協(xié)議UDP是非面向連接的傳輸層協(xié)議。應(yīng)用層包含大量常用的應(yīng)用程序,主要有超文本傳輸協(xié)議HTTP(Hypertext Transfer Protocol)、遠(yuǎn)程登錄Telnet、文件傳輸協(xié)議FTP(File Transfer Protocol)等。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁2.2.4 TCP/IP報(bào)文格式1. IP報(bào)文格式IP協(xié)議是TCP/IP協(xié)議族中最為核心的協(xié)議。它提供不可靠、無連接的服務(wù),也即依賴其他層的協(xié)議進(jìn)行差錯(cuò)控制。在局域網(wǎng)環(huán)境中,IP協(xié)議往往被封裝在以太網(wǎng)幀中傳送,而

21、所有的TCP,UDP,ICMP,IGMP數(shù)據(jù)都被封裝在IP數(shù)據(jù)報(bào)中傳送,如圖2 13所示:IP數(shù)據(jù)報(bào)頭部的格式(RFC 791)如圖2 14所示。普通的IP數(shù)據(jù)包頭部長(zhǎng)度為20B(字節(jié)),不含選項(xiàng)字段。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁2. TCP分段格式TCP是一種可靠的面向連接的字節(jié)流服務(wù)。源主機(jī)在傳送數(shù)據(jù)前需要先和目標(biāo)主機(jī)建立連接。然后,在此連接上,被編號(hào)的數(shù)據(jù)段按序收發(fā)。同時(shí),要求對(duì)每個(gè)數(shù)據(jù)段進(jìn)行確認(rèn),以此保證了可靠性。如果在指定的時(shí)間內(nèi)沒有收到目標(biāo)主機(jī)對(duì)所發(fā)數(shù)據(jù)段的確認(rèn),源主機(jī)將再次發(fā)送該數(shù)據(jù)段。TCP頭部結(jié)構(gòu)(RFC 793,1323)如圖2 15所示。2.2 TCP/I

22、P數(shù)據(jù)傳輸下一頁返回上一頁3. UDP數(shù)據(jù)段格式UDP是一種不可靠的、無連接的數(shù)據(jù)報(bào)服務(wù)。源主機(jī)在傳送數(shù)據(jù)前不需要和目標(biāo)主機(jī)建立連接。數(shù)據(jù)被冠以源端口號(hào)、目標(biāo)端口號(hào)等UDP報(bào)頭字段后直接發(fā)往目的主機(jī)。這時(shí),每個(gè)數(shù)據(jù)段的可靠性依靠上層協(xié)議來保證。在傳送數(shù)據(jù)較少、較小的情況下,UDP比TCP更加高效。UDP頭部結(jié)構(gòu)(RFC 793,1323)如圖2 16所示。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁4. 套接字在每個(gè)TCP,UDP數(shù)據(jù)段中都包含源端口號(hào)和目標(biāo)端口號(hào)字段。有時(shí),把一個(gè)IP地址和一個(gè)端口號(hào)合稱為一個(gè)套接字(Socket),而一個(gè)套接字對(duì)(Socket pair)可以唯一地確定互聯(lián)網(wǎng)

23、絡(luò)中每個(gè)TCP連接的雙方(客戶IP地址、客戶端口號(hào)、服務(wù)器IP地址、服務(wù)器端口號(hào))。如圖2 17所示,是常見的一些協(xié)議和它們對(duì)應(yīng)的服務(wù)端口號(hào)。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁2.2.5 TCP/IP數(shù)據(jù)封裝TCP/IP協(xié)議棧與OSI參考模型同樣都采用對(duì)等通信的模式。同OSI參考模型數(shù)據(jù)封裝過程一樣,TCP/IP協(xié)議在報(bào)文轉(zhuǎn)發(fā)過程中,封裝和解封裝也發(fā)生在各層之間。發(fā)送方封裝的操作是逐層進(jìn)行的,各個(gè)應(yīng)用程序?qū)⒁l(fā)送的數(shù)據(jù)傳送給傳輸層;TCP/UDP對(duì)數(shù)據(jù)分段為大小一定的數(shù)據(jù)段,加上本層的報(bào)文頭。在傳輸層報(bào)文頭中,包含接收的數(shù)據(jù)所屬上層協(xié)議或應(yīng)用程序端口號(hào)。傳輸層協(xié)議利用端口號(hào)來調(diào)用和區(qū)

24、分應(yīng)用層不同的應(yīng)用程序。加完傳輸層報(bào)文頭,數(shù)據(jù)發(fā)送給網(wǎng)絡(luò)層。網(wǎng)絡(luò)層對(duì)來自傳輸層的數(shù)據(jù)段進(jìn)行一定的處理,2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁如利用協(xié)議號(hào)區(qū)分傳輸層協(xié)議,尋找下一跳地址,解析數(shù)據(jù)鏈路層中的物理地址等,加上本層的IP報(bào)文頭,轉(zhuǎn)換為數(shù)據(jù)包,再發(fā)送給數(shù)據(jù)鏈路層;數(shù)據(jù)鏈路層依據(jù)不同的協(xié)議加上本層的幀頭,然后通過物理層以比特流的形式將報(bào)文發(fā)送出去。在接收方,這種解除封裝的操作也是逐層進(jìn)行的。從物理層到數(shù)據(jù)鏈路層,逐層去掉各層的報(bào)文頭部,將數(shù)據(jù)傳遞給應(yīng)用程序處理。圖2 18示意了TCP/IP數(shù)據(jù)封裝過程。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁2.2.6 TCP/IP數(shù)據(jù)傳輸1.

25、TCP/IP傳輸層簡(jiǎn)介TCP/IP傳輸層在源設(shè)備和目的設(shè)備上的應(yīng)用程序間傳輸數(shù)據(jù),徹底地了解傳輸層的運(yùn)行是理解現(xiàn)代數(shù)據(jù)網(wǎng)絡(luò)的基本。服務(wù)質(zhì)量(Quality of Service)常用于描述在第四層傳輸層的作用,UDP協(xié)議也工作在第四層,并且可以提供無連接的網(wǎng)絡(luò)服務(wù)。但是,工作在本層的主要協(xié)議是面向連接的TCP協(xié)議,它的主要功能是可靠而又準(zhǔn)確地傳輸并控制源主機(jī)與目的主機(jī)之間的信息流。傳輸層的主要職責(zé)是提供端到端的控制,通過滑動(dòng)窗口機(jī)制提供流控制,通過序號(hào)和確認(rèn)機(jī)制來保證可靠性。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁2. TCP/IP數(shù)據(jù)傳輸(1)TCP連接建立、釋放時(shí)的握手過程TCP協(xié)議是

26、一個(gè)面向連接的可靠的傳輸控制協(xié)議,在每次數(shù)據(jù)傳輸時(shí)都先要建立連接,當(dāng)連接建立成功后才開始傳輸數(shù)據(jù),數(shù)據(jù)傳輸結(jié)束后還要斷開連接。由于TCP使用的網(wǎng)絡(luò)層協(xié)議IP是一個(gè)不可靠、無連接的數(shù)據(jù)報(bào)傳送服務(wù),為確保連接的建立和拆除都是可靠的,TCP使用了三次握手的方式來建立可靠的連接,也就是說其中交換了三個(gè)消息;結(jié)束TCP連接則采用四次握手來實(shí)現(xiàn)。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁TCP使用報(bào)頭中的標(biāo)志同步段(Synchronization Segmen,SYN)來描述創(chuàng)建一個(gè)連接的三次握手中的消息,用結(jié)束段(FIN segment,F(xiàn)IN是finsh的簡(jiǎn)寫)來描述拆除一個(gè)連接的消息。另外,握手過

27、程確保TCP只有在兩端一致的情況下,才會(huì)打開或關(guān)閉一個(gè)連接。創(chuàng)建一個(gè)連接的三次握手過程中要求每一端產(chǎn)生一個(gè)隨機(jī)32位序列號(hào)。因?yàn)槊恳粋€(gè)新的連接用的是一個(gè)新的隨機(jī)序列號(hào)。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁(2)TCP可靠傳輸技術(shù)當(dāng)TCP的連接建立好后,為保證數(shù)據(jù)傳輸?shù)目煽浚琓CP協(xié)議要求對(duì)傳輸?shù)臄?shù)據(jù)都進(jìn)行確認(rèn),為保證確認(rèn)的正常進(jìn)行,TCP協(xié)議首先對(duì)每一個(gè)分段都作了32位的編號(hào),稱為序列號(hào)。每一個(gè)分段都按照從起始號(hào)遞增的順序進(jìn)行編號(hào)。TCP協(xié)議通過序列號(hào)以及確認(rèn)號(hào)來確保傳輸?shù)目煽啃裕恳淮蝹鬏敂?shù)據(jù)時(shí)標(biāo)明該段的編號(hào),以便對(duì)方確認(rèn),同時(shí)在確認(rèn)字段對(duì)已收到的TCP分段確認(rèn)。確認(rèn)并不需要單獨(dú)發(fā)包

28、確認(rèn),可以放在傳到對(duì)方的TCP分段中,在TCP協(xié)議中并不直接確認(rèn)收到哪些分段,而是通知發(fā)送方下一次該發(fā)送哪一個(gè)分段,2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁表示前面的分段都已經(jīng)收到,如果收到分段后沒有分段要馬上傳到對(duì)方,TCP協(xié)議的確認(rèn)通常采用延時(shí)幾分之一秒后再做確認(rèn),而不是收到一個(gè)確認(rèn)一個(gè),接收端可能收到從X到X+N的N個(gè)后才開始確認(rèn),直接在確認(rèn)字段中標(biāo)N+X+1,通知對(duì)方下一次直接傳N+X+1分段,這樣減少確認(rèn)的次數(shù)以增加確認(rèn)的效率。如果M(MN)分段在傳輸中出錯(cuò),則確認(rèn)X+M通知發(fā)送方從X+M開始重傳X+M分段以及以后所有分段。TCP的確認(rèn)和重傳技術(shù)對(duì)每一個(gè)分段都有唯一的編號(hào),這樣當(dāng)

29、對(duì)方收到了重復(fù)的分段后容易區(qū)分,數(shù)據(jù)分段丟失后也容易定位重傳的數(shù)據(jù)的編號(hào)。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁(3)TCP流量控制TCP初始連接一旦建立,兩端就能夠使用全雙工通信交換數(shù)據(jù)段,并緩存所發(fā)送和接收的數(shù)據(jù)段。之所以要緩存所發(fā)送的數(shù)據(jù)段,是因?yàn)閿?shù)據(jù)重傳的需要,這樣可以防止數(shù)據(jù)段不能到達(dá)或不能按順序到達(dá)接收端引起的差錯(cuò)。TCP的采用滑動(dòng)窗口機(jī)制實(shí)現(xiàn)流量控制功能,如圖2 22所示。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁(4)TCP慢啟動(dòng)在以太網(wǎng)的環(huán)境下,當(dāng)發(fā)送方不知道對(duì)方窗口大小的時(shí)候,便直接向網(wǎng)絡(luò)發(fā)送多個(gè)報(bào)文段,直至收到對(duì)方通告的窗口大小為止。但如果在發(fā)送方和接收方有多個(gè)路

30、由器和較慢的鏈路時(shí),就可能出現(xiàn)一些問題。一些中間路由器必須緩存分組,并有可能耗盡存儲(chǔ)空間,這樣就會(huì)嚴(yán)重降低TCP連接的吞吐量,因此采用了一種稱為慢啟動(dòng)的算法,慢啟動(dòng)為發(fā)送方的TCP增加一個(gè)擁塞窗口,當(dāng)與另一個(gè)網(wǎng)絡(luò)的主機(jī)建立TCP連接時(shí),擁塞窗口被初始化為1個(gè)報(bào)文段(即另一端通告的報(bào)文段大小),每收到一個(gè)ACK,擁塞窗口就增加一個(gè)報(bào)文段(以字節(jié)為單位,但慢啟動(dòng)以報(bào)文段大小為單位進(jìn)行增加)。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁發(fā)送方取擁塞窗口與通告窗口中的最小值作為發(fā)送上限,擁塞窗口是發(fā)送方使用的流量控制,通告窗口則是接收方使用的流量控制。開始發(fā)送一個(gè)報(bào)文段,然后等待ACK。當(dāng)收到該ACK

31、時(shí),擁塞窗口從1增加為2,即可發(fā)送兩個(gè)報(bào)文段。當(dāng)收到這兩個(gè)報(bào)文段的ACK時(shí),擁塞窗口就增加為4。這是一種指數(shù)增加的關(guān)系。在某些互聯(lián)網(wǎng)的中間某些點(diǎn)上可能達(dá)到了互聯(lián)網(wǎng)的容量,于是中間路由器開始丟棄分組。這就通知發(fā)送方它的擁塞窗口開得過大。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁(5)通過防火墻的TCP/IP訪問應(yīng)用TCP/IP進(jìn)行數(shù)據(jù)傳輸使用的是“數(shù)據(jù)包”,“數(shù)據(jù)包”也被稱為“幀”,這兩種叫法可以互換使用。數(shù)據(jù)包是發(fā)送到網(wǎng)絡(luò)上的一個(gè)個(gè)離散的數(shù)據(jù)塊。每一個(gè)發(fā)送的數(shù)據(jù)包都包括其發(fā)送主機(jī)所要共享的數(shù)據(jù)和這些數(shù)據(jù)如何在網(wǎng)絡(luò)上路由及如何送給主機(jī)內(nèi)應(yīng)用程序的信息。TCP/IP也可以說是那些信息的額外信息,

32、有時(shí)也稱為“開銷”。每一種協(xié)議都會(huì)通過在幀頭前添加自己的信息方式向數(shù)據(jù)包增加信息,這些被各種協(xié)議增加的信息也就是協(xié)議的“頭部”(header)。頭部包含了所有協(xié)議執(zhí)行其功能所需要的信息。2.2 TCP/IP數(shù)據(jù)傳輸下一頁返回上一頁每一種協(xié)議都會(huì)依次添加它的頭部,添加的順序依據(jù)各協(xié)議在OSI參考模型中的位置而定。圖2 23示意了基本TCP/IP數(shù)據(jù)包的結(jié)構(gòu)。網(wǎng)絡(luò)分為私有網(wǎng)絡(luò)和公共網(wǎng)絡(luò),前者可能被限制訪問,而后者允許任何人訪問。私有網(wǎng)絡(luò)通常比公共網(wǎng)絡(luò)有更加嚴(yán)格的安全策略,實(shí)際上,公共網(wǎng)絡(luò)沒有什么安全可言。由于像Internet這樣的公共網(wǎng)絡(luò)并不安全,所以私有網(wǎng)絡(luò)的管理員通常都會(huì)在私有網(wǎng)絡(luò)與公共網(wǎng)絡(luò)

33、的連接點(diǎn)處架設(shè)防火墻。當(dāng)然如果兩個(gè)私有網(wǎng)絡(luò)的安全策略不同,則也應(yīng)在兩個(gè)私有網(wǎng)絡(luò)之間安裝防火墻。2.2 TCP/IP數(shù)據(jù)傳輸返回上一頁2.3.1 TCP/IP應(yīng)用層介紹在OSI參考模型中,應(yīng)用層(第七層)為應(yīng)用的通信組件提供了支持,如對(duì)文件傳輸、電子郵件、遠(yuǎn)程登錄和網(wǎng)絡(luò)管理等應(yīng)用的支持。應(yīng)用層是最靠近終端用戶的一層。它決定系統(tǒng)之間是否具有進(jìn)行同步通信的足夠資源。如果沒有應(yīng)用層,就不會(huì)有網(wǎng)絡(luò)通信的支持。應(yīng)用層不能為其他層提供服務(wù),但它為處于TCP/IP模型之外的應(yīng)用程序提供服務(wù)。2.3 應(yīng)用程序及工具下一頁返回此外,應(yīng)用層為模型中其他層的網(wǎng)絡(luò)應(yīng)用程序(比如瀏覽器或電子郵件程序)提供直接接口,或者使

34、用網(wǎng)絡(luò)重定向器(redirector)為獨(dú)立的應(yīng)用程序(比如文字處理、電子制表以及演示管理器)提供間接接口。2.3 應(yīng)用程序及工具下一頁返回上一頁2.3.2 應(yīng)用程序及工具TCP/IP協(xié)議族有很多的應(yīng)用程序和工具可用來實(shí)現(xiàn)Internet和其他IP網(wǎng)絡(luò)的豐富功能。像Ping和Traceroute這樣的工具屬于基本故障診斷的服務(wù),在判定網(wǎng)絡(luò)或主機(jī)是否可用時(shí)非常有用。NAT和PAT通過在防火墻內(nèi)使用一套特殊的私有地址可使網(wǎng)絡(luò)節(jié)省地址空間。服務(wù)控制列表提供了一個(gè)基本防御戰(zhàn)線,而域名服務(wù)使得主機(jī)IP地址可以映射為主機(jī)名。1. Ping,Traceroute和Netstat2.3 應(yīng)用程序及工具下一頁返

35、回上一頁P(yáng)ing,Traceroute和Netstat屬于基本的故障診斷工具,用以判定計(jì)算機(jī)上TCPIP的狀態(tài)。它們是幾個(gè)較小的應(yīng)用程序,一般操作系統(tǒng)中,如Windows,Linux和Solaris都含有這些程序。2. 使用地址轉(zhuǎn)換(NAT)隱藏私有地址RFCl918指定了一些IP地址只用于私有網(wǎng)絡(luò)而不用于Internet和任何其他網(wǎng)絡(luò),這些私有地址為/8,/12和/16。如果沒有分配足夠的公共地址,各個(gè)機(jī)構(gòu)可以在其網(wǎng)絡(luò)內(nèi)部隨便使用這些地址或?qū)⑦@些地址用于他們整個(gè)的網(wǎng)絡(luò)。2.3 應(yīng)用程序及工具下一頁返回上一頁由于許多機(jī)構(gòu)都使用這些地址,所以它們不像其他IP地址那樣是唯一的。因此,這些地址不能被

36、散布到私有網(wǎng)絡(luò)之外。而人們則需要一些方法使那些有私有地址的主機(jī)能夠進(jìn)行Internet訪問,這種方法就是NAT(Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)。3. 訪問控制列表(ACL)路由器等網(wǎng)絡(luò)設(shè)備都有基于訪問控制列表(Access Control List,ACL)對(duì)TCP/IP網(wǎng)絡(luò)流量進(jìn)行過濾的能力,這個(gè)特性為網(wǎng)絡(luò)提供了防范入侵的最初級(jí)保護(hù)。通常,ACL能夠按照源與目的的IP地址、IP協(xié)議號(hào)以及TCP/UDP中的源與目的端口號(hào)對(duì)流量進(jìn)行允許通過或拒絕通過的控制。2.3 應(yīng)用程序及工具下一頁返回上一頁路由器等使用ACL對(duì)每個(gè)數(shù)據(jù)包進(jìn)行檢查,并根據(jù)與其地址及端口號(hào)

37、相應(yīng)的指定規(guī)則對(duì)流量進(jìn)行處理。下面以Cisco路由器為例來介紹ACL。ACL是一個(gè)連續(xù)的允許和拒絕語句的集合,關(guān)系到地址和上層協(xié)議。在Cisco路由器中,一個(gè)簡(jiǎn)單的ACL有如下命令:access-list 101 deny ip tcp host any eq telnetaccess-list 101 permit ip any any2.3 應(yīng)用程序及工具下一頁返回上一頁這個(gè)基本ACL告訴路由器禁止所有從發(fā)起的Telnet會(huì)話,除此之外,允許其他所有流量通過。這個(gè)ACL必須在網(wǎng)絡(luò)進(jìn)出邊界的接口中應(yīng)用以使其能起到作用。4. 域名服務(wù)(DNS)為了將站點(diǎn)的名字和IP地址對(duì)應(yīng)起來,人們開發(fā)了域名服務(wù)(DNS)。DNS用于Internet中,將域名轉(zhuǎn)換成IP地址。域名可以由字母(A,az,不區(qū)分大小寫)、數(shù)字(09)和連接符()組成,各級(jí)域名之間用實(shí)點(diǎn)(.)連接。2.3 應(yīng)用程序及工具下一頁返回上一頁DNS是分層的。頂級(jí)域,例如.com和.net,處于域名結(jié)構(gòu)的頂端。各組織可以在頂級(jí)域的下面注冊(cè)他們自己的域名。例如,如果一個(gè)公司有一個(gè)叫做“ip-network”的網(wǎng)絡(luò),它可以注冊(cè)為。域名中的第一個(gè)字是某臺(tái)主機(jī)的名字。在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論