現在還不知道該發往哪,所以需要dns協議將網域名稱解析為對應的ip位址
填充tcp協議頭,tcp裡面有首部長度,源埠號,目的埠號,還有標誌位,比如syn,ack等,序列號,確認序列號,視窗大小等一些資訊,但是tcp在傳輸之前需要先建立連線,需要進行三次握手:
填充ip協議頭,包括版本號,首部長度,源ip號,目的ip號等一些資訊,如果有多個網絡卡,那就根據路由表,將目的ip跟每個ip的子網掩碼按位與來決定哪個作為源ip,然後填充完ip協議頭。
因為要傳輸,必須還得要知道目的ip的mac位址,就檢視arp快取表,如果能查到就直接填充,如果查不到,就以廣播的形式給同乙個鏈路中的每個主機發個廣播,收到廣播的主機如果發現ip跟自己的ip不一樣就會直接丟棄,如果一樣就知道請求的是自己的mac位址,就將自己的mac位址返回,然後更新自己的arp快取表,填充目的mac,還需要加上資料幀,來表示從哪個地方開始,填充幀頭完畢。
還需要將數碼訊號裝換為電訊號,才能開始傳輸。
交換機收到資料報後,檢視自己的mac位址轉換表,檢視應該從哪個埠發出去,如果能查到就傳送,如果查不到就給除了源埠之外的每個埠都傳送,只有相對應的主機才會接收,其它主機一看不是發給自己的就直接丟棄。
路由器根據路由表檢視自己能不能直接送達,如果能直接送達就送達,如果不能直接送達,那就發給下乙個路由器,就這樣一跳一跳。
目的主機收到後,先檢視mac位址是不是自己的,如果是就接收,然後檢視ip是不是自己的ip,如果是就交給上層,根據埠號,交給相應的程序,然後應用層再返回客戶端的請求,再封裝,將資料報返回。
客戶端收到後,瀏覽器再解析成網頁
傳送完後,還需要四次揮手來斷開連線。
輸入URL之後,敲回車會發生什麼?
輸入乙個url就是傳送乙個http請求 只有知道ip位址才能和伺服器建立連線,所以需要進行網域名稱解析 網域名稱解析是先去本地檢視有沒有ip位址,如果沒有dns就會將請求傳送給自己的預設閘道器,預設閘道器找到ip位址之後將ip返回給主機。主機拿到ip位址,因為http是基於tcp的,tcp需要建立連...
瀏覽器輸入url會發生什麼
第一步 瀏覽器輸入網域名稱 例如輸入 www.csdn.ne 瀏覽器會把輸入的網域名稱解析成對應的ip,其過程如下 3.查詢路由器快取 如果1,2步都查詢無果,則需要借助網路,路由器一般都有自己的dns快取,將前面的請求發給路由器,查詢isp 服務商快取 dns的伺服器,如果查詢到ip則直接返回,沒...
在瀏覽器中輸入URL後會發生什麼
url 全名叫統一資源定位符,uniform resource locator,俗稱 字面上來理解,它就是用來定位資源的。相當於圖書上面的標籤,有了這些標籤,管理員可以很快的找到相應的圖書。乙個完整的url包括以下資訊 協議,ip位址,路徑,埠號 其實大概分為十步,分別是 第一步 進行網域名稱解析 ...