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