²úÆ··ÖÀà+
ʲôÊÇPPP ÐÒ飿PPP ÐÒéÏê½â
1 µã¶ÔµãÐÒéPPP£¨Point-to-Point Protocol£©
PPP(Point-to-Point Protocol)£¬Á´Â·²ãÐÒé¡£PPPÊÇΪÁËÔÚµã¶ÔµãÎïÀíÁ´Â·(ÀýÈçRS232´®¿ÚÁ´Â·¡¢µç»°ISDNÏß·µÈ)ÉÏ´«ÊäOSIÄ£ÐÍÖеÄÍøÂç²ã±¨ÎĶøÉè¼ÆµÄ£¬Ëü¸Ä½øÁË֮ǰµÄÒ»¸öµã¶ÔµãÐÒé-SLIPÐÒé¨CÖ»ÄÜͬʱÔËÐÐÒ»¸öÍøÂçÐÒé¡¢ÎÞÈÝ´í¿ØÖÆ¡¢ÎÞÊÚȨµÈÐí¶àȱÏÝ£¬PPPÊÇÏÖÔÚ×îÁ÷Ðеĵã¶ÔµãÁ´Â·¿ØÖÆÐÒé¡£ÕâÖÖÁ¬½ÓÌṩÁËͬʱµÄË«ÏòµÄȫ˫¹¤²Ù×÷£¬²¢ÇÒ¼Ù¶¨Êý¾Ý°üÊǰ´Ë³ÐòͶµÝµÄ¡£PPPÁ¬½ÓÌṩÁËÒ»Öֹ㷺µÄ½â¾ö°ì·¨£¬·½±ãµØ½«¶àÖÖ¶àÑù²»Í¬µÄÖµ×÷Ϊ×î´ó½ÓÊÕµ¥ÔªµÄÖµ¡£
Ö¡¸ñʽÓëHDLCÏàËÆ£¬²»Í¬µÄÊÇPPPÊÇÃæÏò×Ö·û£¬HDLCÊÇÃæÏòλµÄ¡£PPPÊôÓÚ¹ãÓòÍø·¶³ë£¬MACÊǾÖÓòÍø·¶³ë£¬°´Êµ¼ÊÇé¿öºÍ»·¾³¾ÍÑ¡Óò»Í¬µÄÐÒ飬PPPÖ§³ÖµÄÍøÂç½á¹¹Ö»ÄÜÊǵã¶Ôµã£¬MACÖ§³Ö¶àµã¶Ô¶àµã¡£ ÕâÀà¹ãÓòÍøÐÒ飬ÆäÖ¡µÄ½á¹¹ÓëÒÔÌ«ÍøµÄÍêÈ«²»Í¬£¬µ±È»£¬PPPOE³ýÍ⣬ÒòΪPPPOEÊÇ»ùÓÚÒÔÌ«ÍøÉϵ쬶øÆäËüµÄÈçPPP£¬FR£¬X.25µÈÈ´²¢²»ÊÇ¡£ PPPÐÒéÊÇĿǰ¹ãÓòÍøÉÏÓ¦ÓÃ×î¹ã·ºµÄÐÒéÖ®Ò»£¬ËüµÄÓŵãÔÚÓÚ¼òµ¥¡¢¾ß±¸Óû§ÑéÖ¤ÄÜÁ¦¡¢¿ÉÒÔ½â¾öIP·ÖÅäµÈ¡£

1.1 PPPÐÒ鹦ÄÜ
(1) ¼òµ¥£ºÔÚͬһÌõÎïÀíÁ´Â·ÉϽøÐеã¶ÔµãµÄÊý¾Ý´«Ê䣬¶ÔÊý¾ÝÁ´Â·²ãµÄÖ¡²»½øÐоÀ´í£¬²»ÐèÒªÐòºÅ£¬²»ÐèÒªÁ÷Á¿¿ØÖÆ¡£
(2) ·â×°³ÉÖ¡£º¼ÓÈëÖ¡½ç¶¨·û¡£
(3) ͸Ã÷ÐÔ£º×Ö½ÚÌî³ä·¨¡£
(4) ¶àÖÖÍøÂç²ãÐÒ飺ÔÚͬһÌõÎïÀíÁ´Â·ÉÏͬʱ֧³Ö¶àÖÖÍøÂç²ãÐÒ飨ÈçIPºÍIPXµÈ£©µÄÔËÐС£
(5) ¶àÖÖÁ´Â·ÀàÐÍ£ºPPP±ØÐëÄܹ»ÔÚ¶àÖÖÀàÐ͵ÄÁ´Â·ÉÏÔËÐУ¬ÀýÈç´®Ðлò²¢ÐÐÁ´Â·¡£
(6) ²î´í¼ì²â£º½ÓÊÕ·½ÊÕµ½Ò»¸öÖ¡ºó½øÐÐCRC¼ìÑ飬ÈôÕýÈ·¾ÍÊÕÏÂÕâ¸öÖ¡£¬·´Ö®Ôò¶ªÆú¡£
(7) ¼ì²âÁ¬½Ó״̬£º×Ô¶¯¼ì²âÁ´Â·ÊÇ·ñ´¦ÓÚÕý³£¹¤×÷״̬¡£
1.2 PPPÐÒé×é³É
(1) Ìṩһ¸ö½«IPÊý¾Ý±¨·â×°µ½´®ÐÐÁ´Â·µÄ·½·¨¡£IPÊý¾Ý±¨ÔÚPPPÖ¡ÖоÍÊÇÐÅÏ¢²¿·Ö£¬³¤¶ÈÊÜ×î´ó´«Ë͵¥ÔªMTUµÄÏÞÖÆ¡£PPPÖ§³ÖÒì²½Á´Â·£¨ÎÞÆæÅ¼Ð£ÑéµÄ8±ÈÌØÊý¾Ý£©ºÍÃæÏò±ÈÌØµÄͬ²½Á´Â·¡£
(2) Á´Â·¿ØÖÆÐÒéLCP£¨Link Control Protocol£©
µ±Ïß·²»ÔÙÐèҪʱ£¬Ìô³öÕâЩÏß·£¬²âÊÔËüÃÇ£¬ÉÌÒéÑ¡Ôñ£¬²¢×ÐϸµØÔÙ´ÎÊÍ·ÅÁ´Â·¿ØÖÆÐÒé¡£
(3) Ò»Ì×ÍøÂç¿ØÖÆÐÒéNCP£¨Network Control Protocol£©
ÆäÖÐÿһ¸öÐÒéÖ§³Ö²»Í¬µÄÍøÂç²ãÐÒ飬ÈçIP¡¢OSIµÄÍøÂç²ãµÈ¡£
(4) ÈÏÖ¤ÐÒé
×î³£ÓõİüÀ¨¿ÚÁîÑéÖ¤ÐÒéPAP£¨Password Authentication Protocol£©ºÍÌôÕ½ÎÕÊÖÑéÖ¤ÐÒéCHAP£¨Challenge-Handshake Authentication Protocol£©¡£
1.3 PPPÖ¡¸ñʽ

(1) Êײ¿
×Ö¶Î
³¤¶È
˵Ã÷
F
1×Ö½Ú
±êÖ¾×Ö¶ÎF£¬¹Ì¶¨Îª0x7E£¬±êÖ¾Ò»¸öÖ¡µÄ¿ªÊ¼»ò½áÊø¡£Á¬Ðø2¸öÖ¡Ö®¼äÖ»ÐèÒªÒ»¸ö±êÖ¾×ֶΣ¬Èç¹û³öÏÖÁ¬ÐøÁ½¸ö±êÖ¾×ֶΣ¬±íʾÕâÊÇÒ»¸ö¿ÕÖ¡¡£
A
1×Ö½Ú
µØÖ·×Ö¶ÎAÊǹ̶¨²»±äµÄ£¬Îª0xFF¡£
C
1×Ö½Ú
¿ØÖÆ×Ö¶ÎCÊǹ̶¨²»±äµÄ£¬Îª 0x03¡£
ÐÒé
2×Ö½Ú
ÐÒé×ֶβ»Í¬£¬ºóÃæÐÅÏ¢²¿·Ö±íʾµÄÊý¾ÝÀàÐͲ»Í¬¡£
0x0021¡ª¡ªÐÅÏ¢×Ö¶ÎÊÇIPÊý¾Ý±¨
0xC021¡ª¡ªÐÅÏ¢×Ö¶ÎÊÇÁ´Â·¿ØÖÆÊý¾ÝLCP
0x8021¡ª¡ªÐÅÏ¢×Ö¶ÎÊÇÍøÂç¿ØÖÆÊý¾ÝNCP
0xC023¡ª¡ªÐÅÏ¢×Ö¶ÎÊǰ²È«ÐÔÈÏÖ¤PAP
0xC025¡ª¡ªÐÅÏ¢×Ö¶ÎÊÇLQR
0xC223¡ª¡ªÐÅÏ¢×Ö¶ÎÊǰ²È«ÐÔÈÏÖ¤CHAP
(2) ÐÅÏ¢²¿·Ö
³¤¶È²»³¬¹ý1500×Ö½Ú ¡£
(3) ×Ö½ÚÌî³ä·¨
(a) µ±ÐÅÏ¢×Ö¶ÎÖгöÏÖ0x7Eʱ£¬½«Ã¿Ò»¸ö0x7E×Ö½Úת±ä³É2×Ö½ÚÐòÁУ¨0x7D£¬0x5E£©¡£
(b) ÈôÐÅÏ¢×Ö¶ÎÖгöÏÖÒ»¸ö0x7DµÄ×Ö½Ú£¬Ôò½«Æäת±ä³É2×Ö½ÚÐòÁУ¨0x7D£¬0x5D£©¡£
(c) ÈôÐÅÏ¢×Ö¶ÎÖгöÏÖASCIIÂëµÄ¿ØÖÆ×Ö·û(¼´ÊýֵСÓÚ0X20µÄ×Ö·û)£¬Ôò¸Ã×Ö·ûÇ°ÃæÐèÒª¼ÓÈëÒ»¸ö0x7D×Ö½Ú£¬Í¬Ê±½«¸Ã×Ö·ûµÄ±àÂë¼ÓÒԸıä(+20)¡£ÀýÈ磬³öÏÖ0x03£¬¾ÍÒª°ÑËüתΪ2×Ö½ÚÐòÁÐ(0x7D£¬0x23)
(4) 0±ÈÌØÌî³ä·¨
PPPÐÒéÓÃÔÚSONET/SDHÁ´Â·Ê±£¬Ê¹ÓÃͬ²½´«Ê䣨һÁ¬´®µÄ±ÈÌØÁ¬Ðø´«ËÍ£©£¬´ËʱʹÓÃ0±ÈÌØÌî³ä·¨¡£
(a) ÔÚ·¢ËͶËɨÃèÕû¸öÐÅÏ¢×ֶΣ¬µ±ÓÐ5¸ö1Á¬Ðø³öÏÖʱ£¬Á¢¼´ÌîÈëÒ»¸ö0£¬±£Ö¤ÐÅÏ¢×Ö¶ÎÖв»»á³öÏÖ6¸öÁ¬Ðø1¡£
(b) ÔÚ½ÓÊÕ¶Ëɾ³ýÁ¬Ðø5¸ö1ºóÃæµÄ0¡£

(5) β²¿
FCS£ºÊ¹ÓÃCRCµÄ֡УÑéÐòÁС£
2 PPPÐÒéµÄ¹¤×÷״̬
PPPͨѶÊÇÁ½¸ö¶ËµãÖ®¼äµÄͨѶ£¬Ã¿Ò»¶Ë±ØÐëÊ×ÏÈ·¢ËÍLCP packetsÊý¾ÝÀ´É趨ºÍ²âÊÔÊý¾ÝÁ´Â·£¬µ±Á´Â·½¨Á¢ºó£¬peer²Å¿ÉÒÔ±»ÈÏÖ¤£¬ÈÏÖ¤Íê³Éºó£¬ÔÙͨ¹ý·¢ËÍNCP packetsÀ´Ñ¡¶¨ÍøÂç²ãÐÒ飬ÕâЩºóÐøµÄͨѶ¾Í¿ÉÒÔÔÚÍøÂç²ã½øÐÐÁË¡£
¾ßÌåµÄ¹ý³ÌÈçÏ£º
ÐòºÅ
״̬
˵Ã÷
1
Á´Â·¾²Ö¹×´Ì¬
Á´Â·Ò»¶¨¿ªÊ¼²¢½áÊøÓÚÕâ¸ö½×¶Î¡£µ±Ò»¸öÍⲿʼþ£¨ÀýÈçÔØ²¨ÕìÌý»òÍøÂç¹ÜÀíÔ±É趨£©Ö¸³öÎïÀí²ãÒѾ׼±¸¾ÍÐ÷ʱ£¬PPP½«½øÈëÁ´Â·½¨Á¢½×¶Î¡£ÔÚÕâ¸ö½×¶Î£¬LCP×Ô¶¯»úÆ÷½«´¦ÓÚ³õʼ״̬£¬ÏòÁ´Â·½¨Á¢½×¶ÎµÄת»»½«¸øLCP×Ô¶¯»úÆ÷Ò»¸öUPʼþÐźš£
2
Á´Â·½¨Á¢×´Ì¬
LCPÓÃÓÚ½»»»ÅäÖÃÐÅÏ¢°ü£¨Configure packets£©£¬½¨Á¢Á¬½Ó¡£Ò»µ©Ò»¸öÅäÖóɹ¦ÐÅÏ¢°ü£¨Configure-Ackpacket£©±»·¢ËÍÇÒ±»½ÓÊÕ£¬¾ÍÍê³ÉÁ˽»»»£¬½øÈëÁËLCP¿ªÆô״̬¡£ËùÓеÄÅäÖÃÑ¡Ïî¶¼¼Ù¶¨Ê¹ÓÃĬÈÏÖµ£¬³ý·Ç±»ÅäÖý»»»Ëù¸Ä±ä¡£ÓÐÒ»µãҪעÒ⣺ֻÓв»ÒÀÀµÓÚÌØ±ðµÄÍøÂç²ãÐÒéµÄÅäÖÃÑ¡Ïî²Å±»LCPÅäÖá£ÔÚÍøÂç²ãÐÒé½×¶Î£¬¸ö±ðµÄÍøÂç²ãÐÒéµÄÅäÖÃÓɸö±ðµÄÍøÂç¿ØÖÆÐÒ飨NCP£©À´´¦Àí¡£ÔÚÕâ¸ö½×¶Î½ÓÊÕµÄÈκηÇLCPpackets±ØÐë±»silentlydiscarded£¨¾²¾²µÄ¶ªÆú£©¡£ÊÕµ½LCPConfigure-Request£¨LCPÅäÖÃÒªÇó£©ÄÜʹÁ´Â·´ÓÍøÂç²ãÐÒé½×¶Î»òÕßÈÏÖ¤½×¶Î·µ»Øµ½Á´Â·½¨Á¢½×¶Î¡£
3
ÈÏÖ¤½×¶Î
ÔÚһЩÁ´Â·ÉÏ£¬ÔÚÔÊÐíÍøÂç²ãÐÒépackets½»»»Ö®Ç°£¬Á´Â·µÄÒ»¶Ë¿ÉÄÜÐèÒªpeerÈ¥ÈÏÖ¤Ëü¡£ÈÏÖ¤ÊDz»ÐèÒªÇ¿ÖÆÖ´Ðеġ£Èç¹ûÒ»´ÎÖ´ÐÐÏ£Íûpeer¸ù¾ÝÄ³Ò»ÌØ¶¨µÄÈÏÖ¤ÐÒéÀ´ÈÏÖ¤£¬ÄÇôËü±ØÐëÔÚÁ´Â·½¨Á¢½×¶ÎÒªÇóʹÓÃÄǸöÈÏÖ¤ÐÒé¡£Ó¦¸Ã¾¡¿ÉÄÜÔÚÁ´Â·½¨Á¢ºóÁ¢¼´½øÐÐÈÏÖ¤¡£Á´Â·ÖÊÁ¿¼ì²é¿ÉÒÔͬʱ·¢Éú¡£ÔÚÈÏÖ¤Íê³É֮ǰ£¬½ûÖ¹´ÓÈÏÖ¤½×¶Îǰ½øµ½ÍøÂç²ãÐÒé½×¶Î¡£Èç¹ûÈÏ֤ʧ°Ü£¬ÈÏÖ¤ÕßÓ¦¸ÃԾǨµ½Á´Â·ÖÕÖ¹½×¶Î¡£
ÔÚÕâÒ»½×¶ÎÀֻÓÐÁ´Â·¿ØÖÆÐÒé¡¢ÈÏÖ¤ÐÒ飬ºÍÁ´Â·ÖÊÁ¿¼àÊÓÐÒéµÄpacketsÊDZ»ÔÊÐíµÄ¡£Ôڸý׶ÎÀï½ÓÊÕµ½µÄÆäËûµÄpackets±ØÐë±»¾²¾²µÄ¶ªÆú¡£
4
ÍøÂç²ãÐÒé½×¶Î
Ò»µ©PPPÍê³ÉÁËÇ°ÃæµÄ½×¶Î£¬Ã¿Ò»¸öÍøÂç²ãÐÒ飨ÀýÈçIP£¬IPX£¬»òAppleTalk£©±ØÐë±»Êʵ±µÄÍøÂç¿ØÖÆÐÒ飨NCP£©·Ö±ðÉ趨¡£±ÈÈ磬NCP¿ÉÒÔ¸øÐ½ÓÈëµÄPC»ú·ÖÅäÒ»¸öÁÙʱµÄIPµØÖ·£¬ÕâÑùPC»ú¾Í³ÉΪInternetÉÏÒ»¸öÖ÷»úÁË¡£Ã¿¸öNCP¿ÉÒÔËæÊ±±»´ò¿ªºÍ¹Ø±Õ¡£µ±Ò»¸öNCP´¦ÓÚOpened״̬ʱ£¬PPP½«Ð¯´øÏàÓ¦µÄÍøÂç²ãÐÒépackets¡£µ±ÏàÓ¦µÄNCP²»´¦ÓÚOpened״̬ʱ£¬ÈκνÓÊÕµ½µÄ±»Ö§³ÖµÄÍøÂç²ãÐÒépackets¶¼½«±»¾²¾²µÄ¶ªÆú¡£
5
Á´Â·ÖÕÖ¹½×¶Î
PPP¿ÉÒÔÔÚÈÎÒâʱ¼äÖÕÖ¹Á´Â·¡£ÒýÆðÁ´Â·ÖÕÖ¹µÄÔÒòºÜ¶à£ºÔز¨¶ªÊ§¡¢ÈÏ֤ʧ°Ü¡¢Á´Â·ÖÊÁ¿Ê§°Ü¡¢¿ÕÏÐÖÜÆÚ¶¨Ê±Æ÷ÆÚÂú¡¢»òÕß¹ÜÀíÔ±¹Ø±ÕÁ´Â·¡£LCPÓý»»»Terminate£¨ÖÕÖ¹£©packetsµÄ·½·¨ÖÕÖ¹Á´Â·¡£µ±Á´Â·Õý±»¹Ø±Õʱ£¬PPPÍ¨ÖªÍøÂç²ãÐÒ飬ÒÔ±ãËûÃÇ¿ÉÒÔ²ÉÈ¡ÕýÈ·µÄÐж¯¡£½»»»Terminate£¨ÖÕÖ¹£©packetsÖ®ºó£¬Ö´ÐÐÓ¦¸Ã֪ͨÎïÀí²ã¶Ï¿ª£¬ÒÔ±ãÇ¿ÖÆÁ´Â·ÖÕÖ¹£¬ÓÈÆäµ±ÈÏ֤ʧ°Üʱ¡£Terminate-Request£¨ÖÕÖ¹-ÒªÇ󣩵ķ¢ËÍÕߣ¬ÔÚÊÕµ½Terminate-Ack£¨ÖÕÖ¹-ÔÊÐí£©ºó£¬»òÕßÔÚÖØÆô¼ÆÊýÆ÷ÆÚÂúºó£¬Ó¦¸Ã¶Ï¿ªÁ¬½Ó¡£ÊÕµ½Terminate-RequestµÄÒ»·½£¬Ó¦¸ÃµÈ´ýpeerÈ¥Çжϣ¬ÔÚ·¢³öTerminate-Requestºó£¬ÖÁÉÙÒ²Òª¾¹ýÒ»¸öRestarttime£¨ÖØÆôʱ¼ä£©£¬²ÅÔÊÐí¶Ï¿ª¡£PPPÓ¦¸Ãǰ½øµ½Á´Â·ËÀÍö½×¶Î¡£Ôڸý׶ÎÊÕµ½µÄÈκηÇLCPpackets£¬±ØÐë±»¾²¾²µÄ¶ªÆú¡£