TCPIP協議物理層和數據鏈路層計算機網絡課程設計_第1頁
TCPIP協議物理層和數據鏈路層計算機網絡課程設計_第2頁
TCPIP協議物理層和數據鏈路層計算機網絡課程設計_第3頁
TCPIP協議物理層和數據鏈路層計算機網絡課程設計_第4頁
TCPIP協議物理層和數據鏈路層計算機網絡課程設計_第5頁
已閱讀5頁,還剩20頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目錄前言1摘要11.TCP/IP協議與OSI參考模型21.1 TCP/IP協議與OSI參考模型的相同點31.2 TCP/IP協議與OSI參考模型的不同點31.3 TCP/IP協議的封裝42.TCP/IP的棧62.1應用層72.2傳輸層92.3 網絡層133.TCP連接163.1 斷開TCP連接173.2 滑動窗口184.TCP/IP協議在華為技術的應用195.TCP/IP的安全性和解決方法20致謝21參考文獻22文檔可自由編輯打印前言隨著網絡互聯網的飛速發展,計算機網絡安全性越來越重要。從定義上講,計算機網絡安全是指計算機及其網絡系統資源和信息資源不受自然和人為有害因素的威脅和危害。隨著信息社

2、會的到來,計算機網絡發展不斷地深入到生活的各個領域?,F在由于自身的缺陷,網絡的開放性以及黑客的攻擊是造成互聯網絡不安全的主要原因。當前,TCP/IP作為一個事實上的工業標準,在其制訂之初,沒有考慮安全因素,因此他本身無安全可言。TCP/IP作為Internet使用的標準協議集,是黑客實施網絡攻擊的重點目標和對象。TCP/IP協議組是目前使用最廣泛的網絡互連協議。但TCP/IP協議組本身存在著一些安全性問題。TCP/IP協議是建立在可信的環境之下,首先考慮網絡互連缺乏對安全方面的考慮。其次,TCP/IP是建立在3次握手協議基礎之上,本身就存在一定不安全的因素,握手協議的過程當中有一定局限性。摘要

3、TCP/IP是Transmission Control Protocol/Internet Protocol的簡寫,中譯名為傳輸控制協議/因特網互聯協議,又名網絡通訊協議,是Internet最基本的協議、Internet國際互聯網絡的基礎,由網絡層的IP協議和傳輸層的TCP協議組成。TCP/IP 定義了電子設備如何連入因特網,以及數據如何在它們之間傳輸的標準。協議采用了4層的層級結構,每一層都呼叫它的下一層所提供的協議來完成自己的需求。通俗而言:TCP負責發現傳輸的問題,一有問題就發出信號,要求重新傳輸,直到所有數據安全正確地傳輸到目的地。而IP是給因特網的每一臺聯網設備規定一個地址。TCP是

4、面向連接的通信協議,通過三次握手建立連接,通訊完成時要拆除連接,由于TCP是面向連接的所以只能用于端到端的通訊。TCP提供的是一種可靠的數據流服務,采用“帶重傳的肯定確認”技術來實現傳輸的可靠性。關鍵詞:TCP/IP協議,OSI參考模型,棧1.TCP/IP協議與OSI參考模型為了解決網絡之間兼容性的問題,幫助各個廠商生產出可兼容的網絡設備,國際標準化組織ISO(International Standards Organization)于1984年提出了開放系統互連參考模型OSI/RM(Open System Interconnection Reference Model),它很快成為計算機網絡

5、通信的基礎模型。對應關系請看圖1.1圖1.1TCP/IP起源于6 0年代末美國政府資助的一個分組交換網絡研究項目,到90年代已發展成為計算機之間最常應用的組網形式。它是一個真正的開放系統,因為協議族的定義及其多種實現可以不用花錢或花很少的錢就可以公開地得到。它成為被稱作“全球互聯網”或“因特網(Internet)”的基礎與OSI參考模型一樣,TCP(Transfer Control Protocol)/IP(Internet Protocol)協議(傳輸控制協議/網際協議)也分為不同的層次開發,每一層負責不同的通信功能。但是,TCP/IP協議簡化了層次設計,只有五層:應用層、傳輸層、網絡層、數

6、據鏈路層、物理層。從上圖可以看出,TCP/IP協議棧與OSI參考模型有清晰的對應關系,覆蓋了OSI參考模型的所有層次。應用層包含了OSI參考模型所有高層協議。因為TCP/IP協議棧支持所有的標準的物理層和數據鏈路層協議,而且物理層和數據鏈路層在前面已經做過簡述,所以本章不對TCP/IP協議的物理層和數據鏈路層做進一步的描述。關于這兩層協議和標準的深入細節,在后續章節會有講解。1.1 TCP/IP協議與OSI參考模型的相同點 (1)都是分層結構,并且工作模式一樣,都要層和層之間很密切的協作關系。 (2)有相同的應用層,傳輸層,網絡層,數據鏈路層,物理層;(注意:這里為了方便比較,TCP/IP才分

7、為5層,在CISCO,在其他很多文獻資料里都把數據鏈路層和物理層合并為數據鏈路層或網絡接口層-network access layer)。 (3)都使用包交換技術(packet-switched)。 (4)網絡工程師必須都要了解這兩個模型。1.2 TCP/IP協議與OSI參考模型的不同點 (1) TCP/IP把表示層和會話層都歸入了應用層; (2) TCP/IP的結構比較簡單,因為分層少; (3) TCP/IP標準是在internet網絡不斷的發展中 建立的,基于實踐,有很高的信任度。相比較而言,OSI參考模型是基于理論上的,是做為一種向導!1.3 TCP/IP協議的封裝同OSI參考模型數據封

8、裝過程一樣,TCP/IP協議在報文轉發過程中,封裝和去封裝也發生在各層之間。同OSI參考模型數據封裝過程一樣,TCP/IP協議在報文轉發過程中,封裝和去封裝也發生在各層之間。TCP/IP協議棧的封裝過程請看圖1.3.1圖1.3.1發送方,加封裝的操作是逐層進行的。各個應用程序將要發送的數據送給傳輸層;傳輸層(TCP/UDP)對數據分段為大小一定的數據段,加上本層的報文頭。發送給網絡層。在傳輸層報文頭中,包含接收它所攜帶的數據的上層協議或應用程序的端口號,例如,Telnet 的端口號是 23。傳輸層協議利用端口號來調用和區別應用層各種應用程序。網絡層對來自傳輸層的數據段進行一定的處理(利用協議號

9、區分傳輸層協議、尋找下一跳地址、解析數據鏈路層物理地址等),加上本層的IP報文頭后,轉換為數據包,再發送給鏈路層(以太網、幀中繼、PPP、HDLC等)。鏈路層依據不同的數據鏈路層協議加上本層的幀頭,發送給物理層以比特流的形式將報文發送出去。在接收方,這種去封裝的操作也是逐層進行的。從物理層到數據鏈路層,逐層去掉各層的報文頭部,將數據傳遞給應用程序執行。圖中幀頭和幀尾下面所標注的數字是典型以太網幀首部的字節長度。在后面的章節中 我們將詳細討論這些幀頭的具體含義。以太網數據幀的物理特性是其長度必須在4 61500字節之間。所有的Internet標準和大多數有關TCP/IP的書都使用octet這個術

10、語來表示字節。使用這個過分雕琢的術語是有歷史原因的,因為TCP/IP的很多工作都是在DEC-10系統上進行的,但是它并不使用8 bit的字節。由于現在幾乎所有的計算機系統都采用8 bit的字節。更準確地說,圖中IP和網絡接口層之間傳送的數據單元應該是分組(packet)。分組既可以是一個IP數據報,也可以是I P數據報的一個片(fragment)。UDP數據與TCP數據基本一致。唯一的不同是UDP傳給IP的信息單元稱作UDP數據報(UDP datagram),而且UDP的首部長為8字節。由于TCP、UDP、ICMP和IGMP都要向IP傳送數據,因此IP必須在生成的IP首部中加入某種標識,以表明

11、數據屬于哪一層。為此,IP在首部中存入一個長度為8bit的數值,稱作協議域。1表示為I C M P協議,2表示為IGMP協議,6表示為TCP協議,17表示為UDP協議。類似地,許多應用程序都可以使用TCP或UDP來傳送數據。運輸層協議在生成報文首部時要存入一個應用程序的標識符。TCP和UDP都用一個16bit的端口號來表示不同的應用程序。TCP和UDP把源端口號和目的端口號分別存入報文首部中。當應用程序用T C P傳送數據時,數據被送入協議棧中,然后逐個通過每一層直到被當作一串比特流送入網絡。其中每一層對收到的數據都要增加一些首部信息(有時還要增加尾部信息)。T C P傳給I P的數據單元稱作

12、T C P報文段或簡稱為T C P段(TCPsegment)。I P傳給網絡接口層的數據單元稱作I P數據報(IP PACKETS)。通過以太網傳輸的比特流稱作幀(Fr a m e )。在物理層轉變為二進制BIT流。數據封裝方式圖1.3.2圖1.3.2網絡接口分別要發送和接收IP、ARP和RARP數據,因此也必須在以太網的幀首部中加入某種形式的標識,以指明生成數據的網絡層協議。為此,以太網的幀首部也有一個16bit的幀類型域。2.TCP/IP的棧TCP/IP協議請看圖2.1圖2.1物理層和數據鏈路層涉及到在通信信道上傳輸的原始比特流,它實現傳輸數據所需要的機械、電氣、功能性及過程等手段,提供檢

13、錯、糾錯、同步等措施,使之對網絡層顯現一條無錯線路;并且進行流量調 控。網絡層檢查網絡拓撲,以決定傳輸報文的最佳路由,執行數據轉發。其關鍵問題是確定數據 包從源端到目的端如何選擇路由。網絡層的主要協議有IP(Internet protocol)、ICMP(Internet Control Message Protocol,互聯網控制報文協議)、IGMP(Internet Group Management Protocol,互聯網組管理協議)、ARP(Address Resolution Protocol,地址解析協議)和RARP(Reverse Address Resolution Proto

14、col,反向地址解析協議)等。傳輸層的基本功能是為兩臺主機間的應用程序提供端到端的通信。傳輸層從應用層接受數據,并且在必要的時候把它分成較小的單元,傳遞給網絡層,并確保到達對方的各段信息正確無誤。傳輸層的主要協議有TCP(Transfer control protocol傳輸控制協議)、UDP(User Datagraph Protocol,用戶數據報協議)。應用層負責處理特定的應用程序細節。應用層顯示接收到的信息,把用戶的數據發送到低層,為應用軟件提供網絡接口。應用層 包含大量常用的應用程序,例如HTTP(HyperText Transfer Protocol超文本傳輸協議)、Telnet(

15、遠程登錄)、FTP( Protocol)、T Protocol)等。2.1應用層應用層為用戶的各種網絡應用開發了許多網絡應用程序,例如文件傳輸、網絡管理等,甚至包括路由選擇。這里我們重點介紹常用的幾種應用層協議。FTP(文件傳輸協議、 Protocol)是用于文件傳輸的Internet標準。FTP支持一些文本文件(例如ASCII、二進制等等)和面向字節流的文件結構。FTP使用傳輸層協議TCP在支持FTP的終端系統間執行文件傳輸,FTP與我們已描述的另一種應用不同,它采用兩個TCP連接來傳輸一個文件。應用層請看圖2.1.1圖2.1.1(1)控制連接以通常的客戶服務器方式建立。服務器以被動方式 打

16、 開眾所周知的用于FTP的端口(21),等待客戶的連接???戶則以主動方式打開TCP端口21,來 建立連接??刂七B接始終等待客戶與服務器之間的通信。 該連接將命令從客戶傳給服務器,并傳回服務器的應答。由于命令通常是由用戶鍵入的,所以IP對控制連接服務 類型就是 “最大限度地減小遲延”。(2)每當一個文件在客戶與服務器之間傳輸時,就創建一個 數據連接。(其他時間也可以創建,后面我們將說到)。由 于該連接用于傳輸目的,所以IP對數據連接的服務特點就 是 “最大限度提高吞吐量”。因此,FTP被認為提供了可靠的面向連接的服務,適合于遠距離、可靠性較差線路上的文件傳輸。T Protocol,簡單文件傳輸

17、協議)也是用于文件傳輸,但TFTP使用UDP提供服務,被認為是不可靠的,無連接的。TFTP通常用于可靠的局域網內部的文件傳輸。TFTP最初打算用于引導無盤系統(通常是工作站或X終端)。TFTP的代碼(和它所需要的UDP、IP和設備驅動程序)都能適合只讀存儲器。它只使用幾種報文格式,是一種停止等待協議。為了允許多個客戶端同時進行系統引導,TFTP服務器必須提供一定形式的并發。因為UDP在一個客戶與一個服務器之間并不提供唯一連接(TCP也一樣),TFTP服務器通過為每個客戶提供一個新的UDP端口來提供并發。TFTP協議沒有提供安全特性。大多數執行指望TFTP服務器的系統管理員來限制客戶的訪問,只允

18、許它們訪問引導所必須的文件。TFTP也是我們升級設備的一種方式。SMTP(Simple Mail Transfer Protocol。簡單郵件傳輸協議)支持文本郵件的Internet傳輸。POP3(Post Office Protocol)是一個流行的Internet郵件標準。SNMP(Simple Network Management Protocol。簡單網絡管理協議)負責網絡設備監控和維護,支持安全管理、性能管理等。Telnet是客戶機使用的與遠端服務器建立連接的標準終端仿真協議。Ping命令是一個診斷網絡設備是否正確連接的有效工具。Tracert命令和Ping命令類似,tracert命

19、令可以顯示數據包經過的每一臺網絡設備信息,是一個很好的診斷命令。HTTP協議支持 Wide Web,萬維網)和內部網信息交互,支持包括視頻在內的多種文件類型。HTTP是當今流行的Internet標準。DNS(Domain Name System,域名系統)把網絡節點的易于記憶的名字轉化為網絡地址。WINS(Windows Internet Name Server,Windows Internet命名服務器),此服務可以將NetBIOS 名稱注冊并解析為網絡上使用的IP地址。BootP(Bootstrap Protocol,引導協議)是使用傳輸層UDP協議動態獲得IP地址的協議。是DHCP協議的

20、前身。2.2傳輸層傳輸層位于應用層和網絡層之間,為終端主機提供端到端的連接,以及流量控制(由窗口機制實現)、可靠性(由序列號和確認技術實現)、支持全雙工傳輸等等。傳輸層協議有兩種:TCP和UDP。雖然TCP和UDP都使用相同的網絡層協議IP,但是TCP和UDP卻為應用層提供完全不同的服務。傳輸層協議概述請看圖2.2.1 圖2.2.1 傳輸層位于應用層和網絡層之間,為終端主機提供端到端的連接,以及流量控制(由窗口機制實現)、可靠性(由序列號和確認技術實現)、支持全雙工傳輸等等。傳輸層協議有兩種:TCP和UDP。雖然TCP和UDP都使用相同的網絡層協議IP,但是TCP和UDP卻為應用層提供完全不同

21、的服務。傳輸控制協議TCP:為應用程序提供可靠的面向連接的通信服務,適用于要求得到響應的應用程序。目前,許多流行的應用程序都使用TCP。用戶數據報協議UDP:提供了無連接通信,且不對傳送數據包進行可靠的保證。適合于一次傳輸小量數據,可靠性則由應用層來負責。TCP協議通過以下過程來保證端到端數據通信的可靠性:TCP實體把應用程序劃分為合適的數據塊,加上TCP報文頭,生成數據段;(1)當TCP實體發出數據段后,立即啟動計時器,如果源設備在計時器清零后仍然沒有收到目的設備的確認報文,重發數據段;(2)當對端TCP實體收到數據,發回一個確認。(3)TCP包含一個端到端的校驗和字段,檢測數據傳輸過程的任

22、何變化。如果目的設備收到的數據校驗和計算結果有誤,TCP將丟棄數據段,源設備在前面所述的計時器清零后重發數據段。(4)由于TCP數據承載在IP數據包內,而IP提供了無連接的、不可靠的服務,數據包有可能會失序。TCP提供了重新排序機制,目的設備將收到的數據重新排序,交給應用程序。(5)TCP提供流量控制。TCP連接的每一端都有緩沖窗口。目的設備只允許源設備發送自己可以接收的數據,防止緩沖區溢出。(6)TCP支持全雙工數據傳輸。UDP是一個簡單的面向數據報的運輸層協議:進程的每個輸出操作都正好產生一個UDP數據報,并組裝成一份待發送的IP數據報。UDP不提供可靠性:它把應用程序傳給IP層的數據發送

23、出去,但是并不保證它們能到達目的地。TCP協議為終端設備提供了面向連接的、可靠的網絡服務,UDP協議為終端設備提供了無連接的、不可靠的數據報服務。從上圖我們可以看出,TCP協議為了保證數據傳輸的可靠性,相對于UDP報文,TCP報文頭部有更多的字段選項。首先讓我們來看一下TCP的報文頭部主要字段:每個TCP報文頭部都包含源端口號(source port)和目的端口號(destination port),用于標識和區分源端設備和目的端設備的應用進程。在TCP/IP協議棧中,源端口號和目的端口號分別與源IP地址和目的IP地址組成套接字(socket),唯一的確定一條TCP連接。序列號(Sequenc

24、e number)字段用來標識TCP源端設備向目的端設備發送的字節流,它表示在這個報文段中的第一個數據字節。如果將字節流看作在兩個應用程序間的單向流動,則TCP用序列號對每個字節進行計數。序列號是一個32bits的數。既然每個傳輸的字節都被計數,確認序號(Acknowledgement number,32bits)包含發送確認的一端所期望接收到的下一個序號。因此,確認序號應該是上次已成功收到的數據字節序列號加1。URG緊急指針(urgent pointer)有效。ACK確認序號有效。PSH接收方應該盡快將這個報文段交給應用層。RST重建連接。SYN同步序號用來發起一個連接。這個標志和下一個標志

25、。一般在建立連接時使用。FIN發端完成發送任務,斷開連接時使用。TCP的流量控制由連接的每一端通過聲明的窗口大小(windows size)來提供。窗口大小用數據包來表示,例如Windows size=3, 表示一次可以發送三個數據包。窗口大小起始于確認字段指明的值,是一個16bits字段。窗口大小可以調節。校驗和(checksum)字段用于校驗TCP報頭部分和數據部分的正確性。如果有了差錯要重傳。這個和UDP不一樣,UDP檢測出差錯以后直接丟棄,在單個局域網中傳輸是可以接受的,但是如果通過路由器,會產生很多錯誤,導致傳輸失敗。因為在路由器中也存在軟件和硬件的差錯,以致于修改數據報中的數據。最

26、常見的可選字段是MSS(Maximum Segment Size,最大報文大?。SS指明本端所能夠接收的最大長度的報文段。當一個TCP連接建立時,連接的雙方都要通告各自的MSS協商可以傳輸的最大報文長度。我們常見的MSS有1024(以太網可達1460字節)字節。相對于TCP報文,UDP報文只有少量的字段:源端口號、目的端口號、長度、校驗和等,各個字段功能和TCP報文相應字段一樣。UDP報文沒有可靠性保證和順序保證字段,流量控制字段等,可靠性較差。當然,使用傳輸層UDP服務的應用程序也有優勢。正因為UDP協議較少的控制選項,在數據傳輸過程中,延遲較小,數據傳輸效率較高,適合于對可靠性要求并不

27、高的應用程序,或者可以保障可靠性的應用程序像DNS、T等;UDP協議也可以用于傳輸鏈路可靠的網絡。常用的TCP端口號有:HTTP 80,Telnet 23,SMTP 25,DNS 53等;常用的保留UDP端口號有:DNS 53,BootP 67(server)/ 68(client),T,SNMP 161等。套接字(socket)分為源套接字和目的套接字:源套接字:源端口號+源IP地址;目的套接字:目的端口號+目的IP地址;源套接字和目的套接字用于唯一的確定一條TCP連接。關于IP地址,將在后面講述。端口號請看圖2.2.2圖2.2.2TCP協議和UDP協議使用16bits端口號(或者socke

28、t)來表示和區別網絡中的不同應用程序,網絡層協議IP使用特定的協議號(TCP6,UDP17)來表示和區別傳輸層協議。任何TCP/IP實現所提供的服務都是11023之間的端口號,這些端口號由IANA(Internet Assigned Numbers Authority,Internet號碼分配機構)分配管理。其中,低于255的端口號保留用于公共應用;255到1023的端口號分配給各個公司,用于特殊應用;對于高于1023的端口號,稱為臨時端口號,IANA未做規定。2.3 網絡層網絡層位于TCP/IP協議棧數據鏈路層和傳輸層中間,網絡層接收傳輸層的數據報文,分段為合適的大小,用IP報文頭部封裝,交

29、給數據鏈路層。網絡層為了保證數據包的成功轉發,主要定義了以下協議:IP(Internet Protocol)協議:IP協議和路由協議協同工作, 尋找能夠將數據包傳送到目的端的最優路徑。IP協議不關心數據報文的內容,提供無連接的、不可靠的服務。ARP協議(Address Resolution Protocol,地址解析協議):把已知的IP地址解析為MAC地址;RARP(Reverse Address Resolution Protocol,反向地址解析協議):用于數據鏈路層地址已知時,解析IP地址;ICMP(Internet Control Message Protocol,網際控制消息協議)定

30、義了網絡層控制和傳遞消息的功能。IGMP(Internet Group Management Protocol,網際組管理協議),一種組播應用協議。普通的IP頭部長度為20個字節,不包含IP選項字段。版本號(Version)字段標明了IP協議的版本號,目前的協議版本號為4。下一代IP協議的版本號為6。報文長度指IP包頭部長度,占4位。8位的服務類型(TOS,Type of Service)字段包括一個3位的優先權字段(COS,Class of Service),4位TOS字段和1位未用位。4位TOS分別代表最小時延、最大吞吐量、最高可靠性和最小費用。4bit中只能置其中1bit。如果所有4bi

31、t均為0,那么就意味著是一般服務。Telnet和Rlogin這兩個交互應用要求最小的傳輸時延,因為人們主要用它們來傳輸少量的交互數據。另一方面,FTP文件傳輸則要求有最大的吞吐量。最高可靠性被指明給網絡管理(SNMP)和路由選擇協議。用戶網絡新聞(Usenet news, NNTP)是唯一要求最小費用的應用??傞L度(Total length)是整個IP數據報長度,包括數據部分。由于該字段長16比特,所以I P數據報最長可達65535字節。盡管可以傳送一個長達65535字節的IP數據報,但是大多數的鏈路層都會對它進行分片。而且,主機也要求不能接收超過576字節的數據報。UDP限制用戶數據報長度為

32、512字節,小于576字節。但是,事實上現在大多數的實現(特別是那些支持網絡文件系統NFS的實現)允許超過8192字節的IP數據報。標識符(Identification)字段唯一地標識主機發送的每一份數據報。通常每發送一份報文它的值就會加1。標志位:3比特多種控制位:0比特: 保留, 必須為01比特: (DF) 0 = 可以分片, 1 =不可以分片.2比特: (MF) 0 =最后的分片, 1 = 更多的分片.DF和MF的值不可能相同。 0 1 2 +-+-+-+ | | D | M | | 0 | F | F | +-+-+-+片偏移:指的是這個分片是屬于這個數據流的哪里。生存時間(TTL,T

33、ime to Live)字段設置了數據包可以經過的路由器數目。一旦經過一個路由器,TTL值就會減1,當該字段值為0時,數據包將被丟棄。協議字段確定在數據包內傳送的上層協議,和端口號類似,IP協議用協議號區分上層協議。TCP協議的協議號為6,UDP協議的協議號為17。報頭校驗和(Head checksum)字段計算IP頭部的校驗和,檢查報文頭部的完整性。源IP地址和目的IP地址字段標識數據包的源端設備和目的端設備。地址解析協議ARP是一種廣播協議,主機通過它可以動態地發現對應于一個IP地址的MAC層地址。假定主機A需要知道主機B的MAC地址,主機A發送稱為ARP請求的以太網數據幀給網段上的每一臺

34、主機,這個過程稱為廣播。發送的ARP請求報文中,帶有自己的IP地址到MAC地址的映射,同時還帶有需要解析的目的主機的IP地址。目的主機B收到請求報文后,將其中的主機A的IP地址與MAC地址的映射存到自己的ARP高速緩存中,并把自己的IP地址到MAC地址的映射作為響應發回主機A。主機A收到ARP應答,就得到了主機B的MAC地址,同時,主機A緩存主機B的IP地址到MAC地址映射。RARP常用于X終端和無盤工作站等,這些設備知道自己MAC地址,需要獲得IP地址。對應于ARP、RARP請求以廣播方式發送,ARP、RARP應答一般以單播方式發送,以節省網絡資源。網際控制消息協議ICMP是一個網絡層的協議

35、,它提供了錯誤報告和其它回送給源點的關于 IP 數據包處理情況的消息。ICMP通常為IP層或者更高層協議使用,一些ICMP報文把差錯報文返回給用戶進程。ICMP報文通常被封裝在IP數據包內傳輸。RFC 792 中有關于ICMP的詳細說明。ICMP包含幾種不同的消息,其中ping程序借助于echo request消息,主機可通過它來測試網絡的可達性,ICMP Echo Reply 消息表示該節點是可達的。ICMP還定義了源抑制(source quench)報文。當路由器的緩沖區滿后,送入的報文被丟棄,此時路由器向發送報文的主機發送源抑制報文,要求降低發送速率。3.TCP連接為了在上圖所示的主機和

36、服務器之間建立一個連接,首先需要兩端設備進行同步。同步(synchronization)是通過各個攜帶有初始序列號的數據段交換過程實現的。主機發送一個序列號為a的報文段1;服務器發回包含序列號為b的報文段2,并用確認號a+1對主機的報文段1進行確認;主機接收服務器發回的報文段2,發送報文段3,用確認號b+1對報文段2進行確認。這樣在主機和服務器之間建立了一條TCP連接,這個過程被稱為三步握手(three-way handshake)。接下來,數據傳輸開始。TCP連接請看圖3.1圖3.13.1 斷開TCP連接建立一個連接需要三次握手,而終止一個連接要經過4次握手。這由TCP的半關閉(half-c

37、lose)造成的。既然一個TCP連接是全雙工(即數據在兩個方向上能同時傳遞),因此每個方向必須單獨地進行關閉。這原則就是當一方完成它的數據發送任務后就能發送一個FIN(報文段4)來終止這個方向連接。當一端收到一個FIN,它必須通知應用層另一端幾經終止了那個方向的數據傳送。發送FIN通常是應用層進行關閉的結果。收到一個FIN只意味著在這一方向上沒有數據流動。一個TCP連接在收到一個FIN后仍能發送數據。而這對利用半關閉的應用來說是可能的,盡管在實際應用中只有很少的TCP應用程序這樣做。首先進行關閉的一方(即發送第一個FIN)將執行主動關閉,而另一方(收到這個FIN)執行被動關閉。斷開TCP連接請

38、看圖3.1.1圖3.1.1上圖顯示了終止一個連接的典型握手順序。我們省略了序號。在這個圖中,發送FIN將導致應用程序關閉它們的連接,這些FIN的ACK是由TCP軟件自動產生的。連接通常是由客戶端發起的,這樣第一個SYN從客戶傳到服務器。每一端都能主動關閉這個連接(即首先發送FIN)。然而,一般由客戶端決定何時終止連接,因為客戶進程通常由用戶交互控制。3.2 滑動窗口TCP滑動窗口技術通過動態改變窗口大小來調節兩臺主機間數據傳輸。每個TCP/IP主機支持全雙工數據傳輸,因此TCP有兩個滑動窗口:一個用于接收數據,另一個用于發送數據。TCP使用肯定確認技術,其確認號指的是下一個所期待的字節。下面我

39、們以數據單方向發送為例,介紹滑動窗口如何實現流量控制。假定發送方設備以每一次三個數據包的方式發送數據,也就是說,窗口大小為3。發送方發送序列號為1、2、3的三個數據包,接收方設備成功接收數據包,用序列號4確認。發送方設備收到確認,繼續以窗口大小3發送數據。當接收方設備要求降低或者增大網絡流量時,可以對窗口大小進行減小或者增加,本例降低窗口大小為2,每一次發送兩個數據包。當接收方設備要求窗口大小為0,表明接收方已經接收了全部數據,或者接收方應用程序沒有時間讀取數據,要求暫停發送。發送方接收到攜帶窗口號為0的確認,停止這一方向的數據傳輸。滑動窗口請看圖3.2.1圖3.2.1滑動窗口機制為端到端設備

40、間的數據傳輸提供了可靠的流量控制機制。然而,它只能在源端設備和目的端設備起作用,當網絡中間設備(例如路由器等)發生擁塞時,滑動窗口機制將不起作用。我們可以利用ICMP的源抑制機制進行擁塞管理。4.TCP/IP協議在華為技術的應用TCP/IP協議是華為公司數據通信交流,TCP/IP在華為公司和其他公司安全交換信息過程中起很重要的作用。為了解決網絡之間兼容性的問題,幫助華為公司和其他廠商生產出可兼容的網絡設備,國際標準化組織ISO(International Standards Organization)于1984年提出了開放系統互連參考模型OSI/RM(Open System Interconnection Reference Model),它很快成為計算機網絡通信的基礎模型。Specifications start Specification table

溫馨提示

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

評論

0/150

提交評論