1. 程式人生 > >tcp/ip相關協議

tcp/ip相關協議

這幾天簡單看了下TCP/IP的東西,主要是複試可能需要,再加上之前看過幾次便簡單寫個文章方便查詢,主要資料來源於《TCP/IP詳解-卷1:協議》

2018/09/25


七層OSI模型:
應用層application layer
HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP、XMPP、Whois、ENRP …

表示層presentation layer
XDR、ASN.1、SMB、AFP、NCP

會話層session layer
ASAP、SSH、ISO 8327 / CCITT X.225、RPC、NetBIOS、ASP、IGMP、Winsock、BSD sockets …

傳輸層transport layer (實現源端到目的端資料的傳輸,即某主機的某程序與另一臺主機的某程序之間的資料傳輸)
TCP、UDP、TLS、RTP、SCTP、SPX、ATP、IL …

網路層network layer (實現將資料分組從源站通過網路傳送到目的站,即網路上一臺主機與另一臺主機之間的資料傳輸)
IP、ICMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP、RARP、X.25 …

資料鏈路層data link layer (實現無差錯地將資料幀從一個節點傳送到下一個相鄰節點)
乙太網、令牌環、HDLC、幀中繼、ISDN、ATM、IEEE 802.11、FDDI、PPP ,MPLS…

物理層physical layer (在物理通道上實現原始位元流的傳輸)
線路、無線電、光纖…

來自於https://www.cnblogs.com/BlueTzar/articles/811160.html

ARP:地址解析協議
 IPV4專用協議,完成IP層與資料鏈路層地址(MAC)之間轉換。
IP:ipv4;ipv6
ICMP:控制訊息協議。icmpv4;icmpv6
Internet傳輸協議TCP/UDP
 TCP:傳輸控制協議(可靠)
 UDP:使用者資料報協議(不可靠)
PDU:訊息物件
DNS:應用層協議。分散式資料庫。主機名和IP地址之間對映。


tcp/ip報文格式

在這裡插入圖片描述


鏈路層:

  • 為IP模組傳送和接收IP資料報
  • CSMA/CD(帶衝突檢測的載波偵聽多路訪問),基於競爭的MAC(介質訪問控制),以不太流行。因為它是建立於共享的線路上。
  • 生成樹協議(STP)。通過每個網橋禁用某些埠,避免拓撲環路。
  • 無線乙太網標準:IEEE 802.11(Wi-Fi)。
  • PPP(點到點協議)實際上是一個協議集合,可用於TCP/IP和非TCP/IP網路。支援LCP(鏈路控制協議)和NCP(網路控制協議)。

網路互聯層:

  • 網路互連層是整個TCP/IP協議棧的核心。它的功能是把分組發往目標網路或主機。同時,為了儘快 地傳送分組,可能需要沿不同的路徑同時進行分組傳遞。因此,分組到達的順序和傳送的順序可能不同,這就需要上層必須對分組進行排序。  
    網路互連層定義了分組格式和協議,即IP(網際協議)Internet Protocol

  • ARP(地址解析協議)提供IPV4地址和各種硬體地址之間的對映(IPV6使用鄰居發現協議 ,合到ICMPv6)。

  • IP協議,TCP/IP核心協議,提供盡力而為,無連線的資料報交付服務。

    • 盡力而為:不保證IP資料包成功過到達目的地,TCP保證。
    • 無連線:每個資料報獨立於其他資料報來處理。
    • 頭部校驗和欄位只校驗IPV4的頭部
  • DHCP(動態主機配置協議),為主機(有時候路由器)指定配置資訊。動態定址。

  • NET(網路地址轉換):允許在網際網路不同地方重複使用相同的IP地址集的機制

  • Internet控制報文協議,介於網路層和傳輸層之間,使用IP協議進行傳輸(ICMPv4,ICMPv6)。傳送可能需要注意的差錯和控制報文。攜帶在IP資料報中。


傳輸層

  • 使源端主機和目標端主機上的對等實體可以進行會話。在傳輸層定義了兩種服務質量不同的協議TCP&UDP
  • UDP(面向資料報)僅提供差錯檢測,不可分割報文。避免建立連線的開銷,使用多端點傳輸,用此。
  • TCP(傳輸控制協議)面向連線的單播協議:
    • 先在兩個端點之間建立連線
    • 可以合併切割報文 ,面向連線,有確認機制,丟包可以重發。
    • 滑動視窗協議
    • 流量控制(處理接收方相對於傳送方太慢):基於速率和基於視窗兩種方式
    • 三次握手(三個報文)建立TCP連線,四個報文結束(除非突然關閉)。
    • 重傳:超時重傳和快速重傳(丟包問題)

應用層

  • TCP/IP模型將OSI參考模型中的會話層和表示層的功能合併到應用層實現

  • DNS是域名系統(Domain Name System) 的縮寫,它是由解析器和域名伺服器組成的。負責IP與域名之間的對映。

  • 執行在TCP 上的協議:
    HTTP(Hypertext Transfer Protocol,超文字傳輸協議),主要用於普通瀏覽。
    HTTPS(Hypertext Transfer Protocol over Secure Socket Layer, or HTTP over SSL,安全超文字傳輸協議),HTTP協議的安全版本。
    FTP(File Transfer Protocol,檔案傳輸協議),由名知義,用於檔案傳輸。
    POP3(Post Office Protocol, version 3,郵局協議),收郵件用。
    SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協議),用來發送電子郵件。
    TELNET(Teletype over the Network,網路電傳),通過一個終端(terminal)登陸到網路。
    SSH(Secure Shell,用於替代安全性差的TELNET),用於加密安全登陸用

  • 執行在UDP上的協議:
    BOOTP(Boot Protocol,啟動協議),應用於無盤裝置。
    NTP(Network Time Protocol,網路時間協議),用於網路同步。
    DHCP(Dynamic Host Configuration Protocol,動態主機配置協議),動態配置IP地址。

  • 通殺:
    DNS(Domain Name Service,域名服務),用於完成地址查詢,郵件轉發等工作(執行在TCP和UDP協議上)。
    ECHO(Echo Protocol,迴繞協議),用於查錯及測量應答時間(執行在TCP和UDP協議上)。
    SNMP(Simple Network Management Protocol,簡單網路管理協議),用於網路資訊的收集和網路管理。
    ARP(Address Resolution Protocol,地址解析協議),用於動態解析乙太網硬體的地址。


安全問題

  • 兩種加密演算法:對稱金鑰和公開(非對稱)金鑰。