DA000002 TCP_IP協(xié)議與子網(wǎng)規(guī)劃 ISSUE20.doc_第1頁
DA000002 TCP_IP協(xié)議與子網(wǎng)規(guī)劃 ISSUE20.doc_第2頁
DA000002 TCP_IP協(xié)議與子網(wǎng)規(guī)劃 ISSUE20.doc_第3頁
DA000002 TCP_IP協(xié)議與子網(wǎng)規(guī)劃 ISSUE20.doc_第4頁
DA000002 TCP_IP協(xié)議與子網(wǎng)規(guī)劃 ISSUE20.doc_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

課程 DA000002TCP/IP協(xié)議與子網(wǎng)規(guī)劃ISSUE 2.0DA000002 TCP/IP協(xié)議與子網(wǎng)規(guī)劃 ISSUE2.0ISSUE 2.0目 錄目 錄課程說明1課程介紹1課程目標(biāo)1相關(guān)資料1第1章 TCP/IP協(xié)議21.1 TCP/IP協(xié)議與OSI參考模型21.2 應(yīng)用層71.3 傳輸層91.4 網(wǎng)絡(luò)層16第2章 子網(wǎng)規(guī)劃222.1 IP地址介紹22i華為技術(shù)有限公司 版權(quán)所有, 未經(jīng)許可不得擴散DA000002 TCP/IP協(xié)議與子網(wǎng)規(guī)劃 ISSUE2.0課程說明課程說明課程介紹本課程主要介紹TCP/IP協(xié)議的基礎(chǔ)知識。課程目標(biāo)完成本課程的學(xué)習(xí)后,您應(yīng)該能夠:l 理解TCP/IP分層模型l 理解IP地址的分類與應(yīng)用l 運用IP子網(wǎng)的規(guī)劃原則對簡單網(wǎng)絡(luò)進行規(guī)劃相關(guān)資料1華為技術(shù)有限公司 版權(quán)所有, 未經(jīng)許可不得擴散DA000002 TCP/IP協(xié)議與子網(wǎng)規(guī)劃 ISSUE2.0第2章 子網(wǎng)規(guī)劃第1章 TCP/IP協(xié)議1.1 TCP/IP協(xié)議與OSI參考模型為了解決網(wǎng)絡(luò)之間兼容性的問題,幫助各個廠商生產(chǎn)出可兼容的網(wǎng)絡(luò)設(shè)備,國際標(biāo)準(zhǔn)化組織ISO(International Standards Organization)于1984年提出了開放系統(tǒng)互連參考模型OSI/RM(Open System Interconnection Reference Model),它很快成為計算機網(wǎng)絡(luò)通信的基礎(chǔ)模型。TCP/IP起源于6 0年代末美國政府資助的一個分組交換網(wǎng)絡(luò)研究項目,到90年代已發(fā)展成為計算機之間最常應(yīng)用的組網(wǎng)形式。它是一個真正的開放系統(tǒng),因為協(xié)議族的定義及其多種實現(xiàn)可以不用花錢或花很少的錢就可以公開地得到。它成為被稱作“全球互聯(lián)網(wǎng)”或“因特網(wǎng)(Internet)”的基礎(chǔ)與OSI參考模型一樣,TCP(Transfer Control Protocol)/IP(Internet Protocol)協(xié)議(傳輸控制協(xié)議/網(wǎng)際協(xié)議)也分為不同的層次開發(fā),每一層負責(zé)不同的通信功能。但是,TCP/IP協(xié)議簡化了層次設(shè)計,只有五層:應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層。從上圖可以看出,TCP/IP協(xié)議棧與OSI參考模型有清晰的對應(yīng)關(guān)系,覆蓋了OSI參考模型的所有層次。應(yīng)用層包含了OSI參考模型所有高層協(xié)議。因為TCP/IP協(xié)議棧支持所有的標(biāo)準(zhǔn)的物理層和數(shù)據(jù)鏈路層協(xié)議,而且物理層和數(shù)據(jù)鏈路層在前面已經(jīng)做過簡述,所以本章不對TCP/IP協(xié)議的物理層和數(shù)據(jù)鏈路層做進一步的描述。關(guān)于這兩層協(xié)議和標(biāo)準(zhǔn)的深入細節(jié),在后續(xù)章節(jié)會有講解。兩種協(xié)議的異同點:相同點:(1) 都是分層結(jié)構(gòu),并且工作模式一樣,都要層和層之間很密切的協(xié)作關(guān)系;(2) 有相同的應(yīng)用層,傳輸層,網(wǎng)絡(luò)層,數(shù)據(jù)鏈路層,物理層;(注意:這里為了方便比較,TCP/IP才分為5層,在CISCO,在其他很多文獻資料里都把數(shù)據(jù)鏈路層和物理層合并為數(shù)據(jù)鏈路層或網(wǎng)絡(luò)接口層-network access layer)。 (3) 都使用包交換技術(shù)(packet-switched)(4) 網(wǎng)絡(luò)工程師必須都要了解這兩個模型;不同點:(1) TCP/IP把表示層和會話層都歸入了應(yīng)用層;(2) TCP/IP的結(jié)構(gòu)比較簡單,因為分層少;(3) TCP/IP標(biāo)準(zhǔn)是在internet網(wǎng)絡(luò)不斷的發(fā)展中 建立的,基于實踐,有很高的信任度。相比較而言,OSI參考模型是基于理論上的,是做為一種向?qū)?!同OSI參考模型數(shù)據(jù)封裝過程一樣,TCP/IP協(xié)議在報文轉(zhuǎn)發(fā)過程中,封裝和去封裝也發(fā)生在各層之間。發(fā)送方,加封裝的操作是逐層進行的。各個應(yīng)用程序?qū)⒁l(fā)送的數(shù)據(jù)送給傳輸層;傳輸層(TCP/UDP)對數(shù)據(jù)分段為大小一定的數(shù)據(jù)段,加上本層的報文頭。發(fā)送給網(wǎng)絡(luò)層。在傳輸層報文頭中,包含接收它所攜帶的數(shù)據(jù)的上層協(xié)議或應(yīng)用程序的端口號,例如,Telnet 的端口號是 23。傳輸層協(xié)議利用端口號來調(diào)用和區(qū)別應(yīng)用層各種應(yīng)用程序。網(wǎng)絡(luò)層對來自傳輸層的數(shù)據(jù)段進行一定的處理(利用協(xié)議號區(qū)分傳輸層協(xié)議、尋找下一跳地址、解析數(shù)據(jù)鏈路層物理地址等),加上本層的IP報文頭后,轉(zhuǎn)換為數(shù)據(jù)包,再發(fā)送給鏈路層(以太網(wǎng)、幀中繼、PPP、HDLC等);鏈路層依據(jù)不同的數(shù)據(jù)鏈路層協(xié)議加上本層的幀頭,發(fā)送給物理層以比特流的形式將報文發(fā)送出去。在接收方,這種去封裝的操作也是逐層進行的。從物理層到數(shù)據(jù)鏈路層,逐層去掉各層的報文頭部,將數(shù)據(jù)傳遞給應(yīng)用程序執(zhí)行。圖中幀頭和幀尾下面所標(biāo)注的數(shù)字是典型以太網(wǎng)幀首部的字節(jié)長度。在后面的章節(jié)中 我們將詳細討論這些幀頭的具體含義。以太網(wǎng)數(shù)據(jù)幀的物理特性是其長度必須在4 61500字節(jié)之間。所有的Internet標(biāo)準(zhǔn)和大多數(shù)有關(guān)TCP/IP的書都使用octet這個術(shù)語來表示字節(jié)。使用這個過分雕琢的術(shù)語是有歷史原因的,因為TCP/IP的很多工作都是在DEC-10系統(tǒng)上進行的,但是它并不使用8 bit的字節(jié)。由于現(xiàn)在幾乎所有的計算機系統(tǒng)都采用8 bit的字節(jié)。更準(zhǔn)確地說,圖中IP和網(wǎng)絡(luò)接口層之間傳送的數(shù)據(jù)單元應(yīng)該是分組(packet)。分組既可以是一個IP數(shù)據(jù)報,也可以是I P數(shù)據(jù)報的一個片(fragment)。UDP數(shù)據(jù)與TCP數(shù)據(jù)基本一致。唯一的不同是UDP傳給IP的信息單元稱作UDP數(shù)據(jù)報(UDP datagram),而且UDP的首部長為8字節(jié)。由于TCP、UDP、ICMP和IGMP都要向IP傳送數(shù)據(jù),因此IP必須在生成的IP首部中加入某種標(biāo)識,以表明數(shù)據(jù)屬于哪一層。為此,IP在首部中存入一個長度為8bit的數(shù)值,稱作協(xié)議域。1表示為I C M P協(xié)議,2表示為IGMP協(xié)議,6表示為TCP協(xié)議,17表示為UDP協(xié)議。類似地,許多應(yīng)用程序都可以使用TCP或UDP來傳送數(shù)據(jù)。運輸層協(xié)議在生成報文首部時要存入一個應(yīng)用程序的標(biāo)識符。TCP和UDP都用一個16bit的端口號來表示不同的應(yīng)用程序。TCP和UDP把源端口號和目的端口號分別存入報文首部中。網(wǎng)絡(luò)接口分別要發(fā)送和接收IP、ARP和RARP數(shù)據(jù),因此也必須在以太網(wǎng)的幀首部中加入某種形式的標(biāo)識,以指明生成數(shù)據(jù)的網(wǎng)絡(luò)層協(xié)議。為此,以太網(wǎng)的幀首部也有一個16bit的幀類型域。當(dāng)應(yīng)用程序用T C P傳送數(shù)據(jù)時,數(shù)據(jù)被送入?yún)f(xié)議棧中,然后逐個通過每一層直到被當(dāng)作一串比特流送入網(wǎng)絡(luò)。其中每一層對收到的數(shù)據(jù)都要增加一些首部信息(有時還要增加尾部信息)。T C P傳給I P的數(shù)據(jù)單元稱作T C P報文段或簡稱為T C P段(TCPsegment)。I P傳給網(wǎng)絡(luò)接口層的數(shù)據(jù)單元稱作I P數(shù)據(jù)報(IP PACKETS)。通過以太網(wǎng)傳輸?shù)谋忍亓鞣Q作幀(Fr a m e )。在物理層轉(zhuǎn)變?yōu)槎M制BIT流。物理層和數(shù)據(jù)鏈路層涉及到在通信信道上傳輸?shù)脑急忍亓?,它實現(xiàn)傳輸數(shù)據(jù)所需要的機械、電氣、功能性及過程等手段,提供檢錯、糾錯、同步等措施,使之對網(wǎng)絡(luò)層顯現(xiàn)一條無錯線路;并且進行流量調(diào)控。網(wǎng)絡(luò)層檢查網(wǎng)絡(luò)拓撲,以決定傳輸報文的最佳路由,執(zhí)行數(shù)據(jù)轉(zhuǎn)發(fā)。其關(guān)鍵問題是確定數(shù)據(jù)包從源端到目的端如何選擇路由。網(wǎng)絡(luò)層的主要協(xié)議有IP(Internet protocol)、ICMP(Internet Control Message Protocol,互聯(lián)網(wǎng)控制報文協(xié)議)、IGMP(Internet Group Management Protocol,互聯(lián)網(wǎng)組管理協(xié)議)、ARP(Address Resolution Protocol,地址解析協(xié)議)和RARP(Reverse Address Resolution Protocol,反向地址解析協(xié)議)等。傳輸層的基本功能是為兩臺主機間的應(yīng)用程序提供端到端的通信。傳輸層從應(yīng)用層接受數(shù)據(jù),并且在必要的時候把它分成較小的單元,傳遞給網(wǎng)絡(luò)層,并確保到達對方的各段信息正確無誤。傳輸層的主要協(xié)議有TCP(Transfer control protocol傳輸控制協(xié)議)、UDP(User Datagraph Protocol,用戶數(shù)據(jù)報協(xié)議)。應(yīng)用層負責(zé)處理特定的應(yīng)用程序細節(jié)。應(yīng)用層顯示接收到的信息,把用戶的數(shù)據(jù)發(fā)送到低層,為應(yīng)用軟件提供網(wǎng)絡(luò)接口。應(yīng)用層 包含大量常用的應(yīng)用程序,例如HTTP(HyperText Transfer Protocol超文本傳輸協(xié)議)、Telnet(遠程登錄)、FTP(File Transfer Protocol)、TFTP(Trivial File Transter Protocol)等。1.2 應(yīng)用層應(yīng)用層為用戶的各種網(wǎng)絡(luò)應(yīng)用開發(fā)了許多網(wǎng)絡(luò)應(yīng)用程序,例如文件傳輸、網(wǎng)絡(luò)管理等,甚至包括路由選擇。這里我們重點介紹常用的幾種應(yīng)用層協(xié)議。FTP(文件傳輸協(xié)議、File Transfer Protocol)是用于文件傳輸?shù)腎nternet標(biāo)準(zhǔn)。FTP支持一些文本文件(例如ASCII、二進制等等)和面向字節(jié)流的文件結(jié)構(gòu)。FTP使用傳輸層協(xié)議TCP在支持FTP的終端系統(tǒng)間執(zhí)行文件傳輸,F(xiàn)TP與我們已描述的另一種應(yīng)用不同,它采用兩個TCP連接來傳輸一個文件。(1) 控制連接以通常的客戶服務(wù)器方式建立。服務(wù)器以被動方式打開眾所周知的用于FTP的端口(21),等待客戶的連接??蛻魟t以主動方式打開TCP端口21,來建立連接??刂七B接始終等待客戶與服務(wù)器之間的通信。該連接將命令從客戶傳給服務(wù)器,并傳回服務(wù)器的應(yīng)答。由于命令通常是由用戶鍵入的,所以IP對控制連接的服務(wù)類型就是“最大限度地減小遲延”。(2) 每當(dāng)一個文件在客戶與服務(wù)器之間傳輸時,就創(chuàng)建一個數(shù)據(jù)連接。(其他時間也可以創(chuàng)建,后面我們將說到)。由于該連接用于傳輸目的,所以IP對數(shù)據(jù)連接的服務(wù)特點就是“最大限度提高吞吐量”。因此,F(xiàn)TP被認為提供了可靠的面向連接的服務(wù),適合于遠距離、可靠性較差線路上的文件傳輸。TFTP(Trivial File Transfer Protocol,簡單文件傳輸協(xié)議)也是用于文件傳輸,但TFTP使用UDP提供服務(wù),被認為是不可靠的,無連接的。TFTP通常用于可靠的局域網(wǎng)內(nèi)部的文件傳輸。TFTP最初打算用于引導(dǎo)無盤系統(tǒng)(通常是工作站或X終端)。TFTP的代碼(和它所需要的UDP、IP和設(shè)備驅(qū)動程序)都能適合只讀存儲器。它只使用幾種報文格式,是一種停止等待協(xié)議。為了允許多個客戶端同時進行系統(tǒng)引導(dǎo),TFTP服務(wù)器必須提供一定形式的并發(fā)。因為UDP在一個客戶與一個服務(wù)器之間并不提供唯一連接(TCP也一樣),TFTP服務(wù)器通過為每個客戶提供一個新的UDP端口來提供并發(fā)。TFTP協(xié)議沒有提供安全特性。大多數(shù)執(zhí)行指望TFTP服務(wù)器的系統(tǒng)管理員來限制客戶的訪問,只允許它們訪問引導(dǎo)所必須的文件。TFTP也是我們升級設(shè)備的一種方式。SMTP(Simple Mail Transfer Protocol。簡單郵件傳輸協(xié)議)支持文本郵件的Internet傳輸。POP3(Post Office Protocol)是一個流行的Internet郵件標(biāo)準(zhǔn)。SNMP(Simple Network Management Protocol。簡單網(wǎng)絡(luò)管理協(xié)議)負責(zé)網(wǎng)絡(luò)設(shè)備監(jiān)控和維護,支持安全管理、性能管理等。Telnet是客戶機使用的與遠端服務(wù)器建立連接的標(biāo)準(zhǔn)終端仿真協(xié)議。Ping命令是一個診斷網(wǎng)絡(luò)設(shè)備是否正確連接的有效工具。Tracert命令和Ping命令類似,tracert命令可以顯示數(shù)據(jù)包經(jīng)過的每一臺網(wǎng)絡(luò)設(shè)備信息,是一個很好的診斷命令。HTTP協(xié)議支持WWW(World Wide Web,萬維網(wǎng))和內(nèi)部網(wǎng)信息交互,支持包括視頻在內(nèi)的多種文件類型。HTTP是當(dāng)今流行的Internet標(biāo)準(zhǔn)。DNS(Domain Name System,域名系統(tǒng))把網(wǎng)絡(luò)節(jié)點的易于記憶的名字轉(zhuǎn)化為網(wǎng)絡(luò)地址。WINS(Windows Internet Name Server,Windows Internet命名服務(wù)器),此服務(wù)可以將NetBIOS 名稱注冊并解析為網(wǎng)絡(luò)上使用的IP地址。BootP(Bootstrap Protocol,引導(dǎo)協(xié)議)是使用傳輸層UDP協(xié)議動態(tài)獲得IP地址的協(xié)議。是DHCP協(xié)議的前身。1.3 傳輸層傳輸層位于應(yīng)用層和網(wǎng)絡(luò)層之間,為終端主機提供端到端的連接,以及流量控制(由窗口機制實現(xiàn))、可靠性(由序列號和確認技術(shù)實現(xiàn))、支持全雙工傳輸?shù)鹊?。傳輸層協(xié)議有兩種:TCP和UDP。雖然TCP和UDP都使用相同的網(wǎng)絡(luò)層協(xié)議IP,但是TCP和UDP卻為應(yīng)用層提供完全不同的服務(wù)。傳輸控制協(xié)議TCP:為應(yīng)用程序提供可靠的面向連接的通信服務(wù),適用于要求得到響應(yīng)的應(yīng)用程序。目前,許多流行的應(yīng)用程序都使用TCP。用戶數(shù)據(jù)報協(xié)議UDP:提供了無連接通信,且不對傳送數(shù)據(jù)包進行可靠的保證。適合于一次傳輸小量數(shù)據(jù),可靠性則由應(yīng)用層來負責(zé)。TCP協(xié)議通過以下過程來保證端到端數(shù)據(jù)通信的可靠性:(1) TCP實體把應(yīng)用程序劃分為合適的數(shù)據(jù)塊,加上TCP報文頭,生成數(shù)據(jù)段;(2) 當(dāng)TCP實體發(fā)出數(shù)據(jù)段后,立即啟動計時器,如果源設(shè)備在計時器清零后仍然沒有收到目的設(shè)備的確認報文,重發(fā)數(shù)據(jù)段;(3) 當(dāng)對端TCP實體收到數(shù)據(jù),發(fā)回一個確認。(4) TCP包含一個端到端的校驗和字段,檢測數(shù)據(jù)傳輸過程的任何變化。如果目的設(shè)備收到的數(shù)據(jù)校驗和計算結(jié)果有誤,TCP將丟棄數(shù)據(jù)段,源設(shè)備在前面所述的計時器清零后重發(fā)數(shù)據(jù)段。(5) 由于TCP數(shù)據(jù)承載在IP數(shù)據(jù)包內(nèi),而IP提供了無連接的、不可靠的服務(wù),數(shù)據(jù)包有可能會失序。TCP提供了重新排序機制,目的設(shè)備將收到的數(shù)據(jù)重新排序,交給應(yīng)用程序。(6) TCP提供流量控制。TCP連接的每一端都有緩沖窗口。目的設(shè)備只允許源設(shè)備發(fā)送自己可以接收的數(shù)據(jù),防止緩沖區(qū)溢出。(7) TCP支持全雙工數(shù)據(jù)傳輸。UDP是一個簡單的面向數(shù)據(jù)報的運輸層協(xié)議:進程的每個輸出操作都正好產(chǎn)生一個UDP數(shù)據(jù)報,并組裝成一份待發(fā)送的IP數(shù)據(jù)報。UDP不提供可靠性:它把應(yīng)用程序傳給IP層的數(shù)據(jù)發(fā)送出去,但是并不保證它們能到達目的地。TCP協(xié)議為終端設(shè)備提供了面向連接的、可靠的網(wǎng)絡(luò)服務(wù),UDP協(xié)議為終端設(shè)備提供了無連接的、不可靠的數(shù)據(jù)報服務(wù)。從上圖我們可以看出,TCP協(xié)議為了保證數(shù)據(jù)傳輸?shù)目煽啃?,相對于UDP報文,TCP報文頭部有更多的字段選項。首先讓我們來看一下TCP的報文頭部主要字段:每個TCP報文頭部都包含源端口號(source port)和目的端口號(destination port),用于標(biāo)識和區(qū)分源端設(shè)備和目的端設(shè)備的應(yīng)用進程。在TCP/IP協(xié)議棧中,源端口號和目的端口號分別與源IP地址和目的IP地址組成套接字(socket),唯一的確定一條TCP連接。序列號(Sequence number)字段用來標(biāo)識TCP源端設(shè)備向目的端設(shè)備發(fā)送的字節(jié)流,它表示在這個報文段中的第一個數(shù)據(jù)字節(jié)。如果將字節(jié)流看作在兩個應(yīng)用程序間的單向流動,則TCP用序列號對每個字節(jié)進行計數(shù)。序列號是一個32bits的數(shù)。既然每個傳輸?shù)淖止?jié)都被計數(shù),確認序號(Acknowledgement number,32bits)包含發(fā)送確認的一端所期望接收到的下一個序號。因此,確認序號應(yīng)該是上次已成功收到的數(shù)據(jù)字節(jié)序列號加1。URG緊急指針(urgent pointer)有效。ACK確認序號有效。PSH接收方應(yīng)該盡快將這個報文段交給應(yīng)用層。RST重建連接。SYN同步序號用來發(fā)起一個連接。這個標(biāo)志和下一個標(biāo)志。一般在建立連接時使用。FIN發(fā)端完成發(fā)送任務(wù),斷開連接時使用。TCP的流量控制由連接的每一端通過聲明的窗口大?。╳indows size)來提供。窗口大小用數(shù)據(jù)包來表示,例如Windows size=3, 表示一次可以發(fā)送三個數(shù)據(jù)包。窗口大小起始于確認字段指明的值,是一個16bits字段。窗口大小可以調(diào)節(jié)。校驗和(checksum)字段用于校驗TCP報頭部分和數(shù)據(jù)部分的正確性。如果有了差錯要重傳。這個和UDP不一樣,UDP檢測出差錯以后直接丟棄,在單個局域網(wǎng)中傳輸是可以接受的,但是如果通過路由器,會產(chǎn)生很多錯誤,導(dǎo)致傳輸失敗。因為在路由器中也存在軟件和硬件的差錯,以致于修改數(shù)據(jù)報中的數(shù)據(jù)。最常見的可選字段是MSS(Maximum Segment Size,最大報文大?。?。MSS指明本端所能夠接收的最大長度的報文段。當(dāng)一個TCP連接建立時,連接的雙方都要通告各自的MSS協(xié)商可以傳輸?shù)淖畲髨笪拈L度。我們常見的MSS有1024(以太網(wǎng)可達1460字節(jié))字節(jié)。相對于TCP報文,UDP報文只有少量的字段:源端口號、目的端口號、長度、校驗和等,各個字段功能和TCP報文相應(yīng)字段一樣。UDP報文沒有可靠性保證和順序保證字段,流量控制字段等,可靠性較差。當(dāng)然,使用傳輸層UDP服務(wù)的應(yīng)用程序也有優(yōu)勢。正因為UDP協(xié)議較少的控制選項,在數(shù)據(jù)傳輸過程中,延遲較小,數(shù)據(jù)傳輸效率較高,適合于對可靠性要求并不高的應(yīng)用程序,或者可以保障可靠性的應(yīng)用程序像DNS、TFTP、SNMP等;UDP協(xié)議也可以用于傳輸鏈路可靠的網(wǎng)絡(luò)。TCP協(xié)議和UDP協(xié)議使用16bits端口號(或者socket)來表示和區(qū)別網(wǎng)絡(luò)中的不同應(yīng)用程序,網(wǎng)絡(luò)層協(xié)議IP使用特定的協(xié)議號(TCP6,UDP17)來表示和區(qū)別傳輸層協(xié)議。任何TCP/IP實現(xiàn)所提供的服務(wù)都是11023之間的端口號,這些端口號由IANA(Internet Assigned Numbers Authority,Internet號碼分配機構(gòu))分配管理。其中,低于255的端口號保留用于公共應(yīng)用;255到1023的端口號分配給各個公司,用于特殊應(yīng)用;對于高于1023的端口號,稱為臨時端口號,IANA未做規(guī)定。常用的TCP端口號有:HTTP 80,F(xiàn)TP 20/21,Telnet 23,SMTP 25,DNS 53等;常用的保留UDP端口號有:DNS 53,BootP 67(server)/ 68(client),TFTP 69,SNMP 161等。套接字(socket)分為源套接字和目的套接字:源套接字:源端口號+源IP地址;目的套接字:目的端口號+目的IP地址;源套接字和目的套接字用于唯一的確定一條TCP連接。關(guān)于IP地址,將在后面講述。為了在上圖所示的主機和服務(wù)器之間建立一個連接,首先需要兩端設(shè)備進行同步。同步(synchronization)是通過各個攜帶有初始序列號的數(shù)據(jù)段交換過程實現(xiàn)的。主機發(fā)送一個序列號為a的報文段1;服務(wù)器發(fā)回包含序列號為b的報文段2,并用確認號a+1對主機的報文段1進行確認;主機接收服務(wù)器發(fā)回的報文段2,發(fā)送報文段3,用確認號b+1對報文段2進行確認。這樣在主機和服務(wù)器之間建立了一條TCP連接,這個過程被稱為三步握手(three-way handshake)。接下來,數(shù)據(jù)傳輸開始。數(shù)據(jù)傳輸結(jié)束后,應(yīng)該終止連接。終止TCP連接需要4次握手。建立一個連接需要三次握手,而終止一個連接要經(jīng)過4次握手。這由TCP的半關(guān)閉(half-close)造成的。既然一個TCP連接是全雙工(即數(shù)據(jù)在兩個方向上能同時傳遞),因此每個方向必須單獨地進行關(guān)閉。這原則就是當(dāng)一方完成它的數(shù)據(jù)發(fā)送任務(wù)后就能發(fā)送一個FIN(報文段4)來終止這個方向連接。當(dāng)一端收到一個FIN,它必須通知應(yīng)用層另一端幾經(jīng)終止了那個方向的數(shù)據(jù)傳送。發(fā)送FIN通常是應(yīng)用層進行關(guān)閉的結(jié)果。收到一個FIN只意味著在這一方向上沒有數(shù)據(jù)流動。一個TCP連接在收到一個FIN后仍能發(fā)送數(shù)據(jù)。而這對利用半關(guān)閉的應(yīng)用來說是可能的,盡管在實際應(yīng)用中只有很少的TCP應(yīng)用程序這樣做。首先進行關(guān)閉的一方(即發(fā)送第一個FIN)將執(zhí)行主動關(guān)閉,而另一方(收到這個FIN)執(zhí)行被動關(guān)閉。當(dāng)服務(wù)器收到這個FIN,它發(fā)回一個ACK,確認序號為收到的序號加1(報文段5)。和SYN一樣,一個F I N將占用一個序號。同時TCP服務(wù)器還向應(yīng)用程序(即丟棄服務(wù)器)傳送一個文件結(jié)束符。接著這個服務(wù)器程序就關(guān)閉它的連接,導(dǎo)致它的TCP端發(fā)送一個FIN(報文段6),客戶必須發(fā)回一個確認,并將確認序號設(shè)置為收到序號加1(報文段7)。上圖顯示了終止一個連接的典型握手順序。我們省略了序號。在這個圖中,發(fā)送FIN將導(dǎo)致應(yīng)用程序關(guān)閉它們的連接,這些FIN的ACK是由TCP軟件自動產(chǎn)生的。連接通常是由客戶端發(fā)起的,這樣第一個SYN從客戶傳到服務(wù)器。每一端都能主動關(guān)閉這個連接(即首先發(fā)送FIN)。然而,一般由客戶端決定何時終止連接,因為客戶進程通常由用戶交互控制。 TCP滑動窗口技術(shù)通過動態(tài)改變窗口大小來調(diào)節(jié)兩臺主機間數(shù)據(jù)傳輸。每個TCP/IP主機支持全雙工數(shù)據(jù)傳輸,因此TCP有兩個滑動窗口:一個用于接收數(shù)據(jù),另一個用于發(fā)送數(shù)據(jù)。TCP使用肯定確認技術(shù),其確認號指的是下一個所期待的字節(jié)。下面我們以數(shù)據(jù)單方向發(fā)送為例,介紹滑動窗口如何實現(xiàn)流量控制。假定發(fā)送方設(shè)備以每一次三個數(shù)據(jù)包的方式發(fā)送數(shù)據(jù),也就是說,窗口大小為3。發(fā)送方發(fā)送序列號為1、2、3的三個數(shù)據(jù)包,接收方設(shè)備成功接收數(shù)據(jù)包,用序列號4確認。發(fā)送方設(shè)備收到確認,繼續(xù)以窗口大小3發(fā)送數(shù)據(jù)。當(dāng)接收方設(shè)備要求降低或者增大網(wǎng)絡(luò)流量時,可以對窗口大小進行減小或者增加,本例降低窗口大小為2,每一次發(fā)送兩個數(shù)據(jù)包。當(dāng)接收方設(shè)備要求窗口大小為0,表明接收方已經(jīng)接收了全部數(shù)據(jù),或者接收方應(yīng)用程序沒有時間讀取數(shù)據(jù),要求暫停發(fā)送。發(fā)送方接收到攜帶窗口號為0的確認,停止這一方向的數(shù)據(jù)傳輸?;瑒哟翱跈C制為端到端設(shè)備間的數(shù)據(jù)傳輸提供了可靠的流量控制機制。然而,它只能在源端設(shè)備和目的端設(shè)備起作用,當(dāng)網(wǎng)絡(luò)中間設(shè)備(例如路由器等)發(fā)生擁塞時,滑動窗口機制將不起作用。我們可以利用ICMP的源抑制機制進行擁塞管理。關(guān)于ICMP,我們將在后面介紹。1.4 網(wǎng)絡(luò)層網(wǎng)絡(luò)層位于TCP/IP協(xié)議棧數(shù)據(jù)鏈路層和傳輸層中間,網(wǎng)絡(luò)層接收傳輸層的數(shù)據(jù)報文,分段為合適的大小,用IP報文頭部封裝,交給數(shù)據(jù)鏈路層。網(wǎng)絡(luò)層為了保證數(shù)據(jù)包的成功轉(zhuǎn)發(fā),主要定義了以下協(xié)議:IP(Internet Protocol)協(xié)議:IP協(xié)議和路由協(xié)議協(xié)同工作, 尋找能夠?qū)?shù)據(jù)包傳送到目的端的最優(yōu)路徑。IP協(xié)議不關(guān)心數(shù)據(jù)報文的內(nèi)容,提供無連接的、不可靠的服務(wù)。ARP協(xié)議(Address Resolution Protocol,地址解析協(xié)議):把已知的IP地址解析為MAC地址;RARP(Reverse Address Resolution Protocol,反向地址解析協(xié)議):用于數(shù)據(jù)鏈路層地址已知時,解析IP地址;ICMP(Internet Control Message Protocol,網(wǎng)際控制消息協(xié)議)定義了網(wǎng)絡(luò)層控制和傳遞消息的功能。IGMP(Internet Group Management Protocol,網(wǎng)際組管理協(xié)議),一種組播應(yīng)用協(xié)議。普通的IP頭部長度為20個字節(jié),不包含IP選項字段。版本號(Version)字段標(biāo)明了IP協(xié)議的版本號,目前的協(xié)議版本號為4。下一代IP協(xié)議的版本號為6。報文長度指IP包頭部長度,占4位。8位的服務(wù)類型(TOS,Type of Service)字段包括一個3位的優(yōu)先權(quán)字段(COS,Class of Service),4位TOS字段和1位未用位。4位TOS分別代表最小時延、最大吞吐量、最高可靠性和最小費用。4bit中只能置其中1bit。如果所有4bit均為0,那么就意味著是一般服務(wù)。Telnet和Rlogin這兩個交互應(yīng)用要求最小的傳輸時延,因為人們主要用它們來傳輸少量的交互數(shù)據(jù)。另一方面,F(xiàn)TP文件傳輸則要求有最大的吞吐量。最高可靠性被指明給網(wǎng)絡(luò)管理(SNMP)和路由選擇協(xié)議。用戶網(wǎng)絡(luò)新聞(Usenet news, NNTP)是唯一要求最小費用的應(yīng)用??傞L度(Total length)是整個IP數(shù)據(jù)報長度,包括數(shù)據(jù)部分。由于該字段長16比特,所以I P數(shù)據(jù)報最長可達65535字節(jié)。盡管可以傳送一個長達65535字節(jié)的IP數(shù)據(jù)報,但是大多數(shù)的鏈路層都會對它進行分片。而且,主機也要求不能接收超過576字節(jié)的數(shù)據(jù)報。UDP限制用戶數(shù)據(jù)報長度為512字節(jié),小于576字節(jié)。但是,事實上現(xiàn)在大多數(shù)的實現(xiàn)(特別是那些支持網(wǎng)絡(luò)文件系統(tǒng)NFS的實現(xiàn))允許超過8192字節(jié)的IP數(shù)據(jù)報。標(biāo)識符(Identification)字段唯一地標(biāo)識主機發(fā)送的每一份數(shù)據(jù)報。通常每發(fā)送一份報文它的值就會加1。標(biāo)志位:3比特多種控制位:0比特: 保留, 必須為01比特: (DF) 0 = 可以分片, 1 =不可以分片.2比特: (MF) 0 =最后的分片, 1 = 更多的分片.DF和MF的值不可能相同。 0 1 2 +-+-+-+ | | D | M | | 0 | F | F | +-+-+-+片偏移:指的是這個分片是屬于這個數(shù)據(jù)流的哪里。生存時間(TTL,Time to Live)字段設(shè)置了數(shù)據(jù)包可以經(jīng)過的路由器數(shù)目。一旦經(jīng)過一個路由器,TTL值就會減1,當(dāng)該字段值為0時,數(shù)據(jù)包將被丟棄。協(xié)議字段確定在數(shù)據(jù)包內(nèi)傳送的上層協(xié)議,和端口號類似,IP協(xié)議用協(xié)議號區(qū)分上層協(xié)議。TCP協(xié)議的協(xié)議號為6,UDP協(xié)議的協(xié)議號為17。報頭校驗和(Head checksum)字段計算IP頭部的校驗和,檢查報文頭部的完整性。源IP地址和目的IP地址字段標(biāo)識數(shù)據(jù)包的源端設(shè)備和目的端設(shè)備。關(guān)于IP地址,后面會有詳述。地址解析協(xié)議ARP是一種廣播協(xié)議,主機通過它可以動態(tài)地發(fā)現(xiàn)對應(yīng)于一個IP地址的MAC層地址。假定主機A需要知道主機B的MAC地址,主機A發(fā)送稱為ARP請求的以太網(wǎng)數(shù)據(jù)幀給網(wǎng)段上的每一臺主機,這個過程稱為廣播。發(fā)送的ARP請求報文中,帶有自己的IP地址到MAC地址的映射,同時還帶有需要解析的目的主機的IP地址。目的主機B收到請求報文后,將其中的主機A的IP地址與MAC地址的映射存到自己的ARP高速緩存中,并把自己的IP地址到MAC地址的映射作為響應(yīng)發(fā)回主機A。主機A收到ARP應(yīng)答,就得到了主機B的MAC地址,同時,主機A緩存主機B的IP地址到MAC地址映射。RARP常用于X終端和無盤工作站等,這些設(shè)備知道自己MAC地址,需要獲得IP地址。以上圖為例,無盤工作站需要獲得自己的IP地址,向網(wǎng)絡(luò)中廣播RARP請求,RARP服務(wù)器接收廣播請求,發(fā)送應(yīng)答報文,無盤工作站獲得IP地址。對應(yīng)于ARP、RARP請求以廣播方式發(fā)送,ARP、RARP應(yīng)答一般以單播方式發(fā)送,以節(jié)省網(wǎng)絡(luò)資源。網(wǎng)際控制消息協(xié)議ICMP是一個網(wǎng)絡(luò)層的協(xié)議,它提供了錯誤報告和其它回送給源點的關(guān)于 IP 數(shù)據(jù)包處理情況的消息。ICMP通常為IP層或者更高層協(xié)議使用,一些ICMP報文把差錯報文返回給用戶進程。ICMP報文通常被封裝在IP數(shù)據(jù)包內(nèi)傳輸。RFC 792 中有關(guān)于ICMP的詳細說明。ICMP包含幾種不同的消息,其中ping程序借助于echo request消息,主機可通過它來測試網(wǎng)絡(luò)的可達性,ICMP Echo Reply 消息表示該節(jié)點是可達的。ICMP還定義了源抑制(source quench)報文。當(dāng)路由器的緩沖區(qū)滿后,送入的報文被丟棄,此時路由器向發(fā)送報文的主機發(fā)送源抑制報文,要求降低發(fā)送速率。第2章 子網(wǎng)規(guī)劃2.1 IP地址介紹我們用的最多而且最熟悉的記數(shù)系統(tǒng)就是十進制計數(shù)系統(tǒng)了。十進制計數(shù)系統(tǒng)是基于10的冥級數(shù):101,102 等。二進制計數(shù)系統(tǒng)是基于2的冥級數(shù):21,22等。二進制中用0和1表示。如第一張圖,有8位二進制,從左到右每個1表示的數(shù)字為28-1=128,27-1=64,26-1=32,25-1=16,24-1=8,23-1=4,22-1=2,21-1=1,然后每位相加就得到了255。如果二進制的某位為0,則此位對應(yīng)的十進制為0。更加清楚的解釋可以看下張膠片的具體例子。每個IP地址是一個寫成4個8位字節(jié)的32比特值。這就意味著存在4個組,每個組包括8個二進制位。如上圖,這個不難理解,在這里就不多具體講述。前面我們已經(jīng)了解了TCP/IP協(xié)議的網(wǎng)絡(luò)層的相關(guān)協(xié)議,并且已經(jīng)在OSI參考模型中了解到每一個協(xié)議棧的網(wǎng)絡(luò)層都有網(wǎng)絡(luò)層地址,TCP/IP協(xié)議也不例外。本節(jié)重點介紹TCP/IP協(xié)議棧的網(wǎng)絡(luò)層地址-IP地址。IP地址是進行復(fù)雜的子網(wǎng)規(guī)劃的基礎(chǔ)。我們前面已經(jīng)學(xué)習(xí)到,數(shù)據(jù)鏈路層有物理地址-MAC地址,也知道,MAC地址是全球唯一的。當(dāng)有數(shù)據(jù)發(fā)送時,源網(wǎng)絡(luò)設(shè)備查詢對端設(shè)備的MAC地址,然后將數(shù)據(jù)發(fā)送過去。然而,MAC地址通常存在于一個平面地址空間,沒有清晰的地址層次,只適合于本網(wǎng)段主機的通信,另外,MAC地址固化在硬件中,靈活性較差。對于不同網(wǎng)絡(luò)之間的互連通信,我們通常使用基于軟件實現(xiàn)的網(wǎng)絡(luò)層地址-IP地址來通信,提供更大的靈活性。在我們學(xué)習(xí)IP地址前,假定您已經(jīng)掌握了二進制、十進制、十六進制的相關(guān)知識。IP地址,又稱邏輯地址,和MAC地址一樣,IP地址也是獨一無二的。每一臺網(wǎng)絡(luò)設(shè)備用IP地址來唯一的標(biāo)識。IP地址由32個二進制位組成,這些二進制數(shù)字被分為四個八位數(shù)組(octets),又稱為四個字節(jié)。IP地址可以這樣表示:點分十進制形式:11二進制形式:00001010.01101110.10000000.01101111十六進制形式:0a.7e.80.7f通常我們把IP地址表示為點分十進制形式,很少表示成十六進制形式。由于IP地址有32個二進制位,理論上可以有232個IP地址可以使用,也就是43億個IP地址。在互聯(lián)網(wǎng)絡(luò)上,如果每一臺三層網(wǎng)絡(luò)設(shè)備,例如路由器,為了彼此通信,儲存每一個節(jié)點的IP地址,可以想象路由器會有多么大的路由表,這對路由器來說是不可能的。為了減少路由器的路由表數(shù)目,更加有效的進行路由,清晰的區(qū)分各個網(wǎng)段,決定對IP地址采用結(jié)構(gòu)化的分層方案。IP地址的結(jié)構(gòu)化分層方案將IP地址分為網(wǎng)絡(luò)部分和主機部分,區(qū)分網(wǎng)絡(luò)部分和主機部分需要借助地址掩碼(Mask)。網(wǎng)絡(luò)部分位于IP地址掩碼前面的連續(xù)二進制“1”位,主機部分是后面連續(xù)二進制“0”位。IP地址的分層方案類似于我們常用的電話號碼。電話號碼也是全球唯一的。例如對于電話號前面的字段010代表北京的區(qū)號,后面的字段82882484代表北京地區(qū)的一部電話。IP地址也是一樣,前面的網(wǎng)絡(luò)部分代表一個網(wǎng)段,后面的主機部分代表這個網(wǎng)段的一臺設(shè)備。IP地址采用分層設(shè)計,這樣,每一臺第三層網(wǎng)絡(luò)設(shè)備就不必儲存每一臺主機的IP地址,而是儲存每一個網(wǎng)段的網(wǎng)絡(luò)地址(網(wǎng)絡(luò)地址代表了該網(wǎng)段內(nèi)的所有主機),大大減少了路由表條目,增加了路由的靈活性。IP地址的網(wǎng)絡(luò)部分稱為網(wǎng)絡(luò)地址,網(wǎng)絡(luò)地址用于唯一地標(biāo)識一個網(wǎng)段,或者若干網(wǎng)段的聚合,同一網(wǎng)段中的網(wǎng)絡(luò)設(shè)備有同樣的網(wǎng)絡(luò)地址。IP地址的主機部分稱為主機地址,主機地址用于唯一的標(biāo)識同一網(wǎng)段內(nèi)的網(wǎng)絡(luò)設(shè)備。例如,前面所述的A類IP地址:11,網(wǎng)絡(luò)部分地址為10,主機部分地址為110.192.111。那么如何區(qū)分IP地址的網(wǎng)絡(luò)地址和主機地址呢?最初互聯(lián)網(wǎng)絡(luò)設(shè)計者根據(jù)網(wǎng)絡(luò)規(guī)模大小規(guī)定了地址類,把IP地址分為A、B、C、D、E五類。A類IP地址的網(wǎng)絡(luò)地址為第一個八位數(shù)組(octet),第一個字節(jié)以“0”開始。因此,A類網(wǎng)絡(luò)地址的有效位數(shù)為8-1=7位,A類地址的第一個字節(jié)為1126之間(127留作它用)。例如、8等為A類地址。A類地址的主機地址位數(shù)為后面的三個字節(jié)24位。A類地址的范圍為55,每一個A類網(wǎng)絡(luò)共有224個A類IP地址。B類IP地址的網(wǎng)絡(luò)地址為前兩個八位數(shù)組(octet),第一個字節(jié)以“10”開始。因此,B類網(wǎng)絡(luò)地址的有效位數(shù)為16-2=14位,B類地址的第一個字節(jié)為128191之間。例如、8等為B類地址。B類地址的主機地址位數(shù)為后面的二個字節(jié)16位。B類地址的范圍為 55,每一個B類網(wǎng)絡(luò)共有216個B類IP地址。C類IP地址的網(wǎng)絡(luò)地址為前三個八位數(shù)組(octet),第一個字節(jié)以“110”開始。因此,C類網(wǎng)絡(luò)地址的有效位數(shù)為24-3=21位,C類地址的第一個字節(jié)為192223之間。例如、8等為C類地址。C類地址的主機地址部分為后面的一個字節(jié)8位。C類地址的范圍為 55,每一個C類網(wǎng)絡(luò)共有28=256個C類IP地址。D類地址第一個8位數(shù)組以“1110”開頭,因此,D類地址的第一個字節(jié)為224239。D類地址通常作為組播地址。關(guān)于組播地址,在HCSE交換課程會有討論。E類地址第一個字節(jié)為240255之間,保留用于科學(xué)研究。我們經(jīng)常用到的是A、B、C三類地址。IP地址由國際網(wǎng)絡(luò)信息中心組織(International Network Information Center,InterNIC)根據(jù)公司大小進行分配。過去通常把A類地址保留給政府機構(gòu),B類地址分配給中等規(guī)模的公司,C類地址分配給小單位。然而,隨著互聯(lián)網(wǎng)絡(luò)飛速發(fā)展,再加上IP地址的浪費,IP地址已經(jīng)非常緊張。現(xiàn)在進行IP地址規(guī)劃時,我們通常在公司內(nèi)部網(wǎng)絡(luò)使用私有IP地址。私有IP地址是由InterNIC預(yù)留的由各個企業(yè)內(nèi)部網(wǎng)自由支配的IP地址。使用私有IP地址不能直接訪問Internet。原因很簡單,私有IP地址不能在公網(wǎng)上使用,公網(wǎng)上沒有針對私有地址的路由,會產(chǎn)生地址沖突問題。當(dāng)訪問Internet時,需要利用網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT,Network Address Translation)技術(shù),把私有IP地址轉(zhuǎn)換為Internet可識別的公有IP地址。InterNIC預(yù)留了以下網(wǎng)段作為私有IP地址:A類地址55; B類地址 55; C類地址55等。使用私有IP地址,不僅減少了企業(yè)用于購買公有IP地址的投資,而且節(jié)省了IP地址資源。但是這并不能完全解決IP地址短缺問題,目前已經(jīng)正式提出了IPv6協(xié)議。IPv6地址有128個二進制位,共約2128個IP地址,完全可以解決IP地址緊張問題。IP地址用于唯一的標(biāo)識一臺網(wǎng)絡(luò)設(shè)備,但并不是每一個IP地址都是可用的,一些特殊的IP地址被用于各種各樣的用途,不能用于標(biāo)識網(wǎng)絡(luò)設(shè)備。對于主機部分全為“0”的IP地址,稱為網(wǎng)絡(luò)地址,網(wǎng)絡(luò)地址用來標(biāo)識一個網(wǎng)段。例如,A類地址,私有地址, 等。對于主機部分全為“1”的IP地址,稱為網(wǎng)段廣播地址,廣播地址用于標(biāo)識一個網(wǎng)絡(luò)的所有主機。例如,55 , 55等,路由器可以在或者等網(wǎng)段轉(zhuǎn)發(fā)廣播包。廣播地址用于向本網(wǎng)段的所有節(jié)點發(fā)送數(shù)據(jù)包。對于網(wǎng)絡(luò)部分為127的IP地址,例如往往用于環(huán)路測試目的。全“0”的IP地址代表所有的主機,華為Quidway系列路由器用地址指定默認路由。全“1”的IP地址55,也是廣播地址,但55代表所有主機,用于向網(wǎng)絡(luò)的所有節(jié)點發(fā)送數(shù)據(jù)包。這樣的廣播不能被路由器轉(zhuǎn)發(fā)。如上所述,每一個網(wǎng)段會有一些IP地址不能用作主機IP地址。下面讓我們來計算一下可用的IP地址。例如B類網(wǎng)段, 有16個主機位,因此有216個IP地址,去掉一個網(wǎng)絡(luò)地址,一個廣播地址55不能用作標(biāo)識主機,那么共有216-2個可用地址。C類網(wǎng)段,有8個主機位,共有28=256個IP地址,去掉一個網(wǎng)絡(luò)地址,一個廣播地址55,共有254個可用主機地址。現(xiàn)在,我們可以這樣計算每一個網(wǎng)段可用主機地址:假定這個網(wǎng)段的主機部分位數(shù)為n,那么可用的主機地址個數(shù)為2n-2個。網(wǎng)絡(luò)層設(shè)備(例如路由器等)使用網(wǎng)絡(luò)地址來代表本網(wǎng)段內(nèi)的主機,大大減少了路由器的路由表條目。子網(wǎng)規(guī)劃這是一個C類地址,前24bits是網(wǎng)絡(luò)位,后8bits是主機位,這個很容易理解。我們在前面學(xué)過了二進制和十進制之間的轉(zhuǎn)換,那么上圖的IP地址和子網(wǎng)掩碼的二進制和十進制的對應(yīng)關(guān)系應(yīng)該很容易看懂。所以再看一下子網(wǎng)掩碼比特數(shù)中是8+8+8+4=28,這個指的是子網(wǎng)掩碼中連續(xù)1的個數(shù),這里是28位1。那么最后是子網(wǎng)掩碼的另外一種表示方法,/28=40。如膠片中所示,IP地址和子網(wǎng)掩碼都已經(jīng)知道,那么網(wǎng)絡(luò)地址就是IP地址的二進制和子網(wǎng)掩碼的二進制進行“與”的計算?!芭c”的計算方法是1&1=1,1&0=0,0&0=0。那么膠片中IP地址和子網(wǎng)掩碼的與計算為:11000000,10101000,00000001,00000111 1111111 ,11111111,11111111,11110000 11000000,10101000,00000001,00000000最后得到的就是網(wǎng)絡(luò)地址。主機數(shù)的計算是通過子網(wǎng)掩碼來計算的,首先我們要看這個子網(wǎng)掩碼中最后有多少位是0。如上圖,假設(shè)最后有位為,那么總的主機數(shù)為n個,可用主機的個數(shù)我們要減去全的網(wǎng)絡(luò)地址和全的廣播地址,既n個。這個例子非常明確的講述了主機數(shù)的計算過程。我們知道A類地址標(biāo)準(zhǔn)的子網(wǎng)掩碼,也就是說24bits的0(主機位)位;B類地址的標(biāo)準(zhǔn)子網(wǎng)掩碼為,也就是說16bits的0(主機位)位;C類地址的標(biāo)準(zhǔn)子網(wǎng)掩碼,也就是說8bits的0(主機位)位。膠片中的例子是一個C類地址,標(biāo)準(zhǔn)子網(wǎng)掩碼有8bits的0(主機位)位,那么計算子網(wǎng)總數(shù)的時候就為2的8-4次方,8指的是標(biāo)準(zhǔn)子網(wǎng)掩碼的0(主機位)位個數(shù),4為實際主機位個數(shù),進行相減后,就得到了子網(wǎng)位數(shù),既可表示為28-4那么就得到了子網(wǎng)總數(shù)A,B類IP地址以此類推。對于沒有子網(wǎng)的IP地址組織,外部將該組織看作單一網(wǎng)絡(luò),不需要知道內(nèi)部結(jié)構(gòu)。例如,所有到地址172.16 .X.X的路由被認為同一方向,不考慮地址的第三和第四個8位分組,這種方案的好處是減少路由表的項目。但這種方案沒法區(qū)分一個大的網(wǎng)絡(luò)內(nèi)不同的子網(wǎng)網(wǎng)段,這使網(wǎng)絡(luò)內(nèi)所有主機都能收到在該大的網(wǎng)絡(luò)內(nèi)的廣播,會降低網(wǎng)絡(luò)的性能,另外也不利于管理。比如,一個B類網(wǎng)可容納65000個主機在網(wǎng)絡(luò)內(nèi)。但是沒有任何一個單位能夠同時管理這么多主機。這就需要一種方法將這種網(wǎng)絡(luò)分為不同的網(wǎng)段。按照各個子網(wǎng)段進行管理。從地址分配的角度來看,子網(wǎng)是網(wǎng)段地址的擴充。網(wǎng)絡(luò)管理員根據(jù)組織增長的需要決定子網(wǎng)的大小。網(wǎng)絡(luò)設(shè)備使用子網(wǎng)掩碼(subnet masking)決定IP地址中哪部分為網(wǎng)絡(luò)部分,哪部分為主機部分。子網(wǎng)掩碼使用與IP地址一樣的格式。子網(wǎng)掩碼的網(wǎng)絡(luò)部分和子網(wǎng)部分全都是1,主機部分全都是0。缺省狀態(tài)下,如果沒有進行子網(wǎng)劃分,A類網(wǎng)絡(luò)的子網(wǎng)掩碼為,B類網(wǎng)絡(luò)的子網(wǎng)掩碼為,C類網(wǎng)絡(luò)子網(wǎng)掩碼為。利用子網(wǎng),網(wǎng)絡(luò)地址的使用會更有效。對外 仍為一個網(wǎng)絡(luò),對內(nèi)部而言,則分為不同的子網(wǎng)。如圖:網(wǎng)絡(luò) 分為兩個網(wǎng)段:、。如果公司的財務(wù)部使用 子網(wǎng)段;公司的工程部使用 子網(wǎng)段。這樣可使路由器根據(jù)目的子網(wǎng)地址進行路由,從而限制一個子網(wǎng)的廣播報文發(fā)送到其它網(wǎng)段,不對網(wǎng)絡(luò)的效率產(chǎn)生影響。在這個例子中,網(wǎng)段地址是一個C類地址:。假設(shè)需要20個子網(wǎng),其中每個子網(wǎng)5個主機,就要把主機地址的最后一個八位組分成子網(wǎng)部分和主機部分。子網(wǎng)部分的位數(shù)決定了子網(wǎng)的數(shù)目。在這個例子中,因為是C類地址,所以子網(wǎng)部分和主機部分總共是8位,因為242025,所以子網(wǎng)部分占有5位,最大可提供30(25 -2)個子網(wǎng)。剩余3位為主機部分。

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論