版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第2章 TCP/IP,2.1 OSI七層模型 2.2 TCP/IP數(shù)據(jù)傳輸 2.3 應(yīng)用程序及工具,2.1.1 OSI七層模型的產(chǎn)生 在計算機網(wǎng)絡(luò)中,除了TCP/IP以外,還使用著由制造開發(fā)商開發(fā)的數(shù)量眾多的協(xié)議。為了使不同協(xié)議的網(wǎng)絡(luò)實現(xiàn)互聯(lián),協(xié)議的標(biāo)準(zhǔn)化變得極為必要。因此,通過國際標(biāo)準(zhǔn)化組織-ISO(International Organaization for Standarization),推動了網(wǎng)絡(luò)體系標(biāo)準(zhǔn)化。 OSI參考模型的一個很重要特性就是它采用的是分層體系結(jié)構(gòu),OSI參考模型共劃分為七層。,2.1 OSI七層模型,下一頁,返回,總結(jié)起來,OSI七層參考模型具有以下優(yōu)點: 簡化了
2、相關(guān)的網(wǎng)絡(luò)操作。 提供即插即用的兼容性和不同廠商之間的標(biāo)準(zhǔn)接口。 使各個廠商能夠設(shè)計出具備互操作性的網(wǎng)絡(luò)設(shè)備,加快數(shù)據(jù)通信網(wǎng)絡(luò)發(fā)展。 防止一個區(qū)域網(wǎng)絡(luò)發(fā)生的變化移向另一個區(qū)域的網(wǎng)絡(luò),因此,每一個區(qū)域的網(wǎng)絡(luò)都能夠單獨快速升級。 把復(fù)雜的網(wǎng)絡(luò)問題分解成小的簡單問題,易于學(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)、第五層會話層(
3、Session Layer)、第六層表示層(Presentation Layer)和第七層應(yīng)用層(Application Layer),如圖2 1所示。 OSI七層參考模型是建設(shè)和設(shè)計網(wǎng)絡(luò)的核心,其每一層都完成推動數(shù)據(jù)通信的特定任務(wù),即每一層都有特定的功能。下面詳細(xì)介紹各層的功能。,2.1 OSI七層模型,下一頁,返回,上一頁,1. 物理層 物理層是OSI七層參考模型的最底層或稱為第一層。有一點需要明確的是,物理層并不是指物理設(shè)備或物理媒體,而是有關(guān)物理設(shè)備通過物理媒體進行互聯(lián)的描述和規(guī)定。物理層協(xié)議還定義了接口的4個基本功能特性。,2.1 OSI七層模型,下一頁,返回,上一頁,2. 數(shù)據(jù)鏈路
4、層 數(shù)據(jù)鏈路層是OSI七層參考模型的第二層。它的傳輸單位是幀,通常,幀由地址段、數(shù)據(jù)段、控制段、校驗段等字段組成。圖2 2描述了一個簡化的數(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ù)鏈路層中討論的是兩臺相鄰的設(shè)備之間的通信。但是,實際中的兩臺設(shè)備之間可能相隔很遠,它們之間的通路可能要包括許多段鏈路,而數(shù)據(jù)鏈路層的協(xié)議不能解決由多條鏈路組成的通路的數(shù)據(jù)傳送問題。這些問題都是由第三層,即網(wǎng)絡(luò)層來解決的。,2.1 OSI七層模型,下一頁,返回,上一頁,4.
5、 傳輸層 傳輸層的功能是保證在不同子網(wǎng)的兩臺設(shè)備間進行數(shù)據(jù)包可靠、順序、無錯地傳輸。在傳輸層,數(shù)據(jù)傳送的單位是段。傳輸層負(fù)責(zé)處理端對端通信,所謂端對端是指從一個終端(主機)到另一個終端(主機),中間可以有一個或多個交換結(jié)點。圖2 4示意了傳輸層提供端到端的服務(wù),網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層完成端到端通路的尋址和傳輸。,2.1 OSI七層模型,下一頁,返回,上一頁,5. 會話層 會話層是利用傳輸層提供的端到端的服務(wù),向表示層或會話用戶提供會話服務(wù)。會話層建立通信鏈接,保持會話過程通信鏈接的通暢,同步兩個節(jié)點之間的對話,決定通信是否被中斷以及通信中斷時如何決定從何處重新發(fā)送。舉例來說,某個用戶登錄到
6、一個遠程系統(tǒng),并與之交換信息。會話層管理這一進程,控制哪一方有權(quán)發(fā)送信息,哪一方必須接收信息,這其實是一種同步機制。,2.1 OSI七層模型,下一頁,返回,上一頁,6. 表示層 表示層就是將應(yīng)用層的信息“表示”成一種格式,讓對端設(shè)備能夠正確識別。它關(guān)注的是格式的轉(zhuǎn)換,就如同是應(yīng)用程序和網(wǎng)絡(luò)之間的翻譯官。在表示層,數(shù)據(jù)將按照網(wǎng)絡(luò)能識別的編碼進行格式轉(zhuǎn)換,由于不同的軟件應(yīng)用程序經(jīng)常使用不同的數(shù)據(jù)格式編碼,所以數(shù)據(jù)格式轉(zhuǎn)換是必需的。它可以確保數(shù)字和文本以接收方的表示層可以閱讀的格式發(fā)送。例如,在運行Windows 98的主機上向遠端的IBM大型機讀取數(shù)據(jù),由于IBM大型機使用的是EBCDIC字符,而
7、Windows98使用的是ASCII字符格式,如果沒有翻譯官的翻譯,本要得到的是“good”,可在屏幕上看到的卻是串亂碼,如圖2 5所示。,2.1 OSI七層模型,下一頁,返回,上一頁,7. 應(yīng)用層 應(yīng)用層是OSI的最高層,它直接與用戶和應(yīng)用程序打交道,負(fù)責(zé)對軟件提供接口以使程序能使用網(wǎng)絡(luò)。這里的網(wǎng)絡(luò)服務(wù)包括文件傳輸、文件管理、電子郵件的消息處理等。必須強調(diào)的是應(yīng)用層并不等同于一個應(yīng)用程序。例如,在網(wǎng)絡(luò)上發(fā)送電子郵件,你的請求就是通過應(yīng)用層傳輸?shù)骄W(wǎng)絡(luò)的。,2.1 OSI七層模型,下一頁,返回,上一頁,2.1.3 層次間的關(guān)系 OSI七層參考模型的每一層都具有清晰的特征?;緛碚f,第七層至第四層
8、處理數(shù)據(jù)源和數(shù)據(jù)目的地之間的端到端通信,而第三層至第一層處理網(wǎng)絡(luò)設(shè)備間的通信。另外,OSI參考模型的七層也可以劃分為兩組:上層(第七層、第六層和第五層)和下層(第四層、第三層、第二層和第一層)。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è)左邊的計算機為A,右邊的計算機為B,如果計算機A上的應(yīng)用程序要將信息發(fā)送到計算機B的應(yīng)用
9、程序,則計算機A中的應(yīng)用程序需要將信息先發(fā)送到其應(yīng)用層(第七層),然后此層將信息發(fā)送到表示層(第六層),表示層將數(shù)據(jù)轉(zhuǎn)送到會話層(第五層),如此繼續(xù),直至物理層(第一層),在物理層,數(shù)據(jù)被放置在物理網(wǎng)絡(luò)媒介中并被發(fā)送至計算機B;計算機B的物理層接收來自物理媒介的數(shù)據(jù),然后將信息向上發(fā)送至數(shù)據(jù)鏈路層(第二層),數(shù)據(jù)鏈路層再轉(zhuǎn)送給網(wǎng)絡(luò)層,依次繼續(xù),直到信息到達計算機B的應(yīng)用層,最后,計算機B的應(yīng)用層再將信息傳送給應(yīng)用程序接收端,從而完成通信過程。,2.1 OSI七層模型,下一頁,返回,上一頁,在網(wǎng)絡(luò)通信中,通過傳輸該層的PDU到對方的同一層(對等層),以實現(xiàn)通信。從邏輯上講,對等層間的通信是兩個設(shè)
10、備的同一層之間的通信。物理上,每一層都只與自己相鄰的上下兩層直接通信,下層通過服務(wù)訪問點(SAP,Service Access Point)為上一層提供服務(wù)。SAP是指同一設(shè)備中相鄰兩層間的信息交換之處,如同常用的郵箱,郵箱就是郵局為用戶提供信件服務(wù)的訪問點,郵遞員將信件放入郵箱,用戶再通過郵箱(服務(wù)訪問點)取回自己的信件。,2.1 OSI七層模型,下一頁,返回,上一頁,下面圖2 6和圖2 7示意了兩個設(shè)備之間是如何建立通信的。從圖2 6可以看出,兩個設(shè)備建立對等層的通信連接,即在各個對等層間建立邏輯信道,對等層使用功能相同的協(xié)議實現(xiàn)對話。如主機A的第二層不能和對方的第三層直接通信。同時,同一
11、層之間的不同協(xié)議也不能通信,比如主機A的E-mail應(yīng)用程序就不能和對方的Telnet應(yīng)用程序通信。圖2 7示意了物理上兩個設(shè)備間的數(shù)據(jù)流是通過物理傳輸線路進行傳遞的。,2.1 OSI七層模型,下一頁,返回,上一頁,2.1.4 數(shù)據(jù)封裝 1. 封裝 封裝(Encapsulation)是指網(wǎng)絡(luò)節(jié)點(Node)將要傳送的數(shù)據(jù)用待定的協(xié)議頭打包來傳送數(shù)據(jù),有時候,也可能在數(shù)據(jù)尾部加上報文,這時候,也稱為封裝。OSI七層模型的每一層都對數(shù)據(jù)進行封裝,以保證數(shù)據(jù)能夠正確無誤地到達目的地,被終端主機理解及處理。,2.1 OSI七層模型,下一頁,返回,上一頁,要理解封裝是如何進行的,可以考察一下數(shù)據(jù)傳輸時是
12、如何通過各層的。如圖2 8所示,當(dāng)數(shù)據(jù)從源端發(fā)出后,它就會從應(yīng)用層一直向下傳遞到達其他各層。對所交換的數(shù)據(jù)進行打包的方式以及這些數(shù)據(jù)的流動方式都會隨著每一層為終端用戶所執(zhí)行的網(wǎng)絡(luò)服務(wù)的變化而變化。 以電信號形式表示的數(shù)據(jù),必須通過線纜傳送到正確的目標(biāo)計算機中,然后再轉(zhuǎn)化為能夠被接收端所能讀取的最初形式。正因為如此,硬件、軟件和協(xié)議的開發(fā)人員意識到實現(xiàn)網(wǎng)絡(luò)通信的最有效的方式就是進行分層處理。,2.1 OSI七層模型,下一頁,返回,上一頁,2. 解封裝 當(dāng)遠程設(shè)備順序接收到一串比特時,遠程設(shè)備的物理層把這些比特傳送到數(shù)據(jù)鏈路層進行操作。數(shù)據(jù)鏈路層會執(zhí)行如下工作: 第1步,檢驗該MAC目的地址是否與
13、工作站的地址相匹配,或者是否為一個以太網(wǎng)廣播地址。如果這兩種情況都沒有出現(xiàn),就丟棄該幀。 第2步,如果數(shù)據(jù)已經(jīng)出錯了,那么將它丟棄,而且數(shù)據(jù)鏈路層可能會要求重傳數(shù)據(jù)。否則,數(shù)據(jù)鏈路層就讀取并解釋數(shù)據(jù)鏈路報頭上的控制信息。,2.1 OSI七層模型,下一頁,返回,上一頁,第3步,數(shù)據(jù)鏈路層剝離數(shù)據(jù)鏈路報頭和報尾,然后根據(jù)數(shù)據(jù)鏈路報頭上的控制信息把剩下的數(shù)據(jù)向上傳送到網(wǎng)絡(luò)層。 這個過程稱為解封裝(de-encapsulation),每一個后續(xù)層都會執(zhí)行一個類似的解封裝過程。可以把解封裝過程看作為讀取信封上的地址來判斷是否是給你的信,如果信上寫的是你的地址,你就可以從信封里取出信件。,2.1 OSI七
14、層模型,返回,上一頁,2.2.1 TCP/IP概述 TCP/IP的目的是為實現(xiàn)計算機之間數(shù)據(jù)傳送提供方法,它為應(yīng)用程序提供了把數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)上的方法,同時也為網(wǎng)絡(luò)提供了把數(shù)據(jù)分發(fā)給其他計算機或主機上應(yīng)用程序的方法。 TCP/IP被安裝到世界上各種類型的計算機、操作系統(tǒng)以及網(wǎng)絡(luò)設(shè)備中。 當(dāng)前的TCP/IP是老版本。IP協(xié)議第4版(IPv4)在1981年9月標(biāo)準(zhǔn)化。1992年,在Internet工程任務(wù)組(IETF)的推動下,制定了新一代的Internet協(xié)議(IP)標(biāo)準(zhǔn),通常稱為IPng。IPng現(xiàn)在被稱為IP協(xié)議第6版(IPv6)。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,2.2.2 TC
15、P/IP參考模型 1. TCP/IP參考模型及與OSI模型比較 TCP/IP是發(fā)展至今最成功的通信協(xié)議,它被用于構(gòu)筑目前最大的、開放的互聯(lián)網(wǎng)絡(luò)系統(tǒng)Internet。TCP和IP是兩個獨立且緊密結(jié)合的協(xié)議,負(fù)責(zé)管理和引導(dǎo)數(shù)據(jù)報文在Internet上的傳輸。二者使用專門的報文頭定義每個報文的內(nèi)容。TCP負(fù)責(zé)和遠程計算機的連接;IP負(fù)責(zé)尋址,使報文被送到其該去的地方。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,2. TCP/IP參考模型各層功能 (1)應(yīng)用層 TCP/IP的高層協(xié)議設(shè)計成包含OSI模型中的會話層、表示層和應(yīng)用層的功能。它的應(yīng)用層能處理高層協(xié)議和有關(guān)表示、編碼及會話控制的問題
16、。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ù)傳輸,下一頁,返回,上一頁,(2)傳輸層 傳輸層提供從源主機到目的主機的傳輸服務(wù)。在端點(發(fā)送主機和接收主機)之間建立邏輯連接。傳輸層負(fù)責(zé)分段和重組上層應(yīng)用程序發(fā)送的數(shù)據(jù),并在端點之間重組成同一數(shù)據(jù)流。傳輸層數(shù)據(jù)流提供端到端的傳輸服務(wù),也稱為端到端的服務(wù)。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,(3)網(wǎng)絡(luò)層 在OSI參考模型中,網(wǎng)絡(luò)
17、層使得上層協(xié)議不用關(guān)心網(wǎng)絡(luò)中的具體情況,網(wǎng)絡(luò)層管理跨網(wǎng)絡(luò)的連接。IP正式來說是作為TCP/IP網(wǎng)絡(luò)層,因為其在TCP/IP互聯(lián)網(wǎng)中的重要性,所以一般也可以稱為TCP/IP模型中的Internet層。通過TCP/IP協(xié)議集傳輸數(shù)據(jù),所有的上層和底層通信都需要通過IP協(xié)議。網(wǎng)絡(luò)層的目的是利用相應(yīng)的本層協(xié)議發(fā)送分組。決定最佳路徑和分組交換都在這層完成。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,(4)數(shù)據(jù)鏈路層和物理層 數(shù)據(jù)鏈路層和物理層一般也被整合成網(wǎng)絡(luò)訪問層,這一層主要參與在傳輸IP分組時建立和網(wǎng)絡(luò)介質(zhì)的物理連接。這一層包括局域網(wǎng)和廣域網(wǎng)技術(shù),以及OSI參考模型中的物理層和數(shù)據(jù)鏈路層的
18、內(nèi)容。 網(wǎng)絡(luò)訪問層的功能包括IP地址與物理硬件地址的映射,以及將IP分組封裝成幀,基于不同硬件類型的網(wǎng)絡(luò)接口,網(wǎng)絡(luò)訪問層定義了和物理介質(zhì)的連接。網(wǎng)絡(luò)訪問層配置的一個典型例子是Windows系統(tǒng)采用第三方的網(wǎng)絡(luò)接口卡(NIC)。根據(jù)不同的Windows版本,,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,操作系統(tǒng)會自動檢測NIC,安裝相應(yīng)的驅(qū)動程序。如果使用一個版本較老的Windows系統(tǒng),用戶必須使用指定的網(wǎng)卡驅(qū)動程序。網(wǎng)卡廠商一般在軟盤或光盤中提供相應(yīng)的驅(qū)動程序。 2.2.3 TCP/IP協(xié)議棧 TCP/IP協(xié)議棧包含一簇協(xié)議,分別對應(yīng)各個不同的層次,它完成特定的功能和應(yīng)用。下面對每一
19、層中的對應(yīng)的協(xié)議加以介紹,如圖2 12所示。 網(wǎng)絡(luò)層的主要協(xié)議有4個,即IP協(xié)議、ICMP協(xié)議、ARP協(xié)議和RARP協(xié)議。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁, IP協(xié)議是主要的一個網(wǎng)絡(luò)層協(xié)議,提供無連接,盡力而為地分組傳送路由。它不關(guān)心分組的具體內(nèi)容,只查找把分組發(fā)送到目的地的路徑。 互聯(lián)網(wǎng)控制報文協(xié)議ICMP(Internet Control Message Protocol)。在網(wǎng)絡(luò)中,網(wǎng)關(guān)和主機用ICMP發(fā)送關(guān)于所發(fā)數(shù)據(jù)包的有關(guān)問題報告,如目的或端口不可達,或網(wǎng)絡(luò)中出現(xiàn)擁塞等。 地址解析協(xié)議ARP(Address Resolution Protocol)用來將邏輯地址解
20、析成物理地址。 反向地址解析協(xié)議RARP(Reverse Address Resolution Protocol)。通過RARP廣播,將物理地址解析成邏輯地址。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,傳輸層的主要協(xié)議有TCP協(xié)議和UDP(User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)協(xié)議。傳輸控制協(xié)議TCP是面向連接的協(xié)議,用三次握手和滑動窗口機制來保證傳輸?shù)目煽啃院瓦M行流量控制;用戶數(shù)據(jù)報協(xié)議UDP是非面向連接的傳輸層協(xié)議。 應(yīng)用層包含大量常用的應(yīng)用程序,主要有超文本傳輸協(xié)議HTTP(Hypertext Transfer Protocol)、遠程登錄Telnet
21、、文件傳輸協(xié)議FTP(File Transfer Protocol)等。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,2.2.4 TCP/IP報文格式 1. IP報文格式 IP協(xié)議是TCP/IP協(xié)議族中最為核心的協(xié)議。它提供不可靠、無連接的服務(wù),也即依賴其他層的協(xié)議進行差錯控制。在局域網(wǎng)環(huán)境中,IP協(xié)議往往被封裝在以太網(wǎng)幀中傳送,而所有的TCP,UDP,ICMP,IGMP數(shù)據(jù)都被封裝在IP數(shù)據(jù)報中傳送,如圖2 13所示: IP數(shù)據(jù)報頭部的格式(RFC 791)如圖2 14所示。普通的IP數(shù)據(jù)包頭部長度為20B(字節(jié)),不含選項字段。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,
22、2. TCP分段格式 TCP是一種可靠的面向連接的字節(jié)流服務(wù)。源主機在傳送數(shù)據(jù)前需要先和目標(biāo)主機建立連接。然后,在此連接上,被編號的數(shù)據(jù)段按序收發(fā)。同時,要求對每個數(shù)據(jù)段進行確認(rèn),以此保證了可靠性。如果在指定的時間內(nèi)沒有收到目標(biāo)主機對所發(fā)數(shù)據(jù)段的確認(rèn),源主機將再次發(fā)送該數(shù)據(jù)段。 TCP頭部結(jié)構(gòu)(RFC 793,1323)如圖2 15所示。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,3. UDP數(shù)據(jù)段格式 UDP是一種不可靠的、無連接的數(shù)據(jù)報服務(wù)。源主機在傳送數(shù)據(jù)前不需要和目標(biāo)主機建立連接。數(shù)據(jù)被冠以源端口號、目標(biāo)端口號等UDP報頭字段后直接發(fā)往目的主機。這時,每個數(shù)據(jù)段的可靠性依靠上
23、層協(xié)議來保證。在傳送數(shù)據(jù)較少、較小的情況下,UDP比TCP更加高效。 UDP頭部結(jié)構(gòu)(RFC 793,1323)如圖2 16所示。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,4. 套接字 在每個TCP,UDP數(shù)據(jù)段中都包含源端口號和目標(biāo)端口號字段。有時,把一個IP地址和一個端口號合稱為一個套接字(Socket),而一個套接字對(Socket pair)可以唯一地確定互聯(lián)網(wǎng)絡(luò)中每個TCP連接的雙方(客戶IP地址、客戶端口號、服務(wù)器IP地址、服務(wù)器端口號)。 如圖2 17所示,是常見的一些協(xié)議和它們對應(yīng)的服務(wù)端口號。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,2.2.5 TCP
24、/IP數(shù)據(jù)封裝 TCP/IP協(xié)議棧與OSI參考模型同樣都采用對等通信的模式。同OSI參考模型數(shù)據(jù)封裝過程一樣,TCP/IP協(xié)議在報文轉(zhuǎn)發(fā)過程中,封裝和解封裝也發(fā)生在各層之間。發(fā)送方封裝的操作是逐層進行的,各個應(yīng)用程序?qū)⒁l(fā)送的數(shù)據(jù)傳送給傳輸層;TCP/UDP對數(shù)據(jù)分段為大小一定的數(shù)據(jù)段,加上本層的報文頭。在傳輸層報文頭中,包含接收的數(shù)據(jù)所屬上層協(xié)議或應(yīng)用程序端口號。傳輸層協(xié)議利用端口號來調(diào)用和區(qū)分應(yīng)用層不同的應(yīng)用程序。加完傳輸層報文頭,數(shù)據(jù)發(fā)送給網(wǎng)絡(luò)層。網(wǎng)絡(luò)層對來自傳輸層的數(shù)據(jù)段進行一定的處理,,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,如利用協(xié)議號區(qū)分傳輸層協(xié)議,尋找下一跳地址,解
25、析數(shù)據(jù)鏈路層中的物理地址等,加上本層的IP報文頭,轉(zhuǎn)換為數(shù)據(jù)包,再發(fā)送給數(shù)據(jù)鏈路層;數(shù)據(jù)鏈路層依據(jù)不同的協(xié)議加上本層的幀頭,然后通過物理層以比特流的形式將報文發(fā)送出去。在接收方,這種解除封裝的操作也是逐層進行的。從物理層到數(shù)據(jù)鏈路層,逐層去掉各層的報文頭部,將數(shù)據(jù)傳遞給應(yīng)用程序處理。圖2 18示意了TCP/IP數(shù)據(jù)封裝過程。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,2.2.6 TCP/IP數(shù)據(jù)傳輸 1. TCP/IP傳輸層簡介 TCP/IP傳輸層在源設(shè)備和目的設(shè)備上的應(yīng)用程序間傳輸數(shù)據(jù),徹底地了解傳輸層的運行是理解現(xiàn)代數(shù)據(jù)網(wǎng)絡(luò)的基本。 服務(wù)質(zhì)量(Quality of Service
26、)常用于描述在第四層傳輸層的作用,UDP協(xié)議也工作在第四層,并且可以提供無連接的網(wǎng)絡(luò)服務(wù)。但是,工作在本層的主要協(xié)議是面向連接的TCP協(xié)議,它的主要功能是可靠而又準(zhǔn)確地傳輸并控制源主機與目的主機之間的信息流。傳輸層的主要職責(zé)是提供端到端的控制,通過滑動窗口機制提供流控制,通過序號和確認(rèn)機制來保證可靠性。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,2. TCP/IP數(shù)據(jù)傳輸 (1)TCP連接建立、釋放時的握手過程 TCP協(xié)議是一個面向連接的可靠的傳輸控制協(xié)議,在每次數(shù)據(jù)傳輸時都先要建立連接,當(dāng)連接建立成功后才開始傳輸數(shù)據(jù),數(shù)據(jù)傳輸結(jié)束后還要斷開連接。由于TCP使用的網(wǎng)絡(luò)層協(xié)議IP是一個
27、不可靠、無連接的數(shù)據(jù)報傳送服務(wù),為確保連接的建立和拆除都是可靠的,TCP使用了三次握手的方式來建立可靠的連接,也就是說其中交換了三個消息;結(jié)束TCP連接則采用四次握手來實現(xiàn)。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,TCP使用報頭中的標(biāo)志同步段(Synchronization Segmen,SYN)來描述創(chuàng)建一個連接的三次握手中的消息,用結(jié)束段(FIN segment,F(xiàn)IN是finsh的簡寫)來描述拆除一個連接的消息。另外,握手過程確保TCP只有在兩端一致的情況下,才會打開或關(guān)閉一個連接。創(chuàng)建一個連接的三次握手過程中要求每一端產(chǎn)生一個隨機32位序列號。因為每一個新的連接用的是一個
28、新的隨機序列號。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,(2)TCP可靠傳輸技術(shù) 當(dāng)TCP的連接建立好后,為保證數(shù)據(jù)傳輸?shù)目煽?,TCP協(xié)議要求對傳輸?shù)臄?shù)據(jù)都進行確認(rèn),為保證確認(rèn)的正常進行,TCP協(xié)議首先對每一個分段都作了32位的編號,稱為序列號。每一個分段都按照從起始號遞增的順序進行編號。TCP協(xié)議通過序列號以及確認(rèn)號來確保傳輸?shù)目煽啃?,每一次傳輸?shù)據(jù)時標(biāo)明該段的編號,以便對方確認(rèn),同時在確認(rèn)字段對已收到的TCP分段確認(rèn)。確認(rèn)并不需要單獨發(fā)包確認(rèn),可以放在傳到對方的TCP分段中,在TCP協(xié)議中并不直接確認(rèn)收到哪些分段,而是通知發(fā)送方下一次該發(fā)送哪一個分段,,2.2 TCP/IP數(shù)
29、據(jù)傳輸,下一頁,返回,上一頁,表示前面的分段都已經(jīng)收到,如果收到分段后沒有分段要馬上傳到對方,TCP協(xié)議的確認(rèn)通常采用延時幾分之一秒后再做確認(rèn),而不是收到一個確認(rèn)一個,接收端可能收到從X到X+N的N個后才開始確認(rèn),直接在確認(rèn)字段中標(biāo)N+X+1,通知對方下一次直接傳N+X+1分段,這樣減少確認(rèn)的次數(shù)以增加確認(rèn)的效率。如果M(MN)分段在傳輸中出錯,則確認(rèn)X+M通知發(fā)送方從X+M開始重傳X+M分段以及以后所有分段。TCP的確認(rèn)和重傳技術(shù)對每一個分段都有唯一的編號,這樣當(dāng)對方收到了重復(fù)的分段后容易區(qū)分,數(shù)據(jù)分段丟失后也容易定位重傳的數(shù)據(jù)的編號。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,(
30、3)TCP流量控制 TCP初始連接一旦建立,兩端就能夠使用全雙工通信交換數(shù)據(jù)段,并緩存所發(fā)送和接收的數(shù)據(jù)段。之所以要緩存所發(fā)送的數(shù)據(jù)段,是因為數(shù)據(jù)重傳的需要,這樣可以防止數(shù)據(jù)段不能到達或不能按順序到達接收端引起的差錯。TCP的采用滑動窗口機制實現(xiàn)流量控制功能,如圖2 22所示。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,(4)TCP慢啟動 在以太網(wǎng)的環(huán)境下,當(dāng)發(fā)送方不知道對方窗口大小的時候,便直接向網(wǎng)絡(luò)發(fā)送多個報文段,直至收到對方通告的窗口大小為止。但如果在發(fā)送方和接收方有多個路由器和較慢的鏈路時,就可能出現(xiàn)一些問題。一些中間路由器必須緩存分組,并有可能耗盡存儲空間,這樣就會嚴(yán)重降低
31、TCP連接的吞吐量,因此采用了一種稱為慢啟動的算法,慢啟動為發(fā)送方的TCP增加一個擁塞窗口,當(dāng)與另一個網(wǎng)絡(luò)的主機建立TCP連接時,擁塞窗口被初始化為1個報文段(即另一端通告的報文段大?。渴盏揭粋€ACK,擁塞窗口就增加一個報文段(以字節(jié)為單位,但慢啟動以報文段大小為單位進行增加)。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,發(fā)送方取擁塞窗口與通告窗口中的最小值作為發(fā)送上限,擁塞窗口是發(fā)送方使用的流量控制,通告窗口則是接收方使用的流量控制。開始發(fā)送一個報文段,然后等待ACK。當(dāng)收到該ACK時,擁塞窗口從1增加為2,即可發(fā)送兩個報文段。當(dāng)收到這兩個報文段的ACK時,擁塞窗口就增加為4。
32、這是一種指數(shù)增加的關(guān)系。在某些互聯(lián)網(wǎng)的中間某些點上可能達到了互聯(lián)網(wǎng)的容量,于是中間路由器開始丟棄分組。這就通知發(fā)送方它的擁塞窗口開得過大。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,(5)通過防火墻的TCP/IP訪問 應(yīng)用TCP/IP進行數(shù)據(jù)傳輸使用的是“數(shù)據(jù)包”,“數(shù)據(jù)包”也被稱為“幀”,這兩種叫法可以互換使用。數(shù)據(jù)包是發(fā)送到網(wǎng)絡(luò)上的一個個離散的數(shù)據(jù)塊。每一個發(fā)送的數(shù)據(jù)包都包括其發(fā)送主機所要共享的數(shù)據(jù)和這些數(shù)據(jù)如何在網(wǎng)絡(luò)上路由及如何送給主機內(nèi)應(yīng)用程序的信息。TCP/IP也可以說是那些信息的額外信息,有時也稱為“開銷”。每一種協(xié)議都會通過在幀頭前添加自己的信息方式向數(shù)據(jù)包增加信息,這
33、些被各種協(xié)議增加的信息也就是協(xié)議的“頭部”(header)。頭部包含了所有協(xié)議執(zhí)行其功能所需要的信息。,2.2 TCP/IP數(shù)據(jù)傳輸,下一頁,返回,上一頁,每一種協(xié)議都會依次添加它的頭部,添加的順序依據(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)格的安全策略,實際上,公共網(wǎng)絡(luò)沒有什么安全可言。由于像Internet這樣的公共網(wǎng)絡(luò)并不安全,所以私有網(wǎng)絡(luò)的管理員通常都會在私有網(wǎng)絡(luò)與公共網(wǎng)絡(luò)的連接點處架設(shè)防火墻。當(dāng)然如果兩個私有網(wǎng)絡(luò)的安全策略不同,則也應(yīng)在兩個私
34、有網(wǎng)絡(luò)之間安裝防火墻。,2.2 TCP/IP數(shù)據(jù)傳輸,返回,上一頁,2.3.1 TCP/IP應(yīng)用層介紹 在OSI參考模型中,應(yīng)用層(第七層)為應(yīng)用的通信組件提供了支持,如對文件傳輸、電子郵件、遠程登錄和網(wǎng)絡(luò)管理等應(yīng)用的支持。 應(yīng)用層是最靠近終端用戶的一層。它決定系統(tǒng)之間是否具有進行同步通信的足夠資源。如果沒有應(yīng)用層,就不會有網(wǎng)絡(luò)通信的支持。應(yīng)用層不能為其他層提供服務(wù),但它為處于TCP/IP模型之外的應(yīng)用程序提供服務(wù)。,2.3 應(yīng)用程序及工具,下一頁,返回,此外,應(yīng)用層為模型中其他層的網(wǎng)絡(luò)應(yīng)用程序(比如瀏覽器或電子郵件程序)提供直接接口,或者使用網(wǎng)絡(luò)重定向器(redirector)為獨立的應(yīng)用程
35、序(比如文字處理、電子制表以及演示管理器)提供間接接口。,2.3 應(yīng)用程序及工具,下一頁,返回,上一頁,2.3.2 應(yīng)用程序及工具 TCP/IP協(xié)議族有很多的應(yīng)用程序和工具可用來實現(xiàn)Internet和其他IP網(wǎng)絡(luò)的豐富功能。像Ping和Traceroute這樣的工具屬于基本故障診斷的服務(wù),在判定網(wǎng)絡(luò)或主機是否可用時非常有用。NAT和PAT通過在防火墻內(nèi)使用一套特殊的私有地址可使網(wǎng)絡(luò)節(jié)省地址空間。服務(wù)控制列表提供了一個基本防御戰(zhàn)線,而域名服務(wù)使得主機IP地址可以映射為主機名。 1. Ping,Traceroute和Netstat,2.3 應(yīng)用程序及工具,下一頁,返回,上一頁,Ping,Trace
36、route和Netstat屬于基本的故障診斷工具,用以判定計算機上TCPIP的狀態(tài)。它們是幾個較小的應(yīng)用程序,一般操作系統(tǒng)中,如Windows,Linux和Solaris都含有這些程序。 2. 使用地址轉(zhuǎn)換(NAT)隱藏私有地址 RFCl918指定了一些IP地址只用于私有網(wǎng)絡(luò)而不用于Internet和任何其他網(wǎng)絡(luò),這些私有地址為/8,/12和/16。如果沒有分配足夠的公共地址,各個機構(gòu)可以在其網(wǎng)絡(luò)內(nèi)部隨便使用這些地址或?qū)⑦@些地址用于他們整個的網(wǎng)絡(luò)。,2.3 應(yīng)用程序及工具,下一頁,返回,上一頁,由于許多機構(gòu)都使用這些地址,所以它們不像其
37、他IP地址那樣是唯一的。因此,這些地址不能被散布到私有網(wǎng)絡(luò)之外。而人們則需要一些方法使那些有私有地址的主機能夠進行Internet訪問,這種方法就是NAT(Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)。 3. 訪問控制列表(ACL) 路由器等網(wǎng)絡(luò)設(shè)備都有基于訪問控制列表(Access Control List,ACL)對TCP/IP網(wǎng)絡(luò)流量進行過濾的能力,這個特性為網(wǎng)絡(luò)提供了防范入侵的最初級保護。通常,ACL能夠按照源與目的的IP地址、IP協(xié)議號以及TCP/UDP中的源與目的端口號對流量進行允許通過或拒絕通過的控制。,2.3 應(yīng)用程序及工具,下一頁,返回,上一頁,路由
38、器等使用ACL對每個數(shù)據(jù)包進行檢查,并根據(jù)與其地址及端口號相應(yīng)的指定規(guī)則對流量進行處理。下面以Cisco路由器為例來介紹ACL。 ACL是一個連續(xù)的允許和拒絕語句的集合,關(guān)系到地址和上層協(xié)議。 在Cisco路由器中,一個簡單的ACL有如下命令: access-list 101 deny ip tcp host any eq telnet access-list 101 permit ip any any,2.3 應(yīng)用程序及工具,下一頁,返回,上一頁,這個基本ACL告訴路由器禁止所有從發(fā)起的Telnet會話,除此之外,允許其他所有流量通過。這個ACL必
39、須在網(wǎng)絡(luò)進出邊界的接口中應(yīng)用以使其能起到作用。 4. 域名服務(wù)(DNS) 為了將站點的名字和IP地址對應(yīng)起來,人們開發(fā)了域名服務(wù)(DNS)。DNS用于Internet中,將域名轉(zhuǎn)換成IP地址。域名可以由字母(A,az,不區(qū)分大小寫)、數(shù)字(09)和連接符()組成,各級域名之間用實點(.)連接。,2.3 應(yīng)用程序及工具,下一頁,返回,上一頁,DNS是分層的。頂級域,例如.com和.net,處于域名結(jié)構(gòu)的頂端。各組織可以在頂級域的下面注冊他們自己的域名。例如,如果一個公司有一個叫做“ip-network”的網(wǎng)絡(luò),它可以注冊為ip-。域名中的第一個字是某臺主機的名字。在ip-內(nèi),這個公司可能會將某臺主機注冊為“beach”,那么其完整域名就是b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合作研發(fā)協(xié)議書
- 高新科技研發(fā)成果轉(zhuǎn)讓合同
- 公司場地長期租賃合同
- 制造業(yè)工業(yè)互聯(lián)網(wǎng)平臺建設(shè)方案
- (高清版)DB2104∕T 0007-2021 撫順煤精
- 2025年吉林貨運從業(yè)資格證考試題技巧答案大全
- 小學(xué)三年級口算題
- 2025年道路貨物運輸從業(yè)資格考試復(fù)習(xí)題
- 2024-2025學(xué)年高中生物第7章細(xì)胞的增殖第1節(jié)第1課時細(xì)胞不能無限長大植物細(xì)胞的有絲分裂練習(xí)含解析北師大版必修1
- 2024-2025學(xué)年八年級科學(xué)上冊第1章水和水的溶液第1節(jié)地球上的水教案新版浙教版
- 2022年高考湖南卷生物試題(含答案解析)
- GB/T 20909-2007鋼門窗
- GB/T 17854-1999埋弧焊用不銹鋼焊絲和焊劑
- GB/T 15593-2020輸血(液)器具用聚氯乙烯塑料
- 直線加速器專項施工方案
- 聯(lián)苯二氯芐生產(chǎn)工藝及產(chǎn)排污分析
- 儲能設(shè)備項目采購供應(yīng)質(zhì)量管理方案
- 2022年全國卷高考語文答題卡格式
- 美國房地產(chǎn)市場特征、框架與周期演變
- 復(fù)旦大學(xué)簡介 (課堂PPT)
- CKD馬達使用說明
評論
0/150
提交評論