天天看點

網際網路協定

## 網際網路協定

- 概括:從上到下,越上越接近使用者,越下越接近硬體

- 應用層:

    + 規定應用程式的資料格式

    + [head(以太網标頭) [head(ip标頭) [head(tcp标頭) data(應用層資料包)]]]

- 傳輸層(端口到端口的通信): 定義端口号

    + 端口:

        * 0到65535(2^16)的整數

        * 程序使用網卡的編号

        * 通過ip+mac确定主機,隻要确定主機+端口(套接字socket),就能進行程式間的通信

    + udp協定:

        * 資料包中加入端口依賴的新協定

        * 資料包[head(發送、接收mac) [head(發送、接收ip) [head(發送、接收端口) data]]]

        * 簡單,可靠性差,不知道對方是否接受包

    + tcp協定:

        * 帶有确認機制的udp協定

        * 過程複雜,實作困難,消耗資源

        ```

          tcp/ip connect: tcp/ip的三次握手

                  标有syn的資料包

                  ------------->

                  标有syn/ack的資料包

          client  <-------------  server

                  标有ack的資料包

                  -------------->

- 網絡層(主機到主機的通信):定義ip

          tcp/ip finish: tcp/ip的四次握手

                  fin

                  <-------------

                  ack

        client    -------------> server

- 網絡層(主機到主機的通信):

    + ip協定

        * ipv4:

            - 32個二進制位表示,由網絡部分和主機部分構成,

            - 子網路遮罩: 網絡部分都為1,主機部分都為0,目的判斷ip的網絡部分,如255.255.255.0(11111111.11111111.11111111.00000000)

            - ip資料包:标頭head+資料data,放進以太網資料包的data部分[head [head data]]

            - ip資料包的傳遞:

                + 非同一網絡:無法獲得mac位址,發送資料到網關,網關處理

                    - arp(address resolation protocol): 解析位址協定,通過ip解析mac位址

                + 同一網絡:mac位址填寫ff:ff:ff:ff:ff:ff:ff,廣播資料,對比ip,不符合丢包

- 連結層:定義mac

    + 定義資料包(幀frame)

        * 标頭(head):資料包的一些說明項, 如發送者、接收者、資料類型

        * 資料(data):資料包的具體内容

        * 資料包:[head data]

    + 定義網卡和網卡唯一的mac位址

        * 以太網規定接入網絡的所有終端都應該具有網卡接口,資料包必須是從一個網卡的mac位址到另一網卡接口的mac位址

        * mac全球唯一,16位16位進制組成,前6廠商編号,後6網卡流水号

    + 廣播發送資料

        * 向本網絡内的所有裝置發送資料包,對比接收者mac位址,不是丢包,是接受

- 實體層:實體層

    + 終端(pc,phone,pad...)的實體連接配接(光纜,電纜,路由...),負責傳遞0和1信号

非學,無以緻疑;非問,無以廣識