1. 程式人生 > >【Day29 】Soket編程

【Day29 】Soket編程

找到 8.0 作用 tro 理論 七層協議 電信 tps 分享圖片

  • 客戶端/服務器架構

    1、什麽是客戶端服務器/服務器架構??

    服務器:意義--就是一系列軟硬件的結合,為一個或多個客戶端提供服務。目的:接受請求並響應,然後處理更多請求。

    客戶端:發送請求,並接收信息,最後關閉他們之間的事務。

  • osi七層協議

    1、互聯網層的協議分為osi七層tcp/ip五層或四層

  技術分享圖片

每層運行常見物理設備

技術分享圖片

  • 什麽是網絡?

    網絡是底層的物理鏈接介質

  • 2.1 物理層

    物理層功能:主要是基於電器特性發送高低電壓(電信號),高電壓對應數字1,低電壓對應數字0

  • 2.2數據鏈路層

    其功能:定義了電信號的分組方式

    以太網協議(ethernet)規定:

       每一組數據包含head/data ,

        head(18個字節):源地址6個,目標地址6個,數據類型6個

        data(最小46,最大1500):數據包的具體內容

      head + data 最大長度1518,最短長度64,超過長度分片發送

  mac地址:每個電腦都有唯一的mac地址且與ip地址綁定

  廣播:有了mac地址,兩臺電腦可以通過arp協議進行通信,

  enternet 采用廣播方式通信,即基本靠吼

  • 2.3 網絡層

    1、網絡層的意義:用來區分不同的廣播域/子網,即網絡地址

    2、規定網絡地址的協議成為ip協議

    一、ip地址分為:網絡部分-->標識子網,主機部分--->標識主機

      註意:單純的ip地址段只是標識了ip地址的種類,從網絡部分或主機部分都無法辨識一個ip所處的子網

      例:172.16.10.1與172.16.10.2並不能確定二者處於同一子網

    二、子網掩碼(ip網絡部分):

      所謂”子網掩碼”就是表示子網絡特征的一個參數。它在形式上等同於IP地址,也是一個32位二進制數字,它的網絡部分全部為1,      主機部分全部為0。比如,IP地址172.16.10.1,如果已知網絡部分是前24位,主機部分是後8位,那麽子網絡掩碼就是            11111111.11111111.11111111.00000000,寫成十進制就是255.255.255.0。

      知道”子網掩碼”,我們就能判斷,任意兩個IP地址是否處在同一個子網絡。方法是將兩個IP地址與子網掩碼分別進行AND運算(兩個      數位都為1,運算結果為1,否則為0),然後比較結果是否相同,如果是的話,就表明它們在同一個子網絡中,否則就不是。

      比如,已知IP地址172.16.10.1和172.16.10.2的子網掩碼都是255.255.255.0,請問它們是否在同一個子網絡?兩者與子網掩碼分別      進行AND運算,

      172.16.10.1:10101100.00010000.00001010.000000001

      255255.255.255.0:11111111.11111111.11111111.00000000

      AND運算得網絡地址結果:10101100.00010000.00001010.000000001->172.16.10.0

      172.16.10.2:10101100.00010000.00001010.000000010

      255255.255.255.0:11111111.11111111.11111111.00000000

      AND運算得網絡地址結果:10101100.00010000.00001010.000000001->172.16.10.0

      結果都是172.16.10.0,因此它們在同一個子網絡。

      總結一下,IP協議的作用主要有兩個,一個是為每一臺計算機分配IP地址,另一個是確定哪些地址在同一個子網絡。

   三、ip數據包

      ip數據包分為head,data部分,無須定義專門的欄目,直接放到以太網的data部分

      ip數據包大小:

          head:長度為20到60字節

          data:最長為65,515字節。

      以太網的數據包最大1500,如果ip數據包超過1500字節,就需要封裝成幾個以太網數據包分開發送

  四、ARP協議

      arp協議功能:廣播的方式發送數據包,獲取目標主機的mac地址

   流程:如果兩臺電腦互相訪問(172.168.0.2訪問172.168.0.3):首先通過ip地址和子網掩碼判斷是否在同一子網——>如果在同一子網會以廣播的方式在局域網內傳播,---->如果不在同一子網會通過 數據包中的目標ip地址 和ARP協議獲取網關的mac地址---然後在再子網內進行廣播的方式發送,主機拆開包後,發現ip地址是自己的,就響應返回自己的mac地址

  • 2.4 傳輸層  

    1.傳輸層的由來:網絡層的ip幫我們區分子網,以太網層的mac幫我們找到主機,端口找到應用程序,端口即應用程序與網卡關聯的編      號。

    2.傳輸層功能:建立端口到端口的通信

    3.ip 加mac + 端口 :標識唯一的軟件

    4.可靠傳輸,TCP數據包沒有長度限制,理論上可以無限長,但是為了保證網絡的效率,通常TCP數據包的長度不會超過IP數據包的長      度,以確保單個TCP數據包不必再分割。

  • 2.5應用層

    應用層由來:使用的程序都是應用層,各種應用程序規定好數據的組織形式

    應用層的功能:規定應用層數據的格式

  • soket

    1.soket 是什麽:soket 是應用層與Tcp/ip 通信的中間軟件抽象層,他是一組接口

【Day29 】Soket編程