97¹ú¼Ê

ÀÖÏíÓªÒµ°ü¹Ü·þÎñ Ø­ ÊØ»¤Ò½ÁÆÓªÒµÒ»Á¬ÎȹÌ
Ô¤Ô¼Ö±²¥
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
²úÆ·
< ·µ»ØÖ÷²Ëµ¥
²úÆ·ÖÐÐÄ
²úÆ·
½â¾ö¼Æ»®
< ·µ»ØÖ÷²Ëµ¥
½â¾ö¼Æ»®ÖÐÐÄ
ÐÐÒµ
ºÏ×÷»ï°é
·µ»ØÖ÷²Ëµ¥
Ñ¡ÔñÇøÓò/ÓïÑÔ
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾ 97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

ÔõÑùͨ¹ýÍøÂçÒ£²â£¨Network Telemetry£©ÊÖÒÕʵÏÖϸÄå»¯ÍøÂçÔËά£¿

¡¾ÍøÂçÔËά¡¿±¾ÎĽ«Í¨¹ýÏÈÈÝ»ùÓÚ½»Á÷»úÓ²¼þоƬµÄÍøÂçÒ£²â£¨Network Telemetry£©ÊÖÒռƻ®£¨INT+gRPC£© £¬ÊµÏÖÕûÍøµÄÁ÷Á¿¿ÉÊÓ»¯ £¬ÎªÊµÏÖÕæÕýµÄ¿ÉÊÓ»¯ÔËάÌṩеÄ˼Ð÷¡£

  • 97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

    Ðû²¼Ê±¼ä£º2018-04-03

  • 97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

    µã»÷Á¿£º

  • 97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

    µãÔÞ£º

·ÖÏíÖÁ

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

ÎÒÏë̸ÂÛ

»ùÓÚAI¡¢´óÊý¾ÝµÄ»¥ÁªÍøÓ¦ÓÃÍÆ¶¯ÁË»¥ÁªÍøÊý¾ÝÖÐÐIJúÆ·¡¢ÊÖÒյĿìËÙÉý¼¶¡£

Ê×ÏÈ £¬½ÓÈë´ø¿í´Ó¹Å°åµÄ10GbpsÉý¼¶µ½25Gbps/100Gbps £¬ÐèÒª»ù´¡ÍøÂçÌṩ¸ßת·¢ÄÜÁ¦°ü¹ÜÓªÒµµÄ¸ß¿ÉÓá£

Æä´Î £¬»ùÓÚRDMA£¨Remote Direct Memory Access £¬Ô¶³ÌÖ±½ÓÄÚ´æ»á¼û£©ÎÞËðÒÔÌ«ÍøÊÖÒյįձéÓ¦Óà £¬ÊµÏÖÁËÅÌËã½Úµãµ½´æ´¢½ÚµãµÄ΢Ãë¼¶ÑÓʱ £¬´ó´óÓÅ»¯¶Ëµ½¶ËµÄӪҵת·¢ÐÔÄÜ £¬¶øÕâÒ²Òâζ×ŶÔÍøÂçÔËάÌá³öÁ˸ü¸ßµÄÌôÕ½——ÔõÑùÔÚ´ó¹æÄ£¡¢ÖØ´óµÄHPC(High Performance Computing)ÍøÂçÖÐʵÏÖÔ½·¢Ï¸ÄåµÄÁ÷Á¿¿ÉÊÓ¡¢¿É¿Ø£¿ÔõÑùÃæÏòӪҵʵÏֶ˵½¶ËµÄÃë¼¶¹ÊÕ϶¨Î» £¬²¢ÎªÍøÂçµÄÒ»Á¬ÓÅ»¯Ìṩ¾«×¼µÄÊý¾ÝÖ§³Ö£¿

±¾ÎĽ«Í¨¹ýÏÈÈÝ»ùÓÚ½»Á÷»úÓ²¼þоƬµÄNetwork TelemetryÊÖÒռƻ®£¨INT+gRPC£© £¬ÊµÏÖÕûÍøµÄÁ÷Á¿¿ÉÊÓ»¯ £¬ÎªÊµÏÖÕæÕýµÄ¿ÉÊÓ»¯ÔËάÌṩеÄ˼Ð÷¡£

 

ÍøÂçÔËάÐÂÌôÕ½

ΪÁËÈ·±£ÓªÒµµÄ¸ß¿É¿¿ £¬»ùÓÚScale out·½·¨ÊµÏÖµÄÂþÑÜʽÅÌËãºÍ´æ´¢Ó¦Óã¨Hadoop/ Map reduce/HDFS£©»ñµÃÁË´ó¹æÄ£Ê¹Óà £¬²»µ«ÕõÍÑÁ˵¥·þÎñÆ÷µÄÅÌËã¡¢´æ´¢ÐÔÄܵÄÏÞÖÆ £¬Í¬Ê±¿ÉÌṩ¸üÎÞаµÄÀ©Õ¹ÐÔ £¬Äܹ»¿ìËÙÏìÓ¦ÓªÒµÐèÇóת±ä £¬Ìá¸ßϵͳµÄ¿É¿¿ÐÔ¡¢¿ÉÓÃÐԺʹæÈ¡Ð§ÂÊ¡£

È»¶øÓªÒµ×Ô¼ºÔÚÍøÂçÖÐÂþÑÜÊDz»¿É¿ØµÄ £¬Òò´ËÔÚÏÖÊµÍøÂçÁ÷Á¿Ä£×ÓÖв»¿É×èÖ¹»á·ºÆð¶à¶ÔÒ»µÄͨѶģʽ £¬¼´ IncastÄ£×Ó¡£ÏÂͼ¼´µä·¶µÄIncastͨѶģ×Ó£º

 

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

¡ø TCP IncastͨѶģ×ÓʾÒâͼ

 

ÀýÈç £¬µ±Ò»Ì¨Master½ÚµãÏòÒ»×éSlave½ÚµãÌᳫһ¸öÅÌËãʹÃüÇëÇóʱ £¬ËùÓÐSlave½ÚµãÏÕЩ»áͬʱ·µ»ØÅÌËãЧ¹ûÊý¾Ý £¬¹ØÓÚMaster½ÚµãÀ´Ëµ¾Í±¬·¢ÁËÒ»¸ö“΢ͻ·¢Á÷”¡£¹ØÓÚºÏÀíµÄ“΢ͻ·¢Á÷” £¬¿ÉÒÔÒÀÀµ½ÓÈë½»Á÷»ú×°±¸ÄÚ²¿µÄ±¨ÎÄ»º´æ»úÖÆ½â¾ö΢ͻ·¢¶ª°üÎÊÌâ¡£

ÏÖÔÚ £¬Ö÷Á÷½»Á÷оƬµÄƬÉÏ»º´æ½ÏÁ¿Ð¡ £¬Ò»Ñùƽ³£ÒÔMbyteΪµ¥Î»¡£ÏÂͼÊǶÔÓ¦1G¡¢10GºÍ25G½»Á÷»ú³£ÓÃоƬµÄ»º´æÈÝÁ¿¡£

 

½Ó¿ÚËÙÂÊ

»º´æÈÝÁ¿

1000Mbps

4MB

10Gbps

16MB

25Gbps

32MB

¡ø ´ø¿íÌáÉýÓ뻺´æÌáÉý±ÈÕÕ˵Ã÷

 

´Ó±íÖв»ÄÑ¿´³ö £¬ÍøÂç½Ó¿ÚËÙÂÊ´Ó1GbpsÉú³¤µ½25Gbps £¬·þÎñÆ÷µÄÍÌÍÂÄÜÁ¦ÔöÌí25±¶ £¬¶ø½»Á÷»úоƬµÄ»º´æÈÝÁ¿Í¬±È½öÔöÌí8±¶ £¬Í¬Ê±¿ÉÓûº´æÊ±¼ä·´¶øÏ½µ65%£¨Æ¾Ö¤½»Á÷»úÈ«¶Ë¿Ú¹«ÕýʹÓûº´æÎªÀý£©¡£

Òò´Ë £¬25GÍøÂç¼Ü¹¹µÄTCP IncastÕ÷Ïó±È10GÍøÂçÔ½·¢ÏÔ×Å £¬Ë²Ê±µÄ¶à´òÒ»µ¼Ö³ö½Ó¿Ú±¨ÎÄÓµÈû £¬³ö½Ó¿Ú»º´æÓÃÍêºó»á»ùÓÚβ²¿ÑïÆú»úÖÆ¾ÙÐжª°ü £¬Ó¦Óüà²âµ½¶ª°üºóÌᳫTCPÖØ´« £¬Ôì³ÉÊý¾Ý¶Ëµ½¶ËÑÓʱµÄ½øÒ»²½¶ñ»¯ £¬ÑÏÖØÓ°ÏìÓªÒµÌåÑé¡£

Õë¶ÔÍøÂ綪°üÒýÆðµÄÓªÒµ¹ÊÕÏ £¬ÐèÒªÍøÂç¼à¿ØÏµÍ³¿ìËÙ¶¨Î»ÍøÂçÖÐÄĄ̈½»Á÷»úµÄÄĸö¶Ë¿ÚÒò»º´æÈ±·¦µ¼ÖÂÁ˶ª°ü¡£Í¬Ê± £¬Ö÷ÒªÓªÒµ¶Ëµ½¶ËʱÑÓÁè¼ÝÔ¤ÆÚʱ £¬Ò²ÐèÒª¶¨Î»Á÷Á¿×ª·¢Â·¾¶ÉÏÿ¸ö½ÚµãµÄת·¢Ê±ÑÓ¡£

×ܽáÆðÀ´ £¬ÐèÒªÍøÂç¼à¿ØÏµÍ³ÊµÏÖÈçÏÂÄÜÁ¦£º

¡ñ¿ìËÙ¶¨Î»ÄĄ̈½»Á÷»úµÄÄĸö¶Ë¿Ú±¬·¢¶ª°ü£»

¡ñʵʱ¼à¿ØÃ¿Ì¨½»Á÷»úµÄBufferʹÓÃÇéÐΣ»

¡ñ¶Ëµ½¶ËʱÑÓ¿ÉÒÔ¶¨Î»µ½Ïêϸװ±¸ºÍÁ´Â·¡£

 

ÔËά¿ÉÊÓ»¯ÊÖÒÕʵÏÖ

ÒÀ¸½¹Å°åµÄÍøÂç¼à¿ØÊÖ¶ÎÎÞ·¨½â¾ö“¿´²»¼û”µÄÎÊÌâ £¬ÈçʱÑÓ¡¢×ª·¢Â·¾¶¡¢»º´æºÍ¶ª°ü¡£ÀýÈç £¬ÓÉÍⲿӦÓÃÌᳫµÄÇëÇó»ñÈ¡ÍøÂç״̬ÐÅÏ¢µÄSNMPЭÒé £¬¾ÍÎÞ·¨ÊµÊ±·´Ó¦ÍøÂçµÄ״̬¡£

ΪÏàʶ¾ö´ËÀàÄÑÌâ £¬Òµ½çÆÕ±éÒýÈëNetwork Telemetry£¨ÍøÂçÒ£²â£©ÕâÒ»ÀíÄî £¬Ïà±ÈÓÚSNMP £¬TelemetryʵÏÖÁËÍøÂç×°±¸×Ô¶¯ÍÆËÍ״̬ÐÅÏ¢µÄÄÜÁ¦ £¬¾ßÓиüÇ¿µÄʱЧÐÔ¡£

ÊÂʵÉÏ £¬Telemetry²¢²»ÊÇз¢Ã÷ £¬NetFlowºÍsFlowÔçÒÑʵÏÖÁËÍøÂçÁ÷Á¿µÄ²ÉÑùºÍÍÆËÍ £¬µ«NetFlow¡¢sFlowÍÆË͵ÄÊÇԭʼµÄÊý¾Ý²ÉÑùÐÅÏ¢ £¬Êý¾ÝÒÔIP±¨ÎÄÃûÌ÷ºÆð¸øÆÊÎö¹¤¾ß £¬¶ø·ÇÓû§ÆÚÍûµÄ¹æ·¶»¯Êý¾ÝÄ£×Ó £¬ÔÙÓÅÒìµÄÆÊÎö¹¤¾ßÆäÀ©Õ¹ÐÔÄÜÒ²ÄÑÒԼ縺Õû¸öÊý¾ÝÖÐÐÄÍøÂçµÄ¼à¿ØÆÊÎö £¬Ö»ÄÜÔÚijһÆÊÎöʹÃüÖÐʩչ×÷Óá£

ÁíÒ»·½Ãæ £¬Êý¾ÝÁ÷Á¿²¢·ÇÍøÂç״̬µÄËùÓÐ £¬ÍøÂç×°±¸µÄ CPU¡¢ÄÚ´æ¡¢ÍøÂçÓµÈûÐÅÏ¢¡¢ÍøÂçÊÂÎñµÄÈÕÖ¾ÐÅÏ¢µÈÒ²ÎÞ·¨Í¨¹ýNetFlow»òÕßsFlowʵʱת´ï³öÀ´¡£

 

gRPC£¨Google Remote Procedure Calls  £¬¹È¸èÔ¶³ÌÀú³ÌŲÓã©ÊÇGoogle¹«Ë¾¿ªÔ´µÄÒ»¸ö¸ßÐÔÄÜ¡¢¿çÓïÑÔµÄRPC¿ò¼Ü £¬Ê¹ÓÃHTTP/2ЭÒ鲢ʹÓÃProto Buffer×÷ΪÐòÁл¯ºÍ·´ÐòÁл¯µÄ¹¤¾ß¡£Í¨¹ýÔÚ½»Á÷»úÖм¯³ÉgRPCÓ¦Óà £¬½ç˵ÎÞаµÄÊý¾ÝÃûÌÃÒÔ¼°Êý¾ÝÍÆË͵ÄãÐÖµÀ´ÊµÏÖ½»Á÷»ú×ÔÉí״̬µÄ×Ô¶¯ÍÆËÍÄÜÁ¦ £¬¿ÉÒÔʵÏÖÖÜÆÚÐÔÍÆËͽ»Á÷»úBuffer Usage¡¢CPU¡¢MemoryµÈÐÅÏ¢¸ø¼à¿Ø·þÎñÆ÷¡£µ±±¬·¢Bufferȱ·¦µ¼Ö¶ª°ü £¬Ò²»áʵʱ֪ͨ¸ø¼à¿Ø·þÎñÆ÷ £¬ÊµÏÖÍøÂçÔËÐÐÊý¾ÝµÄ¿ÉÊÓ»¯¡£

 

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

¡ø gRPC½»»¥»úÖÆ

 

ÉÏͼչʾÁËÆäÖÐÒ»ÖÖgRPCµÄ½»»¥»úÖÆ£º

¡ñÔÚ½»Á÷»ú¿ªÆôgRPC¹¦Ð§ºó³äµ±gRPC ¿Í»§¶Ë½ÇÉ« £¬¼à¿Ø·þÎñÆ÷³äµ±gRPC·þÎñÆ÷½ÇÉ«£»

¡ñ½»Á÷»ú×Ô¶¯Ïò¼à¿Ø·þÎñÆ÷ÌᳫgRPCͨµÀ½¨Á¬£»

¡ñ½»Á÷»ú×Ô¶¯Éϱ¨Buffer Usage¡¢CPU¡¢ÄÚ´æµÈÐÅÏ¢¸ø¼à¿Ø·þÎñÆ÷ £¬µ±Buffer±¬·¢¶ª°ü £¬½»Á÷»ú»áÒ²»áʵʱÉϱ¨¶ª°üÊÂÎñ¸ø¼à¿Ø·þÎñÆ÷¡£

gRPCµÄ·ºÆðºÜºÃµÄ½â¾öÁËʵʱÊý¾ÝÎÞ·¨ÓÐÓô«¸ø¼à¿Ø·þÎñÆ÷µÄÎÊÌâ¡£

INT£¨In-band Network Telemetry£©Ò²ÊÇÒ»ÖÖÐÂÐÍTelemetryЭÒé £¬ÓÉBarefoot¡¢Arista¡¢Dell¡¢IntelºÍVMwareÅäºÏÌá³ö¡£INTµÄ·ºÆð½â¾öÁËת·¢Â·¾¶ºÍת·¢Ê±ÑÓ²»¿É¼ûµÄÎÊÌâ¡£

INTµÄÕûÌå´¦Öóͷ£Á÷³ÌÈçÏÂͼËùʾ£º

 

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

¡ø  ¿ÉÊÓ»¯ÍøÂç

 

¡ñ±¨ÎĵִïÊ׽ڵ㠣¬Í¨¹ýÔÚ½»Á÷»úÉÏÉèÖõIJÉÑù·½·¨Æ¥Åä²¢¾µÏñ³ö¸Ã±¨ÎÄ £¬²¢ÔÚËIJãÍ·²¿ºó²åÈëINTÍ· £¬½«±¨ÎÄÈë¶Ë¿ÚPort ID¡¢³ö¶Ë¿Ú Port ID¡¢Èë¶Ë¿Úʱ¼ä¡¢³ö¶Ë¿Úʱ¼ä¡¢ÒÔ¼°×°±¸µÄDEVICE ID·â×°³ÉMetaData £¬½«MD²åÈëµ½INTÍ·²¿Ö®ºó£»

¡ñ±¨ÎÄת·¢µ½ÖÐÐĽڵã £¬×°±¸Æ¥Åäµ½INTÍ·²¿ºó £¬ÔÚINTÍ·²¿ºóÔÙ²åÈëÒ»²ãMD£»

¡ñ±¨ÎÄת·¢µ½×îºóÒ»Ìø £¬×°±¸Æ¥ÅäINTÍ·²¿ºó £¬ÔÙ²åÈëÒ»²ãMD £¬²¢ÔÚ±¨ÎÄÍⲿ·â×°Ò»¸öIPÍ·£¨ERSPAN£© £¬Íâ²ãIPΪ¼à¿Ø·þÎñÆ÷µØÖ· £¬ÕâÑùINT±¨Îıãת·¢µ½¼à¿Ø·þÎñÆ÷¡£

×ܽ᣺ÕëÆËÃæÏòHPCÓªÒµµÄÏÂÒ»´úÊý¾ÝÖÐÐÄÍøÂç £¬»ùÓÚINTºÍgRPCµÄNetwork TelemetryÊÖÒÕ¿ÉÒÔʵÏÖÓªÒµ¶Ëµ½¶ËµÄÍøÂçÁ÷Á¿¿ÉÊÓ»¯ £¬Í»ÆÆ“ÍøÂçºÚºÐ” £¬ÎªÏ¸Äå»¯ÍøÂçÔËάÌṩÕûÌåµÄ½â¾ö¼Æ»®ºÍÐëÒªµÄÊÖÒÕÖ§³Ö¡£

97¹ú¼ÊÍøÂçÐÂÒ»´ú25G/100GÍøÂç½»Á÷»ú²úÆ·¾ùÒÑʵÏÖNetwork TelemetryÄÜÁ¦£¨gRPCºÍINT£© £¬ÈôÊÇÄú¶ÔÍøÂçÒ£²â¸ÐÐËȤ £¬»¶Ó­ÁôÑÔ½»Á÷¡£

 

±¾ÎÄ×÷Õߣº³Â¶¬ÁÖ

97¹ú¼ÊÍøÂ绥ÁªÍøÏµÍ³²¿ÐÐÒµ×Éѯ

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

 

ÍùÆÚ¾«²Ê»ØÊ×

¡¾µÚÒ»ÆÚ¡¿Ç³Ì¸ÎïÁªÍøÊÖÒÕ֮ͨѶЭÒéµÄ·×Õù

 

Ïà¹ØÍÆ¼ö£º

• ÏàʶgRPCÊÖÒÕ £¬Õâһƪ¾Í¹»ÁË

¸ü¶àÊÖÒÕ²©ÎÄ

ÈκÎÐèÒª £¬ÇëÁªÏµ97¹ú¼Ê

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾ 97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

·µ»Ø¶¥²¿

ÊÕÆð
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
ÎĵµÆÀ¼Û
¸Ã×ÊÁÏÊÇ·ñ½â¾öÁËÄúµÄÎÊÌ⣿
Äú¶ÔÄ¿½ñÒ³ÃæµÄÖª×ã¶ÈÔõÑù£¿
²»Õ¦µÎ
ºÜÊǺÃ
ÄúÖª×ãµÄÔµ¹ÊÔ­ÓÉÊÇ£¨¶àÑ¡£©£¿
Äú²»Öª×ãµÄÔµ¹ÊÔ­ÓÉÊÇ£¨¶àÑ¡£©£¿
ÄúÊÇ·ñÉÐÓÐÆäËûÎÊÌâ»ò½¨Ò飿
ΪÁË¿ìËÙ½â¾ö²¢»Ø¸´ÄúµÄÎÊÌâ £¬Äú¿ÉÒÔÁôÏÂÁªÏµ·½·¨
ÓÊÏä
ÊÖ»úºÅ
ллÄúµÄ·´À¡£¡
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
ÇëÑ¡Ôñ·þÎñÏîÄ¿
¹Ø±Õ×Éѯҳ
ÊÛǰ×Éѯ ÊÛǰ×Éѯ
ÊÛǰ×Éѯ
ÊÛºó·þÎñ ÊÛºó·þÎñ
ÊÛºó·þÎñ
Òâ¼û·´Ïì Òâ¼û·´Ïì
Òâ¼û·´Ïì
¸ü¶àÁªÏµ·½·¨
ÍøÕ¾µØÍ¼