日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

《TCP/IP详解 卷1:协议》第4章 ARP:地址解析协议

發(fā)布時(shí)間:2024/4/15 编程问答 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《TCP/IP详解 卷1:协议》第4章 ARP:地址解析协议 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

4.1 引言

本章我們要討論的問(wèn)題是只對(duì)TCP/IP協(xié)議簇有意義的IP地址。數(shù)據(jù)鏈路如以太網(wǎng)或令牌環(huán)網(wǎng)都有自己的尋址機(jī)制(常常為48 bit地址),這是使用數(shù)據(jù)鏈路的任何網(wǎng)絡(luò)層都必須遵從的。一個(gè)網(wǎng)絡(luò)如以太網(wǎng)可以同時(shí)被不同的網(wǎng)絡(luò)層使用。例如,一組使用TCP/IP協(xié)議的主機(jī)和另一組使用某種PC網(wǎng)絡(luò)軟件的主機(jī)可以共享相同的電纜。

當(dāng)一臺(tái)主機(jī)把以太網(wǎng)數(shù)據(jù)幀發(fā)送到位于同一局域網(wǎng)上的另一臺(tái)主機(jī)時(shí),是根據(jù)48 bit的以太網(wǎng)地址來(lái)確定目的接口的。設(shè)備驅(qū)動(dòng)程序從不檢查IP數(shù)據(jù)報(bào)中的目的IP地址。

地址解析為這兩種不同的地址形式提供映射:32 bit的IP32位Internet地址地址和數(shù)據(jù)鏈路層使用的任何類型的地址。RFC 826[Plummer 1982]是ARP規(guī)范描述文檔。

本章及下一章我們要討論的兩種協(xié)議如圖4-1所示:ARP(地址解析協(xié)議)和RARP(逆地址解析協(xié)議)。

圖4-1 地址解析協(xié)議:ARP和RARP

ARP為IP地址到對(duì)應(yīng)的硬件地址之間提供動(dòng)態(tài)映射。我們之所以用動(dòng)態(tài)這個(gè)詞是因?yàn)檫@個(gè)過(guò)程是自動(dòng)完成的,一般應(yīng)用程序用戶或系統(tǒng)管理員不必關(guān)心。

RARP是被那些沒(méi)有磁盤(pán)驅(qū)動(dòng)器的系統(tǒng)使用(一般是無(wú)盤(pán)工作站或X終端),它需要系統(tǒng)管理員進(jìn)行手工設(shè)置。我們?cè)诘?章對(duì)它進(jìn)行討論。

4.2一個(gè)例子

任何時(shí)候我們敲入下面這個(gè)形式的命令:

% ftp bsdi

都會(huì)進(jìn)行以下這些步驟。這些步驟的序號(hào)如圖4-2所示。

  • 應(yīng)用程序FTP客戶端調(diào)用函數(shù)gethostbyname(3)把主機(jī)名(bsdi)轉(zhuǎn)換成32 bit的IP地址。這個(gè)函數(shù)在DNS(域名系統(tǒng))中稱作解析器,我們將在第14章對(duì)它進(jìn)行介紹。這個(gè)轉(zhuǎn)換過(guò)程或者使用DNS,或者在較小網(wǎng)絡(luò)中使用一個(gè)靜態(tài)的主機(jī)文件(/etc/hosts)。
  • FTP客戶端請(qǐng)求TCP用得到的IP地址建立連接。
  • TCP發(fā)送一個(gè)連接請(qǐng)求分段到遠(yuǎn)端的主機(jī),即用上述IP地址發(fā)送一份IP數(shù)據(jù)報(bào)(在第18章我們將討論完成這個(gè)過(guò)程的細(xì)節(jié))。
  • 如果目的主機(jī)在本地網(wǎng)絡(luò)上(如以太網(wǎng)、令牌環(huán)網(wǎng)或點(diǎn)對(duì)點(diǎn)鏈接的另一端),那么IP數(shù)據(jù)報(bào)可以直接送到目的主機(jī)上。如果目的主機(jī)在一個(gè)遠(yuǎn)程網(wǎng)絡(luò)上,那么就通過(guò)IP選路函數(shù)來(lái)確定位于本地網(wǎng)絡(luò)上的下一站路由器地址,并讓它轉(zhuǎn)發(fā)IP數(shù)據(jù)報(bào)。在這兩種情況下,IP數(shù)據(jù)報(bào)都是被送到位于本地網(wǎng)絡(luò)上的一臺(tái)主機(jī)或路由器。
  • 假定是一個(gè)以太網(wǎng),那么發(fā)送端主機(jī)必須把32 bit的IP地址變換成48 bit的以太網(wǎng)地址。從邏輯Internet地址到對(duì)應(yīng)的物理硬件地址需要進(jìn)行翻譯。這就是ARP的功能。ARP本來(lái)是用于廣播網(wǎng)絡(luò)的,有許多主機(jī)或路由器連在同一個(gè)網(wǎng)絡(luò)上。
  • ARP發(fā)送一份稱作ARP請(qǐng)求的以太網(wǎng)數(shù)據(jù)幀給以太網(wǎng)上的每個(gè)主機(jī)。這個(gè)過(guò)程稱作廣播,如圖4-2中的虛線所示。ARP請(qǐng)求數(shù)據(jù)幀中包含目的主機(jī)的IP地址(主機(jī)名為bsdi),其意思是“如果你是這個(gè)IP地址的擁有者,請(qǐng)回答你的硬件地址。”
  • 目的主機(jī)的ARP層收到這份廣播報(bào)文后,識(shí)別出這是發(fā)送端在尋問(wèn)它的IP地址,于是發(fā)送一個(gè)ARP應(yīng)答。這個(gè)ARP應(yīng)答包含IP地址及對(duì)應(yīng)的硬件地址。
  • 收到ARP應(yīng)答后,使ARP進(jìn)行請(qǐng)求—應(yīng)答交換的IP數(shù)據(jù)報(bào)現(xiàn)在就可以傳送了。
  • 發(fā)送IP數(shù)據(jù)報(bào)到目的主機(jī)。
  • 第4章 ARP:地址解析協(xié)議39?

    圖4-2 當(dāng)用戶輸入命令“ftp主機(jī)名”時(shí)ARP的操作

    在ARP背后有一個(gè)基本概念,那就是網(wǎng)絡(luò)接口有一個(gè)硬件地址(一個(gè)48 bit的值,標(biāo)識(shí)不同的以太網(wǎng)或令牌環(huán)網(wǎng)絡(luò)接口)。在硬件層次上進(jìn)行的數(shù)據(jù)幀交換必須有正確的接口地址。但是,TCP/IP有自己的地址:32 bit的IP地址。知道主機(jī)的IP地址并不能讓內(nèi)核發(fā)送一幀數(shù)據(jù)給主機(jī)。內(nèi)核(如以太網(wǎng)驅(qū)動(dòng)程序)必須知道目的端的硬件地址才能發(fā)送數(shù)據(jù)。ARP的功能是在32 bit的IP地址和采用不同網(wǎng)絡(luò)技術(shù)的硬件地址之間提供動(dòng)態(tài)映射。

    點(diǎn)對(duì)點(diǎn)鏈路不使用ARP。當(dāng)設(shè)置這些鏈路時(shí)(一般在引導(dǎo)過(guò)程進(jìn)行),必須告知內(nèi)核鏈路每一端的IP地址。像以太網(wǎng)地址這樣的硬件地址并不涉及。

    40TCP/IP詳解,卷1:協(xié)議?

    圖4-3 用于以太網(wǎng)的ARP請(qǐng)求或應(yīng)答分組格式

    以太網(wǎng)報(bào)頭中的前兩個(gè)字段是以太網(wǎng)的源地址和目的地址。目的地址為全1的特殊地址是廣播地址。電纜上的所有以太網(wǎng)接口都要接收廣播的數(shù)據(jù)幀。

    兩個(gè)字節(jié)長(zhǎng)的以太網(wǎng)幀類型表示后面數(shù)據(jù)的類型。對(duì)于ARP請(qǐng)求或應(yīng)答來(lái)說(shuō),該字段的值為0x0806。

    形容詞hardware(硬件)和protocol(協(xié)議)用來(lái)描述ARP分組中的各個(gè)字段。例如,一個(gè)ARP請(qǐng)求分組詢問(wèn)協(xié)議地址(這里是IP地址)對(duì)應(yīng)的硬件地址(這里是以太網(wǎng)地址)。

    硬件類型字段表示硬件地址的類型。它的值為1即表示以太網(wǎng)地址。協(xié)議類型字段表示要映射的協(xié)議地址類型。它的值為0x0800即表示IP地址。它的值與包含IP數(shù)據(jù)報(bào)的以太網(wǎng)數(shù)據(jù)幀中的類型字段的值相同,這是有意設(shè)計(jì)的(參見(jiàn)圖2-1)。

    接下來(lái)的兩個(gè)1字節(jié)的字段,硬件地址長(zhǎng)度和協(xié)議地址長(zhǎng)度分別指出硬件地址和協(xié)議地址的長(zhǎng)度,以字節(jié)為單位。對(duì)于以太網(wǎng)上IP地址的ARP請(qǐng)求或應(yīng)答來(lái)說(shuō),它們的值分別為6和4。

    操作字段指出四種操作類型,它們是ARP請(qǐng)求(值為1)、ARP應(yīng)答(值為2)、RARP請(qǐng)求(值為3)和RARP應(yīng)答(值為4)(我們?cè)诘?章討論RARP)。這個(gè)字段必需的,因?yàn)锳RP請(qǐng)求和ARP應(yīng)答的幀類型字段值是相同的。

    接下來(lái)的四個(gè)字段是發(fā)送端的硬件地址(在本例中是以太網(wǎng)地址)、發(fā)送端的協(xié)議地址(IP地址)、目的端的硬件地址和目的端的協(xié)議地址。注意,這里有一些重復(fù)信息:在以太網(wǎng)的數(shù)據(jù)幀報(bào)頭中和ARP請(qǐng)求數(shù)據(jù)幀中都有發(fā)送端的硬件地址。

    第4章 ARP:地址解析協(xié)議41?

    當(dāng)我們?cè)诹硪粋€(gè)系統(tǒng)(sun)上運(yùn)行帶有-e選項(xiàng)的tcpdump命令時(shí),顯示的是硬件地址(在我們的例子中是48 bit的以太網(wǎng)地址)。

    圖4-4中的tcpdump的原始輸出如附錄A中的圖A-3所示。由于這是本書(shū)第一個(gè)tcpdump輸出例子,你應(yīng)該去查看附錄中的原始輸出,看看我們作了哪些修改。

    圖4-4 TCP連接請(qǐng)求產(chǎn)生的ARP請(qǐng)求和應(yīng)答

    我們刪除了tcpdump命令輸出的最后四行,因?yàn)樗鼈兪墙Y(jié)束連接的信息(我們將在第18章進(jìn)行討論),與這里討論的內(nèi)容不相關(guān)。

    在第1行中,源端主機(jī)(bsdi)的硬件地址是0:0:c0:6f:2d:40。目的端主機(jī)的硬件地址是ff:ff:ff:ff:ff:ff,這是一個(gè)以太網(wǎng)廣播地址。電纜上的每個(gè)以太網(wǎng)接口都要接收這個(gè)數(shù)據(jù)幀并對(duì)它進(jìn)行處理,如圖4-2所示。

    第1行中緊接著的一個(gè)輸出字段是arp,表明幀類型字段的值是0x0806,說(shuō)明此數(shù)據(jù)幀是一個(gè)ARP請(qǐng)求或回答。

    在每行中,單詞arp或ip后面的值60指的是以太網(wǎng)數(shù)據(jù)幀的長(zhǎng)度。由于ARP請(qǐng)求或回答的數(shù)據(jù)幀長(zhǎng)都是42字節(jié)(28字節(jié)的ARP數(shù)據(jù),14字節(jié)的以太網(wǎng)幀頭),因此,每一幀都必須加入填充字符以達(dá)到以太網(wǎng)的最小長(zhǎng)度要求:60字節(jié)。

    42TCP/IP詳解,卷1:協(xié)議?

    tcpdump命令的輸出如圖4-5所示。

    第4章 ARP:地址解析協(xié)議43?

    圖4-5 對(duì)不存在主機(jī)的ARP請(qǐng)求

    這一次,我們沒(méi)有用-e選項(xiàng),因?yàn)橐呀?jīng)知道ARP請(qǐng)求是在網(wǎng)上廣播的。

    令人感興趣的是看到多次進(jìn)行ARP請(qǐng)求:第1次請(qǐng)求發(fā)生后5.5秒進(jìn)行第2次請(qǐng)求,在24秒之后又進(jìn)行第3次請(qǐng)求(在第21章我們將看到TCP的超時(shí)和重發(fā)算法的細(xì)節(jié))。tcpdump命令輸出的超時(shí)限制為29.5秒。但是,在telnet命令使用前后分別用date命令檢查時(shí)間,可以發(fā)現(xiàn)Te lnet客戶端的連接請(qǐng)求似乎在大約75秒后才放棄。事實(shí)上,我們?cè)诤竺鎸⒖吹?#xff0c;大多數(shù)的BSD實(shí)現(xiàn)把完成TCP連接請(qǐng)求的時(shí)間限制設(shè)置為75秒。

    在第18章中,當(dāng)我們看到建立連接的TCP報(bào)文段序列時(shí),會(huì)發(fā)現(xiàn)ARP請(qǐng)求對(duì)應(yīng)于TCP試圖發(fā)送的初始TCPSYN(同步)段。

    注意,在線路上始終看不到TCP的報(bào)文段。我們能看到的是ARP請(qǐng)求。直到ARP回答返回時(shí),TCP報(bào)文段才可以被發(fā)送,因?yàn)橛布刂返竭@時(shí)才可能知道。如果我們用過(guò)濾模式運(yùn)行tcpdump命令,只查看TCP數(shù)據(jù),那么將沒(méi)有任何輸出。

    4.5.3 ARP高速緩存超時(shí)設(shè)置

    在ARP高速緩存中的表項(xiàng)一般都要設(shè)置超時(shí)值(在4.8小節(jié)中,我們將看到管理員可以用arp命令把地址放入高速緩存中而不設(shè)置超時(shí)值)。從伯克利系統(tǒng)演變而來(lái)的系統(tǒng)一般對(duì)完整的表項(xiàng)設(shè)置超時(shí)值為20分鐘,而對(duì)不完整的表項(xiàng)設(shè)置超時(shí)值為3分鐘(在前面的例子中我們已見(jiàn)過(guò)一個(gè)不完整的表項(xiàng),即在以太網(wǎng)上對(duì)一個(gè)不存在的主機(jī)發(fā)出ARP請(qǐng)求。)當(dāng)這些表項(xiàng)再次使用時(shí),這些實(shí)現(xiàn)一般都把超時(shí)值重新設(shè)為20分鐘。

    Host Requirements RFC表明即使表項(xiàng)正在使用時(shí),超時(shí)值也應(yīng)該啟動(dòng),但是大多數(shù)從伯克利系統(tǒng)演變而來(lái)的系統(tǒng)沒(méi)有這樣做—它們每次都是在訪問(wèn)表項(xiàng)時(shí)重設(shè)超時(shí)值。

    4.6 ARP代理

    如果ARP請(qǐng)求是從一個(gè)網(wǎng)絡(luò)的主機(jī)發(fā)往另一個(gè)網(wǎng)絡(luò)上的主機(jī),那么連接這兩個(gè)網(wǎng)絡(luò)的路由器就可以回答該請(qǐng)求,這個(gè)過(guò)程稱作委托ARP或ARP代理(Proxy ARP)。這樣可以欺騙發(fā)起ARP請(qǐng)求的發(fā)送端,使它誤以為路由器就是目的主機(jī),而事實(shí)上目的主機(jī)是在路由器的“另一邊”。路由器的功能相當(dāng)于目的主機(jī)的代理,把分組從其他主機(jī)轉(zhuǎn)發(fā)給它。

    舉例是說(shuō)明ARP代理的最好方法。如圖3-10所示,系統(tǒng)sun與兩個(gè)以太網(wǎng)相連。但是,我們也指出過(guò),事實(shí)上并不是這樣,請(qǐng)把它與封內(nèi)圖1進(jìn)行比較。在sun和子網(wǎng)140.252.1之間實(shí)際存在一個(gè)路由器,就是這個(gè)具有ARP代理功能的路由器使得sun就好像在子網(wǎng)140.252.1上一樣。具體安置如圖4-6所示,路由器Telebit NetBlazer,取名為netb,在子網(wǎng)和主機(jī)sun之間。

    當(dāng)子網(wǎng)140.252.1(稱作gemini)上的其他主機(jī)有一份IP數(shù)據(jù)報(bào)要傳給地址為140.252.1.29的sun時(shí),gemini比較網(wǎng)絡(luò)號(hào)(140.252)和子網(wǎng)號(hào)(1),因?yàn)樗鼈兌际窍嗤?#xff0c;因而在圖4-6上面的以太網(wǎng)中發(fā)送IP地址140.252.1.29的ARP請(qǐng)求。路由器netb識(shí)別出該IP地址屬于它的一個(gè)拔號(hào)主機(jī),于是把它的以太網(wǎng)接口地址140.252.1作為硬件地址來(lái)回答。主機(jī)gemini通過(guò)以太網(wǎng)發(fā)送IP數(shù)據(jù)報(bào)到netb,netb通過(guò)撥號(hào)SLIP鏈路把數(shù)據(jù)報(bào)轉(zhuǎn)發(fā)到sun。這個(gè)過(guò)程對(duì)于所有140.252.1子網(wǎng)上的主機(jī)來(lái)說(shuō)都是透明的,主機(jī)sun實(shí)際上是在路由器netb后面進(jìn)行配置的。

    44TCP/IP詳解,卷1:協(xié)議?

    圖4-6 ARP代理的例子

    如果在主機(jī)gemini上執(zhí)行arp命令,經(jīng)過(guò)與主機(jī)sun通信以后,我們發(fā)現(xiàn)在同一個(gè)子網(wǎng)140.252.1上的netb和sun的IP地址映射的硬件地址是相同的。這通常是使用委托ARP的線索。

    圖4-6中的另一個(gè)需要解釋的細(xì)節(jié)是在路由器netb的下方(SLIP鏈路)顯然缺少一個(gè)IP地址。為什么在撥號(hào)SLIP鏈路的兩端只擁有一個(gè)IP地址,而在bsdi和slip之間的兩端卻分別有一個(gè)IP地址?在3.8小節(jié)我們已經(jīng)指出,用ifconfig命令可以顯示撥號(hào)SLIP鏈路的目的地址,它是140.252.1.183。NetBlazer不需要知道撥號(hào)SLIP鏈路每一端的IP地址(這樣做會(huì)用更多的IP地址)。相反,它通過(guò)分組到達(dá)的串行線路接口來(lái)確定發(fā)送分組的撥號(hào)主機(jī),因此對(duì)于連接到路由器的每個(gè)撥號(hào)主機(jī)不需要用唯一的IP地址。所有的撥號(hào)主機(jī)使用同一個(gè)IP地址140.252.1.183作為SLIP鏈路的目的地址。

    ARP代理可以把數(shù)據(jù)報(bào)傳送到路由器sun上,但是子網(wǎng)140.252.13上的其他主機(jī)是如何處理的呢?選路必須使數(shù)據(jù)報(bào)能到達(dá)其他主機(jī)。這里需要特殊處理,選路表中的表項(xiàng)必須在網(wǎng)絡(luò)140.252的某個(gè)地方制定,使所有數(shù)據(jù)報(bào)的目的端要么是子網(wǎng)140.252.13,要么是子網(wǎng)上的某個(gè)主機(jī),這樣都指向路由器netb。而路由器netb知道如何把數(shù)據(jù)報(bào)傳到最終的目的端,即通過(guò)路由器sun。

    ARP代理也稱作混合ARP(promiscuousARP)或ARP出租(ARP hack)。這些名字來(lái)自于ARP代理的其他用途:通過(guò)兩個(gè)物理網(wǎng)絡(luò)之間的路由器可以互相隱藏物理網(wǎng)絡(luò)。在這種情況下,兩個(gè)物理網(wǎng)絡(luò)可以使用相同的網(wǎng)絡(luò)號(hào),只要把中間的路由器設(shè)置成一個(gè)ARP代理,以響應(yīng)一個(gè)網(wǎng)絡(luò)到另一個(gè)網(wǎng)絡(luò)主機(jī)的ARP請(qǐng)求。這種技術(shù)在過(guò)去用來(lái)隱藏一組在不同物理電纜上運(yùn)行舊版TCP/IP的主機(jī)。分開(kāi)這些舊主機(jī)有兩個(gè)共同的理由,其一是它們不能處理子網(wǎng)劃分,其二是它們使用舊的廣播地址(所有比特值為0的主機(jī)號(hào),而不是目前使用的所有比特值為1 的主機(jī)號(hào))。

    第4章 ARP:地址解析協(xié)議45?

    圖4-7 免費(fèi)ARP的例子

    (我們用-n選項(xiàng)運(yùn)行tcpdump命令,打印出點(diǎn)分十進(jìn)制的地址,而不是主機(jī)名)。對(duì)于ARP請(qǐng)求中的各字段來(lái)說(shuō),發(fā)送端的協(xié)議地址和目的端的協(xié)議地址是一致的:即主機(jī)bsdi的地址140.252.13.35。另外,以太網(wǎng)報(bào)頭中的源地址0:0:c0:6f:2d:40,正如tcpdump命令顯示的那樣,等于發(fā)送端的硬件地址(見(jiàn)圖4-4)。

    免費(fèi)ARP可以有兩個(gè)方面的作用:

  • 一個(gè)主機(jī)可以通過(guò)它來(lái)確定另一個(gè)主機(jī)是否設(shè)置了相同的IP地址。主機(jī)bsdi并不希望對(duì)此請(qǐng)求有一個(gè)回答。但是,如果收到一個(gè)回答,那么就會(huì)在終端日志上產(chǎn)生一個(gè)錯(cuò)誤消息“以太網(wǎng)地址:a:b:c:d:e:f發(fā)送來(lái)重復(fù)的IP地址”。這樣就可以警告系統(tǒng)管理員,某個(gè)系統(tǒng)有不正確的設(shè)置。
  • 如果發(fā)送免費(fèi)ARP的主機(jī)正好改變了硬件地址(很可能是主機(jī)關(guān)機(jī)了,并換了一塊接口卡,然后重新啟動(dòng)),那么這個(gè)分組就可以使其他主機(jī)高速緩存中舊的硬件地址進(jìn)行相應(yīng)的更新。一個(gè)比較著名的ARP協(xié)議事實(shí)[Plummer 1982]是,如果主機(jī)收到某個(gè)IP地址的ARP請(qǐng)求,而且它已經(jīng)在接收者的高速緩存中,那么就要用ARP請(qǐng)求中的發(fā)送端硬件地址(如以太網(wǎng)地址)對(duì)高速緩存中相應(yīng)的內(nèi)容進(jìn)行更新。主機(jī)接收到任何ARP請(qǐng)求都要完成這個(gè)操作(ARP請(qǐng)求是在網(wǎng)上廣播的,因此每次發(fā)送ARP請(qǐng)求時(shí)網(wǎng)絡(luò)上的所有主機(jī)都要這樣做)。
  • 文獻(xiàn)[Bhide、Elnozahy和Morgan 1991]中有一個(gè)應(yīng)用例子,通過(guò)發(fā)送含有備份硬件地址和故障服務(wù)器的IP地址的免費(fèi)ARP請(qǐng)求,使得備份文件服務(wù)器可以順利地接替故障服務(wù)器進(jìn)行工作。這使得所有目的地為故障服務(wù)器的報(bào)文都被送到備份服務(wù)器那里,客戶程序不用關(guān)心原來(lái)的服務(wù)器是否出了故障。

    ?

    不幸的是,作者卻反對(duì)這個(gè)做法,因?yàn)檫@取決于所有不同類型的客戶端都要有正確的ARP協(xié)議實(shí)現(xiàn)。他們顯然碰到過(guò)客戶端的ARP協(xié)議實(shí)現(xiàn)與規(guī)范不一致的情況。通過(guò)檢查作者所在子網(wǎng)上的所有系統(tǒng)可以發(fā)現(xiàn),SunOS 4.1.3和4.4 BSD在引導(dǎo)時(shí)都發(fā)送免費(fèi)ARP,但是SVR4卻沒(méi)有這樣做。

    ?

    4.8 arp命令

    我們已經(jīng)用過(guò)這個(gè)命令及參數(shù)-a來(lái)顯示ARP高速緩存中的所有內(nèi)容。這里介紹其他參數(shù)的功能。

    超級(jí)用戶可以用選項(xiàng)-d來(lái)刪除ARP高速緩存中的某一項(xiàng)內(nèi)容(這個(gè)命令格式可以在運(yùn)行一些例子之前使用,以讓我們看清楚ARP的交換過(guò)程)。

    46TCP/IP詳解,卷1:協(xié)議

    另外,可以通過(guò)選項(xiàng)-s來(lái)增加高速緩存中的內(nèi)容。這個(gè)參數(shù)需要主機(jī)名和以太網(wǎng)地址:對(duì)應(yīng)于主機(jī)名的IP地址和以太網(wǎng)地址被增加到高速緩存中。新增加的內(nèi)容是永久性的(比如,它沒(méi)有超時(shí)值),除非在命令行的末尾附上關(guān)鍵字temp。

    位于命令行末尾的關(guān)鍵字pub和-s選項(xiàng)一起,可以使系統(tǒng)起著主機(jī)ARP代理的作用。系統(tǒng)將回答與主機(jī)名對(duì)應(yīng)的IP地址的ARP請(qǐng)求,并以指定的以太網(wǎng)地址作為應(yīng)答。如果廣播的地址是系統(tǒng)本身,那么系統(tǒng)就為指定的主機(jī)名起著委托ARP代理的作用。

    4.9 小結(jié)

    在大多數(shù)的TCP/IP實(shí)現(xiàn)中,ARP是一個(gè)基礎(chǔ)協(xié)議,但是它的運(yùn)行對(duì)于應(yīng)用程序或系統(tǒng)管理員來(lái)說(shuō)一般是透明的。ARP高速緩存在它的運(yùn)行過(guò)程中非常關(guān)鍵,我們可以用arp命令對(duì)高速緩存進(jìn)行檢查和操作。高速緩存中的每一項(xiàng)內(nèi)容都有一個(gè)定時(shí)器,根據(jù)它來(lái)刪除不完整和完整的表項(xiàng)。arp命令可以顯示和修改ARP高速緩存中的內(nèi)容。

    我們介紹了ARP的一般操作,同時(shí)也介紹了一些特殊的功能:委托ARP(當(dāng)路由器對(duì)來(lái)自于另一個(gè)路由器接口的ARP請(qǐng)求進(jìn)行應(yīng)答時(shí))和免費(fèi)ARP(發(fā)送自己IP地址的ARP請(qǐng)求,一般發(fā)生在引導(dǎo)過(guò)程中)。

    習(xí)題

  • 當(dāng)輸入命令以生成類似圖4-4那樣的輸出時(shí),發(fā)現(xiàn)本地ARP快速緩存為空以后,輸入命令bsdi % rsh svr4 arp -a如果發(fā)現(xiàn)目的主機(jī)上的ARP快速緩存也是空的,那將發(fā)生什么情況?(該命令將在svr4主機(jī)上運(yùn)行arp -a命令)。
  • 請(qǐng)描述如何判斷一個(gè)給定主機(jī)是否能正確處理接收到的非必要的ARP請(qǐng)求的方法。
  • 由于發(fā)送一個(gè)數(shù)據(jù)包后ARP將等待響應(yīng),因此4.2節(jié)所描述的步驟7可能會(huì)持續(xù)一段時(shí)間。你認(rèn)為ARP將如何處理在這期間收到相同目的IP地址發(fā)來(lái)的多個(gè)數(shù)據(jù)包?
  • 在4.5節(jié)的最后,我們指出Host Requirements RFC和伯克利派生系統(tǒng)在處理活動(dòng)ARP表目的超時(shí)時(shí)存在差異。那么如果我們?cè)谝粋€(gè)由伯克利派生系統(tǒng)的客戶端上,試圖與一個(gè)正在更換以太網(wǎng)卡而處于關(guān)機(jī)狀態(tài)的服務(wù)器主機(jī)聯(lián)系,這時(shí)會(huì)發(fā)生什么情況?如果服務(wù)器在引導(dǎo)過(guò)程中廣播一份免費(fèi)ARP,這種情況是否會(huì)發(fā)生變化?
  • 文章同步發(fā)布:?https://www.geek-share.com/detail/2752945344.html

    ?

    《TCP/IP詳解 卷1:協(xié)議》在線整理版目錄導(dǎo)航

    • 第1章 概述
    • 第2章 鏈路層
    • 第3章 IP:網(wǎng)際協(xié)議
    • 第4章 ARP:地址解析協(xié)議
    • 第5章 RARP:逆地址解析協(xié)議
    • 第6章 ICMP:Internet控制報(bào)文協(xié)議
    • 第7章 Ping程序
    • 第8章 Traceroute程序
    • 第9章 IP選路
    • 第10章 動(dòng)態(tài)選路協(xié)議
    • 第11章 UDP:用戶數(shù)據(jù)報(bào)協(xié)議
    • 第12章 廣播和多播
    • 第13章 IGMP:Internet組管理協(xié)議
    • 第14章 DNS:域名系統(tǒng)
    • 第15章 TFTP:簡(jiǎn)單文件傳送協(xié)議
    • 第16章 BOOTP:引導(dǎo)程序協(xié)議
    • 第17章 TCP:傳輸控制協(xié)議
    • 第18章 TCP連接的建立與終止
    • 第19章 TCP的交互數(shù)據(jù)流
    • 第20章 TCP的成塊數(shù)據(jù)流
    • 第21章 TCP的超時(shí)與重傳
    • 第22章 TCP的堅(jiān)持定時(shí)器
    • 第23章 TCP的保活定時(shí)器
    • 第24章 TCP的未來(lái)和性能
    • 第25章 SNMP:簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議
    • 第26章 Telnet和Rlogin:遠(yuǎn)程登錄
    • 第27章 FTP:文件傳送協(xié)議
    • 第28章 SMTP:簡(jiǎn)單郵件傳送協(xié)議
    • 第29章 網(wǎng)絡(luò)文件系統(tǒng)
    • 第30章 其他的TCP/IP應(yīng)用程序
    • 附錄A tcpdump程序
    • 附錄B 計(jì)算機(jī)時(shí)鐘
    • 附錄C sock程序
    • 附錄D 部分習(xí)題的解答
    • 附錄E 配置選項(xiàng)
    • 附錄F 可以免費(fèi)獲得的源代碼
    • 參考文獻(xiàn)
    • 縮略語(yǔ)
    • 《TCP/IP詳解》學(xué)習(xí)筆記(一):基本概念
    • 《TCP/IP詳解》學(xué)習(xí)筆記(二):數(shù)據(jù)鏈路層
    • 《TCP/IP詳解》學(xué)習(xí)筆記(三):IP協(xié)議、ARP協(xié)議
    • 《TCP/IP詳解》學(xué)習(xí)筆記(四):ICMP 協(xié)議、ping 和 Traceroute
    • 《TCP/IP詳解》學(xué)習(xí)筆記(五):IP選路、動(dòng)態(tài)選路
    • 《TCP/IP詳解》學(xué)習(xí)筆記(六):UDP 協(xié)議
    • 《TCP/IP詳解》學(xué)習(xí)筆記(七):廣播和多播、IGMP協(xié)議
    • 《TCP/IP詳解》學(xué)習(xí)筆記(八):DNS 域名系統(tǒng)
    • 《TCP/IP詳解》學(xué)習(xí)筆記(九):TCP 協(xié)議概述
    • 《TCP/IP詳解》學(xué)習(xí)筆記(十):TCP 連接的建立與中止
    • 《TCP/IP詳解》學(xué)習(xí)筆記(十一):TCP 交互數(shù)據(jù)流、成塊數(shù)據(jù)流

    百度網(wǎng)盤(pán)下載地址:?https://pan.baidu.com/s/1G0vHiGbE_JV-M73HRCSjFA?

    轉(zhuǎn)載于:https://www.cnblogs.com/sohuhome/p/9956195.html

    總結(jié)

    以上是生活随笔為你收集整理的《TCP/IP详解 卷1:协议》第4章 ARP:地址解析协议的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。