網絡相關協議要點

TCP協議:(3次連接,4次釋放)

    TCP協議是面向連接,可靠的傳輸層協議,是基於全雙工通信,並且是基於字節流的。

(1)保證傳輸數據可靠性機制:

     a:定時器:當TCP發出一個報文段,會啓動一個定時器,等待目的端確認收到報文段,若一段時間之後,沒有收到確認信息,就會重傳報文段。

     b:確認:當TCP收到發自TCP連接另一端的數據,將會發送一個確認信息。

     c:檢驗和:檢驗數據在傳輸的過程中任何變化,若收到報文段的檢驗和有錯,TCP將會丟棄報文段和不進行確認收到報文段。

     d:流量控制:TCP連接的兩個地方都有固定大小的緩衝空間,TCP的接收端只能允許另一端發送接收端緩衝區所能容納的數據,防止緩衝區溢出。

     e:擁塞控制:——加性增,乘性減

                             ——慢啓動

                             ——對超時事件做出反應

(2)TCP和UDP協議的區別:

       1.TCP面向連接,UDP非連接(TCP3次握手,4次揮手)

       2.TCP傳輸速度慢,UDP傳輸速度快(進行確認,擁塞控制)

       3.TCP保證數據順序,UDP不保證傳輸順序(對接收的數據進行排序->IP)

       4.TCP保證數據正確性,UDP不保證可能丟包(重傳,檢驗和)

       5.TCP對系統資源要求多,UDP要求資源少(TCP檢驗必須,UDP檢驗可選,流量控制,需緩衝區)

(3)why不能兩次連接必須進行三次連接?

       第1,2次連接是保證服務器端能夠接收到客戶端的信息,並能夠做出正確的應答,第2,3次連接爲了保證客戶端能夠接受到服務器的信息,並能夠做出正確的應答。

(4)TCP連接

(5)TCP釋放


(6)下面是常見的計算機中網絡相關設備:


ARP協議(地址解析協議)

      在網絡通訊時,源主機的應用程序知道目的主機的IP地址和端口號,卻不知道目的主機的硬件地址,源主機會發出ARP請求,將這個請求廣播到本地網段,目的主機接收到廣播的ARP請求,發現其中的IP地址與本機相符,則發送一個ARP應答數據包給源主機,將自己的硬件地址填寫在應答包中。

(1)什麼是ARP緩存?

      ARP cache是個用來儲存(IP、MAC)地址的緩衝區。當ARP被詢問一個已知IP地址節點的MAC地址時,先在ARP cache中查看,若存在,直接返回MAC地址,若不存在,才發送ARP請求。

(2)ARP和RARP都是屬於網絡層的協議。

(3)ARP與RARP協議的區別?

      RARP是逆地址解析協議,將局域網中某個主機的物理地址轉換爲IP地址,比如局域網中有一臺主機只知道物理地址而不知道IP地址,那麼可以通過RARP協議發出徵求自身IP地址的廣播請求,然後由RARP服務器負責回答。

IP協議(互聯網絡協議)

(1)IP地址:A              B                 C               D               E

                     (0)     (10)        (110)    (1110)  (11110)

                         0            128             192            224            240

           特殊地址:本機地址:127.0.0.1

                             內部廣播:255.255.255.255

                             主機號全爲0的地址:如:192.168.10.0(子網掩碼:255.255.255.0)

(2)路由器:目的網絡地址、子網掩碼、下一跳地址、發送接口、缺省條目(都不匹配時)

(3)IP分片:

       數據鏈路層,用MTU(最大傳輸單元)來限制所能傳輸的數據包大小,MTU是指一次傳送的數據最大長度,不包括數據鏈路層數據幀的幀頭,當發送的IP數據報的大小超過了MTU時,IP層就需要對數據進行分片,否則數據將無法發送成功。

(4)子網掩碼:

       默認:A:255.0.0.0

                  B:255.255.0.0

                  C:255.255.255.0

HTTP協議(超文本傳輸協議)

      HTTP是一個應用層協議,由請求和響應構成,是一個標準的客戶端服務器模型,HTTP是一個無狀態的協議,默認HTTP端口號位80。HTTPS端口號爲443.(HTTP協議承載於TCP協議之上,HTTP承載於TLS/SSL協議上(稱HTTPS))

(1)一次HTTP操作稱爲一個事務,過程如下:

      a:客戶機與服務器需要建立連接

      b:建立連接後,客戶機發送一個請求給服務器,請求格式爲:統一資源標識符(URL)協議版本號,請求修飾符,客戶機信息等。

      c:服務器接到請求後,給予相應的響應信息,格式爲一個狀態行,包括信息的協議版本號,一個成功或者錯誤的代碼,服務器信息等。

      d:客戶端接收服務器所返回的信息通過瀏覽量顯示在顯示屏上,然後斷開連接。

(2)HTTP1.0和HTTP1.1的區別?

      a:可擴展性:HTTP1.1中增加了option方法,允許客戶端提取一個服務器支持的方法列表,在請求消息中包含了upgrade頭域,可以讓服務器知道支持其他備用通信協議。

      b:cache  HTTP1.1中在頭域增加cache特性。

      c:寬帶優化:壓縮傳送數據。

      d:持久連接:HTTP1.1中支持持久連接,一個連接可以發多個請求,而HTTP1.0的每次請求都需要與服務器建立一個TCP連接。

      e:錯誤提示:HTTP1.1中引入一個warning域,增加對錯誤或者警告信息的描述。

(3)HTTP的請求方法(8種)

      a:OPTIONS:返回服務器針對特定資源所支持的HTTP請求方法。

      b:HEAD:向服務器索要與GET請求相一致的響應。

      c:GET:向特定資源發出請求

      d:POST:向指定資源提交數據進行處理請求

      e:PUT:向指定資源位置上傳奇最新內容

      f:DELETE:請求服務器刪除,Request_URI所標識的資源

      g:CONNECT:HTTP1.1協議中預留能夠連接改爲管道方式的代理服務器

      h:PATCH:用於將局部修改應用於某一資源

(4)GET和POST方法的區別?

      a:GET提交的數據會放在URL之後,POST提交的數據放在HTTP包的Body中。

      b:GET提交的數據大小有限制最多1024字節,POST提交數據沒有限制

      c:GET需使用Request.QueryString來獲取變量值,POST通過Resquest.Form.

      d:GET提交數據,用戶名和密碼會出現在URL上,會帶來安全問題。

(5)HTTPS傳輸協議原理

      a:HTTPS的安全基礎是SSL

       優點:客戶端產生的密鑰只有客戶端和服務器端能夠得到,加密的數據只有客戶端和服務端才能夠得到明文,客戶端到服務器的通信是安全的。

(6)I/O多路複用機制:select、poll、epoll(都是同步IO,讀寫事件就緒後,自己負責進行讀寫,讀寫過程是阻塞的)

       select的幾大缺點:

           a:每次調用select,都需要把fd集合從用戶態拷貝到內核態,開銷比較大。

           b:每次調用select都需要在內核遍歷傳遞進來的所有fd,開銷比較大。

           c:select支持的文件描述符數量太小了,默認是1024.



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章