歡迎來(lái)到 常識(shí)詞典網(wǎng) , 一個(gè)專業(yè)的常識(shí)知識(shí)學(xué)習(xí)網(wǎng)站!
[ Ctrl + D 鍵 ]收藏本站
答案 1:
-地址不能用于直接的通信,這是因?yàn)?地址是抽象的網(wǎng)絡(luò)層地址,不是物理地址以Ping命令為例,實(shí)際通信過(guò)程如下A和B要發(fā)送的人在同一個(gè)網(wǎng)段
首先,Ping命令會(huì)構(gòu)建一個(gè)固定格式的ICMP請(qǐng)求數(shù)據(jù)包,然后由ICMP協(xié)議將這個(gè)數(shù)據(jù)包連同-地址一起交給-層協(xié)議(和ICMP一樣,實(shí)際上是一組后臺(tái)運(yùn)行的進(jìn)程),-層協(xié)議將以-地址作為目的地址,本機(jī)-地址作為源地址,加上一些其他的控制信息,構(gòu)建一個(gè)-數(shù)據(jù)包,并想辦法得到與-地址對(duì)應(yīng)的MAC地址(Media Access Control介質(zhì)訪問(wèn)控制地址,以太網(wǎng)的物理地址,每一個(gè)網(wǎng)卡會(huì)有一個(gè)全球唯一固定的MAC地址例如:00-23-5A-15-99-42),以便交給數(shù)據(jù)鏈路層構(gòu)建一個(gè)數(shù)據(jù)幀。關(guān)鍵就在這里,-層協(xié)議通過(guò)機(jī)器B的-地址和自己的子網(wǎng)掩碼,發(fā)現(xiàn)它跟自己屬同一網(wǎng)絡(luò),就直接在本網(wǎng)絡(luò)內(nèi)查找這臺(tái)機(jī)器的MAC,如果以前兩機(jī)有過(guò)通信,在A機(jī)的ARP(地址映射協(xié)議,將-地址轉(zhuǎn)化為MAC地址)緩存表可能會(huì)有B機(jī)-與其MAC的映射關(guān)系,如果沒(méi)有,就發(fā)一個(gè)ARP請(qǐng)求廣播(向本網(wǎng)內(nèi)所有主機(jī)發(fā)送)“x.x.x.x的MAC地址是什么”,這個(gè)廣播所有主機(jī)都能收到,但是只有B才回應(yīng),發(fā)送自己的MAC地址,得到B機(jī)的MAC,一并交給數(shù)據(jù)鏈路層。后者構(gòu)建一個(gè)數(shù)據(jù)幀,目的地址是-層傳過(guò)來(lái)的物理地址,源地址則是本機(jī)的物理地址,還要附加上一些控制信息,依據(jù)以太網(wǎng)的介質(zhì)訪問(wèn)規(guī)則,將它們傳送出去?! ≈鳈C(jī)B收到這個(gè)數(shù)據(jù)幀后,先檢查它的目的地址,并和本機(jī)的物理地址對(duì)比,如符合,則接收;否則丟棄。接收后檢查該數(shù)據(jù)幀,將-數(shù)據(jù)包從幀中提取出來(lái),交給本機(jī)的-層協(xié)議。同樣,-層檢查后,將有用的信息提取后交給ICMP協(xié)議,后者處理后,馬上構(gòu)建一個(gè)ICMP應(yīng)答包,發(fā)送給主機(jī)A,其過(guò)程和主機(jī)A發(fā)送ICMP請(qǐng)求包到主機(jī)B一模一樣。A和B不在同一網(wǎng)段內(nèi)
在主機(jī)A上運(yùn)行“Ping 8.8.8.8”后,開始跟上面一樣,到了怎樣得到MAC地址時(shí),-協(xié)議通過(guò)計(jì)算發(fā)現(xiàn)D機(jī)與自己不在同一網(wǎng)段內(nèi)(子網(wǎng)掩碼的計(jì)算),就直接將交由路由處理,也就是將路由的MAC取過(guò)來(lái)(路由器-已知),這被稱作代理ARP,至于怎樣得到路由的MAC,跟1一樣,先在ARP緩存表找,沒(méi)有就廣播。路由得到這個(gè)數(shù)據(jù)幀后,再跟主機(jī)B進(jìn)行聯(lián)系。對(duì)路由器來(lái)說(shuō),他收到目的-地址后動(dòng)作如下路由器的某一個(gè)接口接收到一個(gè)數(shù)據(jù)包時(shí),會(huì)查看包中的目標(biāo)網(wǎng)絡(luò)地址以判斷該包的目的地址在當(dāng)前的路由表中是否存在(即路由器是否知道到達(dá)目標(biāo)網(wǎng)絡(luò)的路徑)。如果發(fā)現(xiàn)包的目標(biāo)地址與本路由器的某個(gè)接口所連接的網(wǎng)絡(luò)地址相同,那么馬上數(shù)據(jù)轉(zhuǎn)發(fā)到相應(yīng)接口;如果發(fā)現(xiàn)包的目標(biāo)地址不是自己的直連網(wǎng)段,路由器會(huì)查看自己的路由表,查找包的目的網(wǎng)絡(luò)所對(duì)應(yīng)的接口,并從相應(yīng)的接口轉(zhuǎn)發(fā)出去;如果路由表中記錄的網(wǎng)絡(luò)地址與包的目標(biāo)地址不匹配,則根據(jù)路由器配置轉(zhuǎn)發(fā)到默認(rèn)接口,在沒(méi)有配置默認(rèn)接口的情況下會(huì)給用戶返回目標(biāo)地址不可達(dá)的 ICMP 信息。 如此層層查找,直到將消息轉(zhuǎn)發(fā)到目的地。 而對(duì)主機(jī)來(lái)說(shuō),其中的過(guò)程都由網(wǎng)絡(luò)設(shè)備完成,主機(jī)只要將數(shù)據(jù)發(fā)送到自己的-,剩下的事情就交給網(wǎng)絡(luò)設(shè)備了。PS:8.8.8.8是GOOGLE提供的免費(fèi)DNS服務(wù)器地址擴(kuò)展:
OSI七層模型:baike.baidu/view... TCP/-協(xié)議:baike.baidu/view... -地址:baike.baidu/view... ICMP:baike.baidu/view... DNS:baike.baidu/view...答案 2:
通過(guò)運(yùn)營(yíng)商的路由器把tcp包一級(jí)一級(jí)向上遞歸,直到有路由器的路由表中保存有這個(gè)ip,然后8.8.8.8返回tcp包,順著接受路徑返回到你的主機(jī)。答案 3:
一臺(tái)主機(jī)的應(yīng)用層產(chǎn)生要發(fā)送的數(shù)據(jù),然后傳給下層,會(huì)晤層,網(wǎng)絡(luò)層,數(shù)據(jù)鏈路層,物理層等,具體去看iso制定的osi 7層網(wǎng)絡(luò)模型。中間某層使用的協(xié)議是TCP或者UDP,下一層是-,要發(fā)送的信息,層層封裝,通過(guò)ip來(lái)確定接受主機(jī)的信息,繼續(xù)向下,變成比特流,通過(guò)電路進(jìn)行傳輸,中間經(jīng)過(guò)路由器,路由器一般認(rèn)為三層,層層向上進(jìn)行處理,然后又下來(lái),繼續(xù)發(fā)送,中間查了路由表,確定下一步送往哪里。(此處還涉及路由表的各種算法)最后傳到接受主機(jī)的物理層,層層向上處理,解封裝,最后整理成應(yīng)用程序需要的數(shù)據(jù),交給應(yīng)用層。簡(jiǎn)單來(lái)說(shuō),就是,產(chǎn)生數(shù)據(jù),傳給路由器,路由器根據(jù)路由表和路由算法,確定該把這個(gè)包送向哪里,然后送過(guò)去,一點(diǎn)點(diǎn)的送到接受主機(jī)。具體的過(guò)程看下通信網(wǎng)相關(guān)文獻(xiàn)吧。具體的東西記不大得了。剛看到具體的提問(wèn),補(bǔ)充說(shuō)下。簡(jiǎn)單說(shuō),路由器通過(guò)查詢路由表,確定8。8。8。8在哪里。具體點(diǎn)的給你幾個(gè)概念,你自己去看,ip分為class A class B??等等,網(wǎng)絡(luò)中路由器有路由表(他們有自己的算法進(jìn)行更新,具體參閱communication networks),路由表里面寫明了哪個(gè)地址應(yīng)該送到哪里去,這里涉及很多東西。一兩句說(shuō)不清楚??答案 4:
簡(jiǎn)單的來(lái)說(shuō),首先查找本機(jī)的路由表,但路由表不會(huì)告訴你到達(dá)目的-地址的完整路徑,只會(huì)告訴你下一跳是哪個(gè)地址,哪個(gè)出口,到達(dá)下一跳以后繼續(xù)重復(fù)上面的查找路由表的動(dòng)作,直到到達(dá)目的-地址。打個(gè)比方來(lái)說(shuō),你找警察問(wèn)路,但這個(gè)警察并不告訴你一條完整的路,而是告訴你你先走到下一個(gè)路口,然后那邊有個(gè)警察,你再繼續(xù)問(wèn)下一個(gè)警察。。。答案 5:
看上面講的基本都不太準(zhǔn)確。 互聯(lián)網(wǎng)上的路由器是網(wǎng)狀的而非樹狀的,他們依靠路由協(xié)議互相交換信息。比如一個(gè)簡(jiǎn)單的A-B-C網(wǎng)絡(luò),A會(huì)發(fā)出信息通知自己相鄰的路由器B告知自己的存在,B會(huì)發(fā)信息告知C自己的存在,以及隔一跳還有一個(gè)A。于是,當(dāng)C需要發(fā)給A的時(shí)候,查一下路由表,就知道要從這個(gè)端口發(fā)往B,而B收到后,查一下路由表,就知道由左邊的端口發(fā)往A。 A-B | | C-D 如果是這樣一個(gè)菱形的網(wǎng)絡(luò),A會(huì)通知B和C,B和C再通知D自己的存在,以及他們都隔一跳可以到達(dá)A,于是D給A發(fā)信息的時(shí)候,可以隨機(jī)選擇兩條路中的一條發(fā)過(guò)去。 當(dāng)然,現(xiàn)實(shí)中的還有更多復(fù)雜的東西,比如上一個(gè)菱形網(wǎng)絡(luò),每條線路可以計(jì)算線路容量,如果D到C只有1M,到B有100M,那么優(yōu)先選擇走B線路到A。另外還有自治系統(tǒng)AS之類的,就不多說(shuō)了。 由于你在一個(gè)局域網(wǎng)內(nèi),用route PRINT打印出來(lái)的路由表通常只包括局域網(wǎng)內(nèi)的直接發(fā)到網(wǎng)卡,其他的全都發(fā)到默認(rèn)-。數(shù)據(jù)包到了-后再通過(guò)ADSL到電信的網(wǎng)絡(luò)里,就可以在整個(gè)互聯(lián)網(wǎng)內(nèi)轉(zhuǎn)悠,找到最優(yōu)的路徑到達(dá)目標(biāo)-。通過(guò)tracert命令可以看到所有經(jīng)過(guò)的路由器。 多次使用tracert 8.8.8.8命令,然后比較了結(jié)果,可以看到我這里經(jīng)過(guò)14跳可以到達(dá)這個(gè)-。另外,最后一跳的-地址在216.239.48.230~216.239.48.239之間變動(dòng),這就是通過(guò)路由表實(shí)現(xiàn)的負(fù)載均衡了。下一篇:哪里能夠找到關(guān)于國(guó)家組織結(jié)構(gòu)的書或者資料? 下一篇 【方向鍵 ( → )下一篇】
上一篇:優(yōu)質(zhì)靠譜兒?jiǎn)紊砼渭夼嗄赀@個(gè)物種到底存在么?哪兒有? 上一篇 【方向鍵 ( ← )上一篇】
快搜