Ëü²»½ö¼Ì³ÐÁË´«Êä¿ØÖÆÐÒ飨TCP£©µÄ¿É¿¿ÐÔºÍÓû§Êý¾Ý±¨ÐÒ飨UDP£©µÄÏûÏ¢±ß½çÌØÐÔ£¬»¹Ôö¼ÓÁ˶à·¾¶´«ÊäºÍÏûÏ¢ÖØÅÅÐòµÈ¸ß¼¶¹¦ÄÜ£¬Ê¹Æä³ÉΪ¶àýÌåÊý¾Ý´«Êä¡¢Ô¶³Ì±¸·Ý¼°¹Ø¼üÒµÎñͨÐŵÈÁìÓòµÄÀíÏëÑ¡Ôñ
¶ÔÓÚÔËÐÐLinuxϵͳµÄÍøÂç¹ÜÀíÔ±ºÍ¿ª·¢ÈËÔ±¶øÑÔ£¬ÕÆÎÕÈçºÎÔÚLinux»·¾³Ï²鿴ºÍ¹ÜÀíSCTPÐÒ飬ÊÇÌáÉýÍøÂçÐÔÄܺÍÎȶ¨ÐԵĹؼüÒ»²½
±¾ÎĽ«ÉîÈë̽ÌÖLinuxÏÂSCTPÐÒéµÄ²é¿´·½·¨£¬²¢ÌṩһϵÁÐʵÓü¼ÇÉ£¬°ïÖú¶ÁÕß³ä·ÖÀûÓÃÕâһǿ´ó¹¤¾ß
Ò»¡¢SCTPÐÒé¸ÅÊö SCTP×î³õÓÉIETF£¨»¥ÁªÍø¹¤³ÌÈÎÎñ×飩µÄSIGTRAN¹¤×÷×éÉè¼Æ£¬Ö¼ÔÚΪ´«Í³µçÐÅÍøÂçµÄÐÅÁî´«ÊäÌṩһ¸ö½¡×³µÄIP´«Êä²ã½â¾ö·½°¸
ÓëTCPÏà±È£¬SCTPͨ¹ýÒÔÏÂÌØÐÔÏÔÖøÔöÇ¿ÁË´«ÊäµÄ¿É¿¿ÐÔºÍÁé»îÐÔ£º 1.¶à·¾¶´«Ê䣺SCTPÔÊÐíͬʱÀûÓöàÌõÍøÂç·¾¶½øÐÐÊý¾Ý´«Ê䣬Ìá¸ßÁËÍøÂç×ÊÔ´µÄÀûÓÃÂʺ͹ÊÕϻָ´ÄÜÁ¦
2.ÐÄÌø»úÖÆ£ºÍ¨¹ý¶¨ÆÚ·¢ËÍÐÄÌøÏûÏ¢£¬SCTPÄܹ»¼à²â¶Ô¶ËµÄ״̬£¬¼°Ê±·¢ÏÖ²¢½â¾öÍøÂç¹ÊÕÏ
3.²¿·Ö¿É¿¿´«Ê䣺³ýÁËÍêÈ«¿É¿¿µÄ·þÎñÍ⣬SCTP»¹Ö§³Ö²¿·Ö¿É¿¿´«Êäģʽ£¬ÊÊÓÃÓÚ¶ÔÑÓ³ÙÃô¸ÐµÄÓ¦Óó¡¾°
4.ÏûÏ¢ÖØÅÅÐò£ºSCTPÄܹ»°´ÕÕ·¢ËÍ˳ÐòÖØÐÂ×é×°½ÓÊÕµ½µÄÏûÏ¢£¬È·±£Êý¾ÝµÄÓÐÐòÐÔ
¶þ¡¢LinuxϵÄSCTPÖ§³ÖÇé¿ö ×ÔLinux 2.6.23°æ±¾Æð£¬ÄÚºËÕýʽ¼¯³ÉÁ˶ÔSCTPÐÒéµÄÔÉúÖ§³Ö
ÕâÒâζ×ÅÓû§ÎÞÐè°²×°¶îÍâµÄÈí¼þ°ü£¬¼´¿ÉÔÚÖ§³Ö¸Ã°æ±¾¼°ÒÔÉÏLinux·¢ÐаæÉÏÆôÓúÍʹÓÃSCTP
´ËÍ⣬LinuxÄں˻¹ÌṩÁ˷ḻµÄ¹¤¾ßºÍ½Ó¿Ú£¬·½±ãÓû§²é¿´ºÍ¹ÜÀíSCTPÁ¬½Ó
Èý¡¢²é¿´SCTPÁ¬½ÓµÄ³£Ó÷½·¨ 1.ʹÓÃ`netstat`ÃüÁî `netstat`ÊÇLinuxÏÂ²é¿´ÍøÂçÁ¬½Ó״̬µÄ¾µä¹¤¾ß
ͨ¹ýÌí¼ÓÌØ¶¨Ñ¡Ï¿ÉÒÔÇáËÉÁгöµ±Ç°ÏµÍ³ÖеÄSCTPÁ¬½Ó
netstat -anp | grep sctp ´ËÃüÁî»áÏÔʾËùÓлµÄSCTPÁ¬½Ó£¬°üÀ¨±¾µØµØÖ·¡¢Ô¶³ÌµØÖ·¡¢×´Ì¬ÒÔ¼°¶ÔÓ¦µÄ½ø³ÌIDºÍÃû³Æ
`-a`Ñ¡Ïî±íʾÏÔʾËùÓÐÁ¬½ÓºÍ¼àÌý¶Ë¿Ú£¬`-n`Ñ¡Ïî±íʾÒÔÊý×ÖÐÎʽÏÔʾµØÖ·ºÍ¶Ë¿ÚºÅ£¬`-p`Ñ¡ÏîÔòÓÃÓÚÏÔʾ½ø³ÌÐÅÏ¢
2.ʹÓÃ`ss`ÃüÁî `ss`£¨socket statistics£©ÊÇ`netstat`µÄÏÖ´úÌæ´úÆ·£¬ÌṩÁ˸üÇ¿´óºÍÁé»îµÄÍøÂçÁ¬½Ó²é¿´¹¦ÄÜ
¶ÔÓÚSCTPÐÒ飬`ss`ͬÑùÌṩÁËÁ¼ºÃµÄÖ§³Ö
ss -anp sctp ¸ÃÃüÁî»áÁгöËùÓÐSCTPÁ¬½Ó£¬²¢ÏÔʾÀàËÆ`netstat`µÄÊä³öÐÅÏ¢
`ss`µÄÓÅÊÆÔÚÓÚÆä¸ü¿ìµÄÖ´ÐÐËٶȺ͸ü·á¸»µÄÑ¡Ï£¬ÀýÈç¿ÉÒÔʹÓÃ`-t`£¨TCP£©¡¢`-u`£¨UDP£©µÈÑ¡Ïî·Ö±ð²é¿´²»Í¬ÐÒéµÄÁ¬½Ó״̬
3.ʹÓÃ`lsoft`ÃüÁî ËäÈ»`lsof`£¨list open files£©Ö÷ÒªÓÃÓÚÁгö´ò¿ªµÄÎļþ£¬µ«ÓÉÓÚÔÚUnix/LinuxϵͳÖм¸ºõÒ»ÇнÔÎļþ£¬°üÀ¨ÍøÂçÌ×½Ó×Ö£¬Òò´Ë`lsof`Ò²ÄÜÓÃÓÚ²é¿´ÍøÂçÁ¬½Ó
Òª¹ýÂ˳öSCTPÁ¬½Ó£¬¿ÉÒÔ½áºÏ`grep`ʹÓÃ
lsof -i sctp -n `-i`Ñ¡ÏîÖ¸¶¨ÐÒéÀàÐÍ£¬`-n`Ñ¡Ïî±ÜÃ⽫IPµØÖ·ºÍ¶Ë¿ÚºÅת»»ÎªÃû³Æ£¬´Ó¶ø¼Ó¿ìÖ´ÐÐËÙ¶È
4.ʹÓÃ`sctp_assoc_info`¹¤¾ß `sctp_assoc_info`ÊÇÒ»¸öרÃÅÓÃÓڲ鿴SCTP¹ØÁªÐÅÏ¢µÄ¹¤¾ß£¬ËüÌṩÁ˱È`netstat`ºÍ`ss`¸üÏêϸµÄÐÅÏ¢£¬Èçÿ¸ö¹ØÁªµÄ·¾¶×´Ì¬¡¢´íÎó¼ÆÊýµÈ
²»¹ý£¬ÐèҪעÒâµÄÊÇ£¬Õâ¸ö¹¤¾ß¿ÉÄܲ»ÔÚËùÓÐLinux·¢ÐаæµÄĬÈϲֿâÖУ¬ÐèÒªÊÖ¶¯±àÒë»ò´ÓµÚÈý·½Ô´°²×°
sctp_assoc_info -i all ¸ÃÃüÁî»áÁгöËùÓнӿÚÉϵÄSCTP¹ØÁªÐÅÏ¢£¬`-i`Ñ¡ÏîÓÃÓÚÖ¸¶¨½Ó¿Ú£¬`all`±íʾËùÓнӿÚ
ËÄ¡¢ÉîÈëÀí½âSCTPÁ¬½Ó״̬ Ôڲ鿴SCTPÁ¬½Óʱ£¬Àí½â¸÷״̬µÄº¬Òå¶ÔÓÚÕï¶ÏÍøÂçÎÊÌâÖÁ¹ØÖØÒª
SCTPÁ¬½Ó״̬ͨ³£°üÀ¨ÒÔϼ¸ÖÖ£º CLOSED£ºÁ¬½Ó佨Á¢£¬´¦ÓÚ³õʼ״̬
- COOKIE-WAIT£ºÒÑ·¢Ëͳõʼ»¯ÇëÇ󣬵ȴý½ÓÊÕCOOKIE-ECHOÏìÓ¦
- COOKIE-ECHOED£ºÒÑ·¢ËÍCOOKIE-ECHO£¬µÈ´ýCOOKIE-ACKÈ·ÈÏ
- ESTABLISHED£ºÁ¬½ÓÒѽ¨Á¢£¬¿ÉÒÔÕý³£´«ÊäÊý¾Ý
- SHUTDOWN-PENDING£ºÒ»·½ÒÑ·¢ËÍSHUTDOWNÏûÏ¢£¬µÈ´ý¶Ô·½È·ÈÏ
- SHUTDOWN-SENT£ºÒÑ·¢ËÍSHUTDOWN-ACK£¬µÈ´ý¶Ô·½¹Ø±ÕÁ¬½Ó
- SHUTDOWN-RECEIVED£ºÒѽÓÊÕµ½SHUTDOWNÏûÏ¢£¬µÈ´ý·¢ËÍSHUTDOWN-ACK
- SHUTDOWN-ACK-SENT£ºÒÑ·¢ËÍSHUTDOWN-ACK£¬Á¬½Ó¼´½«¹Ø±Õ
Îå¡¢ÓÅ»¯Óëµ÷ÊÔSCTPÅäÖà ÔÚLinuxϵͳÖУ¬SCTPµÄÅäÖúÍÓÅ»¯Ö÷Ҫͨ¹ýµ÷Õûϵͳ²ÎÊýºÍÄÚºËÄ£¿é²ÎÊýÀ´ÊµÏÖ
ÀýÈ磬¿ÉÒÔͨ¹ýÐÞ¸Ä`/etc/sysctl.conf`ÎļþÀ´µ÷ÕûSCTPÏà¹Ø²ÎÊý£¬Èç×î´ó²¢·¢Á¬½ÓÊý¡¢ÐÄÌø¼ä¸ôµÈ
´ËÍ⣬ʹÓÃ`sysctl`ÃüÁî¿ÉÒÔ¼´Ê±²é¿´ºÍÐÞ¸ÄÕâЩ²ÎÊý
²é¿´µ±Ç°SCTP×î´ó²¢·¢Á¬½ÓÊý sysctl net.sctp.max_assoc ÉèÖÃSCTP×î´ó²¢·¢Á¬½ÓÊýΪ10000 sysctl -w net.sctp.max_assoc=10000 ¶ÔÓÚ¸´ÔÓµÄÍøÂçÎÊÌ⣬»¹¿ÉÒÔÆôÓÃSCTPµÄµ÷ÊÔÈÕÖ¾£¬Í¨¹ý²é¿´ÈÕÖ¾ÐÅÏ¢À´¶¨Î»ÎÊÌâ
Õâͨ³£ÐèÒªÔÚÄÚºËÆô¶¯²ÎÊýÖÐÌí¼ÓÏàÓ¦µÄµ÷ÊÔÑ¡Ï»òÕßͨ¹ý`sysctl`ÆôÓÃÌØ¶¨¼¶±ðµÄÈÕÖ¾¼Ç¼
Áù¡¢×ܽá SCTPÐÒéÒÔÆä¶ÀÌØµÄÓÅÊÆºÍÇ¿´óµÄ¹¦ÄÜ£¬ÔÚÌØ¶¨Ó¦Óó¡¾°ÖÐÕ¹ÏÖ³öÁ˾޴óµÄDZÁ¦
¶ÔÓÚLinuxÓû§¶øÑÔ£¬ÕÆÎÕÈçºÎÔÚLinux»·¾³Ï²鿴ºÍ¹ÜÀíSCTPÁ¬½Ó£¬ÊÇÌáÉýÍøÂçÐÔÄÜ¡¢ÓÅ»¯×ÊÔ´ÀûÓá¢È·±£ÒµÎñÁ¬ÐøÐÔµÄÖØÒª¼¼ÄÜ
ͨ¹ý±¾ÎĵĽéÉÜ£¬¶ÁÕß²»½öÄܹ»Á˽âSCTPµÄ»ù±¾¸ÅÄîºÍ¹¤×÷ÔÀí£¬»¹ÄÜÕÆÎÕ¶àÖÖʵÓõIJ鿴·½·¨ºÍÓÅ»¯¼¼ÇÉ£¬Îª¸ßЧ¹ÜÀíSCTPÁ¬½Ó´òϼáʵ»ù´¡
Ëæ×ÅSCTP¼¼ÊõµÄ²»¶Ï·¢Õ¹ºÍÍêÉÆ£¬ÎÒÃÇÓÐÀíÓÉÏàÐÅ£¬Ëü½«ÔÚδÀ´µÄÍøÂçͨÐÅÁìÓò·¢»Ó¸ü¼ÓÖØÒªµÄ×÷ÓÃ