W. Richard Stevens 의 소스로 배우는

Network programming

수강대상

UNIX 기반의 응용프로그램 개발자
linux 임베디드 system 예비 개발자
linux network 예비 개발자
Windows Network 개발자

선수과정

없음

강의환경

Ubuntu 14.04 LTS
virtual box
Gcc 4.8
GDB
Visual C++ 2013


TCP/IP 개론
IPV4, TCP, ICMP, ARP/RARP, RIP, IPV6
BSD Socket API
socket, bind, listen, accept, read, write, close, connect
고급 Socket API
fcntl, non blocking I/O, 비동기 모델, event 모델, 멀티 프로세스 모델, I/O Multiplexing(select,poll)
multicast/broadcast
OOB, Socket option, unicast 모델, UDP 모델, multicast 모델, broadcast 모델
윈도우 Overlapped Model, IOCP

  • Section1. TCP /IP
    • TCP 구조
    • TCP 연결관리
    • error control
    • 흐름제어
    • ARP,IP,RIP
  • Section2. BSD Socket
    • - Socket 정의
    • - Socket Descriptor
    • - Byte Manipulation
    • - order funtion
    • - AddressConversion
    • - conversion funtion
  • Section3. BSD Socket API
    • - socket ()
    • - socket 관련 구조체
    • - bind()
    • - listen()
    • - accept ()
    • - recv(), read()
    • - send(), write()
    • - connect()
    • - close()
    • - shutdown()
  • Section4. 실 습
    • - http client 구현
    • - 간단한 ftp 구현
    • - talk program 구현
  • Section5. Advanced Socket Programming
    • - I/O Multiplexing
    • - Blocking I/O
    • - Nonblocking I/O
    • - Signal Driven I/O
  • Section6. Advanced Socket Programming
    • - MultiProcess 모델
    • - Pthread
    • - Multithread 모델
    • - chatting 구현
  • Section7. IO Multiplexing Model
    • - Select 서버 구현
    • - Polling 서버 구현
    • - epoll 서버 구현
  • Section8. socket option
    • - IPPROTO_IP
    • - IPPROTO_TCP
    • - SOL_SOCKET
    • - SO_BROADCAST
    • - SO_KEEPALIVE
    • - SO_LINGER
    • - SO_REUSEADDR
  • Section9. Multicast/Broadcast
    • - Out-of-Band
    • - broadcasting
    • - Multicasting
    • - Multicasting을 이
    • 용한 P2P구현
  • Section10. 게임서버개발 테크닉
    • - 고성능서버개발방법론
    • - 룸/채널 자료구조
    • - thread와 multiplexing을 이용한 서버모델링
    • - 함수 포인터를 이용한 분기문
    • - 사용자 정의 헤더 제작 기법
  • Section11. Windows Model
    • AsyncModel
    • Overlapped Model
    • IOCP Model