網絡技術基礎知識(2) 2、MAC地址 2.1 什么是MAC地址 Mac地址就是在媒體接入層上使用的地址,通俗點說就是網卡的物理地址,現在的MAC地址一般都采用6字節48bit(在早期還有2字節16bit的Mac地址,相關內容<技術通訊>129期已有部分說明)。 在OSI (Open System Interc onnection ,開放系統互連)7 層網絡協議(物理層,數據鏈路層,網絡層,傳輸層,會話層,表示層,應用層)參考模型中,第二層為數據鏈路層(Data Link )。它包含兩個子層,上一層是邏輯鏈路控制(LLC :Logical LinkControl ),下一層即是我們前面所提到的MAC (Media AccessControl )層,即介質訪問控制層。所謂介質(Media ),是指傳輸信號所通過的多種物理環境。常用網絡介質包括電纜(如:雙絞線,同軸電纜,光纖),還有微波、激光、紅外線等,有時也稱介質為物理介質。MAC 地址也叫物理地址、硬件地址或鏈路地址,由網絡設備制造商生產時寫在硬件內部。這個地址與網絡無關,也即無論將帶有這個地址的硬件(如網卡、集線器、路由器等)接入到網絡的何處,它的MAC 地址都是同一個,MAC 地址一般不可改變,不能由用戶自己設定。 MAC地址前24位是由生產廠家向IEEE申請的廠商地址。后24位就由生產廠家自行定擬了(注:早期的2字節的不用申請)。 2.2 IP地址和Mac地址的聯系與區別 IP地址是指使用TCP/IP協議指定給主機的32位地址。IP地址由用點分隔開的4個8八位組構成,如192.168.0.1就是一個IP地址,這種寫法叫點分十進制格式。IP地址由網絡地址和主機地址兩部分組成,分配給這兩部分的位數隨地址類(A類、B類、C類等)的不同而不同。網絡地址用于路由選擇,而主機地址用于在網絡或子網內部尋找一個單獨的主機。一個IP地址使得將來自源地址的數據通過路由而傳送到目的地址變為可能。 現在有很多計算機通過先組建局域網,然后通過交換機和Internet連接。局域網內部給每個用戶分配固定的IP地址,由管理中心統一管理,管理上往往使用Mac地址來標志用戶,防止發生混亂,明確責任(比如網絡犯罪)。但IP地址和Mac地址是有區別的,雖然他們在局域網中是一一對應的關系。IP地址是跟據現在的IPv4標準指定的,不受硬件限制,而Mac地址卻是用網卡的物理地址,與硬件關系密切的數位較長難于記憶。 MAC地址的長度為48位(6個字節),通常表示為12個16進制數,每2個16進制數之間用冒號隔開,如:08:00:20:0A:8C:6D就是一個MAC地址,其中前6位16進制數08:00:20代表網絡硬件制造商的編號,它由IEEE(電氣與電子工程師協會)分配,而后3位16進制數0A:8C :6D代表該制造商所制造的某個網絡產品(如網卡)的系列號。每個網絡制造商必須確保它所制造的每個以太網設備都具有相同的前三個字節以及不同的后三個字節。這樣就可保證世界上每個以太網設備都具有唯一的MAC地址。 既然每個以太網設備在出廠時都有一個唯一的MAC地址了,那為什么還需要為每臺主機再分配一個IP地址呢?或者說為什么每臺主機都分配唯一的IP地址了,為什么還要在網絡設備(如網卡,集線器,路由器等)生產時內嵌一個唯一的MAC地址呢?主要原因有以下幾點: (1)IP地址的分配是根據網絡的拓樸結構,而不是根據誰制造了網絡設備。若將高效的路由選擇方案建立在設備制造商的基礎上而不是網絡所處的拓樸位置基礎上,這種方案是不可行的。 (2 )當存在一個附加層的地址尋址時,設備更易于移動和維修。例如,如果一個以太網卡壞了,可以被更換,而無須取得一個新的IP 地址。如果一個IP 主機從一個網絡移到另一個網絡,可以給它一個新的IP 地址,而無須換一個新的網卡。 (3)無論是局域網,還是廣域網中的計算機之間的通信,最終都表現為將數據包從某種形式的鏈路上的初始節點出發,從一個節點傳遞到另一個節點,最終傳送到目的節點。數據包在這些節點之間的移動都是由ARP(AddressResolution Protocol:地址解析協議)負責將IP地址映射到MAC地址上來完成的。下面我們來通過一個例子看看IP地址和MAC地址是怎樣結合來傳送數據包的。 假設網絡上要將一個數據包(名為PAC)由臨沭的一臺主機(名稱為A,IP地址為IP_A,MAC地址為MAC_A)發送到北京的一臺主機(名稱為B,IP地址為IP_B,MAC地址為MAC_B)。這兩臺主機之間不可能是直接連接起來的,因而數據包在傳遞時必然要經過許多中間節點(如路由器,服務器等等),我們假定在傳輸過程中要經過C1、C2、C3(其MAC地址分別為M1,M2,M3)三個節點。A在將PAC發出之前,先發送一個ARP請求,找到其要到達IP_B所必須經歷的第一個中間節點C1的MAC地址M1,然后在其數據包中封裝(Encapsulation)這些地址:IP_A、IP_B,MAC_A和M1。當PAC傳到C1后,再由ARP根據其目的IP地址IP_B,找到其要經歷的第二個中間節點C2的MAC地址M2,然后再將帶有M2的數據包傳送到C2。如此類推,直到最后找到帶有IP地址為IP_B的B主機的地址MAC_B,最終傳送給主機B。在傳輸過程中,IP_A、IP_B和MAC_A不變,而中間節點的MAC地址通過ARP在不斷改變(M1,M2,M3),直至目的地址MAC_B。 2.2 如何知道自己的MAC地址 方法比較多,也比較簡單,在這里介紹兩種常用的方法,在Win9x可用:WinIPcfg獲得,在2000、XP可用IPconfig-all獲得。如果你已經給自己的網卡分配了IP,還可以用nbtstat-A自己的IP,后者只能在2000/XP下使用。 在Windows 98/Me中,依次單擊“開始”→“運行”→輸入“winipcfg”→回車。 在Windows2000/XP中,依次單擊“開始”→“運行”→輸入“CMD”→回車→輸入“ipconfig /all”→回車。 也可以用 nbtstat-AIP地址(當然這個工具的用處遠不不止這些)。另外同一局域網內的,你可以用ping IP或者ping主機名,然后用arp-a來獲得你需要的信息。 除此之外winxp系統下,采用 以下方法也可以簡單的查閱本機的MAC地址: 直接點擊桌面上的“網上鄰居”圖標,出現下圖所示窗口: 雙擊“查看本地連接按鈕”會出現如下圖所示窗口: 雙擊本地連接圖標會彈出本地連接狀態對話框,如下圖所示: 點擊“支持”彈出下圖所示介面: 點擊“詳細信息”彈出下圖所示窗口: 注意:通過以上方法查看本機MAC地址,必須保證有正常的網絡連接,否則無法直接查看! 2.3 為什么要修改MAC地址 MAC地址相當于你的網絡標識,在局域網里,網絡管理人員常將網絡端口與客戶機的MAC地址綁定,方便管理。此時若更換一張網卡或者由于種種原因,你的MAC地址與其他網絡設備的發生沖突無法正常使用,就需要向管理人員申請更改綁定的MAC地址,除此之外時,我們也可以在不更改綁定MAC地址的情況下,通過修改設備本身的MAC地址(本地管理)地址實現設備的正常工作。 注意:就Windows系統下的PC而言,修改的地址在網絡上顯示是本機的物理識別地址,但此操作修改的只是Windows注冊表內的相關信息,而非真正修改了網卡EPPROM內部的信息。如果重新安裝了系統,這個MAC地址會自動恢復成網卡自身的原始MAC地址。 另外,在復雜的網絡攻擊游戲中,修改MAC地址的也可以防止自己的真實IP被別人的防火墻等探測工具獲取。 2.4 如何修改自己的MAC地址 MAC 地址是保存在網卡的EPROM 里面,通過網卡生產廠家提供的修改程序可以更改存儲器里的地址,即使網卡沒有這樣的設置我們也可以通過間接的方法修改,一般網卡發出的包的源MAC 地址并不是網卡本身寫上去的,而是應用程序提供的,只是在通常的實現中,應用程序先從網卡上得到MAC 地址,每次發送的時候都用這個MAC 做為源MAC 而已,Windows 中,網卡的MAC 保存在注冊表中,實際使用也是從注冊表中提取的,所以只要修改注冊表就可以簡單的改變MacWin9x 中修改:打開注冊表編輯器,在HKEY_LOCAL_MacHINE\SYSTEM\CurrentControlSet\Servi ce\Class\Net\下的0000,0001,0002 。 Win2000/XP中的修改:同樣打開注冊表編輯器,HKEY_LOCAL_MACHINE\SYSTEM\Cu rrentControlSet\Control\Class\4D36E970-E325-11CE-BFC1-08002BE10318中的000 0、0001、0002中的DriverDesc,如果在000 0找到,就在0000下面添加字符串變量,命名為NetworkAddress,值為要設置的Mac地址,例如:000102030405。完成上述操作后重啟即告完成。 以上操作方法是直接修改注冊表,操作相對比較復雜、專業,以下介紹一種在winxp操作系統下更的簡單方法: 鼠標點擊桌面上的“我的電腦”選擇“屬性”,會出現如下圖所示的窗口: 點擊“硬件”按鈕會出現如下圖所示的窗口: 點擊“設備管理器”按鈕會彈出下圖所示窗口: 雙擊圖上所示網“絡適配器”會看到相關網卡的一個簡略信息描述,如下圖所示: 雙擊該設設備的圖標,會彈出下圖所示窗口: 雙擊“高級”會彈出下圖所示窗口: 點擊“網絡地址”按鈕會出現下圖所示窗口:去掉默認的“不存在”設置,即可在“值”的下方輸入你需要的MAC地址,如下圖所示: 點擊 確認退出設備管理器介面,設置即告完成。 注意:進行以上操作必須是本機是系統管理員,受限用戶無權進行此操作。且進入設“備管理器”菜單的步驟也不僅此一種。不同型號的電腦即使在相同操作系統下,其網卡屬性列表格式和描述文本也不盡相同(有中文介面也有英文介面,選項也有多有少,說法略有不同,部分產品甚至不允許進行此類操作)。 Linux下的修改: 必須關閉網卡設備,否則會報告系統忙,無法更改。 命令是:/sbin/ifconfigeth0 down;.修改Mac地址,這一步較Windows中的修改要簡單。命令是:/sbin/ifconfig eth0 hw ether 00 AA?BB CC DD EE;重新啟用網卡,/sbin/ifconfig eth0 up網卡的Mac地址更改就完成了。 如果你要經常改換地址的話在注冊表里改來改去的方法就實在是太繁瑣了。不用擔心,用下面的方法可以使你的修改更方便,更簡單。 現以Windows2000/XP為例來簡要說明一下: 第一步,單擊“開始”→“運行”→輸入“Regedit”,打開注冊表編輯器,按Ctrl+F打開查找窗,輸入“DriverDesc”單擊確定。 雙擊找到的內容,即為你要修改的網卡的信息描述,左邊數形列表顯示當前主鍵(比如0000)。 第二步,在相應的0000下新建一串值,命名為NetworkAddress,鍵值設為你要的MAC地址,注意要連續寫,如112233445566。 第三步,重新啟動計算機,你就會發現網卡MAC地址已經改變為你所設置的地址。 第四步,在相應的0000下的Ndi\Params 中加一項,主鍵名為NetworkAddress,然后在該主鍵下添加名為default的串值,其值設為你要設的MAC地址,同樣也要連續地寫。 第五步,在NetworkAddress主鍵下繼續添加名為ParamDesc的字符串,其值可設為“MAC Address”。 全部設置完成了,關閉注冊表,重新啟動計算機,打開“網絡鄰居”的屬性,選擇相應的網卡,單擊“屬性”選擇“高級”選項卡,屬性中會多出MAC Address的選項,也就是在上面第二步在注冊表中添加的Network Address項,以后只要在此處的設置值中修改MAC地址就可以了。3、DNS 3.1 DNS的定義 DNS 是域名系統 (Domain Name System) 的縮寫,該系統用于命名組織到域層次結構中的計算機和網絡服務。 3.2 DNS的作用 DNS命名用于Internet等TCP/IP網絡中,通過用戶友好的名稱查找計算機和服務。當用戶在應用程序中輸入DNS名稱時,DNS服務可以將此名稱解析為與之相關的其他信息,如 IP地址。因為,你在上網時輸入的網址,是通過域名解析系解析找到相對應的IP地址,這樣才能上網。其實,域名的最終指向是IP。 在IPV4中IP是由32位二進制數組成的,將這32位二進制數分成4組每組8個二進制數,將這8個二進制數轉化成十進制數,就是我們看到的IP地址,其范圍是在1~255之間。因為,8個二進制數轉化為十進制數的最大范圍就是1~255,F在已開始試運行、將來必將代替IPV6中,將以128位二進制數表示一個IP地址。 如:www.163.com這樣的網址,其實這就是一個域名,而我們計算機網絡上的計算機彼此之間只能用IP地址才能相互識別。再如,我們去一WEB服務器中請求一WEB頁面(注:“web本意是蜘蛛網和網的意思,現廣泛譯作網絡、互聯網),我們可以在瀏覽器中輸入網址或者是相應的IP地址,例如我們要上新浪網,我們可以在IE的地址欄中輸入:www.Sina. com.cn也可輸入這樣子218.30.66.101的IP地址,但是這樣子的IP地址我們記不住或說是很難記住,所以有了域名的說法,這樣的域名會讓我們容易的記住。 DNS:Domain Name System域名管理系統 域名是由圓點分開一串單詞或縮寫組成的,每一個域名都對應一個惟一的IP地址,這一命名的方法或這樣管理域名的系統叫做域名管理系統。 DNS:Domain Name Server域名服務器 域名雖然便于人們記憶,但網絡中的計算機之間只能互相認識IP地址,它們之間的轉換工作稱為域名解析(如上面的www.sina.com.cn與218.30.66.101之間的轉換),域名解析需要由專門的域名解析服務器來完成,DNS就是進行域名解析的服務器。 4、網關 4.1 網關的定義: 顧名思義,網關(Gateway)就是一個網絡連接到另一個網絡的“關口”。按照不同的分類標準,網關也有很多種。TCP/IP協議里的網關是最常用的,在這里我們所講的“網關”均指TCP/IP協議下的網關。網關實質上是一個網絡通向其他網絡的IP地址。比如有網絡A和網絡B,網絡A的IP地址范圍為“192.168.1.1~192.168.1.254”,子網掩碼為255.255.255.0;網絡B的IP地址范圍為“192.168.2.1~192.168.2.254”,子網掩碼為255.255.255.0。在沒有路由器的情況下,兩個網絡之間是不能進行TCP/IP通信的,即使是兩個網絡連接在同一臺交換機(或集線器)上,TCP/IP協議也會根據子網掩碼(255.255.255.0)判定兩個網絡中的主機處在不同的網絡里。而要實現這兩個網絡之間的通信,則必須通過網關。如果網絡A中的主機發現數據包的目的主機不在本地網絡中,就把數據包轉發給它自己的網關,再由網關轉發給網絡B的網關,網絡B的網關再轉發給網絡B的某個主機。網絡B向網絡A轉發數據包的過程也是如此。 所以說,只有設置好網關的IP地址,TCP/IP協議才能實現不同網絡之間的相互通信。那么這個IP地址是哪臺機器的IP地址呢?網關的IP地址是具有路由功能的設備的IP地址,具有路由功能的設備有路由器、啟用了路由協議的服務器(實質上相當于一臺路由器)、代理服務器(也相當于一臺路由器)。 4.2 默認網關 如果搞清了什么是網關,默認網關也就好理解了。就好像一個房間可以有多扇門一樣,一臺主機可以有多個網關。默認網關的意思是一臺主機如果找不到可用的網關,就把數據包發給默認指定的網關,由這個網關來處理數據包,F在主機使用的網關,一般指的是默認網關。 4.3 如何設置默認網關 一臺電腦的默認網關是不可以隨隨便便指定的,必須正確地指定,否則一臺電腦就會將數據包發給不是網關的電腦,從而無法與其他網絡的電腦通信。默認網關的設定有手動設置和自動設置兩種方式。 4.3.1手動設置 手動設置適用于電腦數量比較少、TCP/IP參數基本不變的情況,比如只有幾臺到十幾臺電腦。因為這種方法需要在聯入網絡的每臺電腦上設置“默認網關”,非常費勁,一旦因為遷移等原因導致必須修改默認網關的IP地址,就會給網管帶來很大的麻煩,所以不推薦使用。 在Windows 9x中,設置默認網關的方法是在“網上鄰居”上右擊,在彈出的菜單中點擊“屬性”,在網絡屬性對話框中選擇“TCP/IP協議”,點擊“屬性”,在“默認網關”選項卡中填寫新的默認網關的IP地址就可以了。 需要特別注意的是:默認網關必須是電腦自己所在的網段中的IP地址,而不能填寫其他網段中的IP地址。 4.3.2 自動設置 自動設置就是利用DHCP服務器來自動給網絡中的電腦分配IP地址、子網掩碼和默認網關。這樣做的好處是一旦網絡的默認網關發生了變化時,只要更改了DHCP服務器中默認網關的設置,那么網絡中所有的電腦均獲得了新的默認網關的IP地址。這種方法適用于網絡規模較大、TCP/IP參數有可能變動的網絡。 另外一種自動獲得網關的辦法是通過安裝代理服務器軟件(如MS Proxy)的客戶端程序來自動獲得,其原理和方法和DHCP有相似之處。
|