TCP/IP協議架構介紹(一):網絡接口層



TCP/IP協議架構是通信協議的統稱,常被稱為 TCP/IP協議族,包括兩個核心協議: TCP(傳輸控制協議)IP(網際協議),TCP/IP協議的開發始於20世紀60年代后期,早於OSI參考模型,由於TCP/IP模型更加簡潔易用,目前大多采用TCP/IP模型。一共包括4層:應用層、傳輸層、網絡層和網絡接口層。

OSI模型與TCP/IP模型:

物理層

負責0、1 比特流(0/1序列)與電壓的高低之間的轉換

數據的單位稱為比特(bit)

屬於物理層定義的典型規范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45、fddi令牌環網等
OSI采納了各種現成的協議,其中有RS-232、RS-449、X.21、V.35、ISDN、以及FDDI、IEEE802.3、IEEE802.4、和IEEE802.5的物理層協議

數據鏈路層

負責物理層面上的互聯的、節點間的通信傳輸(例如一個以太網項鏈的2個節點之間的通信);

該層的作用包括:物理地址尋址、數據的成幀、流量控制、數據的檢錯、重發等。在這一層,數據的單位稱為幀(frame)

  • 封裝成幀: 把網絡層數據報加頭和尾,封裝成幀,幀頭中包括源MAC地址和目的MAC地址。

  • 透明傳輸:零比特填充、轉義字符。

  • 可靠傳輸:在出錯率很低的鏈路上很少用,但是無線鏈路WLAN會保證可靠傳輸。

  • 差錯檢測(CRC):接收者檢測錯誤,如果發現差錯,丟棄該幀。

主要協議

①點對點協議PPP(Point to Point Protocol)
②以太網(Ethernet)
③高級數據鏈路控制協議HDLC(High-Level Data Link Control)
④ 幀中繼(Frame Relay)
⑤異步傳輸模式ATM(Asynchronous Transfer Mode)

MAC地址

MAC(Medium/Media Access Control)地址,媒體訪問控制,或稱為物理地址、硬件地址,48位

MAC地址

  • 組織唯一標識符(OUI)由IEEE(電氣和電子工程師協會)分配給廠商
  • I/G(Individual/Group)位,如果I/G=0,則是某台設備的MAC地址,即單播地址;如果I/G=1,則是多播地址(組播+廣播=多播)。
  • G/L(Global/Local,也稱為U/L位,其中U表示Universal)位,如果G/L=0,則是全局管理地址,由IEEE分配;如果G/L=1,則是本地管理地址,是網絡管理員為了加強自己對網絡管理而指定的地址。

MAC幀

IP地址負責表示計算機的網絡層地址,網絡層設備(如路由器)根據IP地址來進行操作;
MAC地址負責表示計算機的數據鏈路層地址
IP和MAC地址這種映射關系由ARP(Address Resolution Protocol,地址解析協議)協議完成。

PPPoE 協議

基於以太網的點對點通訊協議PPPOE(Point to Point Protocol over Ethernet)

  • 單純的以太網沒有驗證功能,也沒有建立和斷開連接的處理,因此無法按時計費。
  • 如果采用PPPoE管理以太網連接,就可以利用PPP的驗證等功能使各家ISP可以有效地管理終端用戶的使用。
  • 分成發現階段(Discorvery)和PPP會話階段(Session)

報文的以太網類型:

  • 當值為0x8863時表示Discovery階段或Terminate階段。
  • 當值為0x8864時表示Session階段。

PPPoE撥號過程

PPPoE Discovery發現階段

  1. 用戶主機用廣播的方式發出**PADI **(PPPOE Active Discovery Initiatio) 包,准備去獲得所有可連接的接入設備(獲得其MAC地址);
  2. PPPoE服務器收到PADI包后,返回PADO (PPPOE Active Discovery Offer) 作為回應;
  3. 用戶主機從收到的多個PADO包中,根據其名稱類型名或者服務名,選擇一個合適的接入設備,然后發送PADR (PPPOE Active Discovery Request) 包,另外如果一個用戶主機在發出PADI后在規定時間內沒有收到PADO,則會重發PADI,並且加倍等待時間
  4. PPPoE服務器收到PADR包后,返回PADS (PPPOE Active Discovery Session-confirmation) 包,其中包含了一個唯一session ID,雙方進入PPP會話階段。
code 報文
0x09 PADI PPPoE Active Discovery Initiation PPPoE發現初始報文
0x07 PADO PPPoE Active Discovery Offer PPPoE發現提供報文
0x19 PADR PPPoE Active Discovery Request PPPoE發現請求報文
0x65 PADS PPPoE Active Discovery Sessionconfirmation PPPoE發現會話確認報文
0xa7 PADT PPPoE Active Discovery Terminate PPPoE發現終止報文

Discovery階段:以太網幀的ETHER_TYPE域都設置為 0x8863

PPPoE Session 會話階段

1 LCP協商階段(Link Control Protocol)
鏈路協商

  • LCP用於建立、拆除和監控PPP數據鏈路
  • 還用於鏈路層參數的協商,如MRU、驗證方式

協商雙方互相發送一個LCP Config-Request報文,確認收到的Config-Request報文中的協商選項,根據這些選項的支持與接受情況,做出適當的回應。若兩端都回應了Config-ACK,則標志LCP鏈路建立成功,否則會繼續發送Request報文,直到對端回應了ACK報文為止。

2 認證階段

會話雙方通過LCP協商好的認證方法進行認證,如果認證通過了,才可以進行下面的網絡層的協商。認證過程在鏈路協商結束后就進行。

  • PAP(Password Authentication Protocol,口令認證協議)

    PAP為兩次握手協議,它通過用戶名及口令來對用戶進行驗證。

  • CHAP(Challenge Handshake Authentication Protocol,質詢握手認證協議)

    CHAP為三次握手協議。只在網絡上傳輸用戶名,並不傳輸用戶口令,因此它的安全性要比PAP高。

    Md5算法

3 NCP協商階段

網絡層協商:IPCP、BCP、IPv6CP等

  • 協商PPP報文的網絡層參數,如IP地址,DNS Server IP等。

  • PPPoE用戶主要通過IPCP來獲取訪問網絡的IP地址或IP地址段,網關,DNS等。

  • 用戶和接入設備對IP服務階段的一些要求進行多次協商,以決定雙方都能夠接收的約定。如:IP業務階段使用的IP壓縮協議等。

  • 雙方的協議是通過報文中包含的Option項進行協商的,每一個Option都是一個需要協商的問題。最后雙方都需要對方答復Configure_Ack的同意報文。

  • IPCP的協商過程是基於PPP狀態機進行協商的。

  • 經過雙方協商,通過配置請求、配置確認、配置否認等包文交換配置信息,最終由initial (或closed)狀態變為Opened狀態

  • IPCP狀態變為Opened的條件必須是發送方和接收方都發送和接收過確認報文

  • IPCP協商過程中,協商報文可包含多個選項,即參數。

  • 各個選項的拒絕或否認都不能影響IPCP的UP,IPCP可以無選項協商,無選項協商也同樣能夠UP。選項有IP Address、網關、掩碼等,其中IP Address是最重要的一個選項,有些廠家的實現必須這個選項得到確認,大多數廠家的實現允許這個選項為空。

PPPoE Terminate階段

  • PPP通信雙方可以使用PPP協議自身來結束PPPoE會話
  • 當無法使用PPP協議結束會話時可以使用PADT(PPPoE Active Discovery Terminate)報文。
  • 進入PPPoE Session階段后,PPPoE Client和PPPoE Server都可以通過發送PADT報文的方式來結束PPPoE連接
  • PADT數據包可以在會話建立以后的任意時刻單播發送。在發送或接收到PADT后,就不允許再使用該會話發送PPP流量了。
--THE END--

文章標題:TCP/IP協議架構介紹(一):網絡接口層
本文作者:hiyo
本文鏈接:https://www.cnblogs.com/hiyong/p/14358731.html
歡迎關注公眾號:「測試開發小記」及時接收最新技術文章!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM