ping的工作流程
我們以下面乙個網路為例:有a、b、
c、d四台機子,一台路由
ra,子網掩碼均為
255.255.255.0
,預設路由為
192.168.0.1 [1]
1.在同一網段內
在主機a上執行「
ping 192.168.0.5
」後,都發生了些什麼呢
? 首先,
ping
命令會構建乙個固定格式的
icmp
請求資料報,然後由
icmp
協議將這個資料報連同位址「
192.168.0.5
」一起交給
ip層協議(和
icmp
一樣,實際上是一組後台執行的程序),
ip層協議將以位址「
192.168.0.5
」作為目的位址,本機
ipip
資料報,並想辦法得到
192.168.0.5
的mac
位址(實體地址,這是資料鏈路層協議構建資料鏈路層的傳輸單元——幀所必需的),以便交給資料鏈路層構建乙個資料幀。關鍵就在這裡,
ip層協議通過機器b的
ip位址和自己的子網掩碼,發現它跟自己屬同一網路,就直接在本網路內查詢這台機器的
mac,
如果以前兩機有過通訊,在a機的
arp快取表應該有b機
ip與其
mac的對映關係,如果沒有,就發乙個
arp請求廣播,得到b機的
mac,
一併交給資料鏈路層。後者構建乙個資料幀,目的位址是ip
主機b收到這個資料幀後,先檢查它的目的位址,並和本機的實體地址對比,如符合,則接收;否則丟棄。接收後檢查該資料幀,將
ip資料報從幀中提取出來,交給本機的
ip層協議。同樣,
ip層檢查後,將有用的資訊提取後交給
icmp
協議,後者處理後,馬上構建乙個
icmp
應答包,傳送給主機
a,其過程和主機a傳送
icmp
請求包到主機
b一模一樣。
2.不在同一網段內
在主機a上執行「
ping 192.168.1.4
」後,開始跟上面一樣,到了怎樣得到
mac位址時,
ip協議通過計算發現
d機與自己不在同一網段內,就直接將交由路由處理,也就是將路由的
mac取過來,至於怎樣得到路由的
mac,跟上面一樣,先在
arp快取表找,找不到就廣播吧。路由得到這個資料幀後,再跟主機
d進行聯絡,如果找不到,就向主機
a返回乙個超時的資訊。
DHCP的工作流程
1.dhcp 協議簡介 dhcp 全稱是 dynamic host configuration protocol 中文名為動態主機配置協議,它的前身是 bootp 它工作在 osi的應用層,是一種幫助計算機從指定的 dhcp 伺服器獲取它們的配置資訊的自舉協議。dhcp 使用客戶端 伺服器模式,請求...
Struts的工作流程
當actionservlet接受到乙個客戶請求時,將執行如下流程。流程 2 如果actionform例項不存在,就建立乙個actionform物件,把客戶提交的表單資料儲存到actionform物件中。3 根據配置資訊決定是否需要表單驗證。如果需要驗證,就呼叫actionform的validate ...
struts的工作流程!
已經開始接觸到框架了,今天是學習struts的第一天,感覺有點小暈!和周圍同學了解到以後工作可能會用的很少,哎!既然學了就好好搞懂吧!struts是一種組建,是實現web中一些 和結構的軟體。現在學的是struts1.2版本,struts是基於mvc的,有乙個actionservlet,客戶端的所以...