網絡基礎知識歸納

0 基礎概念

  • IP地址:ipv4/ipv6
  • ipv4地址分類:A、B、C、D、E類。主要區別爲網絡號、主機號佔有多少位的區別。
  • CIDR(無類型域間選路):將32位IP地址一分爲二,前多少位爲網絡號,剩餘的爲主機號。表示方法爲:10.100.122.2/24。24表示前24位位網絡號,後8位位主機號。
  • 廣播地址:即向這個地址發送消息,全部主機都能接受到。廣播地址位二進制主機號變爲1,如上面的位10.100.122.255。
  • 子網掩碼:將二進制網絡號變爲1,其他位變爲0。如上述IP子網掩碼爲255.255.255.0。經過子網掩碼域IP地址取and計算可求出網絡號。
  • 共有IP:想要與互聯網進行鏈接,讓全世界的人能夠訪問必需要有共有IP。
  • 私有IP:局域網內分配的IP,一般如192.168.1.xxx,局域網IP是能夠重複的。不一樣的局域網能夠有相同的IP地址。
  • Mac 地址:網卡的物理標識,全球惟一。至關於人的身份證。IP地址具備定位功能,Mac 地址沒法定位,或者說定位功能有限。
  • DHCP(動態主機配置協議):局域網內自動配置IP地址。新來的機器用IP地址0.0.0.0發送廣播包,目的IP地址爲255.255.255.255。使用的是UDP協議。DHCP服務器會經過新機器的Mac 地址進行IP地址分配,新機器再確認這個IP。最後DHCP會廣播告訴你們新機器使用了這個IP。
  • APR協議:已知IP地址,求Mac 地址。在一個局域網內,發送廣播消息,誰是這個IP誰來回答。爲了不每次都進行APR請求,會有緩存。
  • 交換機:
  • 網關:必定和源IP地址同網段,一般是第一個或第二個。如192.18.1.0/24這個網段,網關地址每每爲192.168.1.1/24或192.68.1.1.2/24。當目標地址和源地址不是同一個網段是,須要先把數據發給網關,發給網關的過程是同樣的,要先經過APR協議獲得網關的Mac地址。而後的轉發就徹底靠網關。網關每每是個路由器,是一個三層轉發設備。不改變IP地址的爲轉發網關,改變IP地址的爲NAT網關。

1 網絡分層

根據osi網絡七層協議以及tcp/ip四層分法的綜合,有如下五層網絡分層。從上到下依次以下所示:編程

  • 應用層:經過應用進程間的交互完成特定功能。
  • 傳輸層:負責向兩臺主機進程之間的通訊提供通用的數據傳輸服務。
  • 網絡層:選擇合適的網間路由和交換節點,確保數據及時傳送。
  • 鏈路層
  • 物理層

1.1 各層重要概念

  • 應用層:主要爲http協議
  • 傳輸層:主要爲tcp、udp協議
  • 網絡層:ip
  • 鏈路層:mac

2 傳輸層重要協議

2.1 UDP協議

UDP和TCP的區別:緩存

  • TCP是面向鏈接的,UDP是無鏈接的。

什麼是面向鏈接的?在互通以前先經過協議創建鏈接,如TCP協議的三次握手。所謂創建鏈接,是經過某種數據結構維護客戶端和服務端的鏈接狀態。安全

  • TCP提供可靠的交付。TCP協議傳輸數據保證無差錯、無丟失、無重複、按順序傳達。而UDP不保證。
  • TCP面線字節流。UDP繼承來IP包特性,是基於數據包發送的。
  • TCP具備擁塞控制,而UDP則不會。

UDP三大特色:服務器

  • 溝通簡單
  • 輕信他人。不會創建鏈接,誰均可以向它發送數據,它也能夠向任何人發送數據,還能同時向多人發送。
  • 不會變通。無論網絡環境如何,發送的狀態不會改變,改怎麼發仍是怎麼發。

UDP三大使用場景:網絡

  • 須要資源少,網絡情況好的內網環境下,對於丟包不敏感的應用。如DHCP。
  • 不須要一對一溝通,創建鏈接,而是能夠廣播的應用。
  • 須要處理速度快,時延低,能夠容忍少數丟包的場景。

UDP使用例子:數據結構

  • 流媒體協議,若是網絡直播。
  • 實時遊戲。須要創建長鏈接,若是爲TCP協議,服務器壓力大,須要爲每一個鏈接進行處理。而UDP無需鏈接。同時遊戲須要時延低。
  • 物聯網:一方面終端資源有限,一般是嵌入式系統,維護TCP協議代價太大。另外一方面因爲時延性問題。

2.2 TCP協議(重點)

TCP包頭格式複雜:多線程

  • 順序問題,穩重不亂
  • 丟包問題,承諾靠譜
  • 鏈接順序,善始善終
  • 流量控制,把握分寸
  • 擁塞控制,知進知退

TCP三次握手:負載均衡

TCP四次揮手:socket

流量控制:tcp

擁塞控制:

TCP如何保證數據可靠傳輸?

3 Socket編程

服務器如何鏈接更多Socket:

  • 多進程方式
  • 多線程方式
  • 多路複用,select
  • 多路複用,epoll(epoll是Linux系統獨有的)

4 Http協議

  • 屬於應用層
  • Http請求報文格式
請求行:請求方法,URL路徑,版本號
首部:
實體:
  • Http響應報文格式
響應行:版本號,狀態碼,短語
首部:
實體:

5 Https協議

  • 對稱加密:
  • 非對稱加密:
  • Https協議經過非對稱加密傳輸對稱加密所須要的密匙保證安全,以後數據傳輸仍是經過對稱加密。

6 DNS協議

  • 經過域名獲取IP地址
  • 還能進行負載均衡
相關文章
相關標籤/搜索