第一部分 TCP/IP基礎知識node
TCP/IP分層及各層主要協議web
數據鏈路層:SLIP、PPP算法
網絡層:IP、ARP、RARP、ICMP數據庫
傳輸層:TCP、UDP緩存
應用層:FTP、TELNET、SMTP、HTTP、TFTP安全
=====================服務器
這部分與宇航出版社的《Microsoft Windows NT4.0 環境下的TCP/IP網絡互聯》中的第1、二章(除ARP外)對應網絡
首先咱們這門課是TCP/IP在Windows NT中的應用,並不徹底講TCP/IP協議,因此有一些TCP/IP理論方面的知識並無涉及到。在講TCP/IP在Windows NT中的應用時,咱們先回顧一下,在網絡基礎中講到的網絡的OSI模型,假若有同窗從TCP/IP學起,此處做一個鋪墊。app
第一課 OSI模型(open system interface)less
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網絡互聯》中的第3、四章對應
象咱們在不一樣環境中有不一樣的名字同樣,如:在學校裏有學號,在宿舍裏有綽號,在家裏還有小名,親近的朋友之間還有溺稱。
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
6、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對應
1、 什麼是路由?
路由就是信息經過一條路徑從源地址轉移到目的地址的過程。在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.
2、 路由器的類型
實現路由的設備叫路由器;路由器是被動的設備,它不關心網絡流量;路由器能夠看做是帶有兩個或多個網卡的計算機;因此多宿主計算機可做路由器,配置成路由器的計算機也叫網關。
基於路由器操縱路由表中條目的方式,路由器能夠分紅如下兩種基本類型:
靜態路由器:必須手工配置路由表
動態路由器:自動配置路由表
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
2. 動態路由器:
路由器會自動地更新它的路由表並把這些信息轉發給它知道的其餘動態路由器,有幾種方法能夠提供動態路由,其中最流行的兩種是:路由信息選擇協議(RIP)和開放最短路徑優先(OSPF)
RIP是一個向量距離路由程序,它容許的最大跳躍計數是15
缺點:
跳躍計數超過16,不能達到
每一個RIP路由器每30秒廣播一條MAC級別上的消息。在互連網上,廣播流量可能變得很是大。
RIP路由器收到的從其餘路由器傳來的條目有三分鐘的生命期。因此,當一個路由器發生故障,這個改變在網絡上傳播須要花費必定的時間。
3.靜態與動態路由的結合
在靜態路由器的路由表中加動態路由器的條目
在動態路由器的路由表中加靜態路由器的條目
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.
4、 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
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
D. Nbtstat.exe
5、 實驗
實驗2、實驗3、實驗8
第四部分 動態主機配置協議(DHCP)
這部分與宇航出版社的《Microsoft Windows NT4.0 環境下的TCP/IP網絡互聯》中的第六章對應
注意:DHCP選項在講完WINS與DNS以後再複習一遍
講課前先裝DHCP服務
1、 爲何引用DHCP(Dynamic Host Configuration Protocol)
DHCP動態主機配置協議:用來自動分配IP地址給DHCP客戶
靜態IP地址的缺點
1. 手工書寫可能出錯
2. 多是不合法的IP地址
3. 多是重複的IP 地址
4. 因爲IP地址、子網掩碼及缺省網關的錯誤,導制網絡的錯誤,這種錯誤是很費時、也很難找到的。
DHCP 的優勢:
1. 克服了靜態IP地址的缺點
2. 集中管理
3. 解決IP地不足的問題
DHCP 的缺點:
增長了廣播
2、 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服務器進行配置
3、 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 . . . . . . :
4、 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協議堆棧接口上聯繫,這時將發生網絡錯誤。
5、 跨子網的DHCP服務
1. 路由器是RFC 1542兼容型,能傳播廣播
2. DHCP relay agent:必須是WIN NT SERVER和具備靜態IP
3. 多宿主計算機充當路由器和DHCP relay agent
6、 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命令存在的
8、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.