計算機網絡-應用層協議與網絡安全

計算機網絡-應用層協議與網絡安全

上一篇:計算機網絡-運輸層協議 TCP/UDP協議(TCP與UDP對比,流量控制,擁塞控制,三次握手,四次揮手)

主要內容:

  • DNS
  • HTTP
  • HTTPS
    計算機網絡

1. 應用層協議

之前有兩篇文章分別介紹網絡層(還沒寫)和運輸層。
這篇完整是網絡章節最後一篇。因爲畢竟是Java開發,不是網管(網絡管理員)。很多都是針對Java可能關注的點來寫的,例如物理層和數據鏈路層基本沒介紹,還有很多協議都也沒有。對其他網絡內容有需要或感興趣建議看書 《計算機網絡》謝希仁 現在應該是第七版出來了。

1.1 DNS

域名解析系統(Domain Name System)
功能是將域名地址轉換爲IP地址
是一個分佈式的域名存儲系統,其實就是存儲域名和IP的映射(聯想Redis 的K-V結構)

  • 在物理層和數據鏈路層 使用的是MAC地址(硬件地址,在網卡上刻着,唯一字符,不可更改)
  • 網絡層以上使用的是 IP地址 目的是爲了簡化使用,在路由器是有IP與MAC的映射關係的(這個不叫DNS)
  • 用戶使用的是域名,域名是要申請的,要錢。非頂級,非特殊域名還比較便宜,例如我之前搞個域名就只要9塊錢/年
  • 爲什使用域名? 比IP好用 baidu.com肯定比一串數字好記憶
  • 解析大部分是在本地完成解析,通過 ipconfig -all可以查詢本地DNS服務器,不會超過幾個路由器 host文件與DNS的關係? host文件也能夠起到域名轉換的作用,但是和DNS什麼關係,我暫時還沒理清楚
  • DNS是個分佈式的系統,解析步驟:①調用解析程序,成爲DNS的一個客戶②把待解析的域名添加DNS請求報文中,以UDP的方式發給本地域名服務器③本地域名服務器查找域名後將,把對應的IP地址返回。如果本地域名服務器找不到,本地域名服務器再向上級服務器查找

域名服務器分類:①根域名服務器②頂級域名服務器③權限域名服務器④本地域名服務器
域名服務器查找方式:①迭代查詢 ②遞歸查詢
這種時候圖片比文字可有太多說服力了

簡單說迭代查詢就行你去公立醫院,掛科掛錯,醫生會和你說應該去哪個科掛號,然後你自己去找;低估查詢就像你去海底撈,你問服務員要問某個東西,他不知道但是他會去想辦法,然後把最終結果告訴你(PS:這兩種方式並沒哪個好壞,對用戶來說肯定是遞歸查詢最好,因爲你需要做的事少。但是服務器就有很大的壓力了。迭代查詢對服務器的壓力就響度小很多)
(有沒有人想到WEB裏面經常問的一個問題:轉發和重定向的區別
DNS查詢舉例

1.2 萬維網WWW

萬維網(World Wide Web)是一個大規模的,聯機式信息儲藏所
分佈式的超媒體系統,是超文本系統的擴充
過程:客戶程序向服務器程序發出請求,服務器程序向客戶程序返回客戶要求的萬維網文檔

萬維網必須解決以下問題:

  1. 怎樣標誌分佈在因特網上的萬維網文檔 ---->URL統一資源定位符
  2. 用什麼樣的協議來實現各種鏈接 ---->HTTP超文本傳輸協議
  3. 怎樣使不同作者的不同風格各自展現出來 ---->HTML 超文本標記語言
  4. 怎樣使用戶很方便的知道什麼地方存在的鏈接 ---->搜索引擎:百度,搜狗

1.2.1 URL:統一資源定位符

<協議>://<主機>:<端口>/<路徑>
下面這個是HTTPS協議的統一資源定位符
https://blog.csdn.net/m0_37628958/article/details/105362424
blog.csdn.net是主機和端口號,用域名代替了IP,同時HTTPS是443默認443端口,不需要指定

1.2.2 HTTP協議 超文本傳輸協議

基於TCP(傳輸層)
默認端口80(HTTPS是443)
HTTP本身無狀態(通過Cookie和Session記錄狀態)
HTTP1.0無連接,導致每次傳輸數據都要握手,HTTP1.1後 保持連接

HTTP報文
請求報文:客戶端向服務器發送請求報文
請求行(方法+URL+版本)+首部行+實體主體(通常沒有)
響應報文:服務器給客戶端的回答
狀態行(版本+狀態碼+短語)+ 首部行 + 實體主體
HTTP請求報文的一些方法
GET:請求讀取URL的信息
POST:給服務器添加信息
PUT:提交信息
DELETE:刪除指明的URL信息
其他方法,上面四個最常用,其他的我都沒用過。略過
此處該聯想(Resetful API設計規範),Spring MVC好像是默認resetful設計規範的。老實說我目前還沒見過非Resetful設計的接口
狀態碼
1XX 表示請求收到了或或正在處理
2XX處理成功
3XX重定向,完成請求還需要採取進一步的心動
4XX客戶端的差錯(最常見的404)
5XX表示服務器的差錯
**Cookie和Session的區別與聯繫:**Cookie存儲在客戶端,Session存儲在服務器。cookie會記住客戶相關信息,同時會存儲SessionID。Session其實就存儲這個客戶是否訪問過。不會記錄其他太多信息(畢竟多個客戶端對應一個服務器,服務器哪來那麼多多餘空間)

1.3 DHCP

動態主機配置協議。就是給我們電腦分配IP地址,網關,DNS的那個

2. 網絡安全

計算機網路攻擊方式分爲兩大類:
**被動攻擊:**截獲他人的通信內容,又稱爲流量攻擊。截獲的都是各個數據單元,其實獲取了也不是那麼容易解密
**主動攻擊:**①篡改:修改網絡上發送的報文②惡意程序③拒絕服務:想某個服務器不同的請求,導致這個服務器一直處於忙的狀態,無法對正常請求進行處理

2.1 密碼體系

  1. 對稱密碼體系:加密祕鑰和解密祕鑰相同。例如壓縮文件的加密。
    代表:DES數據加密標準
  2. 非對稱密碼體系:加密祕鑰和解密祕鑰不相同。分爲私鑰和公鑰,私鑰加密的只能用公鑰解密,反之亦然。私鑰自己保留,公鑰公開,所有人都知道
    代表:RSA

兩者對比:非對稱加密算法效率相對對稱加密算法效率低些
對稱祕鑰有個問題是:我怎麼確保我的祕鑰在傳輸的時候不被獲取?
非對稱祕鑰有很多特殊用途:①用來加密對稱祕鑰。對稱祕鑰不是傳輸有問題,我用你給我的公鑰對 對稱祕鑰進行加密,然後在發給你。那麼只要你才能獲取這個對稱祕鑰,因爲只有你才能解密 ②數字簽名:能有我的公鑰解密的文件,一定是我發送的。因爲只有我的私鑰能夠解密(密碼泄露那我得自己負責,因爲私鑰是不需要公開的)

2.2 數字簽名

數字簽名爲了和手寫簽名達到相同的效果,要保證下面三個功能:①接收者能夠確認這份文件是發送者發送的,其他人無法僞造對報文的簽名,這叫報文鑑別②接受者確信發送的文件沒有被篡改過,這叫報文的完整性③發送者時候不能抵賴報文的簽名,這叫做不可否認

非對稱祕鑰非常適合幹這種事:
簽名者將自己的公鑰公開,用自己的私鑰進行加密。然後將文件傳輸給接受者。接受者用公鑰解密,得到文件
1.因爲除了簽名者外,其他人是不知道其私鑰的,同時其他人無法用其私鑰加密,所以確信這份文件有簽名者簽署發送,且無法被篡改確保了①②③。

2.3 鑑別

報文鑑別: 確保報文沒有被修改過
雖然非對稱加密算法RSA可以做到這個,但是大炮不能用來打蚊子,而且非對稱祕鑰效率不高。如果是大文件,加密解密就相當飛時間了
而且我僅需要保證報文沒有被修改過,不需要其他的功能
MD5算法是報文鑑別的代表算法:一個 不可逆的單向散列函數(簡單理解,就是比較厲害hash函數)
報文(無論多長多短)經過MD5加密後,會得出128位的報文摘要。既然不可逆,那麼怎麼鑑別沒有被篡改過?發送時將原文與報文摘要一起發送,然後接收方同樣用MD5 算法對報文進行MD5加密,得到128位報文摘要。與接收到的摘要對比,如果一致,說明未被篡改(要求這個Hash算法比較好,hash衝突少)。
類似的方法不可逆單向散列函數用處很多:例如服務器保存用戶密碼。(沒有那家公司會保存用戶的密碼的,都是經過這種函數加密過的,如果不是:這家公司需要改進了),你銀行卡密碼忘記的時候,去銀行是重置密碼:銀行是不知道你的密碼的。

2.6 安全協議

安全套接字層SSL(Secure Socket Layer)端口號 443(HTTPS就是HTTP+SSL,所以端口號就是443)
提供服務器鑑別,SSL客戶鑑別,加密的SSL會話服務
運輸層安全TLS(Transport Layer Security)改進的SSL3.0

2.7 HTTPS

就是HTTP+SSL
過程:

  1. 協商加密算法:瀏覽器告知服務器自己支持哪種SSL版本,服務器選一個自己支出的,告知瀏覽器
  2. 服務器鑑別:利用CA機構對服務器進行驗證
  3. 會話祕鑰計算:用瀏覽器計算對稱祕鑰,用服務器的公鑰加密對稱祕鑰,再把對稱祕鑰發送給服務器
  4. 安全數據傳輸:用上面的對稱祕鑰加密傳輸的數據

3. 小結

  • 網絡協議是什麼?兩方面內容:一方面是便於理解的約束或者說規定(這是給我們人看的);另一方面:是有一定規則的計算器程序(給計算機看的) 【我之前就一直很好奇:爲什麼協議就可以傳輸數據?其實包含我們平時理解的那部分內容,同時它也是個計算機程序】
  • HTTPS就是HTTP結合SSL。(利用非對稱祕鑰來認證服務器。在利用非對稱祕鑰加密對稱祕鑰。傳輸對稱祕鑰。在利用對稱祕鑰傳輸數據)
  • 分佈式這個概念早就要了,在計算機網絡裏面分佈式,緩存,K-v這種概念還蠻多的。爲什麼以前沒有這麼火?估計是以前少有這麼大流量的應用。畢竟我兔

總目錄:Java進階之路-目錄

											神歡體自輕,意欲凌風翔
											來自:《郡齋雨中與諸文士燕集》唐 韋應物
											博主:五更依舊朝花落
											首次發佈時間:2020年4月14日17:25:55
											末次更新時間:2020年4月15日17:50:55(更改標題以及添加目錄)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章