1樓:匿名使用者
網路出現問題時,我們最常用的測試工具就是「ping」命令了。但有時候我們會碰到單方向ping通的現象,例如通過hub或一根交叉線連線的在同一個區域網內的電腦a、 b,在檢查它們之間的網路連通性時,發現從主機a ping 主機b正常而從主機b ping 主機a時,出現「超時無應答」錯誤。為什麼呢?
要知道這其中的奧祕,我們有必要來看看ping命令的工作過程到底是怎麼樣的。
假定主機a的ip地址是192.168.1.
1,主機b的ip地址是192.168.1.
2,都在同一子網內,則當你在主機a上執行「ping 192.168.1.
2」後,都發生了些什麼呢?
首先,ping命令會構建一個固定格式的icmp請求資料包,然後由icmp協議將這個資料包連同地址「192.168.1.
2」一起交給ip層協議(和icmp一樣,實際上是一組後臺執行的程序),ip層協議將以地址「192.168.1.
2」作為目的地址,本機ip地址作為源地址,加上一些其他的控制資訊,構建一個ip資料包,並在一個對映表中查詢出ip地址192.168.1.
2所對應的實體地址(也叫mac地址,熟悉網絡卡配置的朋友不會陌生,這是資料鏈路層協議構建資料鏈路層的傳輸單元——幀所必需的),一併交給資料鏈路層。後者構建一個資料幀,目的地址是ip層傳過來的實體地址,源地址則是本機的實體地址,還要附加上一些控制資訊,依據乙太網的介質訪問規則,將它們傳送出去。
主機b收到這個資料幀後,先檢查它的目的地址,並和本機的實體地址對比,如符合,則接收;否則丟棄。接收後檢查該資料幀,將ip資料包從幀中提取出來,交給本機的ip層協議。同樣,ip層檢查後,將有用的資訊提取後交給icmp協議,後者處理後,馬上構建一個icmp應答包,傳送給主機a,其過程和主機a傳送icmp請求包到主機b一模一樣。
從ping的工作過程,我們可以知道,主機a收到了主機b的一個應答包,說明兩臺主機之間的去、回通路均正常。也就是說,無論從主機a到主機b,還是從主機b到主機a,都是正常的。那麼,是什麼原因引起只能單方向ping通的呢?
一、安裝了個人防火牆
在共享上網的機器中,出於安全考慮,大部分作為伺服器的主機都安裝了個人防火牆軟體,而其他作為客戶機的機器則一般不安裝。幾乎所有的個人防火牆軟體,預設情況下是不允許其他機器ping本機的。一般的做法是將來自外部的icmp請求報文濾掉,但它卻對本機出去的icmp請求報文,以及來自外部的icmp應答報文不加任何限制。
這樣,從本機ping其他機器時,如果網路正常,就沒有問題。但如果從其他機器ping這臺機器,即使網路一切正常,也會出現「超時無應答」的錯誤。
大部分的單方向ping通現象源於此。解決的辦法也很簡單,根據你自己所用的不同型別的防火牆,調整相應的設定即可。
二、錯誤設定ip地址
正常情況下,一臺主機應該有一個網絡卡,一個ip地址,或多個網絡卡,多個ip地址(這些地址一定要處於不同的ip子網)。但對於在公共場所使用的電腦,特別是網咖,人多手雜,其中不泛有「探索者」。曾有一次兩臺電腦也出現了這種單方向ping通的情況,經過仔細檢查,發現其中一臺電腦的「撥號網路介面卡」(相當於一塊軟網絡卡)的tcp/ip設定中,設定了一個與網絡卡ip地址處於同一子網的ip地址,這樣,在ip層協議看來,這臺主機就有兩個不同的介面處於同一網段內。
當從這臺主機ping其他的機器時,會存在這樣的問題:
(1)主機不知道將資料包發到哪個網路介面,因為有兩個網路介面都連線在同一網段;
(2)主機不知道用哪個地址作為資料包的源地址。因此,從這臺主機去ping其他機器,ip層協議會無法處理,超時後,ping 就會給出一個「超時無應答」的錯誤資訊提示。但從其他主機ping這臺主機時,請求包從特定的網絡卡來,icmp只須簡單地將目的、源地址互換,並更改一些標誌即可,icmp應答包能順利發出,其他主機也就能成功ping通這臺機器了
2樓:匿名使用者
不斷地從記憶體中取出指令並執行指令的過程,將指令的首地址傳送給計數器pc,進入指令取指階段,然後進入執行階段執行指令。
3樓:聚興碳素
計算機程式就是計算機執行指令的一個序列。它既可以只是幾條執行某個簡單任務的指令,也可能是可能要操作巨大資料量的複雜指令佇列。許多計算機程式包含有百萬計的指令,而其中很多指令可能被反覆執行。
在2023年,一臺典型的pc機可以每秒執行大約30億條指令。計算機通常並不會執行一些很複雜的指令來獲得額外的機能,更多地它們是在按照程式設計師的排列來執行那些較簡單但為數眾多的短指令。所以計算機的工作過程實際就是執行程式的過程
計算機的工作過程,本質是什麼的過程
4樓:月照星空
計算機的工作過程,就是將編好的程式和原始資料,輸入並儲存在計算機的記憶體儲器中,然後計算機按照程式逐條取出指令加以分析,並執行指令規定的操作,這是現代計算機的基本工作原理。所以,計算機的工作過程本質是讀指令、解釋指令、執行指令。
的計算機程式語言是什麼,最新的計算機程式語言是什麼?
秒懂百科 計算機程式語言 用於人與計算機之間通訊的語言 計算機程式語言有幾種?都是什麼? 秒懂百科 計算機程式語言 用於人與計算機之間通訊的語言 考奕琛勤念 機器語言,cpu直接執行的語言,由0和1組成,通常不由人來編寫,而是有彙編工具或者高階語言編譯器生成 組合語言,開發工具包括masm,tasm...
計算機方面從事的工作有哪些,計算機是怎麼工作的?
瀧喬樂正飛翮 很多學it專業的年輕人,都會去選擇軟體這個行業,自以為拿到了一些證書,就有能力去勝任相關的崗位了,其實仔細研究不難發現,真正就這樣求職成功的人是比較少的,很明顯,有證書並不代表就一定具備勝任相關崗位的技能了,畢竟現在it證書的含金量真的是越來越不受企業的認同了,況且光憑書本知識,沒有實...
未來的計算機是什麼樣,未來的計算機是什麼樣子的??
涵夢馨 基於積體電路的計算機短期內還不會退出歷史舞臺。但一些新的計算機正在躍躍欲試地加緊研究,這些計算機是 超導計算機 奈米計算機 光計算機 dna計算機和量子計算機等。1.超導計算機 晶片的整合度越高,計算機的體積越小,這樣才不致因訊號傳輸而降低整機速度。但這樣一來就使機器發熱嚴重。解決問題的出路...