OSI案例詳解 ARP DNS

2022-01-20 13:41:08 字數 2703 閱讀 7866

案例,**買東西

dns(走的udp)

網域名稱的作用其實就是相對ip位址來說更好記憶和識別,dns就是根據網域名稱解析出ip

一次請求,dns解析的過程

1.在瀏覽器輸入乙個網域名稱,作業系統首先會檢查自己的本地hosts檔案是否存在這個網域名稱的對映關係,如果有就解析完成

2.如果1沒有對應的關係,然後就會去配置的伺服器找

3.最後到根dns伺服器去尋找,就算這個dns不知道ip位址,但是它會告訴你哪一台知道,最後把結果返回(全球只有13臺根dns伺服器,9臺美國,亞洲只有日本有一台)

為啥只有13臺?

因為udp乙個包一般為512位元組,剛好能放下13個根位址

dns配置

網域名稱-ipv4 a記錄

網域名稱-ipv6 aaaa記錄

網域名稱-網域名稱 cname

網域名稱-url url

網域名稱-文字 txt

arp協議

arp在資料傳輸中起著非常重要的作用,它在資料鏈路層中起作用

常見問題,資料怎麼知道傳送的ip位址?

這個問題其實很普通,資料傳送的時候是肯定知道對方的ip位址的,只是我們傳送資料的時候我們看不見而已,他是傳送資料的乙個重要的基礎

資料怎麼知道傳送的mac位址?

這個問題就比較高階一點了,我們知道資料傳輸其實真正起作用的是mac位址,怎麼知道對方的mac位址呢,其實這就是arp協議在做的工作

工作過程

分兩種,一種是在同乙個網段(廣播域),還有一種是在不同網段

當資料到達資料鏈路層層

同一網段

資料鏈路層的功能就是填源mac和目標mac,其實到這一步計算機就會判斷目標ip是不是在乙個網段,是的話就去本機的mac表找有沒有目標ip的mac位址,沒有的話,就把mac位址填ffffffff,傳送廣播,接收到的機器拿出目標ip位址判斷,如果是自己就返回響應

不同網段

如果計算出不是乙個網段的,那麼目標mac位址就直接填寫閘道器的mac位址,資料傳送到閘道器,mac位址就換成下一站的mac位址,直到找到目標的機器的網段的閘道器,最後閘道器傳送乙個類似上面的包找到目標機器

應用層 dns,http,https

1.我們在瀏覽器輸入**,然後按下回車

2.瀏覽器並不知道這個url的具體地點,它會去作為位址簿協議的dns去查詢,最終返回**伺服器的ip位址,假如為122.123.34.21

3.瀏覽器知道了目標位址,就會開始打包它的請求,對於普通的瀏覽請求,通常會使用http協議,但是對於購物等私密性比較重要的請求,選擇了https加密的協議,給資料加上了http頭

4.將請求資料打包,然後交給下一層傳輸層

傳輸層在應用層和傳輸層之間,抽象出來了一層socket層,socket層相當於把傳輸層封裝了一下,把tcp/ip層複雜的操作抽象成了幾個簡單的介面提供給應用層使用。

1.資料進入傳輸層,傳輸層有兩種協議,一種是無連線協議udp和面向連線的協議tcp,因為tcp是可靠的協議,所以選擇了tcp協議,tcp協議裡面有兩個埠,乙個是自己的瀏覽器埠,還有乙個是**應用的埠,於是給資料加上了tcp頭

2.傳輸層資料封裝完畢,交給下一層網路層

網路層1.網路層的協議是ip協議,ip協議中有瀏覽器的ip和**伺服器的ip

2.給資料加上ip頭,交給下一層資料鏈路層

資料鏈路層

1.既然知道了目的ip位址,就會想如何找到目標機器,通過判斷ip位址判斷,這台機器是區域網中的還是外網的,如果是外網的話就會去問路由器中的閘道器。

2.預設的閘道器的ip位址是192.168.1.1,在區域網中廣播的方式,找誰是192.168.1.1,閘道器就會回答他,並告訴他閘道器的mac位址(通過ip找mac位址的過程就是arp協議,位址解析協議)

3.既然知道了閘道器的mac位址,就給資料加上了mac頭,接下來就可以交給物理層傳輸了

物理層傳輸資料

傳輸過程

1.資料終於從電腦出發了,首先它經過了交換機,交換機,交換機問資料你去哪呀,資料回答,找乙個閘道器的mac位址,交換機知道了,就告訴他怎麼走

2.找到了閘道器,閘道器一般是路由器,路由器問資料你去哪呀,資料拿出了**的ip,說,你看,我要去這裡,路由器回答說哦,去這裡,先去路由器b吧,他會告訴你接下來怎麼走的(路由器之間也經常溝通,知道怎麼走,這種溝通就是路由協議,有ospf開放式最短路徑優先和bgp邊界閘道器協議)

3.最後終於到了最後乙個路由器,路由器就會向某乙個網路廣播,資料找到交換機問,誰是**伺服器,**伺服器收到後,回覆乙個帶mac位址的資料,最後成功找到了**伺服器

4.目標伺服器發現mac位址對上了,就脫下mac頭,ip也對上了,脫下了ip頭,然後就是tcp頭了,把資料交給傳輸層,由於是tcp協議,每收到乙個資料都會告訴傳送者,我收到了,不然的話,傳送者會一直傳送沒有響應的資料的。最後根據埠號,把資料交給監聽這個埠的程序。

5.終於到達了程序,這時候就剩下一層http頭了,通過解析**程序知道傳送者要買東西了,於是運算元據庫等,最後返回乙個響應。

6.最後,傳送者的瀏覽器,彈出了購買成功,他開心的流出了眼淚!

自己學習總結,部分來自極客邦

OSI參考模型詳解

1.協議的分層 iso在制定標準化osi之前,對網路體系結構相關的問題進行了充分的討論,最終提出了作為通訊協議設計指標的osi 參考模型。這一模型將通訊協議中必要的功能分成7層。通過這些分層,使得那些比較複雜的網路協議更加簡單化。2.osi參考模型 2 osi協議與osi參考模型 osi協議是為了讓...

OSI參考模型詳解

一.osi osi open system interconnection 開發式系統互連,一般稱為osi參考模型 1.作用 首先明確一點osi參考模型是由iso 國際標準化組織 研究發布的,目的就是推薦所有的公司都使用 這個規範來控制網路,克服使用眾多私有網路模型所帶來的困難和低效性,以實現網路的...

C namespace案例詳解

在c 語言編寫的程式中,變數和函式等的作用範圍是有一定限制的。比如,在函式體中定義的乙個臨時變數就不可以在函式體外使用。為了解決變數和函式等的作用範圍,在c 語言中引入了名空間的概念,並增加了關鍵字namespace和using 在乙個名空間中可以定義一組變數和函式,這些變數和函式的作用範圍一致,可...