国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
TCP/IP基礎:ARP 協(xié)議 - 『 Windows Server 2003網(wǎng)絡服務 』...

TCP/IP基礎:ARP 協(xié)議

嚴格來說,TCP/IP 協(xié)定家族并沒有定義 "TCP/IP 專屬的" 網(wǎng)路硬體規(guī)格。硬體的范圍實在太過廣泛了﹐標準非常多﹐當今大部份的低層網(wǎng)路硬體標準都是由 IEEE 制定的,但也有許多標準是廠商專屬的。要讓 TCP/IP 協(xié)定能夠順利與不同類型的硬體進行溝通﹐那么就需要建立起一些標準協(xié)定來讓大家共同參考。以我們最常用的乙太網(wǎng)(Ethernet)為例﹐我們無需理會廠商如何設計網(wǎng)路界面的驅(qū)動程式﹐一旦它能夠被系統(tǒng)接納﹐網(wǎng)路儲存層(Datalink)就能使用網(wǎng)路界面在實體網(wǎng)路上傳送和接收資料了。
  IP 位址和實體位址對應之困擾
  在「網(wǎng)路基礎」課程中﹐我們知道乙太網(wǎng)上面使用的傳送方式叫 CSMA/CD (Carrier-Sensing Multiple Access with Collision Detection)﹕雖然訊框會在整個網(wǎng)段(segment)中用廣播的方式傳遞﹐而且所有節(jié)點都會收到訊框﹐然而﹐只有目的位址符合自己實體位址的訊框才會被接收下來。因此,不管上層協(xié)定是哪一種(可以是 TCP/IP 也可以是其它),在底層的傳送若是使用 Ethernet 的話,就得使用 MAC (Media Access Control) 實體位址。若要查詢到當前系統(tǒng)目前所有界面的實體位址,我們可在 Linux 系統(tǒng)里面輸入 ifconfig 命令
  eth0  Link encap:Ethernet HWaddr 00:A0:0C:11:EA:11    inet addr:203.30.35.134 Bcast:203.30.35.159 Mask:255.255.255.224    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1    RX packets:0 errors:0 dropped:0 overruns:0 frame:0    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0    collisions:0 txqueuelen:100    Interrupt:3 Base address:0x300eth1  Link encap:Ethernet HWaddr 00:80:C7:47:8C:9A    inet addr:192.168.0.17 Bcast:192.168.0.255 Mask:255.255.255.0    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1    RX packets:12303 errors:0 dropped:0 overruns:0 frame:0    TX packets:12694 errors:0 dropped:0 overruns:0 carrier:0    collisions:0 txqueuelen:100    Interrupt:10 Base address:0x2e0
  從上面的命令結(jié)果中可發(fā)現(xiàn):關于每一個界面的第一行資訊﹐最后的部份就是該界面的實體位址。訊框在實體網(wǎng)路上面?zhèn)魉偷倪^程中﹐IP 位址(或曰羅輯位址)一點都派不上用場。但問題是:當我們使用 TCP/IP 的時侯,上層的協(xié)定都是以 IP 位址為傳送依據(jù)的。那么﹐這時候我們就必須有一套方法來對應 IP 位址和實體位址了。
  在此一過程中﹐關鍵點是如果將 IP 位址對與實體位址做對應。有些使用簡單實體位址的網(wǎng)路(如 proNET-10 )﹐其實體位址只占一個 byte 的長度﹐而且允許使用者在配置網(wǎng)路卡的是選擇自己的實體位址。在這樣的網(wǎng)路上進行 IP 位址和實體位址的對應﹐是比較簡單的﹐我們可以把實體位址設為和 IP 位址設為一樣。例如﹐假設某一個節(jié)點的 IP 位址為 192.168.1.17﹐那么我們可以將該實體位址設為 17。 這樣﹐在 proNET 就可以輕易的根據(jù) IP 位址來得到實體位址。這樣的對應非常簡單﹐而且要維護起來也很容易﹐在新機器假如網(wǎng)路的時候﹐并不需要修改或重編已存的資料。
  然而﹐我們知道在乙太網(wǎng)上﹐每一個實體界面都有一個 48bit(6byte) 的 MAC 位址﹐而 IP (v4)使用的位址則為 32bit(4byte)﹔每各位址格式都只提供相應的層級協(xié)定使用﹐彼此是不能互換使用的。這時候我們就無法用簡單的數(shù)學關系來做 IP 位址和實體位址的對應了。
  IP 位址和實體位址的對應方法
  建立表格
  首先﹐我們想到的最簡單方法是在每一臺機器上建立一個 IP 位址和實體位址的對應表格( table )。不過這個方法還是沒辦法解決如下的情形﹕
  · 網(wǎng)路上的節(jié)點數(shù)量多如恒河沙數(shù)﹐要想將全部節(jié)點的對應關系列入表格之中幾近不可能任務。
  · 如果某一個節(jié)點產(chǎn)生異動情形(例如更換網(wǎng)卡)﹐那么如果讓所有表格正確做出相應修改﹐也是個頭痛的問題。
  · 對某無磁碟工作站來說﹐因為沒有本機的儲存設備﹐將無非建立表格。
  寫入高階程式
  除了建立表格﹐我們還可以將實際的網(wǎng)路位址寫死在高階網(wǎng)路程式里面。不過﹐和前一個方法一樣﹐如果遇到硬體位址變更等異動動情形﹐那么﹐程式也需要重新編譯過才行。
  顯然﹐上述兩個方法都不怎么高明。
  ARP 協(xié)定
  這里我們要介紹的是 Address Resolution Protocol (ARP)。 ARP 是 TCP/IP 設計者利用乙太網(wǎng)的廣播性質(zhì)﹐設計出來的位址解釋協(xié)定。它的主要特性和優(yōu)點是它的位址對應關系是動態(tài)的﹐它以查詢的方式來獲得 IP 位址和實體位址的對應。它的工作原理非常簡單﹕
  1. 首先﹐每一臺主機都會在 ARP 快取緩沖區(qū) (ARP Cache)中建立一個 ARP 表格﹐用來記錄 IP 位址和實體位址的對應關系。這個 Table 的每一筆資料會根據(jù)自身的存活時間遞減而最終消失﹐以確保資料的真實性。
  2. 當發(fā)送主機有一個封包要傳送給目的主機的時候﹐并且獲得目的主機的 IP 位址﹔那發(fā)送主機會先檢查自己的 ARP 表格中有沒有該 IP 位址的實體位址對應。如果有﹐就直接使用此位址來傳送框包﹔如果沒有﹐則向網(wǎng)路發(fā)出一個 ARP Request 廣播封包﹐查詢目的主機的實體位址。這個封包會包含發(fā)送端的 IP 位址和實體位址資料。
  3. 這時﹐網(wǎng)路上所有的主機都會收到這個廣播封包﹐會檢查封包的 IP 欄位是否和自己的 IP 位址一致。如果不是則忽略﹔如果是則會先將發(fā)送端的實體位址和 IP 資料更新到自己的 ARP 表格去﹐如果已經(jīng)有該 IP 的對應﹐則用新資料覆蓋原來的﹔然后再回應一個 ARP Reply 封包給對方﹐告知發(fā)送主機關于自己的實體位址﹔
  4. 當發(fā)送端接到 ARP Reply 之后﹐也會更新自己的 ARP 表格﹔然后就可以用此紀錄進行傳送了。
  5. 如果發(fā)送端沒有得到 ARP Reply ﹐則宣告查詢失敗。
  ARP 的查詢過程可參考下圖﹕
   

  ARP 的查詢過程
  前面說的 ARP 表格﹐只有在 TCP/IP 協(xié)定被載入核心之后才會建立﹐如果 TCP/IP 協(xié)定被卸載或關閉機器﹐那么表格就會被清空﹔到下次協(xié)定載入或開機的時候再重新建立﹐而同時會向網(wǎng)路發(fā)出一個 ARP 廣播﹐告訴其它機器它的目前位址是什么﹐以便所有機器都能保持最正確的資料。
  然而﹐ARP cache 的大小是有所限制的﹐如果超過了界限﹐那么越長時間沒被使用過渡資料就必須清理掉﹐以騰出空間來儲存更新的資料。所以﹐當機器收到 ARP equest 封包時﹐如果查詢對象不是自己﹐則不會根據(jù)發(fā)送端位址資料來更新自己的 ARP 表格﹐而是完全忽略該封包。同時﹐每筆存在 cache 中的資料﹐都不是永久保存的﹕每筆資料再更新的時候﹐都會被賦予一個存活倒數(shù)計時值﹐如果在倒數(shù)時間到達的時候﹐該資料就會被清掉。然而﹐如果該資料在倒數(shù)時間到達之前被使用過﹐則計時值會被重新賦予。
  當然了﹐ARP 尚有一套機制來處理當 ARP 表格資料不符合實際位址資料的狀況(例如﹐在當前連線尚未結(jié)束前﹐收到目的端的位址資料更新訊息)﹔或是目的主機太忙碌而未能回答 ARP 請求等狀況。
  RARP 協(xié)定
  剛才介紹的 ARP 協(xié)定是透過向網(wǎng)路查詢而找出實體位址﹐那我們接下來探討的 RARP 協(xié)定則相反﹕它是籍由查詢網(wǎng)路上其它主機而得到自己的 IP 位址。
  通常﹐我們使用的乙太網(wǎng)卡﹐在出廠的時候就有生產(chǎn)廠家把網(wǎng)卡的實體位址燒在 ROM 里面﹐這個位址是不能改變的(某些型號的網(wǎng)路卡﹐或是透過其它技術手段﹐是允許您修改實體位址的)。不管系統(tǒng)是否起來﹐這個位址都會存在﹐而且要讓系統(tǒng)獲得它也很容易。然而,在一些無磁碟(diskless)工作站上面﹐系統(tǒng)檔案都存放在遠端的伺服器﹐當它在啟動的時候﹐因為本身沒有 IP 位址﹐也就無法和伺服器溝通﹐更不能將系統(tǒng)檔案載入。那么﹐我們就必須要有一個辦法﹐讓這樣的無磁碟工作站在和伺服器溝通之前獲得自己的 IP 位址。RAPR 協(xié)定就是為解決此問題而設計出來的。
  和 ARP 協(xié)定一樣﹐RARP 也是用廣播的形式來進行查詢﹐只不過這時候問的 IP 位址不是別人﹐而是自己的 IP 位址而已。我們可以從下圖看出 RARP 的運作﹐其實和 ARP 是極其相似的﹕
   

  RARP 的查詢過程
  首先是查詢主機向網(wǎng)路送出一個 RARP Request 廣播封包﹐向別的主機查詢自己的 IP。在時候﹐網(wǎng)路上的 RARP 伺服器就會將發(fā)送端的 IP 位址用 RARP Reply 封包回應給查詢者。這樣查詢主機就獲得自己的 IP 位址了。
  然而不像 ARP﹐查詢主機將 RARP Request 封包丟出去之后﹐可能得到的 RARP Reply 會不止一個 (在 ARP 查詢中﹐我們可以確定只會獲得一個回應而已)。因為網(wǎng)路上可能存在不止一臺 RARP 伺服器(基于備份和分擔考量﹐極有可能如此設計)﹐那么﹐所有收到 RARP 請求的伺服器都會嘗試向查詢主機作出 RARP Reply 回應。如果這樣的話﹐網(wǎng)路上將充斥這種 RARP 回應﹐做成額外的負荷。這時候﹐我們有兩種方法來解決RARP 的回應問題。
  第一種方法﹐為每一個做 RARP 請求的主機分配一主伺服器﹐正常來說﹐只有主伺服器才回做出 RARP 回應﹐其它主機只是記錄下接收到 RARP 請求的時間而已。假如主伺服器不能順利作出回應﹐那么查詢主機在等待逾時再次用廣播方式發(fā)送 RARP 請求﹐其它非主伺服器假如在接到第一個請求后很短時間內(nèi)再收到相同請求的話﹐才會作出回應動作。
  第二種方法也很類似﹕正常來說﹐主伺服器當收到 RARP 請求之后﹐會直接作出回應﹔為避免所有非主伺服器同時傳回 RARP 回應﹐每臺非主伺服器都會隨機等待一段時間再作出回應。如果主伺服器未能作出回應的話﹐查詢主機會延遲一段時間才會進行第二次請求﹐以確保這段時間內(nèi)獲得非主伺服器的回應。當然﹐設計者可以精心的設計延遲時間至一個合理的間隔。
  PROXY ARP
  代理 (Proxy) ARP 通常用來在路由器上代為回答
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
IP
嵌入式TCP/IP協(xié)議 - TCP/IP協(xié)議簡介
網(wǎng)絡層協(xié)議原理
RFC(Request For Comments)
TCP/IP協(xié)議棧與數(shù)據(jù)包封裝
TCP/IP 協(xié)議的結(jié)構與運行原理[圖]
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服