利用http協議在網際網路上通訊時,資料是非加密傳輸的。資料可能被其他人截獲,造成資訊洩露。為了解決此問題,需要加密。加密有兩種方式,一種是對稱加密,一種是非對稱加密。
在對稱加密演算法中,加密和解密對應的秘鑰是相同的。要保證安全的話,對稱加密的秘鑰不能洩露,必須保密。非對稱加密演算法的加密秘鑰和解密秘鑰是不同的,一種是公開的公鑰,一種是誰都不能給的私鑰。公鑰加密的資訊,只有私鑰才能解密;私鑰加密的資訊,只有公鑰才能解密。對稱加密演算法的效率比非對稱加密演算法的效率要高很多,效能也好,在互動的情況下使用對稱加密。
對於https協議,對稱加密的秘鑰是通過非對稱加密傳輸的,真正資料傳輸的時候用到的是對稱加密。
http通訊過程:
traceroute利用icmp的規則,故意製造一些能夠產生錯誤的場景。
traceroute的引數指向某個目的ip位址,它會傳送乙個udp的資料報,將ttl設定為1。也就是說當它遇到乙個路由器,就表示它「犧牲」了。於是返回乙個icmp包,型別是時間超時。接下來,將ttl設定為2,第一關過了,第二關「犧牲」了。如此反覆,直到到達目的主機。這樣,traceroute就拿到了所有的路由器ip。
怎麼直到udp有沒有到達主機呢?traceroute程式會傳送乙份udp資料報該目的主機,但它會選擇乙個不可能的值作為udp埠號(大於30000),當該資料報到達時,將使目的主機產生乙個「埠不可達」錯誤icmp報文。如果資料沒有到達,則可能是超時。這就相當於派人去西天取道德經,結果被人給打回來了。被打的訊息傳來,這樣就知道西天是可以到達的。
要做的工作首先是傳送分組,並設定「不分片」標誌,傳送第乙個分組的長度正好與出口mtu相等。如果中間遇到窄的關口被卡住了,會傳送icmp網路差錯包,。每當收到icmp「不能分片」差錯時就減少分組的長度,直到到達目的主機。
ttl(time to live):ttl是生存時間的意思,就是說這個ping資料報能在網路上生存多長時間。當我們對網路上的主機進行ping操作的時候,我們本地機器傳送乙個資料報,資料報經過一定數量的路由器傳送到目的主機。但是由於很多原因一些資料報不能傳送到目的主機,這些資料如果不丟棄的話就會一直存在在網路上,導致網路開銷過大。當設定了ttl後,當資料報傳送到乙個路由器之後,ttl就自動減1,如果減為0還沒傳送到目的主機,那麼就自動丟失。
ip位址型別
最初設計網際網路絡時,為了便於定址以及層次化構造網路,每個ip位址包括兩個標識碼(id),即網路id和主機id。同乙個物理網路上的所有主機都使用同乙個網路id,網路上的乙個主機(包括網路上工作站,伺服器和路由器等)有乙個主機id與其對應。ip位址根據網路id的不同分為5種型別,a類位址、b類位址、c類位址、d類位址和e類位址。
乙個a類ip位址由1位元組的網路位址和3位元組主機位址組成,網路位址的最高位必須是「0」, 位址範圍從1.0.0.0 到126.0.0.0。可用的a類網路有126個,每個網路能容納1億多個主機。
乙個b類ip位址由2個位元組的網路位址和2個位元組的主機位址組成,網路位址的最高位必須是「10」,位址範圍從128.0.0.0到191.255.255.255。可用的b類網路有16382個,每個網路能容納6萬多個主機 。
乙個c類ip位址由3位元組的網路位址和1位元組的主機位址組成,網路位址的最高位必須是「110」。範圍從192.0.0.0到223.255.255.255。c類網路可達209萬餘個,每個網路能容納254個主機。
ip位址 [1] 分為5類,其中a,b,c三類中各保留了3個區域作為私網位址,也就是區域網用的,私網位址不能在公網上出現,只能用在內部網路中,所有的路由器都不能傳送目標位址為私網位址的資料報。
使用私網保留位址的網路只能在內部進行通訊,而不能與其他網路互連。因為本網路中的保留位址同樣也可能被其他網路使用,如果進行網路互連,那麼尋找路由時就會因為位址的不唯一而出現問題。
(1) 瀏覽器獲取輸入的網域名稱www.baidu.com
(2) 瀏覽器向dns請求解析www.baidu.com的ip位址
(4) 瀏覽器與該伺服器建立tcp連線(預設埠號80)
(6) 伺服器通過http響應把首頁檔案傳送給瀏覽器
(7) tcp連線釋放
(8) 瀏覽器將首頁檔案進行解析,並將web頁顯示給使用者。
涉及到的協議
(1) 應用層:http(www訪問協議),dns(網域名稱解析服務)
(2) 傳輸層:tcp(為http提供可靠的資料傳輸),udp(dns使用udp傳輸)
dns解析流程:
電腦客戶端發出乙個dns請求,發給本地網域名稱伺服器,問www.baidu.com的ip是啥。
本地網域名稱伺服器收到客戶端的請求,在快取中查詢,如果找到了,則返回ip位址。如果沒有找到,本地dns會去問它的根網域名稱伺服器。
根dns收到來自本地dns的請求,發現是.com,返回它的頂級網域名稱伺服器的位址。
本地dns轉向去問頂級網域名稱伺服器,頂級網域名稱伺服器返回權威dns伺服器ip位址。
本地dns轉向去問權威網域名稱伺服器位址,權威網域名稱伺服器查詢後將對應的ip位址告訴本地dns。
本地dns再將ip位址返回給客戶端,客戶端和目標建立連線。
計算機網路複習
tcp 是面向連線的協議。每乙個 tcp 連線有三個階段 連線建立 資料傳送 連線釋放。每一條 tcp 連線有兩個端點。tcp 連線到埠叫做套接字 socket 或插口。埠拼接到 ip 位址即構成了套接字。每一條 tcp 連線唯一地被通訊兩端的兩個端點 即兩個套接字 所確定 主動發起連線建立的應用程...
計算機網路複習
1.osi rm引數模型與計算機網路體系結構 osi rm引數模型從上到下依次為應用層 表示層 會話層 傳輸層 網路層 資料鏈路層 物理層。1 物理層 最底層最基礎的一層,只負責傳輸0,1二進位制位元流,不考慮資訊的意義和資訊的結構。物理層網路裝置 網絡卡 2 資料鏈路層 負責將上層資料封裝成幀,傳...
計算機網路複習
使用tcp協議,預設埠80 http狀態碼 使用udp協議,dns預設埠53,負責網域名稱轉換為ip位址。如果直接訪問ip位址,不會使用dns協議。郵件協議 pop3 imap 使用tcp協議,埠21 面向位元組流 mtu 鏈路層幀最大傳輸單位,1518b mss 最大報文段大小 實際是應用層 15...