面試中網路相關題目

weixin_33935777發表於2017-05-06

http、https協議區別
https協議需要到ca申請證書,一般免費證書較少,因而需要一定費用。
http是超文字傳輸協議,資訊是明文傳輸,https 則是具有安全性的ssl加密傳輸協議。
http和https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。
http的連線很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全。


https加密過程:
http://www.mahaixiang.cn/internet/1233.html
自己簡述:
客戶端在瀏覽器中輸入一個https網址,然後連線到server的443埠
採用https協議的server必須有一套數字證書(一套公鑰和金鑰)
首先server將證書(公鑰)傳送到客戶端
客戶端解析證書,驗證成功,則生成一個隨機數(私鑰),並用證書將該隨機數加密後傳回server
server用金鑰解密後,獲得這個隨機值,然後將要傳輸的資訊和私鑰通過某種演算法混合在一起(加密)傳到客戶端
客戶端用之前的生成的隨機數(私鑰)解密伺服器端傳來的資訊


TCP、UDP區別
1、TCP面向連線(如打電話要先撥號建立連線);UDP是無連線的,即傳送資料之前不需要建立連線
2、TCP提供可靠的服務。也就是說,通過TCP連線傳送的資料,無差錯,不丟失,不重複,且按序到達;UDP盡最大努力交付,即不保證可靠交付
3、TCP面向位元組流,實際上是TCP把資料看成一連串無結構的位元組流;UDP是面向報文的
UDP沒有擁塞控制,因此網路出現擁塞不會使源主機的傳送速率降低(對實時應用很有用,如IP電話,實時視訊會議等)
4、每一條TCP連線只能是點到點的;UDP支援一對一,一對多,多對一和多對多的互動通訊
5、TCP首部開銷20位元組;UDP的首部開銷小,只有8個位元組
6、TCP的邏輯通訊通道是全雙工的可靠通道,UDP則是不可靠通道
總結:
TCP:面向連線、傳輸可靠(保證資料正確性,保證資料順序)、用於傳輸大量資料(流模式)、速度慢,建立連線需要開銷較多(時間,系統資源)。
UDP:面向非連線、傳輸不可靠、用於傳輸少量資料(資料包模式)、速度快。


三次握手和四次揮手
http://www.2cto.com/net/201310/251896.html
三次握手:
所謂三次握手(Three-Way Handshake)即建立TCP連線,就是指建立一個TCP連線時,需要客戶端和服務端總共傳送3個包以確認連線的建立。

1644692-b0adb3671d9ee157.png
三次握手.png

四次揮手:
所謂四次揮手(Four-Way Wavehand)即終止TCP連線,就是指斷開一個TCP連線時,需要客戶端和服務端總共傳送4個包以確認連線的斷開。
1644692-7e6f52bc51283101.png
四次揮手.png

相關文章