Linux ÍøÂçϵͳѧϰ IPv6 µÄ³õʼ»¯£¨Ïêϸ¶øÈ«Ã棩
ת×Ô£ºhttp://blog.csdn.net/rstevens/archive/2007/04/10/1559289.aspx
1.
ÍøÂç×Óϵͳ
1.1.
ÍøÂç×Óϵͳ¸ÅÊö
Linux
ÄÚºËÖУ¬ÓëÍøÂçÏà¹ØµÄ´úÂëÊÇÒ»¸öÏà¶Ô¶ÀÁ¢µÄ×Óϵͳ£¬³ÆΪÍøÂç×Óϵͳ¡£
ÍøÂç×ÓϵͳÊÇÒ»¸ö²ã´Î»¯µÄ½á¹¹£¬¿É·ÖΪÒÔϼ¸¸ö²ã´Î£º
1¡¢
Socket
²ã
Linux
ÔÚ·¢Õ¹¹ý³ÌÖУ¬²ÉÓÃ
BSD socket APIs
×÷Ϊ×Ô¼ºµÄÍøÂçÏà¹ØµÄ
API
½Ó¿Ú¡£Í¬Ê±£¬
Linux
µÄÄ¿±êÓÖÒªÄÜÖ§³Ö¸÷ÖÖ²»Í¬µÄÐÒé×壬¶øÇÒÕâЩÐÒé×嶼¿ÉÒÔʹÓÃ
BSD socket APIs
×÷ΪӦÓòãµÄ±à³Ì½Ó¿Ú¡£Òò´Ë£¬ÔÚ
socket APIs
ÓëÐÒé×å²ãÖ®¼ä³éÏó³öÒ»¸ö
socket
²ã£¬ÓÃÓÚ½«
user space
µÄ
socket API
µ÷Óã¬×ª¸ø¾ßÌåµÄÐÒé×å×ö´¦Àí¡£
2¡¢
ÐÒé×å²ã£¨
INET
ÐÒé×å¡¢
INET6
ÐÒé×åµÈ£©
Linux
ÍøÂç×Óϵͳ¹¦ÄÜÉÏÏ൱Í걸£¬Ëü²»½öÖ§³Ö
INET
ÐÒé×壨Ҳ¾ÍÊÇͨ³£Ëù˵µÄ
TCP/IP stack
£©£¬¶øÇÒ»¹Ö§³ÖÆäËüºÜ¶àÖÖÐÒé×壬Èç
DECnet, ROSE, NETBEUI
µÈ¡£
INET6
¾ÍÊÇÒ»ÖÖÐÂÔö¼ÓµÄÐÒé×å¡£
¶ÔÓÚ
INET
¡¢
INET6
ÐÒé×åÀ´Ëµ£¬
ÓÖ½øÒ»²½»®·ÖΪ´«Êä²ãºÍÍøÂç²ã¡£
3¡¢
É豸Çý¶¯²ã
É豸Çý¶¯²ãÔòÖ÷Òª½«ÐÒé×å²ãÓëÎïÀíµÄÍøÂçÉ豸¸ôÀ뿪¡£Ëü²»ÔÚ±¾ÎĵÄÌÖÂÛ·¶Î§Ö®ÄÚ¡£
ÏÂͼÊÇ
Linux
ÍøÂçϵͳ²ã´Î½á¹¹Í¼¡£
1.2.
ÍøÂç×ÓϵͳµÄ³õʼ»¯
·
Socket
²ãµÄ³õʼ»¯£º
Init()->do_basic_setup()->sock_init()
Sock_init()
£º¶Ô
sock
ºÍ
skbuff
½á¹¹½øÐÐ
SLAB
ÄÚ´æµÄ³õʼ»¯¹¤×÷
·
¸÷ÖÖÍøÂçÐÒé×åµÄ³õʼ»¯£º
Do_initcalls()
£º
¶ÔÓÚ±àÒëµ½ÄÚºËÖеŦÄÜÄ£¿é£¨¶ø²»ÊÇÒÔÄ£¿éµÄÐÎʽ¶¯Ì¬¼ÓÔØ£©£¬ËüµÄ³õʼ»¯º¯Êý»áÔÚÕâ¸öµØ·½±»µ÷Óõ½¡£
ÄÚºËÓ³ÏóÖÐרÃÅÓÐÒ»¸ö³õʼ»¯¶Î£¬ËùÓбàÒëµ½ÄÚºËÖеŦÄÜÄ£¿éµÄ³õʼ»¯º¯Êý¶¼»á¼ÓÈëµ½Õâ¸ö¶ÎÖУ»¶ø
do_initcalls()
¾ÍÊÇ
Ïà¹ØÎĵµ£º
±àÒë²¢°²×°Busybox 1.15.3µ½L inux2.6.11.1,Æô¶¯ÏµÍ³
½øÈëshell Ìáʾ: ./ash : can't access tty; job control turned off.
·ÖÎö·¢ÏÖ
/etc/inittabÎļþÖÐÓÐÒ»ÐÐ:
::askfirst:/bin/ash
ÕâÔÚbusybox 1.2.1ÔËÐÐÕý³£
ÐÞ¸ÄΪ
tty1::askfirst:/bin/ash
ºóÕý³£. ......
ɱËÀ½ø³Ì×ȫµÄ·½·¨Êǵ¥´¿Ê¹ÓÃkillÃüÁ²»¼ÓÐÞÊηû£¬²»´ø±êÖ¾¡£Ê×ÏÈʹÓÃps -efÃüÁîÈ·¶¨ÒªÉ±ËÀ½ø³ÌµÄPID£¬È»ºóÊäÈëÒÔÏÂÃüÁ
# kill pid
×¢ÊÍ£º±ê×¼µÄkillÃüÁîͨ³£¶¼ÄܴﵽĿµÄ£¬ÏÔʾZ״̬µÄ½ø³ÌÒѾËÀÍö¡£ÖÕÖ¹ÓÐÎÊÌâµÄ½ø³Ì£¬²¢°Ñ½ø³ÌµÄ×ÊÔ´ÊͷŸøϵͳ¡£È»¶ø£¬Èç¹û½ø³ÌÆô¶¯ÁË×Ó½ø³Ì£¬Ö ......
ÔÚLinuxϵͳÖУ¬uptime¡¢topµÈÃüÁîÅжÏÒ»¸öϵͳµÄ¸ºÔØ¡£load average·Ö±ð¼Ç¼ÁË1¡¢5¡¢15·ÖÖÓµÄϵͳƽ¾ù¸ºÔØ¡£
load average ¶Ô performance µÄÓ°Ïì?
1. Èç¹ûload average/CPUÊýÁ¿ < 3, performance is good
2. Èç¹ûload average/CPUÊýÁ¿ > 5, performance is very bad
......
Ò»¡¢Ê²Ã´ÊÇ modules£¿
¡¡¡¡modules µÄ×ÖÃæÒâ˼¾ÍÊÇÄ£¿é£¬ÔÚ´ËÖ¸µÄÊÇ kernel modules£»¼òµ¥À´Ëµ£¬ Ò»¸öÄ£¿éÌṩÁËÒ»¸ö¹¦ÄÜ£¬Èç isofs¡¢minix¡¢nfs¡¢lp µÈµÈ¡£´«Í³À´½²£¬Ä£¿é»¯ÓÐÁ½¸ö·½·¨½â¾ö£º Éè¼ÆÕß¿ÉÒ԰Ѹ÷ÏÄÜ·ÖÀëµ½µ¥¶ÀµÄ½Ð×öÏ̵߳Ĵ¦ÀíÖÐÈ¥£¬»òÕßÊǽ«ÄÚºËÒÔ°üº¬/ÅųýһЩ¹¦Äܵķ½Ê½ÖØбàÒë¡£Èç¹û°Ñ¹¦ÄÜ·ÖÀëµ½Ïß³ ......
1 Ç°ÑÔ
Ðí¶àÈËÔÚ·ÖÎölinux´úÂëʱ¶ÔÍøÂ粿·Ö£¨Ö÷ÒªÊÇsrc/linux/net£¬src/linux/include/net¼°src/linux/include/linuxĿ¼ÏµÄÎļþ£©±È½Ï¸ÐÐËȤ£¬È·Êµ£¬¾¡¹ÜÒѾ´ÓÊé±¾ÉÏѧµ½ÁË´óÁ¿µÄTCP/IPÔÀí£¬²»¶ÁÔ´ÂëµÄ»°£¬Í·ÄÔÖл¹Êǽ¨Á¢²»Æð¾ßÌåµÄÓ¡Ï󡣶ø·ÖÎöÕⲿ·Ö´úÂëµÄÒ»¸öÎÊÌâ±ãÊÇ´úÂëÖÚ¶à¶ø×ÊÁϺÜÉÙ¡£ÕâƪÎÄÕµÄÄ¿µÄ¾ÍÊǹ´ÀÕ³ö ......