1. 程式人生 > >TCP/IP四層模型深入理解

TCP/IP四層模型深入理解

TCP/IP四層模型的補充學習

  • 四層模型從使用者態程式/核心態程式上的劃分
  • 鏈路層的另一種協議PPP(和乙太網協議對比)

四層模型從使用者態程式/核心態程式上的劃分

TCP/IP協議四層模型:
應用層——–使用者態程式,我的理解是socket程式設計對應的動作。套接字sockfd會包含目的IP地址和目的埠號、源IP地址和源埠號,write()函式和read()函式的引數包含sockfd和傳送或接收的資料。
傳輸層——–核心態程式,即從傳輸層到鏈路層部分的工作由作業系統完成。作業系統從write()函式中獲取到目的埠號和源埠號這部分資訊,即可將使用者的資料封裝成資料報,傳送到下一層–網路層。
網路層——–核心態程式,由作業系統完成。IP層收到傳輸層傳送來的TCP資料報,將write函式中sockfd套接字中的目的IP地址和源IP地址新增到TCP資料報段首,封裝得到IP段,傳送到下一層–鏈路層。
鏈路層——–核心態程式,由作業系統完成。鏈路層根據IP段首的目的IP地址,首先從本地的ARP快取記憶體中查詢對應的MAC地址,如果ARP快取記憶體中存在對應的MAC地址,就將目的MAC地址和源MAC地址作為乙太網幀頭新增到IP段首,再新增相應的乙太網幀尾,形成乙太網幀。然後經過物理層的協議,再發送到傳輸媒介上。

鏈路層的另一種協議PPP(和乙太網協議對比)

鏈路層處於TCP/IP模型的最底層,除了常用的乙太網協議(Ethernet)還有一種PPP協議。
乙太網協議—-用於廣播網路,乙太網幀結構中有目的MAC地址,確認多通道中目標端機器
PPP協議—用於點對點網路,PPP協議在IP資料段的首尾新增一對幀定界符(soh和eot),不需要目的MAC地址,點對點鏈路兩端主機事先已經知道另一端的IP地址了。

乙太網幀採用的是曼徹斯特編碼,即0->1的跳變沿表示1,1->0的跳變沿表示0。每一個碼元的正中間都會有一次電壓的跳變。