Ä¿¡¡Â¼

1 OpenFlow.. 1

1.1 ¹¦Ð§ÏÈÈÝ... 1

1.1.1 OpenFlow¸ÅÊö... 1

1.1.2 ÊÂÇéÔ­Àí... 1

1.1.3 ЭÒ鹿·¶... 4

1.2 ÉèÖÃÏÞÖÆºÍÖ¸µ¼... 4

1.3 ÉèÖÃʹÃü¸ÅÀÀ... 4

1.4 ÉèÖÃOpenFlow.. 4

1.4.1 ¹¦Ð§¼ò½é... 4

1.4.2 ÉèÖÃOpenFlow.. 4

1.4.3 ÉèÖÃOpenFlow¶à¿ØÖÆÆ÷ģʽ... 5

1.4.4 ÉèÖÃOpenFlowËÍ¿ØÖÆÆ÷±¨ÎĵÄvlan±êÇ©... 5

1.4.5 ÉèÖÃOpenFlow±¨ÎÄ´¦Öóͷ£Ä£Ê½... 6

1.4.6 ÉèÖÃOpenFlowÔ´IP. 6

1.5 ¼àÊÓÓëά»¤... 6

1.6 µä·¶ÉèÖþÙÀý... 7

1.6.1 ¼¯ÖпØÖÆÉèÖþÙÀý... 7

 


1 OpenFlow

1.1?? ¹¦Ð§ÏÈÈÝ

1.1.1? OpenFlow¸ÅÊö

OpenFlowÊÇSDN(Software Defined Network£¬£¬£¬£¬£¬Èí¼þ½çËµÍøÂç)¼Ü¹¹Öнç˵µÄÒ»¸ö¿ØÖÆÆ÷Óëת·¢²ãÖ®¼äµÄÍøÂç´«ÊäЭÒé¡£ ¡£¡£¡£¡£¡£¡£OpenFlowÔÊÐí¿ØÖÆÆ÷Ö±½Ó»á¼ûºÍ²Ù×÷ÍøÂç×°±¸µÄת·¢Ã棬£¬£¬£¬£¬ÕâЩװ±¸¿ÉÄÜÊÇÎïÀíÉϵ쬣¬£¬£¬£¬Ò²¿ÉÄÜÊÇÐéÄâµÄ¡£ ¡£¡£¡£¡£¡£¡£

OpenFlowͨ¹ý±ê×¼µÄͨѶЭÒ齫װ±¸µÄ¿ØÖÆÃæºÍת·¢ÃæÏàÊèÉ¢£¬£¬£¬£¬£¬ÈÃÍøÂç×°±¸×¨×¢ÓÚת¿¯ÐÐΪ£¬£¬£¬£¬£¬¶øÕûÍøµÄ¿ØÖÆÐÐΪ¼¯ÖÐÔÚһ̨¿ØÖÆÆ÷ÉÏ¡£ ¡£¡£¡£¡£¡£¡£×°±¸Óë¿ØÖÆÆ÷½¨ÉèOpenFlowÅþÁ¬£¬£¬£¬£¬£¬ÓÉ¿ØÖÆÆ÷ÌìÉúת·¢¹æÔò²¢Í¨¹ýOpenFlowÅþÁ¬ÒÔÁ÷±íµÄÐÎʽÏ·¢¸øÍøÂç×°±¸£¬£¬£¬£¬£¬´Ó¶øÊµÏÖÍøÂç¿ØÖÆÃæµÄ¼¯ÖÐÖÎÀí£¬£¬£¬£¬£¬½µµÍά»¤ÖÎÀí±¾Ç®¡£ ¡£¡£¡£¡£¡£¡£

1.1.2? ÊÂÇéÔ­Àí

1.    »ù±¾¿´·¨

l  Á÷±í

Á÷±íÊÇ×°±¸¾ÙÐÐת·¢Õ½ÂÔ¿ØÖƵĽ¹µãÊý¾Ý½á¹¹£¬£¬£¬£¬£¬×°±¸Æ¾Ö¤Á÷±íÀ´¾öÒé¶Ô½øÈë×°±¸µÄÍøÂçÁ÷Á¿½ÓÄɶÔÓ¦µÄÐÐΪ¡£ ¡£¡£¡£¡£¡£¡£

һ̨װ±¸¿ÉÒÔ°üÀ¨Ò»¸ö»òÕß¶à¸öÁ÷±í£¬£¬£¬£¬£¬Ä¿½ñ×°±¸Ö»Ö§³ÖÒ»¸öÁ÷±í¡£ ¡£¡£¡£¡£¡£¡£Ò»¸öÁ÷±íÓɶà¸öÁ÷±íÏî×é³É¡£ ¡£¡£¡£¡£¡£¡£

ÔÚOpenFlowЭÒéÖУ¬£¬£¬£¬£¬Á÷±íÏîÓÉÈý¸ö²¿·Ö×é³É£ºheader¡¢counter¡¢action¡£ ¡£¡£¡£¡£¡£¡£

*        header£º½ç˵ÁËÁ÷±íÏîµÄË÷Òý£¬£¬£¬£¬£¬Í¨³£Óɱ¨Îĵĸ÷¸ö×Ö¶Î×é³É£¬£¬£¬£¬£¬ºÃ±ÈÔ´MACµØµã¡¢Ä¿µÄMACµØµã¡¢ÒÔÌ«ÍøÐ­ÒéÀàÐÍÓò¡¢Ô´IP¡¢Ä¿µÄIP¡¢IPЭÒéÀàÐÍÓò¡¢Ô´¶Ë¿Ú¡¢Ä¿µÄ¶Ë¿ÚµÈ¸÷¸ö×ֶΣ¬£¬£¬£¬£¬ÓÃÓÚÆ¥Å䱨ÎÄ,±¨ÎÄÖÀÖÐÁ÷±íÏîµÄHeader×Ö¶Î,ÔòÅú×¢±¨ÎÄÆ¥Åäµ½¸ÃÁ÷±íÏî¡£ ¡£¡£¡£¡£¡£¡£

*        counter£ºÍ³¼Æ¼ÆÊý.ÓÃÓÚͳ¼ÆÓм¸¶à¸ö±¨ÎĺÍ×Ö½ÚÆ¥Åäµ½¸ÃÁ÷±íÏî¡£ ¡£¡£¡£¡£¡£¡£

*        action£º±¨ÎÄÆ¥ÅäºóµÄÐж¯£¬£¬£¬£¬£¬ÓÃÓÚ½ç˵¶ÔÆ¥Åäµ½Á÷±íÏîµÄ±¨ÎĵÄת¿¯ÐÐΪ£¬£¬£¬£¬£¬ÈçÑïÆú¡¢¹ã²¥¡¢×ª·¢µÈ¡£ ¡£¡£¡£¡£¡£¡£

l  ÐÂÎÅ

OpenFlowЭÒéÖ§³ÖÈýÖÖÐÂÎÅÀàÐÍ£ºcontroller-to-switch£¬£¬£¬£¬£¬asynchronousºÍsymmetric£¬£¬£¬£¬£¬Ã¿Ò»ÀàÐÂÎÅÓÖÓжà¸ö×ÓÐÂÎÅÀàÐÍ¡£ ¡£¡£¡£¡£¡£¡£¸÷ÐÂÎŵļòÆÓÐÎòÈçÏ£º

*        controller-to-switch£ºÓÉ¿ØÖÆÆ÷Ìᳫ£¬£¬£¬£¬£¬ÓÃÀ´ÖÎÀíÒÔ¼°»ñÈ¡ÍøÂç×°±¸×´Ì¬¡£ ¡£¡£¡£¡£¡£¡£ÐÂÎÅ×ÓÀàÐÍ˵Ã÷¼û±í1-1¡£ ¡£¡£¡£¡£¡£¡£

*        asynchronous£ºÓÉÍøÂç×°±¸Ìᳫ£¬£¬£¬£¬£¬ÓÃÀ´½«ÍøÂçÊÂÎñ»òÍøÂç×°±¸×´Ì¬×ª±ä£¨×î³£¼ûµÄÊÇÍøÂç½Ó¿ÚµÄlink up/downת±ä£©¸üе½¿ØÖÆÆ÷¡£ ¡£¡£¡£¡£¡£¡£×ÓÐÂÎÅÀàÐÍ˵Ã÷¼û±í1-2¡£ ¡£¡£¡£¡£¡£¡£

*        symmetric£º¿ÉÓÉ×°±¸»ò¿ØÖÆÆ÷ÈÎÒ»¶ËÌᳫ£¬£¬£¬£¬£¬Ö÷ÒªÓÃÓÚЭÒé³õʼµÄÎÕÊÖÒÔ¼°ÅþÁ¬×´Ì¬Ì½²â¡£ ¡£¡£¡£¡£¡£¡£×ÓÐÂÎÅÀàÐÍ˵Ã÷¼û±í1-3¡£ ¡£¡£¡£¡£¡£¡£

±í1-1     controller-to-switchÐÂÎÅ×ÓÀàÐÍ˵Ã÷±í

×ÓÀàÐÍ

ÐÎò

Features

ÓÃÓÚ¿ØÖÆÆ÷·¢ËÍFeaturesÇëÇóÀ´Ïàʶװ±¸µÄÄÜÁ¦£¬£¬£¬£¬£¬×°±¸Ó¦´ð

Configuration

ÓÃÓÚ¿ØÖÆÆ÷ÅÌÎÊ×°±¸µÄÉèÖ㬣¬£¬£¬£¬×°±¸ÔÚÊÕµ½ÅÌÎÊʱӦ´ð

Modify-State

ÓÃÓÚÖÎÀí×°±¸µÄ״̬,ÈçÁ÷±íÏîºÍ¶Ë¿Ú״̬£¬£¬£¬£¬£¬¸ÃÐÂÎÅÖ÷ÒªÓÃÓÚÔöÌí¡¢É¾³ý¡¢ÐÞ¸Ä×°±¸ÄÚµÄÁ÷±í±íÏî¡¢×é±í±íÏîºÍ×°±¸¶Ë¿ÚÊôÐÔ

Multipart

ÓÃÓÚ¿ØÖÆÆ÷ÇëÇó×°±¸¸÷·½ÃæÐÅÏ¢£¬£¬£¬£¬£¬ÈçÄ¿½ñÉèÖá¢Í³¼ÆÐÅÏ¢

Packet-Out

ÓÃÓÚ¿ØÖÆÆ÷Ïò×°±¸·¢Ëͱ¨ÎÄ

Barrier

ÓÃÓÚÈ·ÈÏBarrierÐÂÎÅ֮ǰµÄÐж¯ÊÇ·ñÀֳɡ£ ¡£¡£¡£¡£¡£¡ £¿£¿£¿£¿£¿£¿£¿£¿ØÖÆÆ÷·¢ËÍBarrierÇëÇóÐÂÎÅ,µ±×°±¸È·ÈÏ֮ǰµÄÐж¯¶¼ÒÑÀÖ³Éʱ»ØÓ¦´ðBrarrierÓ¦´ðÐÂÎÅ

Role-Request

ÓÃÓÚ×°±¸ÇëÇó¿ØÖÆÆ÷µÄ½ÇÉ«

Asynchronous-Configuration

¿ØÖÆÆ÷ʹÓøÃÐÂÎÅÉèÖÃÒì²½ÐÂÎŹýÂËÆ÷,ÓÃÓÚÎüÊÕֻϣÍûÎüÊÕµ½µÄÒì²½ÐÂÎű¨ÎÄ,»òÏò×°±¸ÅÌÎʸùýÂËÆ÷

 

±í1-2     asynchronousÐÂÎÅ×ÓÀàÐÍ˵Ã÷±í

×ÓÀàÐÍ

ÐÎò

Packet-in

ÓÃÓÚ×°±¸·¢Ëͱ¨Îĵ½¿ØÖÆÆ÷

Flow-Removed

ͨ¸æ¿ØÖÆÆ÷½«Ä³¸öÁ÷±íÏî´ÓÁ÷±íÖÐÒÆ³ý

Port-Status

ͨ¸æ¿ØÖÆÆ÷×°±¸¶Ë¿Ú״̬»òÉèÖñ¬·¢¸Ä±ä

Error

ͨ¸æ¿ØÖÆÆ÷×°±¸³öµÄÎÊÌâ»ò¹ýʧ

 

±í1-3     symmetricÐÂÎÅ×ÓÀàÐÍ˵Ã÷±í

×ÓÀàÐÍ

ÐÎò

Hello

½¨ÉèOpenFlowÅþÁ¬Ê±×°±¸ºÍ¿ØÖÆÆ÷·¢ËÍHello½»»¥

Echo

±£»£»£»£» £»£»£»îÐÂÎÅ,¿ØÖÆÆ÷ºÍ×°±¸¶¼»á·¢ËÍEcho request/replyÐÂÎÅ

Experimenter

ΪδÀ´Ð¼ÓÈëµÄÌØÕ÷Ô¤ÁôµÄÐÂÎÅ

 

2.    ¿ØÖÆÆ÷½ÇÉ«

±í1-4     ¿ØÖÆÆ÷½Çɫ˵Ã÷±í

½ÇÉ«

ȨÏÞ

Master

¸Ã½ÇÉ«µÄ¿ØÖÆÆ÷ÓµÓпØÖÆ×°±¸µÄËùÓÐȨÏÞ£¬£¬£¬£¬£¬¿ÉÒÔÏ·¢Á÷±í\ÅÌÎÊͳ¼ÆÐÅÏ¢,ÎüÊÕ×°±¸Éϱ¨µÄ״̬ÐÅÏ¢¡£ ¡£¡£¡£¡£¡£¡£ÔÚ¿ØÖÆÆ÷¼¯Èº°²ÅÅʱ,Ö»ÄÜÓÐһ̨¿ØÖÆÆ÷ÊÇMaster

Equal

¸Ã½ÇÉ«¿ØÖÆÆ÷ͬÑùÓµÓÐËùÓÐȨÏÞ,Ïà±ÈÓÚMaster½ÇÉ«£¬£¬£¬£¬£¬¼¯ÈºÊ±¿ÉÓжà¸ö¿ØÖÆÆ÷´¦ÓÚEqual

Slave

¸Ã½ÇÉ«¿ØÖÆÆ÷Óв¿·ÖȨÏÞ,²¿·ÖȨÏÞ±»ÏÞÖÆ£¬£¬£¬£¬£¬Èç²»¿ÉÏ·¢Á÷±íÏî¡¢group±íÏî¡¢Meter±íÏî¡£ ¡£¡£¡£¡£¡£¡£²»ÔÊÐíÐÞ¶©×°±¸ÉèÖᢲ»ÔÊÐí¾ÙÐÐPacket Out²Ù×÷

 

3.    ¿ØÖÆ×ª·¢ÊèÉ¢

OpenFlowʵÏÖÁËÍøÂç¿ØÖÆÃæµÄ¼¯ÖÐÖÎÀí£¬£¬£¬£¬£¬Ê¹µÃÕû¸öÍøÂçÄܹ»ÈÝÒ×£¨Ïà¹ØÓÚÏÖÓÐÍøÂç״̬¶øÑÔ£©µØÊµÏÖ¼¯ÖÐÖÎÀí£¬£¬£¬£¬£¬½ø¶ø¼ò»¯ÁËά»¤ÖÎÀí±¾Ç®¡£ ¡£¡£¡£¡£¡£¡£

¿ØÖÆÆ÷ÏòÍøÂç×°±¸·¢ËÍÁ÷±íÐÅÏ¢£¬£¬£¬£¬£¬ÓÃÓÚ¿ØÖÆÍøÂçÊý¾Ý°üµÄת·¢·½·¨ÒÔ¼°Ò»Ð©ÉèÖòÎÊý¡£ ¡£¡£¡£¡£¡£¡£¶øÍøÂç×°±¸»áÔÚÁ´Â·ÖÐÖ¹»ò·ºÆðδָ¶¨×ª¿¯ÐÐΪµÄÊý¾Ý°üʱ£¬£¬£¬£¬£¬·¢ËÍÐÂÎÅ֪ͨ¿ØÖÆÆ÷¡£ ¡£¡£¡£¡£¡£¡£½ø¶øÐγɶþÕߵĻ¥¶¯£¬£¬£¬£¬£¬×îÖÕ¿ØÖÆÕû¸öÍøÂçµÄ´«ÊäÐÐΪ¡£ ¡£¡£¡£¡£¡£¡£

¿ØÖÆÆ÷ºÍÍøÂç×°±¸Ö®¼ä×îÏÈʱÐèÒªÍê³ÉÏ໥·¢Ã÷µÄÀú³Ì£¬£¬£¬£¬£¬ÆäÏêϸµÄÐÐΪÈçÏÂͼ1-1Ëùʾ£º

ͼ1-1     ¿ØÖÆÆ÷ºÍÍøÂç×°±¸½»»¥Ô­Àíͼ

 

¿ØÖÆÆ÷ºÍÍøÂç×°±¸Ï໥·¢ËÍOpenFlow½ç˵µÄHello±¨ÎľÙÐÐÎÕÊÖ¡£ ¡£¡£¡£¡£¡£¡£ÎÕÊÖÀֳɺ󣬣¬£¬£¬£¬¿ØÖÆÆ÷½«ÇëÇó×°±¸µÄÏêϸÐÅÏ¢ÀýÈç×°±¸µÄ¶Ë¿ÚÊýÄ¿¡¢¸÷¶Ë¿ÚµÄÄÜÁ¦µÈ£¨Èçͼ1-1ÖеÄFeature Request/Reply£©£¬£¬£¬£¬£¬Ëæºó¿ØÖÆÆ÷½«Ï·¢Óû§ÉèÖõ½ÏêϸµÄÍøÂç×°±¸ÉÏ(Èçͼ1-1ÖеÄSet Config)¡£ ¡£¡£¡£¡£¡£¡£µ±ÅþÁ¬½¨Éèºó£¬£¬£¬£¬£¬¿ØÖÆÆ÷½ç˵¸÷¸öÁ÷ÒÔ¼°Æ¥ÅäÁ÷µÄ´¦Öóͷ£·½·¨²¢Í¨¹ýÁ÷±íÏ·¢µ½×°±¸¡£ ¡£¡£¡£¡£¡£¡£Ã¿¸öÊý¾Ý°üÔÚ½øÈë×°±¸ºó½«Æ¾Ö¤¿ØÖÆÆ÷Ô¤ÏÈÉ趨µÄÁ÷±í¹æÔòÆ¥ÅäÁ÷±í²¢Ö´ÐжÔÓ¦µÄÐж¯£¨Ðж¯°üÀ¨£º×ª·¢¡¢ÑïÆú¡¢Ð޸ı¨ÎÄÄÚÈÝ£©£¬£¬£¬£¬£¬Í¬Ê±¶ÔÓ¦µÄ¼ÆÊýÆ÷½«¸üУ»£»£»£» £»£»£»ÈôÊÇûÄÜÕÒµ½Æ¥ÅäµÄ±íÏ£¬£¬£¬£¬Ôòת·¢¸ø¿ØÖÆÆ÷¡£ ¡£¡£¡£¡£¡£¡£

ÍøÂç×°±¸»áÔÚÍâµØÎ¬»¤¿ØÖÆÆ÷Ï·¢µÄÁ÷±í£¬£¬£¬£¬£¬ÈôÊÇҪת·¢µÄÊý¾Ý°üÔÚÁ÷±íÖÐÒÑÓнç˵£¬£¬£¬£¬£¬ÔòÖ±½ÓÔÚÍøÂç×°±¸ÉÏÍê³Éת¿¯ÐÐΪ£»£»£»£» £»£»£»ÈôÔÚÁ÷±íÖÐδÄܲéÕÒµ½£¬£¬£¬£¬£¬ÔòÊý¾Ý°ü¾Í»á±»·¢Ë͵½¿ØÖÆÆ÷¾ÙÐд«Êä·¾¶¼òÖ±ÈÏ£¨¿ÉÒÔÃ÷ȷΪ¾ÙÐпØÖÆÃæÆÊÎö£¬£¬£¬£¬£¬½ø¶øÌìÉúÁ÷±í£©£¬£¬£¬£¬£¬ÔÙÆ¾Ö¤¿ØÖÆÆ÷Ï·¢µÄÁ÷±í¾ÙÐÐת·¢¡£ ¡£¡£¡£¡£¡£¡£

1.1.3? ЭÒ鹿·¶

l  OpenFlow Switch SpecicationVersion 1.0.0

l  OpenFlow Switch SpecicationVersion 1.3.0

1.2?? ÉèÖÃÏÞÖÆºÍÖ¸µ¼

l  Á÷±íÏÞÖÆ£º²»Ö§³Ö¶à¸öÁ÷±í,Ö»Ö§³ÖTable 0Á÷±í¡£ ¡£¡£¡£¡£¡£¡£

l  ÅþÁ¬¿ØÖÆÆ÷ÊýÄ¿ÏÞÖÆ£º×î¶àÖ»Ö§³ÖÅþÁ¬3̨¿ØÖÆÆ÷¡£ ¡£¡£¡£¡£¡£¡£

1.3?? ÉèÖÃʹÃü¸ÅÀÀ

OpenFlowÉèÖÃʹÃüÈçÏ£º

(1)   ÉèÖÃOpenFlow

(2)   £¨¿ÉÑ¡£ ¡£¡£¡£¡£¡£¡£©ÉèÖÃOpenFlow¶à¿ØÖÆÆ÷ģʽ

(3)   £¨¿ÉÑ¡£ ¡£¡£¡£¡£¡£¡£©ÉèÖÃOpenFlowËÍ¿ØÖÆÆ÷±¨ÎĵÄvlan±êÇ©

(4)   £¨¿ÉÑ¡£ ¡£¡£¡£¡£¡£¡£©ÉèÖÃOpenFlow±¨ÎÄ´¦Öóͷ£Ä£Ê½

(5)   £¨¿ÉÑ¡£ ¡£¡£¡£¡£¡£¡£©ÉèÖÃOpenFlowÔ´IP

1.4?? ÉèÖÃOpenFlow

1.4.1? ¹¦Ð§¼ò½é

OpenFlowÊÇÒ»ÖÖÍøÂç´«ÊäЭÒ飬£¬£¬£¬£¬ÔËÐÐÔÚÇå¾²´«Êä²ãЭÒé(TLS)»òÎÞ±£»£»£»£» £»£»£»¤TCPÅþÁ¬Ö®ÉÏ£¬£¬£¬£¬£¬½ç˵ÁË¿ØÖÆÆ÷ÓëÍøÂç×°±¸Ö®¼äµÄ½»»¥ÐÐΪ¡£ ¡£¡£¡£¡£¡£¡£

1.4.2? ÉèÖÃOpenFlow

1.    ¹¦Ð§¼ò½é

ÉèÖÃ×°±¸ÎªOpenFlowת·¢Ä£Ê½£¬£¬£¬£¬£¬µ±×°±¸¿ªÆôOpenFlow¹¦Ð§Ê±£¬£¬£¬£¬£¬¶Ô±¨ÎĵÄת·¢¿ØÖÆÕ½ÂÔÓÉ¿ØÖÆÆ÷ÌìÉú²¢Ï·¢¡£ ¡£¡£¡£¡£¡£¡£

2.    ÉèÖÃÏÞÖÆÓëÖ¸µ¼

l  µ±ÒªÇл»¿ØÖÆÆ÷µÄµØµãʱ£¬£¬£¬£¬£¬Ó¦ÏȹرÕOpenFlow¹¦Ð§£¬£¬£¬£¬£¬ÔÙ¿ªÆôOpenFlow¹¦Ð§¡£ ¡£¡£¡£¡£¡£¡£

l  ¿ªÆôOpenFlow¹¦Ð§Ê±£¬£¬£¬£¬£¬ÐèÒª½«×°±¸×Ô¼ºµÄLLDP¹¦Ð§¹Ø±Õ£¬£¬£¬£¬£¬²»È»¿ØÖÆÆ÷Ï·¢µÄLLDP±¨ÎÄÎÞ·¨·¢³ö¡£ ¡£¡£¡£¡£¡£¡£

3.    ÉèÖð취

(1)   ½øÈëÌØÈ¨Ä£Ê½¡£ ¡£¡£¡£¡£¡£¡£

enable

(2)   ½øÈëÈ«¾ÖÉèÖÃģʽ¡£ ¡£¡£¡£¡£¡£¡£

configure terminal

(3)   ¿ªÆôOpenFlow¹¦Ð§¡£ ¡£¡£¡£¡£¡£¡£

of controller-ip ipv4-address [ port port-number ] [ aux ] interface interface-type interface-number

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬OpenFlow¹¦Ð§´¦ÓڹرÕ״̬¡£ ¡£¡£¡£¡£¡£¡£

1.4.3? ÉèÖÃOpenFlow¶à¿ØÖÆÆ÷ģʽ

1.    ¹¦Ð§¼ò½é

ÉèÖÃ×°±¸¶à¿ØÖÆÆ÷ģʽ£¬£¬£¬£¬£¬¿ÉÒÔͬʱÅþÁ¬¶à¸ö¿ØÖÆÆ÷¡£ ¡£¡£¡£¡£¡£¡£

2.    ÉèÖÃÏÞÖÆÓëÖ¸µ¼

ÉèÖÃ×°±¸¶à¿ØÖÆÆ÷ģʽʱ£¬£¬£¬£¬£¬ÐèÒªÏȹرÕOpenFlow¹¦Ð§£¬£¬£¬£¬£¬ÔÙÉèÖÃΪ¶à¿ØÖÆÆ÷ģʽ£¬£¬£¬£¬£¬ÔÙ¿ªÆôOpenFlow¹¦Ð§ºó²ÅÉúЧ¡£ ¡£¡£¡£¡£¡£¡£

3.    ÉèÖð취

(1)   ½øÈëÌØÈ¨Ä£Ê½¡£ ¡£¡£¡£¡£¡£¡£

enable

(2)   ½øÈëÈ«¾ÖÉèÖÃģʽ¡£ ¡£¡£¡£¡£¡£¡£

configure terminal

(3)   ÉèÖÃOpenFlow×°±¸ÅþÁ¬¿ØÖÆÆ÷ģʽ¡£ ¡£¡£¡£¡£¡£¡£

of mode { single | multiple }

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬OpenFlow×°±¸´¦ÓÚ¶à¿ØÖÆÆ÷ģʽ¡£ ¡£¡£¡£¡£¡£¡£

(4)   £¨¿ÉÑ¡£ ¡£¡£¡£¡£¡£¡£©ÉèÖÃOpenFlowÖØÁ¬¿ØÖÆÆ÷µÄʱ¼ä¾àÀë¡£ ¡£¡£¡£¡£¡£¡£

of connect-interval interval

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬OpenFlowÖØÁ¬¿ØÖÆÆ÷µÄʱ¼ä¾àÀëΪ6Ãë¡£ ¡£¡£¡£¡£¡£¡£

(5)   £¨¿ÉÑ¡£ ¡£¡£¡£¡£¡£¡£©ÉèÖÃOpenFlow·¢ËÍecho requestµÄʱ¼ä¾àÀë¡£ ¡£¡£¡£¡£¡£¡£

of echo-interval interval

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬OpenFlow·¢ËÍecho requestµÄʱ¼ä¾àÀëΪ5Ãë¡£ ¡£¡£¡£¡£¡£¡£

1.4.4? ÉèÖÃOpenFlowËÍ¿ØÖÆÆ÷±¨ÎĵÄvlan±êÇ©

1.    ¹¦Ð§¼ò½é

ÉèÖÃ×°±¸ËÍ¿ØÖÆÆ÷µÄ±¨ÎÄÊÇ·ñЯ´øvlan±êÇ©¡£ ¡£¡£¡£¡£¡£¡£È±Ê¡ÇéÐÎÏÂ×°±¸ËÍ¿ØÖÆÆ÷µÄ±¨ÎÄЯ´øvlan±êÇ©¡£ ¡£¡£¡£¡£¡£¡£

2.    ÉèÖÃÏÞÖÆÓëÖ¸µ¼

ÉèÖÃÍê³ÉºóÁ¬Ã¦ÉúЧ¡£ ¡£¡£¡£¡£¡£¡£

3.    ÉèÖð취

(1)   ½øÈëÌØÈ¨Ä£Ê½¡£ ¡£¡£¡£¡£¡£¡£

enable

(2)   ½øÈëÈ«¾ÖÉèÖÃģʽ¡£ ¡£¡£¡£¡£¡£¡£

configure terminal

(3)   ÉèÖÃOpenFlow×°±¸ËÍ¿ØÖÆÆ÷±¨ÎÄÊÇ·ñЯ´ø±êÇ©¡£ ¡£¡£¡£¡£¡£¡£

of packet vlantag

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬OpenFlow×°±¸ËÍ¿ØÖÆÆ÷µÄ±¨ÎÄЯ´øvlan±êÇ©¡£ ¡£¡£¡£¡£¡£¡£

1.4.5? ÉèÖÃOpenFlow±¨ÎÄ´¦Öóͷ£Ä£Ê½

1.    ¹¦Ð§¼ò½é

ÉèÖÃ×°±¸ÊÕµ½µÄ±¨ÎÄÊÇ·ñ¾ÙÐвé±í¡£ ¡£¡£¡£¡£¡£¡£È±Ê¡ÇéÐÎÏ£¬£¬£¬£¬£¬×°±¸ÊÕµ½±¨ÎĺóÏȾÙÐвé±í£¬£¬£¬£¬£¬Æ¾Ö¤ÖÀÖеıíÏî´¦Öóͷ£±¨ÎÄ£¬£¬£¬£¬£¬ÈôÊÇδÖÀÖбíÏîÔò±¨Îı»ÑïÆú¡£ ¡£¡£¡£¡£¡£¡£

2.    ÉèÖÃÏÞÖÆÓëÖ¸µ¼

ÉèÖÃÍê³ÉºóÁ¬Ã¦ÉúЧ¡£ ¡£¡£¡£¡£¡£¡£

3.    ÉèÖð취

(1)   ½øÈëÌØÈ¨Ä£Ê½¡£ ¡£¡£¡£¡£¡£¡£

enable

(2)   ½øÈëÈ«¾ÖÉèÖÃģʽ¡£ ¡£¡£¡£¡£¡£¡£

configure terminal

(3)   ÉèÖÃOpenFlow×°±¸ÅþÁ¬¿ØÖÆÆ÷ģʽ¡£ ¡£¡£¡£¡£¡£¡£

of packet table-lookup { enable | disable }

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬×°±¸±¨ÎĵĴ¦Öóͷ£Ä£Ê½Îª²é±íģʽ¡£ ¡£¡£¡£¡£¡£¡£

1.4.6? ÉèÖÃOpenFlowÔ´IP

1.    ¹¦Ð§¼ò½é

ÉèÖÃ×°±¸ÅþÁ¬¿ØÖÆÆ÷ʱµÄÔ´IP¡£ ¡£¡£¡£¡£¡£¡£Ä¬Èϲ»ÉèÖ㬣¬£¬£¬£¬Ê¹ÓÃÅþÁ¬¶Ë¿ÚµÄIP¡£ ¡£¡£¡£¡£¡£¡£

2.    ÉèÖÃÏÞÖÆÓëÖ¸µ¼

ÉèÖÃÍê³ÉºóÁ¬Ã¦ÉúЧ£¬£¬£¬£¬£¬×°±¸ºÍ¿ØÖÆÆ÷»á¶Ï¿ª£¬£¬£¬£¬£¬Ê¹ÓÃÔ´IPÖØÐ¾ÙÐÐÅþÁ¬¡£ ¡£¡£¡£¡£¡£¡£

3.    ÉèÖð취

(1)   ½øÈëÌØÈ¨Ä£Ê½¡£ ¡£¡£¡£¡£¡£¡£

enable

(2)   ½øÈëÈ«¾ÖÉèÖÃģʽ¡£ ¡£¡£¡£¡£¡£¡£

configure terminal

(3)   ÉèÖÃOpenFlowÅþÁ¬¿ØÖÆÆ÷µÄÔ´IP

of source-ip ipv4-address

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬²»ÉèÖÃÔ´IP£¬£¬£¬£¬£¬Ä¬ÈÏÒÔÅþÅþÁÚ¿ÚµÄIPΪԴIPÅþÁ¬¿ØÖÆÆ÷¡£ ¡£¡£¡£¡£¡£¡£

1.5?? ¼àÊÓÓëά»¤

¿ÉÒÔͨ¹ýshowÏÂÁîÐÐÉó²é¹¦Ð§ÉèÖúóµÄÔËÐÐÇéÐÎÒÔÑéÖ¤ÉèÖÃЧ¹û¡£ ¡£¡£¡£¡£¡£¡£

±í1-5     OpenFlow¼àÊÓÓëά»¤

×÷ÓÃ

ÏÂÁî

Éó²éÄ¿½ñOpenFlow×°±¸Óë¿ØÖÆÆ÷ÅþÁ¬ÇéÐÎ

show of

Éó²éÄ¿½ñOpenFlow×°±¸µÄ¶Ë¿Ú״̬

show of port

Éó²éÄ¿½ñOpenFlow×°±¸µÄÁ÷±í

show of flowtable

Éó²éÄ¿½ñOpenFlow×°±¸µÄ×é±í

show of group

Éó²éÄ¿½ñOpenFlow×°±¸µÄmeter±í

show of meter

Éó²éÄ¿½ñOpenFlow×°±¸µÄºÏ²¢Á÷±íÏî

show of mergedflow

 

1.6?? µä·¶ÉèÖþÙÀý

1.6.1? ¼¯ÖпØÖÆÉèÖþÙÀý

1.    ×éÍøÐèÇó

OpenFlow¿ÉÒÔʵÏÖ½ÓÈë×°±¸ÈÏÖ¤µÄ¼¯ÖÐÖÎÀí¡£ ¡£¡£¡£¡£¡£¡£ÒÔͼ1-2ΪÀý£¬£¬£¬£¬£¬ÔÚ½ÓÈë½»Á÷×°±¸Éϰ²ÅÅ¿ØÖÆÆ÷Íê³É¶Ô½ÓÈë×°±¸µÄÈÏÖ¤¿ØÖÆ£¬£¬£¬£¬£¬Ê¹µÃÔ­ÏÈÐèÒªÔËÐÐÔÚ½ÓÈëÉè±¹ØÁ¬ÄÈÏÖ¤¹¦Ð§£¨¿ØÖÆÃæ£©ÒÆ½»µ½¿ØÖÆÆ÷ÉÏÍê³É¡£ ¡£¡£¡£¡£¡£¡£

2.    ×éÍøÍ¼

ͼ1-2     ¼¯ÖпØÖÆÉèÖÃ×éÍøÍ¼

 

3.    ÉèÖÃÒªµã

l  ×°±¸¿ªÆôOpenFlow¹¦Ð§£¬£¬£¬£¬£¬Óë¿ØÖÆÆ÷½¨ÉèOpenFlowÖÎÀíͨµÀ¡£ ¡£¡£¡£¡£¡£¡£

l  ÔÚ½ÓÈë×°±¸ÉÏÔËÐÐOpenFlow Client£¬£¬£¬£¬£¬ÊµÏÖÓë¿ØÖÆÆ÷»¥Áª¡£ ¡£¡£¡£¡£¡£¡£

l  ¿ØÖÆÆ÷ÒªÇó½ÓÈë×°±¸½«ÈÏÖ¤±¨ÎÄͨ¹ýOpenFlowЭÒé·¢Ë͵½¿ØÖÆÆ÷ÉÏ¡£ ¡£¡£¡£¡£¡£¡£

l  ÓÉ¿ØÖÆÆ÷Íê³ÉÈÏÖ¤Àú³Ì²¢½«ÈÏ֤Ч¹ûͨ¹ýOpenFlowЭÒéÏ·¢µ½ÏêϸµÄ½ÓÈë×°±¸ÉÏ£¬£¬£¬£¬£¬Íê³ÉÖÕ¶ËÓû§µÄ×¼Èë¿ØÖÆ¡£ ¡£¡£¡£¡£¡£¡£

4.    ÉèÖð취

# ÉèÖÃ×°±¸¶Ë¿ªÆôOpenFlow¹¦Ð§£¬£¬£¬£¬£¬Ö¸¶¨¿ØÖÆÆ÷µÄIPµØµãΪ172.18.2.36/24£¬£¬£¬£¬£¬¶Ë¿ÚºÅΪ65535£¬£¬£¬£¬£¬Í¬Ê±¹Ø±Õ×°±¸lldp¹¦Ð§¡£ ¡£¡£¡£¡£¡£¡£

Device> enable

Device# configure terminal

Device(config)# no lldp enable

Device(config)# interface mgmt 0

Device(config-if)# ip address 172.18.2.36 255.255.255.0

Device(config-if)# exit

Device(config)# of controller-ip 172.18.2.35 port 65535 interface mgmt 0

# ÉèÖÃ×°±¸Îªµ¥¿ØÖÆÆ÷ģʽ¡£ ¡£¡£¡£¡£¡£¡£

Device(config)# of mode single

# ÉèÖÃËÍ¿ØÖÆÆ÷µÄ±¨ÎIJ»Ð¯´øvlan±êÇ©¡£ ¡£¡£¡£¡£¡£¡£

Device(config)# no of packet vlantag

# ÉèÖÃ×°±¸Îª²é±íģʽ¡£ ¡£¡£¡£¡£¡£¡£

Device(config)# ofpacket table-lookup enable

# ÉèÖÃ×°±¸µÄOpenFlowÔ´IPΪ192.168.197.25¡£ ¡£¡£¡£¡£¡£¡£

Device(config)# of source-ip 192.168.197.25

5.    ÑéÖ¤ÉèÖÃЧ¹û

# Éó²éOpenFlowµÄÅþÁ¬×´Ì¬ÐÅÏ¢¡£ ¡£¡£¡£¡£¡£¡£

Device# show of

[0] Controller ID=0 Info=tcp:172.18.2.35 port=6653 interface Mgmt 0, Main is Connected, Aux is Disabled

# Éó²éOpenFlowµÄ¶Ë¿Ú״̬¡£ ¡£¡£¡£¡£¡£¡£

Device# show of port

ID¡¡¡¡IFX¡¡¡¡INTERFACE¡¡¡¡¡¡¡¡¡¡¡¡SPEED¡¡¡¡ LINK¡¡¡¡DUPLEX¡¡¡¡ TX_PKT¡¡¡¡¡¡ RX_PKT¡¡¡¡¡¡ CONFIG

1¡¡¡¡ 1¡¡¡¡¡¡GigabitEthernet 0/1¡¡Unknown¡¡ DOWN¡¡¡¡Unknown¡¡¡¡0¡¡¡¡¡¡¡¡¡¡¡¡0¡¡¡¡¡¡¡¡¡¡¡¡NA¡¡

2¡¡¡¡ 2¡¡¡¡¡¡GigabitEthernet 0/2¡¡Unknown¡¡ DOWN¡¡¡¡Unknown¡¡¡¡0¡¡¡¡¡¡¡¡¡¡¡¡0¡¡¡¡¡¡¡¡¡¡¡¡NA¡¡

# Éó²éOpenFlowµÄÁ÷±í״̬¡£ ¡£¡£¡£¡£¡£¡£

Device# show of flowtable

/***************** openflow flow table[0]---flow number[2] *******************/

 

{table="0", duration_sec="5222", priority="0", flags ="0x1",idle_timeout="0", hard_timeout="0", cookie="0x0", packet_count="0", byte_count="0". match=oxm{all match} instructions=[apply{acts=[output{port="controller", max_len="3333"}] }] }

xid=472, sync_flag=0x0, ss_index=0x7b6

 

{table="0", duration_sec="5222", priority="66", flags ="0x1",idle_timeout="0", hard_timeout="0", cookie="0x0", packet_count="0", byte_count="0". match=oxm{eth_dst="00:25:64:c4:54:e4", eth_type="0x800", ipv4_dst="1.1.0.0", ipv4_dst_mask="255.255.240.0"} instructions=[apply{acts=[output{port="controller", max_len="65535"}] }] }

xid=473, sync_flag=0x0, ss_index=0x7b1

 

/****************************** openflow flow table end ****************************************/

flow total number = 2

# ÉèÖÃ×°±¸Îªµ¥¿ØÖÆÆ÷ģʽ£¬£¬£¬£¬£¬Ö»ÄÜÅþÁ¬Ò»¸ö¿ØÖÆÆ÷£¬£¬£¬£¬£¬Áè¼ÝÒ»¸öʱ»áÓйýʧÌáÐÑ¡£ ¡£¡£¡£¡£¡£¡£

Device(config)# no of controller-ip

Device(config)# of mode single

Device(config)# of controller-ip 172.18.122.24 interface gigabitEthernet 0/1

Device(config)# of controller-ip 172.18.122.25 interface gigabitEthernet 0/1

Controller Mode is Single, can't connected

# ͨ¹ýshow ofÏÂÁîÉó²éÄ¿½ñģʽΪ²é±íģʽ£¬£¬£¬£¬£¬Ô´IPΪ192.168.197.25¡£ ¡£¡£¡£¡£¡£¡£

Device# show of

version:openflow1.3, controller[0]:tcp:172.18.105.11 port 6653 interface GigabitEthernet 1/0/7, main is connected, aux is disable, role is master.

Current controller mode : multiple.

Current packet process mode : Lookup all flow.

Datapath id = 897516188948

Source IP = 192.168.197.25

6.    ÉèÖÃÎļþ

hostname Device

alias exec sv show version

!

no lldp enable

!

of source-ip 192.168.197.25

of controller-ip 172.18.2.35 port 65535 interface Mgmt 0

no of packet vlantag

!

interface Mgmt 0

?ip address 172.18.2.36 255.255.255.0

?gateway 172.18.2.1

7.    ³£¼û¹ýʧ

l  ¿ØÖÆÆ÷IPµØµãÉèÖùýʧ¡£ ¡£¡£¡£¡£¡£¡£

l  ¿ØÖÆÆ÷TCP¶Ë¿ÚºÅÉèÖùýʧ¡£ ¡£¡£¡£¡£¡£¡£

l  ÒÅÍüÉèÖñ¾»úµÄÖÎÀíͨµÀIPµØµã¡£ ¡£¡£¡£¡£¡£¡£

¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿