第一部分 TCP/IP基礎知識
TCP/IP分層及各層主要協議
數據鏈路層:SLIP、PPP
網絡層:IP、ARP、RARP、ICMP
傳輸層:TCP、UDP
應用層:FTP、TELNET、SMTP、HTTP、TFTP
=====================
這部分與宇航出版社的《Microsoft Windows NT4.0 環境下的TCP/IP網絡互聯》中的第一、二章(除ARP外)對應
首先我們這門課是TCP/IP在Windows NT中的應用,並不完全講TCP/IP協議,所以有一些TCP/IP理論方面的知識並沒有涉及到。在講TCP/IP在Windows NT中的應用時,我們先回顧一下,在網絡基礎中講到的網絡的OSI模型,假如有同學從TCP/IP學起,此處作一個鋪墊。
第一課 OSI模型(open system interface)
OSI模型最初是用來作為開發網絡通信協議族的一個工業參考標准。通過嚴格遵守OSI模型,不同的網絡技術之間可以輕易地實現互操作。
應用層 Application Layer |
表示層 Present Layer |
會話層 Semission Layer |
傳輸層 Transport Layer |
網絡層 Internet Layer |
數據鏈路層 Data Link Layer |
物理層 Physical Layer |
OSI模型包含許多被分割成層的組件。在網絡數據通信的過程中,每一層完成一個特定的任務。當傳輸數據的時候,每一層接收到上面層格式化后的數據,對數據進行操作,然后把它傳給下面的層。當接收數據的時候,每一層接收到下面層傳過來的數據,對數據進行解包,然后把它傳給上一層。
應用層 |
|
應用層 |
表示層 |
表示層 |
|
會話層 |
會話層 |
|
傳輸層 |
傳輸層 |
|
網絡層 |
網絡層 |
|
數據鏈路層 |
數據鏈路層 |
|
物理層 |
物理層 |
OSI模型的一個關鍵概念是虛電路。兼容OSI模型的網絡棧的每一部分都不知道其上面層和下面層的行為和細節;它只是向上和向下傳輸數據。就模型的層次而言,每一層都有一虛電路直接連接目的主機上的對應層。就每一層而言,它的數據在目的層被解包的方式和被打包的方式是完全一樣的。層不知道傳輸數據的實際細節;它們只知道數據是從周圍層中傳過來的。
如同打電話一樣,你感覺對方就在你耳邊,但實際上你對電話機在說話,電話機把你的話轉成了電信號,通過電話線傳給電信局,電信局又通過各種傳輸線路,傳給對方的電信局,對方的電信局再通過電話線把信號傳給電話機,電話機再把電信號轉換成,你的情話。
你 |
|
她 |
電話機 |
電話機 |
|
電話線 |
電話線 |
|
電信局 |
電信局 |
|
電信總局 |
電信總局 |
虛電路結構增強了OSI模型每一層的模塊性;實現每一層的軟件可以被棧的開發人員和工作站的管理人員移走、替代和更新而是影響它上面和下面的層。這允許靈活地改變網絡類型和更新層來處理錯誤和增加新特性。每一層都利用其上層和下層的服務來維持它和遠地主機上對應層的虛電路。
第二 課 TCP/IP協議
一.Internet的現狀
1. TCP/IP的發展過程及組織
ISOC(Internet Society)
應用軟件 IAB
IETF IANA IRTF
2.說明TCP/IP的重要性
連接不同系統的技術
開放系統,可通過Request for comments開發自己的TCP/IP解法
與Internet連接:節省資金
提供強有力的WAN連接:可路由,為廣域網設計的
二.TCP/IP協議族
1.TCP/IP協議族
英文全稱:Transmission Control Protocol/Internet Protocol
中文全稱:傳輸控制協議/互聯網協議
TCP/IP實際上是一族協議,不是單一的協議,詳見【附圖一】
◇ARP(Address Resolution Protocol):地址解析協議
◇RARP(Reverse Address Resolution Protocol):逆向地址解析協議
如果一台IP機器不帶磁盤,啟動時無法知道其IP地址。但它知道它的MAC地址。RARP協議是丟失靈魂者的精神病分析家。它發出一個分組,其中包括其MAC地址,要求回答這一MAC地址的IP地址。一個稱為RARP服務器的特定機器作出響應並回答。至此,這一身份危機就獲得解決。像一位優秀的分析家一樣RARP使用已知信息,即機器的MAC地址,求得其IP地址完成機器ID的確定。
◇ICMP(Internet Control Message Protocol):Internet控制信息協議
◇IGMP(Internet Group Management Protocol):Internet組管理協議
◇UDP(User Datagram Protocol):用戶數據報協議
◇SNMP(Simple Network Management Protocol):簡單網絡管理協議
◇SMTP(Simple Mail Transmission Protocol):簡單郵件傳送協議
◇FTP(File Transmission Protocol):文件傳輸協議
◇Telnet:
Telnet是協議中的變色龍,它的特殊性在於終端仿真。它允許遠程客戶機(稱為Telnet Client)上的用戶訪問另外機器(稱為Telnet Server)的資源。Telnet完成這一任務的方法是下拉(pulling)一台較快的Telnet服務器,將客戶機修飾成一台終端,直接附加到本地網絡。這個設計實際上是軟件映像,可以與某遠程主機互相交往的虛擬終端。這些仿真的終端工作在文件方式。可以執行顯示菜單這樣的步驟,這可使用戶有機會選擇菜單,在一個下拉的服務器上訪問應用程序。用戶運行Telnet客戶機軟件開始Telnet會話,然后登錄到Telnet服務器。Telnet的能力限於運行應用程序或窺視一下服務器上的內容。它僅僅是一個“觀察“的協議。它不能用於文件共享,如下載資料。要想真正搞到資料必須運用FTP協議。
◇NDIS(Network Device Interface Specification):網絡驅動接口規范
◇NFS(Network File System) :網絡文件系統
這是一個重要的協議,以文件共享為特點。它允許兩個不同類型的文件系統互相操作。假定NFS服務器軟件正運行在NetWare服務器,並且NFS客戶機軟件正運行在UNIX主機上。NFS允許NetWare服務器上的部分RAM透明地存儲UNIX文件,UNIX用戶可以使用這些文件。雖然NetWare文件系統與UNIX文件系統不同(在識別大寫與小寫方面、文件名的長度、安全性等方面),但UNIX用戶用NetWare用戶都可用它們正常的文件系統和正常的方法訪問同一文件。
Telnet、FTP和TFTP都有局限性。請讀者記住,作程序使用,FTP不能執行遠程文件,而NFS則可以。它可在計算機上打開圖形應用程序,修改讀者昨晚在同一程序上所做的修改。NFS有輸入和輸出材料的能力,即遠程操作應用程序。
◇BootP(Boot Program):引導程序
當一台無磁盤的工作站加電后,它向網絡廣播一個BootP請求。一個BootP服務器聽到請求后,從客戶機的BootP文件中查找其MAC地址。如果找到相應的項目,它就作出響應,告訴該機的IP地址及其應該使用的引導文件,這通常是通過TFTP協議來完成。
沒有磁盤的機器用BootP可獲得:
◇自己的IP地址
◇服務器的IP地址
◇需加載到內存的文件名,以便用這一文件執行引導
MCSE提示:有一些簡單的考題會問:某個協議位於TCP/IP協議棧的哪一層上?
2.TCP/IP協議棧
OSI模型是一種通用的、標准的、理論模型,今天市場上沒有一個流行的網絡協議完全遵守OSI模型,TCP/IP也不例外,TCP/IP協議族有自己的模型,被稱為TCP/IP協議棧,又稱DOD模型(Department of defense)
應用層 Application Layer |
|
應用層 Application Layer |
表示層 Present Layer |
||
會話層 Semission Layer |
||
傳輸層 Transport Layer |
傳輸層 Transport Layer |
|
網絡層 Internet Layer |
網絡層 Internet Layer |
|
數據鏈路層 Data Link Layer |
網絡訪問層 Network Access Layer |
|
物理層 Physical Layer |
◇ 網絡接口層:在模型的最底層是網絡接口層。本層負責將幀放入線路或從線路中取下幀。
◇ Internet層:Internet協議將數據包封裝成Internet數據包並運行必要的路由算法。
◇ 傳輸層:傳輸協議在計算機之間提供通信會話。數據投遞要求的方法決定了傳輸協議。
◇ 應用層:在模型的頂部是應用層。本層是應用程序進入網絡的通道。在應用層有許多TCP/IP工具和服務,如:FTP、Telnet、SNMP、DNS等等。該層為網絡應用程序提供了兩個接口:Windows Sockets和NetBIOS。
3.TCP與UDP區別
TCP(Transmission Control Protocol):為典型的傳輸大量數據或需要接收數據許可的應用程序提供連接定向和可靠的通信。
UDP(User Datagram Protocol):提供無連接的通信,並不保證數據包被發送到。典型的即時傳輸少量數據的應用程序使用UDP。應該說可靠的發送是應用程序的責任。
TCP |
UDP |
面向連接 |
無連接 |
傳輸大量數據 |
即時傳輸少量數據 |
可靠的 |
不可靠的 |
由於傳輸方法不同,TCP數據包與UDP數據包是不一樣的。但兩者都用端口與插槽進行通信。
TCP/IP的報頭格式如下:(對應於教材P37)
報頭字段名 |
位數 |
說 明 |
源端口號 目的端口號 序號(SEQ)
確認號(ACK) 數據偏移 控制字段(CTL) ◇ URG ◇ ACK ◇ PSH ◇ RST ◇ SYN ◇ FIN 窗口 校驗和 緊急指針 選項 填充 |
16 16 32
32 4
1 1 1 1 1 1 16 16 16 可變 可變 |
本地通信端口,支持TCP的多路復用機制 遠地通信端口,支持TCP的多路復用機制 數據段第一個數據字節的序號(除含有SYN的段外); SYN段的SYN序號(建立本次連接的初始序號) 表示本地希望接收的下一個數據字節的序號 指出該段中數據的超始位置(以32位為單位)
緊急指針字段有效標志,即該段中攜帶緊急數據 確認號字段有效標志 PUSH操作的標志 要求異常終止通信連接的標志 建立同步連接的標志 本地數據發送已結束,終止連接的標志 本地接收窗口尺寸,即本地接收緩沖區大小 包括TCP報頭和數據在內的校驗和 從段序號開始的正向位移,指向緊急數據的最后一個字節 提供任選的服務 保證TCP報頭以32位為邊界對齊 |
UDP的報頭格式如下:
報頭字段名 |
位數 |
說 明 |
源端口號 目的端口號 消息長度 校驗和 |
16 16 16 16 |
發送主機的UDP端口 目標主機的UDP端口 UDP消息的長度 驗證報頭是否損壞 |
4.TCP的三次握手(Three-Way Handshake)
在TCP協議中,建立連接要通過“三次握手”機制來完成。這種“三次握手”機制既可以由一方TCP發起同步握手過程而另一方TCP響應該同步過程,也可以由通信雙方同時發起連接的同步握手。
① TCP A向TCP B發送1個同步TCP段請求建立連接
例:該TCP段簡要表示成〈SEQ=100〉〈CTL=SYN〉,其中“〈〉”中的內容為TCP段中的字段
② TCP B將確認TCP A的請求,並同時向TCP A發出同步請求
例:該TCP段為〈SEQ=300〉〈 ACK=101〉〈CTL=SYN,ACK〉
③ TCP A將確認TCP B的請求,即向TCP B發送確認TCP段
例:該TCP段為〈SEQ=101〉〈 ACK=301〉〈CTL= ACK〉
④ TCP A在已建立的連接上開始傳輸TCP數據段
例:該TCP段為〈SEQ=101〉〈 ACK=301〉〈CTL= ACK〉〈DATA〉
整個過程可用圖表示:
TCP A TCP B
〈SEQ=100〉〈CTL=SYN〉 一次
〈SEQ=300〉〈 ACK=101〉〈CTL=SYN,ACK〉 二次
〈SEQ=101〉〈 ACK=301〉〈CTL= ACK〉 三次
〈SEQ=101〉〈 ACK=301〉〈CTL= ACK〉〈DATA〉 (或三次)
由於TCP連接是一個全雙工的數據通道,一個連接的關閉必須由通信雙方共同完成。當通信的一方沒有數據需要發送給對方時,可以使用FIN段向對方發送關閉連接請求。這時,它雖然不再發送數據,但並不排斥在這個連接上繼續接收數據。只有當通信的對方也遞交了關閉連的請求后,這個TCP連接才會完全關閉。
在關閉連接時,既可以由一方發起而另一方響應,也可以雙方同時發起。無論怎樣,收到關閉連接請求的一方必須使用ACK段給予確認。實際上,TCP連接的關閉過程也是一個三次握手的過程。
TCP A TCP B
〈SEQ=100〉〈 ACK=300〉〈CTL=FIN,SYN〉
〈SEQ=300〉〈 ACK=101〉〈CTL= ACK〉
〈SEQ=300〉〈 ACK=101〉〈CTL= FIN,ACK〉
〈SEQ=101〉〈 ACK=301〉〈CTL= ACK〉 //這部分TCP關閉連接應該是四次握手,而不是三次。
TCP連接的關閉過程
作者:fbysss
msn:jameslastchina@hotmail.com
blog:blog.csdn.net/fbysss
聲明:本文由fbysss原創,轉載請注明出處
關鍵字:TCP協議 關閉連接
前言:
TCP協議的連接是全雙工連接,一個TCP連接存在雙向的讀寫通道。
簡單說來是 “先關讀,后關寫”,一共需要四個階段。以客戶機發起關閉連接為例:
1.服務器讀通道關閉
2.客戶機寫通道關閉
3.客戶機讀通道關閉
4.服務器寫通道關閉
關閉行為是在發起方數據發送完畢之后,給對方發出一個FIN(finish)數據段。直到接收到對方發送的FIN,且對方收到了接收確認ACK之后,雙方的數據通信完全結束,過程中每次接收都需要返回確認數據段ACK。
詳細過程:
第一階段 客戶機發送完數據之后,向服務器發送一個FIN數據段,序列號為i;
1.服務器收到FIN(i)后,返回確認段ACK,序列號為i+1,關閉服務器讀通道;
2.客戶機收到ACK(i+1)后,關閉客戶機寫通道;
(此時,客戶機仍能通過讀通道讀取服務器的數據,服務器仍能通過寫通道寫數據)
第二階段 服務器發送完數據之后,向客戶機發送一個FIN數據段,序列號為j;
3.客戶機收到FIN(j)后,返回確認段ACK,序列號為j+1,關閉客戶機讀通道;
4.服務器收到ACK(j+1)后,關閉服務器寫通道。
這是標准的TCP關閉兩個階段,服務器和客戶機都可以發起關閉,完全對稱。
FIN標識是通過發送最后一塊數據時設置的,標准的例子中,服務器還在發送數據,所以要等到發送完的時候,設置FIN(此時可稱為TCP連接處於半關閉狀態,因為數據仍可從被動關閉一方向主動關閉方傳送)。如果在服務器收到FIN(i)時,已經沒有數據需要發送,可以在返回ACK(i+1)的時候就設置FIN(j)標識,這樣就相當於可以合並第二步和第三步。
5.滑動窗口(Sliding Windows)
滑動窗口:是兩台主機間傳送數據時的緩沖區。每台TCP/IP主機支持兩個滑動窗口:一個用於接收數據,另一個用於發送數據。窗口尺寸表示計算機可能緩沖的數據量大小。
滑動窗口工作原理:
當TCP從應用層中接收數據時,數據們於Send窗口。TCP將一個帶序列號的報頭加入數據包並將其交給IP,由IP將它發送到目標主機。
當每一個數據包傳送時,源主機設置重發計時器(描述在重新發送數據包之前將等待ACK的時間)。在Send窗口中有每一個數據包的備份,直到收到ACK。
當數據包到達服務器Receive窗口,它們按照序列號放置。當接收到連續的段時就向源主機發送一個關於數據的認可(ACK),其中帶有當前窗口尺寸。
一旦源主機接收到認可,Send窗口將由已獲得認可的數據滑動到等待發送的數據。如果有重發計時器設定的時間內,源主機沒有接收到對現存數據的認可,數據將重新傳送。重發數據包將加重網絡和源主機的負擔。
如果Receive窗口接收數據包的順序錯亂,那么將強制啟動,延遲發送認可。
TCP協議采用滑動窗口的方式控制數據流的傳輸,用三次握手了解對方情況。
在傳輸層中,數據按照一定的格式打成大小相同的包。每一個滑動窗口中包含一定數目的數據包,滑動窗口的大小可以人為調整。每台網絡上的主機維護一個送窗口和一個接收窗口。發送方一次發送相當於滑動窗口大小的數據包數目,並在每個數據包前添加包頭信息,然后等待接收方返回確認信息。由於TCP是面向連接的協議,可以保證數據傳輸的完整性和准確性,當傳輸過程中發生丟包時,接收方會要求發送方從斷點處重傳數據。
滑動窗口的大小對網絡性能有很大的影響。如果滑動窗口過小,則需要在網絡上頻繁的傳輸確認信息,占用了大量的網絡帶寬;如果滑動窗口過大,對於利用率較高,容易產生丟包現象的網絡,則需要多次發送重復的數據,也同樣耗費了網絡帶寬。
決定滑動窗口大小的因素,包括網絡的帶寬、可靠性以及需要傳輸的數據量。
Windows NT使用TCP滑動窗口,其默認窗口大小為8760,每接收兩段信息就發回一個確認。
TcpWindowSize 規定滑動窗口的大小參數
位於HKEY_LOCAL_MACHINE/CurrentControlSet/Services/TCPIP/Parameters下,缺省大小為8760
ForwardBufferMemory
位於HKEY_LOCAL_MACHINE/CurrentControlSet/Services/TCPIP/Parameters下,缺省大小為74240=50*1480
DefaultTTL
位於HKEY_LOCAL_MACHINE/CurrentControlSet/Services/TCPIP/Parameters下,缺省大小為32 秒
重發計時器(retransmit timer):
定義:在重新發送數據包之前將等待ACK的時間
可在注冊表中修改重發次數,缺省為5次。缺省起始時間為1秒。
重試時間分別為1秒;第一次失敗后的2秒;第二次失敗后的4秒;第三次失敗后的8秒;第四次失敗后的16秒。
延遲ACK計時器(delayed-ACK timer):
定義:在重新發送數據包之前將等待ACK的時間
ACK定時器的延遲為硬編碼200ms,為第一次重發計時器的1/5。
詳見【附圖二】
第二部分 IP地址
這部分與宇航出版社的《Microsoft Windows NT4.0 環境下的TCP/IP網絡互聯》中的第三、四章對應
象我們在不同環境中有不同的名字一樣,如:在學校里有學號,在宿舍里有綽號,在家里還有小名,親近的朋友之間還有溺稱。
TCP/IP不同的層也使用不同的名字:
應用層 Application Layer |
主機名或NetBIOS名、IP地址 端口 IP地址 MAC地址 |
傳輸層 Transport Layer |
|
網絡層 Internet Layer |
|
網絡接口層 Network Interface Layer |
這些名稱中除了MAC地址是硬地址不可變之外(特殊的極意外的情況下也會有MAC地址重復的時候),其它名稱都是邏輯標識、是可變的。
在這里我們先討論一下IP地址,其它的內容在以后的課程中將再討論。
一. IP地址格式
簡單概念的介紹:bit / byte /k / M / G
1. 格式:
在Ipv4中,IP地址由四個八位域(叫作octets)組成。Octets被點號分開代表在0到達55范圍內的十進制數字。用二進制格式時共有32位組成,為了方便記憶,用點號每八位一分割,稱為點分十進制。
如:dotted decimal notation:131.107.1.1 193.1.1.200
二進制格式:11001100.10000001.00001000.11101100
從理論上計算全部32位都用上可以允許有232超過四十億的地址!這幾乎可以為地球三分之二的人提供一個地址。但事實上,隨着Internet的發展,可用的IP地址已經快要用完了。
在將來的Ipv6中,IP地址由十六個八位域組成,共128位二進制形式的IP地址組成,還是用點號每八位一分割,在現在看來是足夠了,但不知道還會有什么意想不到的事情令IP地址又不夠用了。
2. 二進制轉換為十進制
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
例:11001100.10000001.00001000.11101100
204 . 129 . 8 . 236
二. 網絡和主機標識
因為TCP/IP網絡是為大規模的互連網絡設計的,所以我們不能用全部的32位來表示網絡上主機的地址。如果這樣做了,我們將得到一個擁有數以億計網絡設備的巨大網絡,這個網絡不需要包路由設備和子網。這完全失去了包交換互連網的優點。
所以,我們需要使用IP地址的一部分來標識網絡,剩下的部分標識其中的網絡設備。IP地址中用來標識設備所在網絡的部分叫做網絡ID,標識網絡設備的部分叫做主機ID。這些ID包含在同一個IP地址之中。
如:193.1.1. 200 131. 107. 2. 1 75 . 3. 78. 29
網絡ID 主機ID 網絡ID 主機ID 網絡ID 主機ID
三. 地址類型
Internet 組織定義了5種IP地址類,以容納不同大小的網絡。Microsoft TCP/IP支持賦予主機的A,B,C類地址。地址類定義了哪些位於用於網絡ID,哪些位用於主機ID,它同時也定義了可能的網絡數目及每個網絡中的主機數。
1. A類
0 |
|
|
|
Network ID Host ID
A類地址用於主機數目非常多的網絡。A類地址的最高位為0,接下來的7位完成網絡ID,剩余的24位二進制位代表主機ID。A類地址允許126個網絡,每個網絡大約一千七百萬台主機;第一個八位體是1~126。127是一個特殊的網絡ID,是用來檢查,TCP/IP協議工作狀態。
2. B類
10 |
|
|
|
Network ID Host ID
B類地址用於中型到大型的網絡。B類地址的最高位為10,接下來的14位完成網絡ID,剩余的14位二進制位代表主機ID。B類地址允許16384個網絡,每個網絡大約65000台主機;第一個八位體是128~191。
3. C類
110 |
|
|
|
Network ID Host ID
C類地址用於小型本地網絡。C類地址的最高位為110,接下來的21位完成網絡ID,剩余的8位二進制位代表主機ID。C類地址允許大約二百萬個網絡,每個網絡有254台主機;第一個八位體是192~223。
4. D類
1110 |
|
|
|
D類地址用於多重廣播組。一個多重廣播組可能包括1台或更多主機,或根本沒有。D類地址的最高位為1110;第一個八位體是224~239。剩余的位設計客戶機參加的特定組。在多重廣播操作中沒有網絡或主機位,數據包將傳送到網絡中選定的主機子集中。只有注冊了多重廣播地址的主機才能接收到數據包。Microsoft支持D類地址,用於應用程序將多重廣播數據發送到網絡間的主機上,包括WINS和Microsoft NetShow。
5. E 類
E類是一個通常不用的實驗性地址:它保留作為以后使用。E類地址的最高四位通常為11110;第一個八位體是240~247。
248~254 無規定
6.主機ID與網絡ID的規則:
◇ 不能全為“0“或“255“
◇ NID不能為“127“
◇唯一性
0.0.0.0 未知主機(只作源地址)
255.255.255.255 任何主機(只作目的地址)有限廣播
A.255.255.255 直接廣播(directed broadcast)
B.B.255.255 直接廣播(directed broadcast)
C.C.C.255 直接廣播(directed broadcast)
193.1.1.255 C類網絡193.1.1中的任何主機(只作目的地址)直接廣播
193.1.1.3 C類網絡193.1.1中編號為3的主機
193.1.1.0 C類網絡號為193.1.1的網絡ID
0.0.0.3 “本網絡”中編號為3的主機(只作源地址)
255.255.0.0 掩碼
127.0.0.1 本機
網絡ID |
主機ID |
代表意義 |
全0 |
全0 |
無效.未知主機 |
非全0 |
全0 |
具體的網絡 |
全0 |
非全0.全1 |
本地網的具體主機 |
全1 |
非全0.全1 |
無效 |
非全0.非全1 |
全1 |
直接廣播 |
全1 |
全1 |
有限廣播 |
讓我們來做幾個有關IP地下的練習
例1:Which of the following IP addresses are invalid for a TCP/IP host?
A.233.100.2.2
B.120.1.0.0
C.127.120.50.30
D.131.107.256.60
E.188.56.4.255
F.200.18.65.255
答案:A,C,D,F
分析:
A. 233屬於D類地址
B. 120屬於A類地址, 其網絡ID為120, 主機ID為1.0.0, 都不全為0或1, 故為有效的IP地址
C. 127屬於127.0.0.0的網絡地址, 此網址是做Loopback測試用的, 不可以指派給主機
D. 256是無效的數字
E. 188屬於B類地址, 其網絡ID為188.56, 主機ID為4.255, 都不全為0或1, 故為有效的IP地址
F. 200屬於C類地址, 其網絡ID為200.18.65, 主機ID為255, 主機ID為255, 故為無效的IP地址
四. 子網(subnetwork)
子網是一個邏輯概念,子網中的各主機的NetID是相同的。
網段是一個物理概念,是指在物理上獨立的一段網絡。
子網與網段之間,可以是多對多的關系。
划分子網(subnetworking)的好處:
混合使用多種技術,如以太網和令牌網
克服已有技術的缺陷,如超過每段中最大主機數目
通過對交通重定向和減少廣播來減少網絡阻塞
五. 子網掩碼
◇將IP地址的各位,NetID全改為1,HostID全改為0,則是子網掩碼。
◇與IP地址進行“與”或“and”運算,用來分辯網絡ID和主機ID
其中“1”是通道,“0”是塞子
1. 標准子網掩碼
A類:255.0.0.0
B類:255.255.0.0
C類:255.255.255.0
例1:IP地址是131.107.33.10,子網掩碼是255.255.0.0
131 . 107 . 33 . 10
1 0 0 0 0 0 1 1 . 0 1 1 0 1 0 1 1 . 0 0 1 0 0 0 0 1 . 0 0 0 0 1 0 1 0
1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 1 . 0 1 1 0 1 0 1 1 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0
網絡ID 131. 107. 0 . 0
主機ID 0 . 0. 33. 10
例2:IP地址是193.1.1.200,子網掩碼是255.255.255.0
193 . 1 . 1 . 200
1 1 0 0 0 0 0 1 . 0 0 0 0 0 0 0 1 . 0 0 0 0 0 0 0 1 . 1 1 0 0 1 0 0 0
1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 . 0 0 0 0 0 0 0 1 . 0 0 0 0 0 0 0 1 . 0 0 0 0 0 0 0 0
網絡ID 193. 1. 1 . 0
主機ID 0. 0. 0. 200
2. 非標准子網掩碼
◇借用主機ID充當網絡ID的方法。
A類:255.240.0.0
B類:255.255.252.0
C類:255.255.255.224
規則:子網ID與主機ID不能全為“0”(無借位)或“1”(與掩碼一樣)
例如:IP地址是131.107.33.10,子網掩碼是255.255.224.0
131 . 107 . 33 . 10
1 0 0 0 0 0 1 1 . 0 1 1 0 1 0 1 1 . 0 0 1 0 0 0 0 1 . 0 0 0 0 1 0 1 0
1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 0 0 0 0 0 . 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 1 . 0 1 1 0 1 0 1 1 . 0 0 1 0 0 0 0 0 . 0 0 0 0 0 0 0 0
網絡ID 131. 107. 32 . 0
主機ID 0 . 0. 1. 10
下表可詳細地說明了非標准子網掩碼的子網與主機的情況:
借位數 |
子網掩碼值 |
划分子網數 |
子網中主機數目 |
A類 |
|||
1 |
無效 |
無效 |
無效 |
2 |
192 |
2 |
4,194,302 |
3 |
224 |
6 |
2,097,150 |
4 |
240 |
14 |
1,048,574 |
5 |
248 |
30 |
524,286 |
6 |
252 |
62 |
262,142 |
7 |
254 |
126 |
131,070 |
8 |
255 |
254 |
65,534 |
借位數 |
子網掩碼值 |
划分子網數 |
子網中主機數目 |
B類 |
|||
1 |
無效 |
無效 |
無效 |
2 |
192 |
2 |
16,382 |
3 |
224 |
6 |
8,190 |
4 |
240 |
14 |
4,094 |
5 |
248 |
30 |
2,046 |
6 |
252 |
62 |
1,022 |
7 |
254 |
126 |
510 |
8 |
255 |
254 |
254 |
借位數 |
子網掩碼值 |
划分子網數 |
子網中主機數目 |
C類 |
|||
1 |
無效 |
無效 |
無效 |
2 |
192 |
2 |
62 |
3 |
224 |
6 |
30 |
4 |
240 |
14 |
14 |
5 |
248 |
30 |
6 |
6 |
252 |
62 |
2 |
7 |
無效 |
無效 |
無效 |
8 |
無效 |
無效 |
無效 |
例1:網絡193.1.1.0,子網掩碼是255. 255. 255. 224。問:這個子網可划分幾個子網,每個子網的主機ID范圍是什么?
解析:
子網193. 1. 1. 32 有效IP從193. 1. 1. 33到 193. 1. 1. 62
子網193. 1. 1. 64 有效IP從193. 1. 1. 65到 193. 1. 1. 94
子網193. 1. 1. 96 有效IP從193. 1. 1. 97到 193. 1. 1. 126
子網193. 1. 1. 128 有效IP從193. 1. 1. 129到 193. 1. 1. 158
子網193. 1. 1. 160 有效IP從193. 1. 1. 161到 193. 1. 1. 190
子網193. 1. 1. 192 有效IP從193. 1. 1. 193到 193. 1. 1. 222
例2:網絡131.107.0.0,子網掩碼是255. 255. 224. 0。問:這個子網可划分幾個子網,每個子網的主機ID范圍是什么?
解析:
子網131.107. 32. 0 有效IP從131.107. 32. 1到131.107. 63. 254
子網131.107. 64. 0 有效IP從131.107. 64. 1到131.107. 95. 254
子網131.107. 96. 0 有效IP從131.107. 96. 1到131.107. 127. 254
子網131.107. 128. 0 有效IP從131.107. 128. 1到131.107. 159. 254
子網131.107. 160. 0 有效IP從131.107. 160. 1到131.107. 191. 254
子網131.107. 192. 0 有效IP從131.107. 192. 1到131.107. 223. 254
例3:Your company has been assigned one class C network ID by your local ISP.In your Windows NT TCP/IP network, you plan to divide the network into multiple subnets. Each subnet will have as many as 15 host IDs. If you want to allow the largest number of the subnets, which subnet mask should you use?
A. 255.255.255.192
B. 255.255.255.224
C. 255.255.255.240
D. 255.255.255.248
答案:B
例4:Your company has been assigned one class B network ID by your local ISP.In your Windows NT TCP/IP network, you plan to divide the network into multiple subnets. Each subnet will have as many as 1000 host IDs. If you want to allow the largest number of the subnets, which subnet mask should you use?
A. 255.255. 224. 0
B. 255.255. 240. 0
C. 255.255. 248. 0
D. 255.255.252. 0
答案: D
◇超網(Suppernetting)
超網是一個子網,是借用網絡ID充當主機ID的解決方法。由超網構成的地址被稱為“無類地址”。是用來解決“路由爆炸”問題。[詳見附錄]
超網技術可以幫助我們避免浪費地址、從C類子網中產生大型網絡。
如果有足夠的C類地址,你也可以產生A類超網。
Suppernetting的技術被稱為Classless Inter-Domain Routing(CIDR,無類域間路由)
在實超網時,路由器一定支持這種技術才可實現。
例1:Your company has been assigned five class C network address:220.78.170.0,220.78.171.0,220.78.172.0,220.78.173.0,220.78.174.0. In order to prevent overwhelming the Internet router, you want to collapse the five entries to a single entry in the routing table. Which subnet mask should you use to accomplish this.
A.255.255.240.0
B.255.255.248.0
C.255.255.252.0
D.255.255.254.0
E.255.255.255.0
答案:B
分析:
220.78.170.0 110111100。01001110。10101010。00000000
220.78.171.0 110111100。01001110。10101011。00000000
220.78.172.0 110111100。01001110。10101100。00000000
220.78.173.0 110111100。01001110。10101101。00000000
220.78.174.0 110111100。01001110。10101110。00000000
第三個八位體的只有最右邊的3位不同,其余的位均相同,因此借用三位作主機ID,子網掩碼位只剩五位,為248。在路由表中的條目為:
220.78.170.0 255.255.248.0 220.78.168.1
例2:Your company has been assigned four class C network addresses: 198.250.132.0, 198.250.133.0 , 198.250.134.0 , 198.250.135.0. In order to increase the total numbers of host Ids you can have in the network,you want to combine these four network addresses into one logical network. Which subnet mask should you use to accomplish this?
A. 255.255. 224. 0
B. 255.255. 240. 0
C. 255.255. 248. 0
E. 255.255.252. 0
答案: D
分析:
132 100001 00
133 100001 01
134 100001 10
135 100001 11
例3: Your company has been assigned four class C network addresses: 195.18.50.0, 195.18.51.0 , 195.18.52.0 , 195. 50.53.0. In order to prevent overwhelming the Internet router and to increase the total numbers of host Ids you can have in the network.You want to combine these four network addresses into one logical network. Which subnet mask should you use to accomplish this?
A. 255.255.240.0
B. 255.255.248.0
C. 255.255.252.0
D. 255.255.254.0
E. 255.255.255.0
答案:B
分析:
136 00110 010
137 00110 011
138 00110 100
139 00110 101
六、TCP/IP的實現
1. PING
PING 使用網際控制信息協議(ICMP)向目的地系統發送一個回顯應答ICMP包;這個包請求目的系統響應。如果收到了那台機器發來的響應,PING將顯示響應的統計信息,包括花了多長時間才收到響應。包中的數據長度為32,內容為abc…….wabcdefghi。
PING 〈目的地址〉
這個<目的地址>可以是主機名、NetBIOS名稱、IP地址
-t 連續PING指定主機直至中斷
-a 將IP地址解析為主機名
-n count 每次發送的請求數(缺省為4次)
-l size 發送包的大小
-i TTL 生存時間(Time To Live)
-v TOS 服務類型
-w timeout 每次發送請求所等待的回應時間(毫秒)
當檢測TCP/IP協議工作情況時用如下步驟:
◇ 用Ipconfig/all來查看相關的IP地址
◇ PING 127.0.0.1
這個地址相當於本地IP棧。發給返回地址的信息將通過本地TCP/IP棧路由,它們不會通過物理介質發送出去的。這使得你可以保證TCP/IP是否正確地安裝。
◇ PING 本地主機的實際IP地址
這次測試TCP/IP棧和機器網卡之間的綁定。
◇ PING 網絡上其他的主機
首選: PING IP地址測試基本連接
下一步:PING 規范主機名測試DNS解析
最后:PING NetBIOS名測試NetBIOS名字解析
◇ PING 網關地址
測試路由器是否工作
◇ PING 遠程網絡上的機器
確認路由器配置是否正確,路由器工作是否正常以及驗證子網掩碼的配置。
2. TCP/IP的安裝
在control panel →network→protocol中加入TCP/IP協議
3. TCP/IP的屬性
在control panel →network→protocol→TCP/IP→屬性中進行設置
共有五個標簽,但只說明“IP地址”標簽,尤其是“高級”選項
4. 實驗
實驗1、實驗4、實驗5、實驗6、實驗7
注意事項:
◇子網掩碼:255. 255. 1. 0 是無效的,但可設置
◇在設置IP地址時會發生沖突,這時后入者無效,但沖突信息會傳給IP擁有者
◇對修改后的TCP/IP屬性要重啟機器
◇對IP的錯誤設置時,並不是都能及時表現出來,如:IP地址是131.107. 2. 6,子網掩碼是255. 255. 255.248,實際上是無效的IP地址,但它能PING通無效的IP地址131.107. 2.5
適配器選項可以允許
一台主機配多個網卡
在IP中,缺省網關是指
路由器的一個入口
131. 107. 2. 1
255. 255. 255. 0
131. 107. 2. 2
255. 255. 0. 0
131. 107. 3. 1
255. 255. 0. 0
對於IP地址選項中,
添加允許一塊網卡配
多個IP地址
例子:關於Hard_code IP address或Fixed IP address
1.實驗成功的條件:
只裝TCP/IP一種協議;
2.實驗成功后的具體表現:
網上鄰居中只能看到同一Scope ID中的機器;
在“Start-->Run”中用UNC路徑也只能連接到同一Scope ID中的機器;
用“Net use”命令也只能連接到同一Scope ID中的機器。
TTL
經過路由器的個數
第三部分 TCP/IP路由
這部分與宇航出版社的《Microsoft Windows NT4.0 環境下的TCP/IP網絡互聯》中的第五章和第二章的ARP對應
一、 什么是路由?
路由就是信息通過一條路徑從源地址轉移到目的地址的過程。在TCP/IP網絡上,源方和目的方都叫做主機,信息被分成小包在主機之間傳送。
路由包括兩種不同的方法:
直接路由:源和目的方在同一個網絡段上。
間接路由:源和目的方在不同的網絡段上,包必須通過路由器。
1. 直接路由
① 地址解析協議(ARP)
地址解析協議是一個位於IP協議中的低層協議。它把IP地址解析成MAC地址。
當一個基於TCP/IP的應用程序需要從一台主機發送數據給另一台主機時,它把信息分割並且封裝成包,附加上目的主機的IP地址。然后尋找IP地址到實際MAC地址的映射。當ARP找到了MAC地址后,它就把這個信息傳給IP,由IP把包發送出去。
② ARP廣播
主機A ping 主機B ,執行ping 131.107.3.31
A.主機A會先檢查其ARP緩存內是否存有主機B的硬件地址
B.若主機A的ARP緩存內無此信息,則主機A會發送一個請求ARP的廣播包,此包內包含着其欲通信的主機的IP地址,也就是主機B的IP地址
C.當主機B收到此廣播包后,會將自己的硬件地址利用響應ARP的包傳送給主機A,並更新自己的ARP緩存,也就是同時會將主機A的IP地址/硬件地址保存起來,以供日后使用。
D.主機A在得到主機B的硬件地址后,就可以與主機B 通信,同時也會將主機B的IP地址/硬件地址保存到自己的APR緩存內。
③ ARP緩沖區
ARP緩沖區是位於RAM中
問題:如果計算機重啟動時ARP緩沖區中的內容還會不會有呢?
ARP緩沖區中包括二種條目:
動態條目:有二分鍾的生命期,如果二分鍾之內不再使用就被刪除
靜態條目:生命期到計算機重啟動
手工操作方法:(ARP與參數之間要加空格)
查看 ARP –A
刪除 ARP -D IP
增加 ARP -S IP MAC
MAC地址要用00-80-c8-f6-7d-07的格式,必須有“-”,其中前六位是廠商代碼,后六位是廠商制定。MAC地址可用IPCONFIG/ALL工具查出來;還可用net config server,或Windows NT Diagnostics 中的Network選項中的Transports,或nbtstat –a IP地址。想得知本地子網上其它主機的MAC地址,可先PING 遠地主機,再用ARP –A查看ARP緩沖區來得到一個本地子網上其它主機的MAC地址;而PING遠程子網上的主機時,只能得到缺省網關的MAC地址,這是因為執行了間接路由的原因。
④ ARP優點:
A.對高層應用程序隱藏了物理MAC地址,允許應用程序只使用IP地址。這使得TCP/IP協議獨立於物理硬件。
B.使得網絡工程師可以分配IP地址給使用任何系統的主機而不擔心MAC地址。
2. 間接路由
間接路由與直接路由的區別是源主機IP發往的目的IP地址不是想通信的目標主機IP,而是路由器的IP;並且路由器接收到信息包時,也許還經過多次傳遞才能到達目標主機,並且最終還是由直接路由到達目標主機的。
例1:Paula wants to make a connection to a Windows NT server computer on the remote network but fails. No other users in the same subnet encounter the same problem. As a network administrator, you use the Network Monitor to troubleshoot the problem. You notice that each time Paula attempts to connect to the server from her Windows NT Workstation computer, her workstation sends an ARP broadcast for the IP address of the remote Windows NT Server computer. What is the most likely cause of the problem?
A. The workstation is configured with an invalid subnet mask.
B. The workstation is configured with an duplicated IP address.
C. The workstation is configured with an invalid default gateway address.
D. The workstation is configured with an invalid WINS.
二、 路由器的類型
實現路由的設備叫路由器;路由器是被動的設備,它不關心網絡流量;路由器可以看作是帶有兩個或多個網卡的計算機;所以多宿主計算機可作路由器,配置成路由器的計算機也叫網關。
基於路由器操縱路由表中條目的方式,路由器可以分成以下兩種基本類型:
靜態路由器:必須手工配置路由表
動態路由器:自動配置路由表
1. 靜態路由器:
靜態路由器包括一個靜態路由表;所有的靜態路由表條目包括以下信息:
網絡地址:包發往網絡的網絡ID或者網絡名稱
網絡掩碼:相關網絡ID的子網掩碼
網關地址:發往目的網絡的包被轉發的IP地址
Windows NT4.0路由表有以下的缺省值:
缺省路由(0.0.0.0):任何沒有在路由表中指定的網絡使用這個路由
子網廣播(255.255.255.255):這個地址廣播給本地子網上所有節點
網絡廣播:這個地址廣播給互連網上所有節點
本地返回(127.0.0.0):這個地址測試IP配置和連接
本地網絡:這個地址把包直接發給本地網絡上的節點
本地主機:本地計算機地址
ROUTE命令:
ROUTE [-F] [-P] |ADD | [IP] Submask [gateway] [metricost]
|Delete | 刪除
|Change | 變換
|Print | 顯示
[-P]參數是在路由表中加入靜態條目
[-F]清除所有路徑
[metricost]指示到網絡ID的距離
例1.24:Your TCP/IP network is connected by two static routers that are Windows NT multihomed computers. The network configuration is shown as the following exhibit.
198.72.50.34 198.72.50.66 198.72.50.98
Host1 Router A Router B Host2
198.72.50.33 198.72.50.65 198.72.50.97
255.255.255.224
If you want to add static route to the Router A and Router B to make sure that every host on the network can communicate with each other, which route commands should you use?
A. Router A: route add 198.72.50.64 mask 255.255.255.224 198.72.50.65
Router B: route add 198.72.50.32 mask 255.255.255.224 198.72.50.66
B. Router A: route add 198.72.50.32 mask 255.255.255.224 198.72.50.66
Router B: route add 198.72.50.64 mask 255.255.255.224 198.72.50.65
C. Router A: route add 198.72.50.96 mask 255.255.255.224 198.72.50.65
Router B: route add 198.72.50.32 mask 255.255.255.224 198.72.50.66
D. Router A: route add 198.72.50.96 mask 255.255.255.224 198.72.50.66
Router B: route add 198.72.50.32 mask 255.255.255.224 198.72.50.65
2. 動態路由器:
路由器會自動地更新它的路由表並把這些信息轉發給它知道的其他動態路由器,有幾種方法可以提供動態路由,其中最流行的兩種是:路由信息選擇協議(RIP)和開放最短路徑優先(OSPF)
RIP是一個向量距離路由程序,它允許的最大跳躍計數是15
缺點:
跳躍計數超過16,不能達到
每個RIP路由器每30秒廣播一條MAC級別上的消息。在互連網上,廣播流量可能變得非常大。
RIP路由器收到的從其他路由器傳來的條目有三分鍾的生命期。所以,當一個路由器發生故障,這個改變在網絡上傳播需要花費一定的時間。
3.靜態與動態路由的結合
在靜態路由器的路由表中加動態路由器的條目
在動態路由器的路由表中加靜態路由器的條目
三、 配置Windows NT作為路由器
1. 配置Windows NT硬件
多網卡或一卡多IP地址,每個IP地址位於不同子網上
2. Windows NT作為靜態路由器
在TCP/IP屬性中的路由選擇標簽中選中IP forwarder
3. Windows NT作為動態路由器
在靜態路由器的基礎上,加上RIP服務
例2.47:
Situation: On your TCP/IP network, you are planning to install a new Windows NT Server computer that is configured with four network adapters. You are going to use this new multihomed computer as a router.
Required result: The new server must have the ability to route the TCP/IP packets.
Optional desired results: You want the new server being able to dynamically update its routing tables when other routers are added to or removed from the network. You want the new server being able to provide IP addresses to all DHCP clients that are located on the same subnet as it is . You want the new server being able to send trap messages across the network to a Windows NT Workstation computer.
Proposed solution: Install TCP/IP on the new server and configure one IP address to each network adapter. Enable IP forwarding on the server. Install and configure Point-to-Point Tunneling Protocol(PPTP) on the new server. Install DHCP server service on the new server and configure SNMP to send trap messages to the Windows NT Workstation computer.
A. The proposed solution produces the required result and produces all of the optional desired results.
B. The proposed solution produces the required result and produces only one of the optional desired results.
C. The proposed solution produces the required result but does not produces any of the optional desired results.
D. The proposed solution does not produces the required result.
例2.49:
Proposed solution: Install TCP/IP on the new server and configure one IP address to each network adapter. Enable IP forwarding on the server. Install RIP for IP on the new server. Install DHCP server service on the new server and create one scope for each subnet. Install SNMP service on the new server and configure SNMP to send trap messages to the Windows NT Workstation computer.
A. The proposed solution produces the required result and produces all of the optional desired results.
B. The proposed solution produces the required result and produces only two of the optional desired results.
C. The proposed solution produces the required result but does not produce any of the optional desired results.
D. The proposed solution does not produces the required result.
四、 TRACERT命令
TRACERT是一個用來驗證包傳到目的地的路由的TCT/IP工具。它報告包到達目的地經過的每個路由器,網關以及每個路由器的響應時間。
這有兩個用途:判定路由器是否發生故障/發現速度慢的路由器
在NT上TRACERT工具是一個命令行版本
格式:Tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
例1.22:Your Windows NT TCP/IP network has three multihomed Windows NT server computers. You have configured them as static routers. If you want to identify the path that a packet takes as it passes through the router, which utility you should use?
A. Ipconfig.exe
B. Tracert.exe
C. Ping.exe
D. Route.exe
E. Netstat.exe
例1.54:Using Windows NT explorer, Carol tries making a connection to web site www.microsoft.com but fails. He suspects that a router was used as a route from his TCI/IP host to the destination host has downed. Which utility should he use to verify this?
A. Route.exe
B. Ping.exe
C. Tracert.exe
D. Nbtstat.exe
五、 實驗
實驗2、實驗3、實驗8
第四部分 動態主機配置協議(DHCP)
這部分與宇航出版社的《Microsoft Windows NT4.0 環境下的TCP/IP網絡互聯》中的第六章對應
注意:DHCP選項在講完WINS與DNS之后再復習一遍
講課前先裝DHCP服務
一、 為什么引用DHCP(Dynamic Host Configuration Protocol)
DHCP動態主機配置協議:用來自動分配IP地址給DHCP客戶
靜態IP地址的缺點
1. 手工書寫可能出錯
2. 可能是不合法的IP地址
3. 可能是重復的IP 地址
4. 由於IP地址、子網掩碼及缺省網關的錯誤,導制網絡的錯誤,這種錯誤是很費時、也很難找到的。
DHCP 的優點:
1. 克服了靜態IP地址的缺點
2. 集中管理
3. 解決IP地不足的問題
DHCP 的缺點:
增加了廣播
二、 DHCP的實現
1. 客戶端:
如下的計算機系統可做為客戶端:
NT Server4.0
NT workstation 4.0
Windows 95,98
Windows for workgroup 3.11(運行Microsoft TCP/IP-32)
MS-DOS下Microsoft Network Client 3.0,實模式的TCP/IP
LAN Manager 2.2c。不支持OS/2上的LAN Manager 2.2c。
對於Windows NT,Windows 95系統機器,只需在control panel →network→protocol→TCP/IP 屬性→IP address;選中obtain an IP address from a DHCP server選項即可;對於NT server,在services中不能安裝DHCP server,如果安裝了obtain an IP address from a DHCP server選項不可用,需刪除、再重啟動計算機,才能使用NT成為DHCP客戶;DHCP客戶不能對TCP/IP屬性中的IP地址進行手工配置了。(有時由於DHCP client服務未啟動,會使DHCP服務不能成功,需改變DHCP client服務的啟動狀態為Automatic)
2. 服務器端:
NT server必須有靜態IP地址及相應的設置,並有要有IP地址的Scope
首先,在control panel →network→services中添加DHCP服務
然后,重引導計算機
最后,到開始→程序→公用管理工具→DHCP管理器中對DHCP服務器進行配置
三、 DHCP的配置
1. 要求每一個子網配置一個Scope,記住:子網與Scope的關系是一一對應的關系,即一對多和多對一都不行,但一個DHCP服務器中可以為多個子網服務,可有多個Scope,即服務器與Scope的關系是一對多;一個子網也可在多個服務器上有Scope,即子網與服務器的關系是一對多;這些Scope范圍內的IP地址不能有重復的,即保證DHCP服務分配給DHCP客戶的IP地址不重復,保證IP地址的唯一性。
例如:Start Address 131.107.1.10 End Address 131.107.1.100
Subnet Mask 255.255.255.0
2. 排除的地址(Exclusion Range):
連續多個地址:應有Start Address / End Address 131.107.1.30 131.107.1.40
單一地址:Start Address與End Address是相同的 131.107.1.88 131.107.1.88
3. 子網掩碼(Subnet Mask):
即然說到一個子網在一個DHCP服務器中只能有一個Scope,那么咱們就來看一看具體的含義
例如:對於IP地址是從131.107.33.10到131.107.37.100
和從131.107.40.10到131.107.45.100的范圍
子網掩碼是255.255.224.0
問:怎樣設置Scope?
解析:對於本題的IP地址和子網,有效的IP地址和網段如下:
x.y.32.1 --- x.y.63.254
x.y.64.1 --- x.y.95.254
x.y.96.1 --- x.y.127.254
x.y.128.1 --- x.y.159.254
x.y.160.1 --- x.y.191.254
x.y.192.1 --- x.y.223.254
從已知條件可知:131.107.33.10到131.107.37.100
和 131.107.40.10到131.107.45.100
是在同一網段131.107.32.0上,因此只能在DHCP服務器上建立一個Scope
(先做二個Scope,演示錯誤)
從131.107.33.10到131.107.45.100,但是排出從131.107.37.101到131.107.40.9
4. IP地址的租期(lease Duration):
租期主要考慮IP與機器的關系:
機器多,IP少
機器少,IP多
便攜機多
你可以不限制IP地址的租期,意思是第一次客戶機申請到IP地址之后就跟靜態的IP地址一樣了,對於企業內部網也是一樣不錯的管理方法;也可設置DHCP客戶使用IP地址的期限,這種設法是為解決IP地址缺乏的辦法。
5. 設置完scope后要Active leases:亮的燈泡(黃色)和不亮的燈泡(灰色)
6. 地址保留(Reservation):
這個選項是針對網卡設置的,在做這項設置之前必須知道:*客戶名、客戶的MAC地址和為客戶預留的IP地址。MAC地址可用下面的IPCONFIG/ALL工具查出來;這是為在DHCP環境中某些服務器預保留的,這只是在服務器啟動時,與比靜態IP有一點不同外,之后與靜態IP無兩樣。
補充:MAC地址要用00-80-c8-f6-7d-07的格式,必須有“-”,其中前六位是廠商代碼,后六位是廠商制定。MAC地址可用IPCONFIG/ALL工具查出來;還可用net config server,或Windows NT Diagnostics中的Network選項中的Transports,或nbtstat –a IP地址。想得知本地子網上其它主機的MAC地址,可先PING 遠地主機,再用ARP –A查看ARP緩沖區來得到一個本地子網上其它主機的MAC地址;而PING遠程子網上的主機時,只能得到缺省網關的MAC地址,這是因為執行了間接路由的原因。
例1:為本地子網的131.107.2.1, 名為clients5的客戶添加保留項
7. DHCP Options:
*Option 選項: global / scope / client
在這三種選項中client的優先級最大,然后是 scope,最后是 global
也就是說對於一個具體的DHCP客戶時,三個選項都設置了,那么以誰為主呢?按優先級來排序,優先級大的設置復蓋優先級低的設置。
其中,scope和global是在DHCP管理器中設置,而client在TCP/IP的屬性中進行手中設置。
例2.51:You administer a TCP/IP network with multiple subnets.You have installed a DHCP server to automatically assign the IP address to all clients. Besides the IP address and subnet mask, you also want all clients to obtain the default gateway from the DHCP server. What type of the DHCP scope options should you configure to accomplish this?
A.Client option
B.Scope option
C.Global option
D.None of the above
未用的Options有許多,但只有六個選項可傳給DHCP client,它們是:
*03 router IP Default Gateway
06 DNS IP DNS servers
15 Domain Name Host name 的后半部分
44 WINS IP
46 Node Type Node Type
47 NetBIOS Scope ID NetBIOS Scope ID
這些選項也是用IPCONFIG/ALL能觀查到的:(做實際演示)
Windows NT IP Configuration
Host Name . . . . . . . . . : w14.domain14
DNS Servers . . . . . . . . :
Node Type . . . . . . . . . : Hybrid
NetBIOS Scope ID. . . . . . :
IP Routing Enabled. . . . . : No
WINS Proxy Enabled. . . . . : No
NetBIOS Resolution Uses DNS : No
Ethernet adapter DE22X1:
Description . . . . . . . . : ISA Ethernet Adapter.
Physical Address. . . . . . : 00-80-C8-F6-90-3A
DHCP Enabled. . . . . . . . : No
IP Address. . . . . . . . . : 131.107.33.9
Subnet Mask . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . :
四、 DHCP客戶使用IP地址的過程
播放演示稿
1. IP請求:
DHCP客戶機准備TCP/IP初始化,向網絡廣播一個DHCPDISCOVER包,使用BOOTP UDP端口67,源IP地址為0.0.0.0,目標IP地址為255.255.255.255;包中還包括客戶機的MAC地址和計算機名
當沒有收到回應時,客戶機等待提供1秒的時間。如果沒有接收到提供,它將重新廣播三次(以9,13和16秒的間隔,加以0~1000毫秒之間隨機長度的時間)。如果四次請求后還沒接收到提供,客戶機每隔5分鍾重試一次。如果不成功,就不能進行TCP/IP應用。
2. IP提供:
任何接收到DHCPDISCOVER消息並且能夠提供租約的DHCP服務器在BOOTP UDP客戶端口68發送DHCPOFFER消息給用戶。因為此時客戶還沒有IP地址,所以這消息也是廣播發送。這個包的源IP地址為DCHP服務器IP,目標IP地址為255.255.255.255;包中還包括提供的IP地址,子網掩碼,租期,服務器IP
3. IP租用選擇:
客戶從不止一台DHCP服務器接收到提供之后,它向所有的DHCP服務廣播它接受某一個提供的選擇。廣播通過DHCPREQUEST消息發送,並且包括所接受提供的服務器的標識符(IP地址)。所有其它的DHCP服務器撤消它們的提供以便使IP地址可以提供給下一次IP地址租用。
DHCPREQUEST |
Source IP Address=0.0.0.0 Dest. IP Address=255.255.255.255 |
Client Hardware Address=08004… Requested IP Address=131.107.8.13 Server Identifier=131.107.3.24 |
4. IP租用許可:
DHCP服務器在接受到DHCPREQUEST消息后,廣播返回給客戶一個DHCPACK消息
DHCPACK |
Source IP Address=131.107.3.24 Dest. IP Address=255.255.255.255 |
Offered IP Address=131.107.8.13 Clinet Hardware Address=08004… Subnet Mask=255.255.255.0 Length of Lease=72 hours Server Identifier=131.107.3.24 DHCP option: Router=131.107.8.1 …… NetBIOS Scope ID : MIS |
這個租用在租期內都是有效的
5. IP租用刷新:
◇當租用時間過半時或用IPCONFIG/RENEW。
為了刷新租用,DHCP客戶機直接向它得到租用的DHCP服務器發送DHCPREQUEST消息,這次不是廣播,而是點對點。
如果DHCP客戶收到DHCPACK消息,那么客戶機更新它的配置。
如果DHCP客戶未收到DHCPNACK消息,客戶機還可用這個IP地址,因為還有一半的租期。
◇當租用時間經過7/8的TTL租期時間,客戶機將再嘗試現用的DHCP服務器聯系
如果成功后,更新租用;
如果不成功后,將向廣播尋找新的DHCP服務器
如果收到DHCPPACK消息,DHCP客戶機必須停止使用IP地址,同時DHCP客戶機返回到租用新的IP地址的申請過程中。
如果收到DHCPNPACK消息,客戶機的租用到期但它不能獲取新的租用,基於TCP/IP的通信聯系將停止,直到客戶機被賦予新的IP地址。如果應用程序試圖在無效的TCP/IP協議堆棧接口上聯系,這時將發生網絡錯誤。
五、 跨子網的DHCP服務
1. 路由器是RFC 1542兼容型,能傳播廣播
2. DHCP relay agent:必須是WIN NT SERVER和具有靜態IP
3. 多宿主計算機充當路由器和DHCP relay agent
六、 DHCP服務器冗余
1. 單子網中:防止萬一DHCP服務器關閉,另一個可以做備份保持DHCP服務
2. 多子網中:
當路由器可傳播廣播時,它是相當於單子網中,但不提倡使用
當路由器不可傳播廣播時,就要在廣播屏蔽的子網中加DHCP中繼代理,但當這個DHCP服務器停機時,新客戶將無法申請到IP地址,為了防止這種情況,應在廣播屏蔽的子網中加入另外一個DHCP服務器,並合理分配IP地址范圍。
DHCP中繼代理通過安裝DHCP中繼代理服務,並在TCP/IP屬性中的DHCP中轉標簽中添加DHCP服務器的IP地址來實現。DHCP中繼代理與DHCP服務器間是點到點的通信。
例:在兩個子網中的兩個DHCP服務器上分配IP地址范圍是131.107.3.10到131.107.3.240和131.107.4.10到131.107.4.240
DHCP服務器1:(75%+25%)
131.107.3.10到131.107.3.180
131.107.4.181到131.107.3.240
DHCP服務器2:(25%+75%)
131.107.3.181到131.107.3.240
131.107.4.10到131.107.4.180
七.IPCONFIG
IPCONFIG 用來顯示有關TCP/IP配置參數,對DHCP客戶尤為重要,因為在TCP/IP屬性中IP地址標簽中IP設置是不可視的。
IPCONFIG/ALL 顯示NT IP配置和網卡IP配置
IPCONFIG/release 刷新一個租用
IPCONFIG/renew 得到修改選項和租用時間
該命令在Windows 95,98中以winipcfg命令存在的
八、DHCP數據庫
數據庫所在的位置:/systemroot/SYSTEM32/DHCP
dhcp.mdb 是DHCP數據庫文件
DHCP.TMP 是臨時文件
JET.LOG JET*.LOG 記錄所有的數據庫事務
SYSTEM.MDB DHCP存儲關於數據庫結果的信息
數據庫的內容:包括DHCP服務器IP地址的租用記錄
1. 備份
缺省情況下,DHCP數據庫每60分鍾備份一次。
備份放在/systemroot/SYSTEM32/BACKUP/JET目錄中
自動備份時間可在注冊表中的HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/DHCPServer/Parameters/BackupInterval值來設置
2. 恢復
自動:重啟動DHCP服務器服務,如果DHCP服務檢測到損壞的數據庫,它就自動進行恢復。但需將注冊表中
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/DHCPServer/Parameters/RestoreFlag值設置為1
重新啟動DHCP服務器服務
數據庫恢復成功后,服務器自動將該值修改為0。
手動:將/systemroot/SYSTEM32/BACKUP/JET目錄中的內容拷貝到/systemroot/SYSTEM32/DHCP中,重新啟動DHCP服務器服務
3. 壓縮(整理)
首先:停止DHCP服務器服務
可從服務管理器中停止,也可用net stop dhcpserver
其次:從/systemroot/SYSTEM32/DHCP中運行JETPACK工具
格式為:jetpack dhcp.mdb temporary_name.mdb
dhcp.mdb的內容被壓縮到temporary_name.mdb中,然后拷貝到dhcp.mdb,並將temporary_name.mdb刪掉。
最后:重啟DHCP服務器服務
可從服務管理器中啟動,也可用net star dhcpserver
例2.54:
Situation: You administer a Microsoft TCP/IP network with two subnets: HQ and Sales. You have implemented DHCP, WINS and DNS on your network. You have two DHCP servers, one is on subnet HQ and the other is on subnet Sales. Your network consists of 10 Windows NT Server computer, 100 Windows 95 computers and 5 UNIX computers. All of the Windows-based computers are configured as DHCP clients.
Required result: The DHCP must provide a backup mechanism for leasing IP address to DHCP clients in case one of the DHCP servers is not functioning.
Optional desired results: You want the DHCP servers to always assign the same unique IP address to each Windows NT Servers to computer. You want the DHCP servers being able to provide all DHCP clients with the IP addresses of the WINS and DNS servers. You want the UNIX computers being able to use WINS for name resolution.
Proposed solution: Install and configure a DHCP relay agent on each subnet. Create two scopes on each DHCP server, each scope contains a unique IP address pool. On both DHCP servers, configure the same client reservation for each Windows NT Server computer. Create a global option on each DHCP server, configure and enable WINS/NBT node type, WINS/NBNS server and DNS servers options. On the WINS server, configure a static name mapping for each UNIX computer.
A. The proposed solution produces the required result and produces all of the optional desired results.
B. The proposed solution produces the required result and produces only two of the optional desired results.
C. The proposed solution produces the required result but does not produces any of the optional desired results.
D. The proposed solution does not produces the required result.