1
ǰÑÔ
ÔÚĿǰµÄͨÐÅÊг¡£¬¿í´øÖð½¥ÔöΣ¬½ÓÈ뷽ʽ³ÊÏÖ¶àÑùÐÔ£ºLAN¡¢ADSL¡¢HFC
Cable Modem¡¢WLAN¸÷ÓÐÒ»¶¨µÄÊг¡·Ý¶î£¬¶øADSLÊÇÈ«Çò·¶Î§ÄÚÕ¼¾ÝÖ÷Á÷µØÎ»µÄ¿í´ø½ÓÈ뷽ʽ£¬ËüÄܹ»Ìṩ×îµÍ512
kHz£¬×î¸ß8 MHzµÄ´ø¿í¡£Óû§¿ÉÒÔ¶ÀÏí´ø¿í£¬²»»áÒòΪÉÏÍøÈËÊýµÄÔö¼Ó¶øµ¼ÖÂÉÏÍøËÙÂʵĽµµÍ¡£¸üÎªÖØÒªµÄÊÇADSL¼Û¸ñµÍÁ®£¬ÄÜΪÆÕͨÏû·ÑÕßËù½ÓÊÜ¡£Ä¿Ç°¹úÄڵĸ÷´óÔËÓªÉÌºÍ¿í´ø½ÓÈëÌṩÉÌÕýÔÚÈç»ðÈçݱµØ½øÐÐ¿í´ø¸ïÃü¡£ÖйúµçÐÅÍÆ³ö¡°ADSLÍøÂç¿ì³µ¡±£¬²¢ÇÒÒѾȦ¶¨ÁË´ó¹æÄ£µÄÓû§Èº£»ÖйúÍøÍ¨Ò²ÓÐÀàËÆµÄÊг¡¹æÄ£¡£ÁíÒ»·½Ã棬VoIPÓïÒôÒµÎñÒ²·ÉËÙ·¢Õ¹¡£Ä¿Ç°¹úÄÚ´ó¶àÊýVoIPÓïÒô½ÓÈëÖն˶àΪLAN·½Ê½¡£Ö÷ÒªÓû§¶ÔÏó¼¯ÖÐÓÚÖÇÄÜ»¯Ð¡Çø¡¢Ð£Ô°¡¢»°°ÉµÈ¡£ÓÉÓÚ´ó¶àÊý¼ÒÍ¥Óû§µÄ¿í´ø½ÓÈëΪADSL·½Ê½£¬ÔËÓªÉ̲»µÃ²»¿¼Âǵ½Ä¿Ç°µÄADSLÓû§¶ÔVoIPÓïÒôÒµÎñµÄÐèÇó¡£ËùÒÔ£¬Èç¹ûVoIPµÄÖÕ¶ËÉ豸֧³ÖPP-PoEµÄ½ÓÈ뷽ʽ£¬Ö»Òª½«VoIPµÄÖÕ¶ËÉ豸¹Òµ½AD-SLMODEMϾͿÉÒÔÌṩVoIPÓïÒôÒµÎñ¡£VoIPÖÕ¶ËÉ豸µÄÈí¼þ´ó¶à¶¼»ùÓÚǶÈëʽ²Ù×÷ϵͳ¡£VxWorksÊÇWRS(Wind
River Systems Inc.)ÍÆ³öµÄǶÈëʽʵʱ²Ù×÷ϵͳ
VxWorksÒÔÎ޿ɱÈÄâµÄ¸ßЧÄÜ¡¢¸ß¿É¿¿ÐÔ¡¢¸ßЧµÄµ÷ÊÔ¹¤¾ßºÍÎȶ¨¡¢¸ßЧµÄÍøÂçÐÒéµÈÓŵãÔڸ߶ËͨÐÅÊг¡Õ¼¾ÝÁËÓÅÊÆµØÎ»£¬Ì«¶àÊýͨѶÉ豸¶¼²ÉÓÃVxWorks×÷Ϊ²Ù×÷ϵͳ¡£±¾ÎÄÏêϸ½éÉÜPPP¡¢PPPoEÐÒéÔÚVxWorksϵľßÌåʵÏÖ¡£
2 PPPºÍPPPOEÐÒé
IP½ÓÈëµÄ¹¦ÄܰüÀ¨¶¯Ì¬IPµØÖ··ÖÅä¡¢AAAºÍISP¶¯Ì¬Ñ¡Ôñ£¬ÊµÏÖÕâЩ¹¦ÄÜͨ³£ÐèÒªÓõ½Ò»¸öÖøÃûµÄ½ÓÈëÐÒé¼´PPPÐÒ飬PPPÐÒéÊÇÒ»³ÉÊìµÄIP½ÓÈëÐÒ飬֧³Ö¶àÖÖÐÒé·â×°£¬ÊµÏÖ¼òµ¥£¬Ò×ÓÚÓëÏÖÓеÄISPÅäºÏ¡£Ëü¾ßÓÐÁ´Â·²ãºÍÍøÂç²ãÅäÖúÍÐÉ̹¦ÄÜ£¬¿É·½±ãµØ×Ô¶¯·ÖÅäTP¡£PPP±¾ÉíÒ²ÊÇÒ»¸öÊý¾ÝÁ´Â·²ãÐÒ飬Ëü¿É²ÉÓò»Í¬µÄ´«Êä»úÖÆ´«ËÍ¡£³£ÓõÄÓÐHDLC¡¢ATMºÍÒÔÌ«Íø¡£³ÐÔØÔÚÒÔÌ«ÍøÉϵijÆÎªPPPoE(PPP
over Ethernet)¡£
2.1 PPPoEÐÒé
RFC2516¶¨ÒåÁËÒ»ÖÖÔÚÒÔÌ«ÍøÉÏ´«ËÍPPPµÄ·½·¨¼´PPPoE¡£PPPoE·ÖΪ¶þ¸ö½×¶Î£¬¼´Discovery(µØÖ··¢ÏÖ)½×¶ÎºÍPPP»á»°½×¶Î¡£µ±Ä³¸öÖ÷»úÏ£Íû·¢ÆðÒ»¸öPPPoE»á»°Ê±£¬Ëü±ØÐëÊ×ÏÈÖ´ÐÐDiscoveryÀ´È·¶¨¶Ô·½µÄÒÔÌ«ÍøMACµØÖ·²¢½¨Á¢ÆðÒ»¸öPP-PoE»á»°±êʶ·ûSESSION_ID¡£ËäÈ»PPP¶¨ÒåµÄÊǶ˵½¶ËµÄ¶ÔµÈ¹ØÏµ£¬DiscoveryÈ´ÊÇÌìÉúµÄÒ»ÖÖ¿Í»§¶Ë-·þÎñÆ÷¹ØÏµ¡£ÔÚDiscoveryµÄ¹ý³ÌÖУ¬Ö÷»ú(×÷Ϊ¿Í»§¶Ë)·¢ÏÖij¸ö·ÃÎʼ¯ÖÐÆ÷(Access
Concentrator£¬×÷Ϊ·þÎñÆ÷)£¬¸ù¾ÝÍøÂçµÄÍØÆË½á¹¹£¬Ö÷»úÄܹ»Óë²»Ö»Ò»¸öµÄ·ÃÎʼ¯ÖÐÆ÷ͨÐÅ¡£Discovery½×¶ÎÔÊÐíÖ÷»ú·¢ÏÖËùÓеķÃÎʼ¯ÖÐÆ÷²¢´ÓÖÐÑ¡ÔñÒ»¸ö¡£µ±Discovery½×¶Î³É¹¦Íê³Éºó£¬Ö÷»úºÍ·ÃÎʼ¯ÖÐÆ÷¶þÕß¶¼¾ß±¸ÁËÓÃÓÚÔÚÒÔÌ«ÍøÉϽ¨Á¢µãµ½µãÁ¬½ÓËùÐèµÄËùÓÐÐÅÏ¢¡£
(1)PPPoEµÄÖ¡¸ñʽºÍÖÖÀà
Discovery½×¶ÎËùÓеÄÒÔÌ«ÍøÖ¡µÄETHER_TYPEÓò¶¼ÉèÖÃΪ0x8863¡£PPP»á»°½×¶ÎÒÔÌ«ÍøÖ¡µÄETHER_TYPEÓò¶¼ÉèÖÃΪ0x8864¡£PPPoEµÄpayload²¿·Ö°üº¬O¸ö»ò¶à¸öTAG¡£Ò»¸öTAGÊÇÒ»¸öTLV(type-length-value)½á¹¹£¬TAG_TYPEÓòΪ16λֵ(ÍøÂç×Ö½ÚÐò)£¬RFC2516±ê×¼¸½Â¼AÁгöÁ˸÷ÖÖTAG_TYPEºÍTAG_VALUE¡£PPPoEµÄÖ¡¸ñʽÈçͼlËùʾ¡£

PPPoE discovery½×¶ÎÓÐ5ÖÖ»ù±¾µÄÖ¡£¬·Ö±ðΪPPPoE Active Discovery
Initiation (PADI)¡¢PPPoE Active Discovery Offer(PADO)¡¢PPPoE
Active Discovery Request (PADR)¡¢PPPoE Active Discovery
Sessionconfirmation (PADS)¡¢PPPoE Active Discovery Terminate(PADT)¡£
(2)PPPoEµÄ¹¤×÷Á÷³Ì
PPPoE°üº¬¶þ¸ö½×¶Î£ºDiscoveryËÑË÷½×¶ÎºÍSession»á»°½×¶Î¡£PPPoE DiscoveryµÄÖ÷Òª²½ÖèΪ£º
1.Ö÷»ú·¢ËÍPADl·Ö×飬ÆäÄ¿µÄµØÖ·Îª¹ã²¥µØÖ·£¬»á»°IADΪ0(δ·ÖÅä)£»
2.ÈÎÒ»½ÓÈë·þÎñÆ÷ÊÕµ½PADI²¢ÈÎÌṩËùÐèµÄ·þÎñʱ£¬¾Í»ØËÍPADO·Ö×飬»á»°IADΪO£»
3.Ö÷»ú¿ÉÄÜÊÕµ½¶à¸öPADO£¬¸ù¾Ý·þÎñ¼°ÆäÌṩµÄ·þÎñÑ¡¶¨Ò»¸ö·þÎñÆ÷£¬È»ºóÏò¸Ã·þÎñÆ÷·¢ËÍPADR·Ö×飬ÆäÄ¿µÄµØÖ·Îª¸Ã·þÎñÆ÷µÄµ¥²¥µØÖ·¡£»á»°IDΪ0(δ·ÖÅä)£»
4.¸Ã·þÎñÆ÷ÊÕµ½PADRºóÉú³ÉÒ»¸öΨһµÄ»á»°ID£¬ÏòÖ÷»ú»ØËÍPADS·Ö×飬׼±¸Æô¶¯PPP¡£
µ±ËÑË÷½×¶ÎÍê³Éºó£¬PPPoEµÄHostÖ÷»ú´Ó½ÓÈë·þÎñÆ÷AC»ñȡһ¸öSession ID¡£ËÑË÷³É¹¦ºóÖ÷»úºÍ½ÓÈë·þÎñÆ÷Ö®¼ä¾Í¿ÉÒÔ½¨Á¢EthernetµÄPPPÁ¬½Ó,½øÈëPPP»á»°½×¶Î¡£
2.2 PPPÐÒé
(1)PPPÐÒé×é³É
PPPÐÒéÓÉIETF RFCl661¶¨Òå,Ö÷Òª°üº¬4¸ö²¿·Ö£º
1.Ö¡·â×°µÄ·½·¨£»
2.Á´Â·¿ØÖÆÐÒé(LCP-Link Control Protocol),Íê³ÉÏß·µÄÆô¶¯¡¢²âÊÔ¡¢ÈÎÑ¡²ÎÊýµÄÐÉ̺Í×îÖÕÏß·¶Ï¿ª¹¦ÄÜ£»
3.ÍøÂç¿ØÖÆÐÒé(NCP)£¬×î³£ÓõÄNCPÐÒéΪIP¿ØÖÆÐÒéIPCP¡£ËüµÄÒ»¸öÖØÒª¹¦ÄܾÍÊǶ¯Ì¬·ÖÅäIPµØÖ·£»
4.Óû§ÈÏÖ¤£¬Ö÷Ҫͨ¹ýLCPÐÉ̲ÉÓúÎÖÖÈÏÖ¤ÐÒ飬µ«ÈÏÖ¤ÐÒé±¾Éí²»ÊÇPPPÐÒéµÄ·¶Î§¡£
PPP¿É·ÖΪÈý¸ö½×¶Î£ºLCPÐÉÌ¡¢ÈÏÖ¤ºÍNCPÐÉÌ¡£´ÓÐÒéÉÏÀ´Ëµ¿ÉÒÔ·ÖΪÈý¸ö×Ó²ã,ÿ²ã¿ÉÏòÏàÁÚµÄ×Ӳ㷢ËÍ¡°Up¡±»ò¡°Down¡±Ê¼þ¡£¡°Up¡±±íʾ¸Ã²ãÒѼ¤»î£¬¡°Down¡±±íʾ¸Ã²ãÒÑÖսᡣ¾ÍÕû¸ö½ÓÈë¹ý³Ì¶øÑÔ£¬»¹¿ÉÒÔÈÏΪLCP֮ϻ¹ÓÐÒ»¸öÎïÀí²ã,ÔÚÿ¸öNCPÖ®ÉÏ»¹ÓÐÒ»¸öÍøÂç½Ó¿Ú¡£
Ò»¸ö×Ó²ãµÄ¼¤»î(Up)Ðè¾ßÓÐÈý¸öʼþ£ºÉϲ㷢³ö¡°´ò¿ª¡±(Open)ÇëÇó,ϲãÊÕµ½¡°Up¡±Ê¼þ£»±¾²ãÐÉ̳ɹ¦¡£
ÐÒéµÄ»ù±¾¹ý³ÌΪ£ºÓû§Í¨¹ýij¸ö½Ó¿ÚÇëÇó½¨Á¢Á´Â·£¬´ËʱOpenʼþ·¢Ë͵½PPPµÄLCP×Ó²ã,µ±LCPÆô¶¯ºó£¬¼´ÇëÇó½¨Á¢ÎïÀíÁ´Â·£¬¿ªÊ¼PPPoEÐÉÌ£¬µ±PPPoEÐÉ̳ɹ¦ºó£¬¾ÍÏòLCP²ã·¢ËÍUpʼþ¡£È»ºóLCPÏò¶Ô¶Ë·¢ËÍÐÉÌÇëÇó£¬Ë«·½È·¶¨Á´Â·µÄÅäÖòÎÊýºó£¬LCPÏòÈÏÖ¤²ã·¢ËÍUpʼþ¡£ÈÏÖ¤³É¹¦ºó£¬ÔÚÏòNCP²ã·¢Upʼþ¡£Èç²»ÐèÒªÈÏÖ¤£¬Ôò¿ÉÖ±½ÓÏòNCP²ã·¢ËÍupʼþ¡£NCPÐÒéÊÕµ½Upʼþºó¿ªÊ¼NCP´¦Àí¡£ÀýÈçIPCPÐÒ齫¿ªÊ¼ÐÉÌIPµØÖ·µÈ¡£PPPÕý³£ÖÕ½á¹ý³ÌÊÇ£¬Ã¿¸öNCP·Ö±ðÖսᣬȻºóLCPÖսᣬ×îºóÎïÀí²ãÖսᡣµ«PPPʵÏÖ±ØÐëÄܹ»´¦ÀíÎïÀíÁ´Â·×ÔÐжϿª¡¢NCPÉÐδÖÕ½áʱLCPÏÈÐÐÖÕ½áµÄÒì³£Çé¿ö¡£
(2)PPPµÄ·â×°¸ñʽ
PPPPµÄ·â×°¸ñʽÈçÏÂ:

·¢Ë͵Ä˳ÐòÊÇ´Ó×óµ½ÓÒ¡£Protocol¶¨Òå±»·â×°µÄÊý¾Ý±¨µÄÐÒéÀàÐÍ£¬×î³£Óõļ¸ÖÖ¶¨ÒåΪ£º

3 ÔÚVxWorksϵÄʵÏÖ
3.1 PPPºÍPPPoEÊý¾Ý°üÊÕ·¢´¦ÀíÁ÷³Ì
ΪÁ˸üÇå³þµØ½éÉÜVxWorksϵÄPPPºÍPPPoEÊý¾Ý°üÊÕ·¢´¦ÀíÁ÷³Ì£¬ÏȽéÉÜÒ»ÏÂVx-WorksϵÄTCP/IPÐÒéÕ»µÄ½á¹¹¡£
PPPºÍPPPoEÔÚVxWorks TCP/IPÐÒéÕ»ÖеÄλÖÃÈçÏ£º

VxWorksµÄTCP/IPÐÒéÕ»Óë±ê×¼µÄBSDµÄTCP/IPÐÒéµÄ×î´ó²»Í¬ÔÚÓÚ¼ÓÈëÁËMUX²ã¡£MUX²ãµÄ×÷ÓÃÊǸºÔð¹ÜÀíÐÒé²ãºÍÇý¶¯²ãÖ®¼äµÄÏ໥×÷Óã¬Ê¹ÐÒé²ãºÍÇý¶¯²ãÏ໥͸Ã÷¡£´Ó¶øÊ¹Ò»¸öVxWorks²Ù×÷ϵͳ¿ÉÒÔͬʱ֧³Ö¶à¸öÐÒéºÍÇý¶¯¡£PPPºÍPPPoE¶¼ÊôÓÚÁ´Â·²ãµÄÐÒ飬ËùÒÔ½éÓÚMUXºÍIP²ãÖ®¼ä¡£
PPPoE²ãÖ÷ҪʵÏÖPPPoE²¦ºÅ¹ý³ÌºÍ¶ÔÉϲãPPPµÄÊý¾Ý°ü½øÐÐPPPoE·â×°¡£PPPoEͨ¹ýMUX²ãµÄ½Ó¿Ú·¢ËÍ·½Ïò²ÉÓÃÒÔÌ«Íø·¢Ëͺ¯ÊýehterOutput·¢ËÍÊý¾Ý°ü£¬½ÓÊÕ·½ÏòÖ÷ÒªÊǵ÷ÓÃVxWorksÌṩµÄÔö¼Ó¹³×Óº¯ÊýetherInputHookAddÌí¼Ó×Ô¼ºµÄÒÔÌ«Íø¹³×Óº¯Êý¶ÔÒÔÌ«ÍøÖ¡ÀàÐÍΪ0x8863ºÍ0x8864µÄ°ü½øÐд¦Àí¡£ÈçÖ¡ÀàÐÍΪ0x8863£¬ÔòΪPPPoE
Dis-covery°ü£¬ÈçΪ0x8864£¬ÔòΪPPPoE Session½×¶ÎµÄ°ü¾²ð·â´¦ÀíºóË͵½PPP²ã´¦Àí¡£
PPP²ãÈí¼þÖ÷ҪʵÏÖLCPÁ´Â·½¨Á¢¡¢PPPÈÏÖ¤¡¢IPCPÐÉÌIPµØÖ·ºÍ¶ÔIPÊý¾Ý°üµÄPPP·â×°µÈ¹¦ÄÜ¡£
PPP²ãÓëIP²ãµÄ½Ó¿ÚÖ÷Ҫͨ¹ýÔÙÌí¼ÓÒ»¸öif_PPPµÄÍøÂç½Ó¿Ú¡£´ÓIP²ã¿´À´if_PPP½Ó¿ÚºÍÆÕͨµÄÍø¿ÚÉ豸ûʲô²»Í¬¡£if_ppp×÷ΪVxWorks
TCP/IPÐÒéÕ»ÖеÄÒ»¸öÍøÂç½Ó¿Ú£¬¿ÉÒÔ·â×°IPÊý¾Ý°ü£¬²¢ÇÒÔÚPPPµÄÁ´Â·ÉÏÊÕ·¢IP°ü¡£PPPºÍPPPoE²ãÒ²ÓÐÏàÓ¦½Ó¿Úº¯Êý¡£·¢ËÍ·½ÏòPPPµÄÊý¾Ý°ü(ÎÞÂÛÊÇIP»¹ÊÇLCP¡¢IPCP)¶¼Í¨¹ýPPPoE²ã·â×°ºó·¢ËͳöÈ¥£»½ÓÊÕ·½Ïò£¬PPPoE²ãÊÕµ½°üÏȽøÐÐÅжϣ¬ÈçÊÇPPF°ü£¬¾Í½»PPP²ã´¦Àí¡£PPP²ã¸ù¾ÝÐÒéÀàÐÍ·Ö·¢µ½LCP¡¢IPCF¡¢IPµÈÏà¹ØÄ£¿é½øÐд¦Àí¡£Õû¸öPPPºÍPPPoEµÄÊÕ·¢°ü´¦ÀíÁ÷³ÌÈçͼ2Ëùʾ¡£

3.2 PPPºÍPPPoEÈí¼þÄ£¿éÉè¼Æ
Õû¸öPPPoE¡¢PPPÈí¼þÓÉPPP¡¢PPP Adapter¡¢PP-PoE
Discovery¡¢PPPoE Session¡¢PPPoE Timer¡¢PPPoE Adpater¡¢PPPoE
ConfigÄ£¿é×é³É£¬Èçͼ3Ëùʾ¡£

1)PPPÄ£¿éÖ÷ҪʵÏÖLCP¡¢IPCPºÍÈÏÈÃÐÒé(chap¡¢pap)µÈ£¬PPP»¹ÊµÏÖÒ»¸öÐéÄâµÄifnet½Ó¿Ú£¬ÊµÏÖ¶ÔÉϲãIP±¨µÄ·â×°ºÍ·Ö·¢´¦Àí¡£
2)PPP AdpaterÄ£¿éÖ÷ҪʵÏÖPPPºÍPPPoEÄ£¿éÖ®¼äµÄ½Ó¿ÚÊÊÅä¡£
3)PPPoE DiscovervÄ£¿éʵÏÖPPPoEµÄDiscov-ely½×¶ÎµÄ´¦Àí¡£
4)PPPoE SessionÄ£¿éʵÏÖPPPoEµÄSession½×¶ÎµÄ´¦Àí£¬Ö÷ÒªÊÇPPPoE·â×°ºÍ½â°ü´¦Àí¡£
5)PPPoE TimerÄ£¿éÖ÷ҪʵÏÖPPPoEÄ£¿éµÄ¶¨Ê±´¦Àí¹¦ÄÜ£¬ÓÃÓÚPPPoE Discovery½×¶ÎµÄ״̬»úÇл»´¦Àí¡£
6)PPPoE AdapaterÄ£¿éÖ÷ҪʵÏÖPPPoEµÄ°üµÄÊÕ·¢´¦Àí¡£
7)PPPoE ConfigÄ£¿éÖ÷ҪʵÏÖPPPºÍPPPoEµÄÏà¹ØÅäÖù¦ÄÜ¡£ÈçÅäÖÃÓû§ÃûÃÜÂëµÈ¡£
4 ½áÊøÓï
±¾ÎĽéÉÜÓ¦ÓÃPPPºÍPPPoEÐÒéʵÏÖVoIPµÄÓïÒô½ÓÈË·½·¨,Ïêϸ½éÉÜÁËPPP¡¢PPPoEÐÒéµÄÔÀí,ÌÖÂÛÁËPPPºÍPPPoEÐÒéÔÚVxWorks²Ù×÷ϵͳϵľßÌåʵÏÖ,¾ßÓÐÒ»¶¨µÄ¹¤³ÌÓ¦ÓüÛÖµ¡£ |