PPP (Point to Point Protocol)

Introduction to PPP (Point to Point Protocol)

Point to Point protocol एक data link layer protocol है। इस protocol को Dial Up या ISDN किसी के भी साथ use किया जा सकता है। PPP point to point lines के लिए data link protocol provide करने की दृष्टि से IETF (Internet Engineering Task Force) द्वारा बनाया गया था।

HDLC Protocol का non proprietary version Point to Point Protocol है। PPP को आप different vendors के routers के साथ use कर सकते है। Point to Point Protocol का काम network layer packets को data link layer पर स्थित point to point link में encapsulate करना होता है। साथ ही PPP authentication, compression, dynamic addressing और call back जैसे features provide करता है। HDLC protocol के बारे में और अधिक जानने के लिए आप इससे सम्बन्धित tutorial पढ़ सकते है।

Point to Point Protocol ज्यादातर use किये जाने वाला data link layer protocol है। ये protocol आपके personal computer और ISP (Internet Service Provider) को आपस में connect करता है। PPP data link connections को create और maintain करने के लिए LCP (Link Control Protocol) पर निर्भर रहता है।

OSI model के सन्दर्भ में PPP protocol stack का diagram निचे दिया जा रहा है।

OSI model in Hindi

ऊपर दिए गए diagram में physical layer और network layer के बीच data link layer पर PPP के components को show किया गया है। इन components के बारे में detail से आप आगे जानेंगे।

Components of PPP (Point to Point Protocol)

Point to Point Protocol के 4 main components है।

  1. EIA/TIA-232-C, V.24, v.35 and ISDN
  2. HDLC (High Level Data Link Control)
  3. LCP (Link Control Protocol)
  4. NCP (Network Control Protocol)

ये सभी components PPP की working में अहम् role अदा करते है। इनके बारे में निचे detail से दिया जा रहा है।

EIA/TIA-232-C, V.24, V.35 and ISDN

ये physical layer पर काम करने वाले hardware components होते है। ये सभी components serial communication के लिए international standards को follow करते है।

HDCL PPP में use किये जाने वाला एक mechanism होता है, जो network layer से आने वाले datagrams को serial link में encapsulate करने का काम करता है। ये सभी Cisco serial links पर default serial encapsulation method है।

कई बार students HDLC Protocol और PPP में HDLC mechanism को एक ही समझ लेते है और confuse हो जाते है। इसलिए मैं आपको बताना चाहता हूँ की ये दोनों अलग अलग होते है|

जैसा की इस tutorial में पहले बताया गया है, PPP data link connections के लिए LCP पर निर्भर रहता है। LCP के द्वारा निचे दिए गए tasks perform किये जाते है।

  1. Establishing Point to Point connections
  2. Maintaining Point to Point connections
  3. Terminating Point to Point connections

Link control protocol आपको कई PPP encapsulation options provide करता है, इनके बारे में निचे दिया जा रहा है।

  1. Authentication - ये option link की दूसरी तरफ की side को user information send करने के लिए कहता है ताकि user को authenticate किया जा सके।
  2. Compression - ये option send करने से पहले data को compress करके PPP connections का throughput increase करने के लिए use किया जाता है।
  3. Error Detection - ये option PPP link में error detect करने के लिए use किया जाता है।
  4. Multilink - ये option सिर्फ उन्हीं PPP links के लिए available है जिनमें Cisco routers use किये गए है। ये option एक link से दूसरी link तक कई separate paths को एक path के रूप में show करता है। उदाहरण के लिए दो T1 lines को network layer पर एक single path के रूप में show किया जाएगा।
  5. PPP callback - ये option dial up connections के साथ use किया जाता है। Successfully authenticate होने के बाद PPP को दुबारा call back के लिए configure किया जा सकता है। जब callback feature enabled रहता है तो client router के द्वारा sever router को call करके authenticate किया जाता है। इस option के काम करने के लिए इसे दोनों side में enable रहना आवश्यक है।

NCP (Network Control Protocol)

ये protocol PPP link में encapsulate करने के लिए different network layer protocols को establish और configure करने का काम करता है। NCP के द्वारा आप कई network layer protocols को एक साथ use कर सकते है। आसान शब्दों में कहा जाए तो ये protocol network layer protocols से communication allow करता है।

PPP Connection Establishment

जब एक PPP connection start होता है तो point to point links 3 phases से होकर गुजरती है। इन phases के बारे में निचे detail से बताया जा रहा है।

इस phase में link को test और configure करने के लिए PPP devices के द्वारा आपस में LCP packets send किये जाते है। इन packets में एक Configuration option होता है जिससे सभी devices को data की size, compression और authentication की जानकारी मिलती है। यदि कोई configuration field नहीं है तो ऐसी situation में default configuration को use किया जाता है।

Peer Authentication Phase

कोई भी एक या फिर दोनों तरफ से authentication request भेजी जा सकती है। PPP authentication के लिए PAP (Password Authentication Protocol) या CHAP (Challenge Handshake Authentication Protocol) use करता है। इन दोनों में से PAP कम secure होता है और सिर्फ शुरआती link establishment के दौरान ही link को authenticate करता है। दूसरी तरफ CHAP शुरू में तो link को authenticate करता ही है साथ में एक निश्चित समय अंतराल के बाद भी बार बार link को authenticate करता है।

यदि authentication successful रहता है तो network layer protocol phase शुरू हो जाती है और यदि authentication fail होता है तो link termination phase शुरू हो जाती है।

Network Layer Protocol Phase

इस phase में सभी network layer protocol NCP (Network Control Protocol) के साथ service establish करते है।

PPP link किसी भी तरफ से किसी भी समय request भेजकर terminate की जा सकती है। Link termination authentication fail होने के कारण भी हो सकता है।

Configuring PPP (Point to Point Protocol)

किसी भी serial link पर PPP configure करने के लिए सबसे पहले आप interface configuration mode में enter होते है।

Router(config)# int s0/0

इसके बाद उस interface पर PPP encapsulation configure करने के लिए आप निचे दी गयी command execute करते है।

Router(config-if)# encapsulation ppp

अब तक एक Cisco router पर PPP को configure करना बताया गया है। ये करने के बाद आप PPP authentication configure करते है। PPP authentication configure करने के लिए सबसे पहले आप router को user name और password देते है। ऐसा आप global configuration mode में जाकर करते है। इसका उदाहरण निचे दिया जा रहा है।

Router(config)# hostname router1
Router(config)# username Router2 password bypass

पहली command के द्वारा current router को router1 hostname दिया है। दूसरी command username है। इस command से आप PPP link के दूसरी तरफ के router का hostname और password देते है ताकि दोनों आपस में connection establish कर सके। यही process link के दूसरी तरफ के router पर भी follow की जाती है लेकिन उस router पर username command द्वारा आप इस router का user name और password configure करते है।

User name और password configure करने के बाद आप कौनसा authentication method use करना चाहते है ये define करते है। इसका उदाहरण निचे दिया जा रहा है।

Router(config)# ppp authentication pap

इसी प्रकार आप CHAP को भी PPP authentication protocol के रूप में configure कर सकते है।

Router(config)# ppp authentication chap

Debugging PPP (Point to Point Protocol)

किसी भी interface पर configure किये हुए PPP encapsulation को आप इस प्रकार देख सकते है।

Router# show interface s0/0

दो routers के बीच में PPP authentication को आप इस प्रकार configure कर सकते है।

Router# debug ppp authentication