Part 01 ³×Æ®¿öÅ© ÇÁ·Î±×·¡¹ÖÀÇ ½ÃÀÛ
Chapter 01 ³×Æ®¿öÅ© ÇÁ·Î±×·¡¹Ö°ú ¼ÒÄÏÀÇ ÀÌÇØ01-1 ³×Æ®¿öÅ© ÇÁ·Î±×·¡¹Ö°ú ¼ÒÄÏÀÇ ÀÌÇØ
01-2 ¸®´ª½º ±â¹Ý ÆÄÀÏ Á¶ÀÛÇϱâ
01-3 À©µµ¿ì ±â¹ÝÀ¸·Î ±¸ÇöÇϱâ
01-4 À©µµ¿ì ±â¹ÝÀÇ ¼ÒÄÏ°ü·Ã ÇÔ¼ö¿Í ¿¹Á¦
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 02 ¼ÒÄÏÀÇ Å¸ÀÔ°ú ÇÁ·ÎÅäÄÝÀÇ ¼³Á¤02-1 ¼ÒÄÏÀÇ ÇÁ·ÎÅäÄÝ°ú ±×¿¡ µû¸¥ µ¥ÀÌÅÍ Àü¼Û Ư¼º
02-2 À©µµ¿ì ±â¹Ý¿¡¼ ÀÌÇØ ¹× È®ÀÎÇϱâ
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 03 ÁÖ¼Òü°è¿Í µ¥ÀÌÅÍ Á¤·Ä03-1 ¼ÒÄÏ¿¡ ÇÒ´çµÇ´Â IPÁÖ¼Ò¿Í PORT¹øÈ£
03-2 ÁÖ¼ÒÁ¤º¸ÀÇ Ç¥Çö
03-3 ³×Æ®¿öÅ© ¹ÙÀÌÆ® ¼ø¼¿Í ÀÎÅÍ³Ý ÁÖ¼Ò º¯È¯
03-4 ÀÎÅÍ³Ý ÁÖ¼ÒÀÇ ÃʱâÈ¿Í ÇÒ´ç
03-5 À©µµ¿ì ±â¹ÝÀ¸·Î ±¸ÇöÇϱâ
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 04 TCP ±â¹Ý ¼¹ö/Ŭ¶óÀ̾ðÆ® 104-1 TCP¿Í UDP¿¡ ´ëÇÑ ÀÌÇØ
04-2 TCP±â¹Ý ¼¹ö, Ŭ¶óÀ̾ðÆ® ±¸Çö
04-3 Iterative ±â¹ÝÀÇ ¼¹ö, Ŭ¶óÀ̾ðÆ® ±¸Çö
04-4 À©µµ¿ì ±â¹ÝÀ¸·Î ±¸ÇöÇϱâ
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 05 TCP ±â¹Ý ¼¹ö/Ŭ¶óÀ̾ðÆ® 205-1 ¿¡ÄÚ Å¬¶óÀ̾ðÆ®ÀÇ ¿Ïº® ±¸Çö!
05-2 TCPÀÇ ÀÌ·ÐÀûÀÎ À̾߱â!
05-3 À©µµ¿ì ±â¹ÝÀ¸·Î ±¸ÇöÇϱâ
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 06 UDP ±â¹Ý ¼¹ö/Ŭ¶óÀ̾ðÆ®06-1 UDP¿¡ ´ëÇÑ ÀÌÇØ
06-2 UDP ±â¹Ý ¼¹ö/Ŭ¶óÀ̾ðÆ®ÀÇ ±¸Çö
06-3 UDPÀÇ µ¥ÀÌÅÍ ¼Û¼ö½Å Ư¼º°ú UDP¿¡¼ÀÇ connect ÇÔ¼öÈ£Ãâ
06-4 À©µµ¿ì ±â¹ÝÀ¸·Î ±¸ÇöÇϱâ
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 07 ¼ÒÄÏÀÇ ¿ì¾ÆÇÑ ¿¬°áÁ¾·á07-1 TCP ±â¹ÝÀÇ Half-close
07-2 À©µµ¿ì ±â¹ÝÀ¸·Î ±¸ÇöÇϱâ
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 08 µµ¸ÞÀÎ À̸§°ú ÀÎÅÍ³Ý ÁÖ¼Ò08-1 Domain Name System
08-2 IPÁÖ¼Ò¿Í µµ¸ÞÀÎ À̸§ »çÀÌÀÇ º¯È¯
08-3 À©µµ¿ì ±â¹ÝÀ¸·Î ±¸ÇöÇϱâ
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 09 ¼ÒÄÏÀÇ ´Ù¾çÇÑ ¿É¼Ç09-1 ¼ÒÄÏÀÇ ¿É¼Ç°ú ÀÔÃâ·Â ¹öÆÛÀÇ Å©±â
09-2 SO_REUSEADDR
09-3 TCP_NODELAY
09-4 À©µµ¿ì ±â¹ÝÀ¸·Î ±¸ÇöÇϱâ
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 10 ¸ÖƼÇÁ·Î¼¼½º ±â¹ÝÀÇ ¼¹ö±¸Çö10-1 ÇÁ·Î¼¼½ºÀÇ ÀÌÇØ¿Í È°¿ë
10-2 ÇÁ·Î¼¼½º & Á»ºñ(Zombie) ÇÁ·Î¼¼½º
10-3 ½Ã±×³Î Çڵ鸵
10-4 ¸ÖƼŽºÅ· ±â¹ÝÀÇ ´ÙÁßÁ¢¼Ó ¼¹ö
10-5 TCPÀÇ ÀÔÃâ·Â ·çƾ(Routine) ºÐÇÒ
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 11 ÇÁ·Î¼¼½º°£ Åë½Å(Inner Process Communication)11-1 ÇÁ·Î¼¼½º°£ Åë½ÅÀÇ ±âº» °³³ä
11-2 ÇÁ·Î¼¼½º°£ Åë½ÅÀÇ Àû¿ë
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 12 IO ¸ÖƼÇ÷º½Ì(Multiplexing)12-1 IO ¸ÖƼÇ÷º½Ì ±â¹ÝÀÇ ¼¹ö
12-2 select ÇÔ¼öÀÇ ÀÌÇØ¿Í ¼¹öÀÇ ±¸Çö
12-3 À©µµ¿ì ±â¹ÝÀ¸·Î ±¸ÇöÇϱâ
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 13 ´Ù¾çÇÑ ÀÔÃâ·Â ÇÔ¼öµé13-1 send & recv ÀÔÃâ·Â ÇÔ¼ö
13-2 readv & writev ÀÔÃâ·Â ÇÔ¼ö
13-3 À©µµ¿ì ±â¹ÝÀ¸·Î ±¸ÇöÇϱâ
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 14 ¸ÖƼij½ºÆ® & ºê·Îµåij½ºÆ®14-1 ¸ÖƼij½ºÆ®(Multicast)
14-2 ºê·Îµåij½ºÆ®(Broadcast)
14-3 À©µµ¿ì ±â¹ÝÀ¸·Î ±¸ÇöÇϱâ
³»¿ëÈ®ÀÎ ¹®Á¦
Part 02 ¸®´ª½º ±â¹Ý ÇÁ·Î±×·¡¹Ö
Chapter 15 ¼ÒÄÏ°ú Ç¥ÁØ ÀÔÃâ·Â15-1 Ç¥ÁØ ÀÔÃâ·Â ÇÔ¼öÀÇ ÀåÁ¡
15-2 Ç¥ÁØ ÀÔÃâ·Â ÇÔ¼ö »ç¿ëÇϱâ
15-3 ¼ÒÄÏ ±â¹Ý¿¡¼ÀÇ Ç¥ÁØ ÀÔÃâ·Â ÇÔ¼ö »ç¿ë
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 16 ÀÔÃâ·Â ½ºÆ®¸²ÀÇ ºÐ¸®¿¡ ´ëÇÑ ³ª¸ÓÁö À̾߱â16-1 ÀÔ·Â ½ºÆ®¸²°ú Ãâ·Â ½ºÆ®¸²ÀÇ ºÐ¸®
16-2 ÆÄÀÏ µð½ºÅ©¸³ÅÍÀÇ º¹»ç¿Í Half-close
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 17 selectº¸´Ù ³ªÀº epoll17-1 epollÀÇ ÀÌÇØ¿Í È°¿ë
17-2 ·¹º§ Æ®¸®°Å(Level Trigger)¿Í ¿§Áö Æ®¸®°Å(Edge Trigger)
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 18 ¸ÖƼ¾²·¹µå ±â¹ÝÀÇ ¼¹ö±¸Çö18-1 ¾²·¹µåÀÇ ÀÌ·ÐÀû ÀÌÇØ
18-2 ¾²·¹µåÀÇ »ý¼º ¹× ½ÇÇà
18-3 ¾²·¹µåÀÇ ¹®Á¦Á¡°ú ÀӰ迵¿ª(Critical Section)
18-4 ¾²·¹µå µ¿±âÈ
18-5 ¾²·¹µåÀÇ ¼Ò¸ê°ú ¸ÖƼ¾²·¹µå ±â¹ÝÀÇ ´ÙÁßÁ¢¼Ó ¼¹öÀÇ ±¸Çö
³»¿ëÈ®ÀÎ ¹®Á¦
Part 03 À©µµ¿ì ±â¹Ý ÇÁ·Î±×·¡¹Ö
Chapter 19 Windows¿¡¼ÀÇ ¾²·¹µå »ç¿ë19-1 Ä¿³Î ¿ÀºêÁ§Æ®(Kernel Objects)
19-2 À©µµ¿ì ±â¹ÝÀÇ ¾²·¹µå »ý¼º
19-3 Ä¿³Î ¿ÀºêÁ§Æ®ÀÇ µÎ °¡Áö »óÅÂ
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 20 Windows¿¡¼ÀÇ ¾²·¹µå µ¿±âÈ20-1 µ¿±âÈ ±â¹ýÀÇ ºÐ·ù¿Í CRITICAL_SECTION µ¿±âÈ
20-2 Ä¿³Î¸ðµå µ¿±âÈ ±â¹ý
20-3 À©µµ¿ì ±â¹ÝÀÇ ¸ÖƼ ¾²·¹µå ¼¹ö ±¸Çö
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 21 Asynchronous Notification IO ¸ðµ¨21-1 ºñµ¿±â(Asynchronous) Notification IO ¸ðµ¨ÀÇ ÀÌÇØ
21-2 ºñµ¿±â(Asynchronous) Notification IO ¸ðµ¨ÀÇ ÀÌÇØ¿Í ±¸Çö
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 22 Overlapped IO ¸ðµ¨22-1 Overlapped IO ¸ðµ¨ÀÇ ÀÌÇØ
22-2 Overlapped IO¿¡¼ÀÇ ÀÔÃâ·Â ¿Ï·áÀÇ È®ÀÎ
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 23 IOCP(Input Output Completion Port)23-1 Overlapped IO¸¦ ±â¹ÝÀ¸·Î IOCP ÀÌÇØÇϱâ
23-2 IOCPÀÇ ´Ü°èÀû ±¸Çö
³»¿ëÈ®ÀÎ ¹®Á¦
Part 04 ³×Æ®¿öÅ© ÇÁ·Î±×·¡¹Ö ¸¶¹«¸®Çϱâ
Chapter 24 HTTP ¼¹ö Á¦ÀÛÇϱâ24-1 HTTP(Hypertext Transfer Protocol)ÀÇ °³¿ä
24-2 ¸Å¿ì °£´ÜÇÑ À¥ ¼¹öÀÇ ±¸Çö
³»¿ëÈ®ÀÎ ¹®Á¦
Chapter 25 ¾ÕÀ¸·Î ÇØ¾ß ÇÒ °Íµé25-1 ³×Æ®¿öÅ© ÇÁ·Î±×·¡¹Ö! ¾ó¸¶³ª °øºÎÇØ¾ß Çϳª¿ä?
25-2 ³×Æ®¿öÅ© ÇÁ·Î±×·¡¹Ö °ü·Ã Ã¥ ¼Ò°³
ÀÌÀü À±¼º¿ì ÀúÀÚÀÇ [¿Ç÷°ÀÇ TCP/IP ¼ÒÄÏ ÇÁ·Î±×·¡¹Ö]¿¡¼´Â Ãʺ¸ÁýÇÊÀÚÀÇ Ç²Ç²ÇÔÀÌ ¹¯¾îÀÖ¾ú´Ù¸é, À̹ø¿¡ Ãâ°£µÈ Ã¥¿¡¼´Â ±×°£ ´Ùµë¾îÁø ¼÷·ÃµÈ ÁýÇÊ´É·ÂÀ» ¹ÙÅÁÀ¸·Î ¼¼·Ã¹Ì°¡ ´õÇÏ¿©Á³´Ù. µû¶ó¼ ÀÌÀü ¸í¼º ±×´ë·Î, ¸¹Àº ºÐµé¿¡°Ô ¼ÒÄÏ ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ÁøÀÔÀ庮À» ³·ÃçÁÖ´Â ¿ªÇÒÀ» °è¼ÓÇϸ®¶ó ¹Ï´Â´Ù.
À±¼º¿ì ÀúÀÚÀÇ TCP/IP ¼ÒÄÏ ÇÁ·Î±×·¡¹ÖÀº ¿î¿µÃ¼Á¦¿Í ½Ã½ºÅÛ ÇÁ·Î±×·¡¹Ö ±×¸®°í TCP/IP ÇÁ·ÎÅäÄÝ¿¡ ´ëÇÑ Àü¹ÝÀûÀÎ ³»¿ëÀ» ´ã°í Àֱ⠶§¹®¿¡ ¸¹Àº µ¶ÀÚµé·ÎºÎÅÍ ¿À·£ ½Ã°£ »ç¶ûÀ» ¹Þ¾Æ¿Ô´Ù. ±×·¯³ª ½Ã´ëÀÇ È帧¿¡ ¸Â´Â °³Á¤ÀÌ ¿ä±¸µÇ´Â »óȲÀ̾ú°í, ³»¿ëµµ ÀϺΠº¸°ÇÒ ÇÊ¿ä°¡ ÀÖ´ø ½ÃÁ¡À̾ú´Ù. °³Á¤ÀÇ ³»¿ëÀº ¸Å¿ì ¸¸Á·½º·´´Ù°í »ý°¢ÇÑ´Ù. ÀÌÀü¿¡ ÁýÇÊÇÑ ³»¿ëÀ» Copy & PasteÇÏÁö ¾Ê°í ÇÑÀÚ¾¿ ´Ù½Ã ½á ³»·Á°¡´Â °úÁ¤¿¡¼ ³»¿ëÀÇ ¿¬°áÀÌ ÈξÀ ÀÚ¿¬½º·¯¿öÁ³À¸¸ç, ´Ù¼Ò µÎ¸®¹¶½ÇÇÏ°Ô ¼³¸íÇß´ø ³»¿ëµéµµ ±× ¸íÈ®ÇÔÀÌ ÇÑÃþ ´õÇØÁ³´Ù°í »ý°¢ÇÑ´Ù. ƯÈ÷ epoll°ú IOCP¿¡ ´ëÇÑ ¼³¸íÀ» »ìÆ캸¸é, select ¹æ½Ä°úÀÇ Â÷ÀÌÁ¡À» ÅëÇؼ ¾î¶°ÇÑ ÀåÁ¡ÀÌ ÀÖ´ÂÁö¸¦ ¸Å¿ì ¸íÈ®È÷ ¼³¸íÇÑ´Ù.
ÀÌÀü Ã¥¿¡¼´Â ¼¹öÀÇ ±¸Çö¹æ¹ý º° ÀåÁ¡°ú »ç¿ë¹æ¹ý À§ÁÖ·Î ¼³¸íÀÌ ÁøÇàµÇ¾ú´Ù¸é, À̹ø °³Á¤ÆÇ¿¡¼´Â °¢ ¸ðµ¨ º° Â÷ÀÌÁ¡À» ÄÚµå ¼öÁØ¿¡¼±îÁö ¼³¸íÇÑ´Ù. ±×¸®°í ¿§Áö Æ®¸®°Å¿Í ·¹º§ Æ®¸®°Å¿¡ ´ëÇÑ ¼³¸í±îÁö Æ÷ÇÔÇÏ°í ÀÖ¾î¼ ½Ç¹« °³¹ß¿¡µµ Å« µµ¿òÀ» ÁÖ°í ÀÖ´Ù.
ÀÌ¹Ì ¼ÒÄÏ ÇÁ·Î±×·¡¹ÖÀ» °øºÎÇÑ °æÇèÀÌ ÀÖ´õ¶óµµ select ¹æ½ÄÀÌ ¿§Áö Æ®¸®°ÅÀÎÁö ·¹º§ Æ®¸®°ÅÀÎÁö ¾ËÁö ¸øÇÑ´Ù¸é, IOCP¿¡¼ÀÇ ¾²·¹µå ÇÒ´çÀÌ ¾î¶°ÇÑ Àǹ̸¦ °®´ÂÁö Àß ¸ð¸¥´Ù¸é ÀÌ Ã¥Àº ¿©·¯ºÐ¿¡°Ô ¸¹Àº µµ¿òÀÌ µÉ °ÍÀÌ´Ù. ƯÈ÷ ´ëÇп¡¼ ÄÄÇ»ÅÍ°øÇÐÀ» Àü°øÇÏ°í ÀÖ´Ù¸é, ÀÌ Ã¥Àº Çо÷¿¡µµ ¸¹Àº µµ¿òÀÌ µÉ °ÍÀÌ´Ù.