• 為什么要分層?
○ 協議太多,將眾多協議分層解決,能提高效率,復雜問題簡單化,更容易發現問題,並針對性解決問題。
• OSI七層模型
○ 同層使用相同的協議,下層為上層提供服務。
○
○ 但在實際應用中,表示層和會話層合並到了應用層也就變成了五層模型,大家都稱之為TCP/IP五層協議。
○ 再后來又有人提出了四層模型的概念,四層模型也就是將數據鏈路層和物理層合並為了網絡接口層。
• TCP/IP五層協議簇
○ 應用層
■ 應用層生成了數據,有的人喜歡稱之為PDU
□ 工作在應用層的常見協議(都需有自己專屬的端口號):
✦ HTTP 80
✦ HTTPS 443
✦ Telnet 23
✦ SSH 22
✦ FTP 20/21
✦ DHCP 67/68
✦ DNS 53
✦ SMTP 25
✦ POP3 110
✦ RDP 3389
✦ SMB 445
✦ Mysql 3306
○ 傳輸層
■ 將應用層的數據添加了TCP或UDP包頭,生成了數據段(Fragment)。
■ 標明了對應應用的端口號,還確認了連接方式是面向連接的還是無連接的
□ 傳輸層的協議:
✦ TCP (協議號:6)
◊ 哪些服務依賴於TCP呢?
◊
✦ UDP(協議號:17)
◊ 哪些服務依賴於UDP呢?
○ 網絡層
■ 將數據段進一步封裝了IP包頭,稱為報文或者包或者IP包(Packet)
■ 指明了目標主機的IP地址,和自己的IP地址
□ 網絡層的協議:
✦ ICMP
◊ 探測協議,ping就是這個協議。
◊ icmp先跑到ip那加個包頭就出去了
✦ IP
◊ 只有IP協議有能夠封裝IP包頭的協議
✦ ARP
○ 數據鏈路層
■ 數據鏈路層將包進一步封裝成幀(Frame)
■ 指明了目標主機的MAC地址,向包添加一個頭,這個頭叫MAC子層,其中包含了MAC地址,尾部添加了FCS,FCS是用於驗證數據的完整性,占四個字節
□ 數據鏈路層的協議:
✦ MAC子層協議,可能因為國家不同而略有區別。
✦ 幀頭包含:
◊ 目標MAC
◊ 去到哪里?
◊ 源MAC
◊ 來自哪里?
◊ 類型
◊ 類型為了識別上層協議,為上層協議提供服務。
} 0x0800:代表是IP協議流下來的
– 0x0800是(四位16進制,每位是四位二進制 4*4=16)16位二進制
– 占2字節 (16b/8=2B)
} 0x0806:代表是ARP協議流下來的
✦ 802.3 有線傳輸協議
✦ 802.11 無線傳輸協議
✦ 802開頭的就是國際標准
◊ IEEE是電氣電子工程師學會
◊ 802代表有802個科學家
◊ 為了紀念他們都是用802
□ 數據鏈路層:
✦ 中國MTU最大1500字節
✦
○ 物理層
■ 以數字信號進行傳輸
■ 傳輸單位是比特(Bit)
□ 1比特(Bit)就是1個電脈沖,可以理解成一個二進制數
□ 8Bit=1Byte=1字節
□ 一般運營商就是b為單位,如100Mb/s,實際下載速度也就是100/8=12.5MB/s
○ 詳細內容以及圖片來源:https://www.bilibili.com/video/BV1i7411G7vm?p=52
○