HOME > 상세정보

상세정보

컴퓨터 네트워크 프로그래밍 : Unix Version

컴퓨터 네트워크 프로그래밍 : Unix Version (30회 대출)

자료유형
단행본
개인저자
김화종
서명 / 저자사항
컴퓨터 네트워크 프로그래밍 = Computer network programming : Unix Version / 김화종 저.
발행사항
서울 :   홍릉과학 ,   2004.  
형태사항
399 p. : 삽도 ; 26 cm.
ISBN
8972833428
일반주기
부록으로 "UNIX BSD 소켓 시스템 콜 문법" 수록  
찾아보기: p. 389-399  
000 00727camccc200229 k 4500
001 000000875281
005 20100806065353
007 ta
008 040223s2004 ulka 001a kor
020 ▼a 8972833428 ▼g 03000 : ▼c \25000
035 ▼a KRIC09163207
040 ▼a HYUC ▼c HYUC ▼d 211062 ▼d 211009
049 1 ▼l 121092596 ▼f 과학 ▼l 121092597 ▼f 과학
082 0 4 ▼a 005.711 ▼2 21
090 ▼a 005.711 ▼b 2004
100 1 ▼a 김화종
245 1 0 ▼a 컴퓨터 네트워크 프로그래밍 = ▼x Computer network programming : ▼b Unix Version / ▼d 김화종 저.
260 ▼a 서울 : ▼b 홍릉과학 , ▼c 2004.
300 ▼a 399 p. : ▼b 삽도 ; ▼c 26 cm.
500 ▼a 부록으로 "UNIX BSD 소켓 시스템 콜 문법" 수록
500 ▼a 찾아보기: p. 389-399

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.711 2004 등록번호 121092596 (12회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.711 2004 등록번호 121092597 (18회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

저자소개

김화종(지은이)

서울대학교에서 전자공학을 전공하고 KAIST에서 데이터통신으로 박사학위를 취득한 후, 현재 강원대학교 컴퓨터공학과 교수, KAIST IT융합연구소 교수로 활동중이다. 기업의 데이터 사이언티스트 양성을 위해 LG전자, LS그룹, 한전, KB금융, NH농협금융, 두산, 고려해운 등 기업에서 3000시간 이상의 실무자 교육과 200여 주제의 프로젝트형 AI 부트캠프를 운영했다. 저서 <컴퓨터 네트워크 프로그래밍>은 80여개 대학에서 교과서로 사용되었고, <데이터사이언스개론>은 학술원우수도서상을 수상했다. 한국생산성본부와 데이터 사이언티스트 자격증(DSAC)을 개발했으며 DSAC 레벨 1~4 교재를 집필했다.

정보제공 : Aladin

목차


목차
제1장 컴퓨터 네트워크 프로그래밍 개요 = 1
 1.1 컴퓨터 통신 프로토콜 = 1
  1.1.1 컴퓨터 통신 프로토콜의 정의 = 1
   통신 프로토콜의 특징 = 2
   통신 프로토콜의 종류 = 2
  1.1.2 OSI 7 계층 구조 = 3
  1.1.3 TCP/IP 개요 = 4
   TCP/IP 프로토콜 스택 = 5
   인터넷과 서브네트워크 = 7
  1.1.4 통신 프로토콜 표현 방식 = 7
   필드 정의 = 7
   파라미터 정의 = 8
   상태 정의 = 9
   동작 내용 정의 = 9
  1.1.5 네트워크 프로그래밍 계층별 분류 = 10
   응용 계층 프로그래밍 = 10
   트랜스포트 계층 프로그래밍 = 11
   디바이스 드라이버 계층 프로그래밍 = 11
 1.2 네트워크 프로그램 구현 모델 = 12
  1.2.1 클라이언트-서버 모델 = 12
   2-tier 클라이언트 - 서버 모델 = 12
   3-tier 클라이언트 - 서버 모델 = 13
   n-tier 클라이언트 - 서버 모델 = 13
   P2P 모델 = 14
  1.2.2 분산객체 모델 = 15
  1.2.3 서버 구현 기술 = 15
   연결형과 비연결형 서버 = 16
   Stateful과 Stateless 서버 = 17
   Iterative와 Concurrent 서버 = 17
 1.3 네트워크 서비스의 성능 = 18
  1.3.1 성능 척도 = 18
   최적의 패킷 크기 = 20
  1.3.2 통신 자원과 비용 = 20
   시스템 자원 = 20
   개발 비용 = 21
  1.3.3 플랫폼의 선택 = 21
   유닉스 플랫폼 = 21
   윈도우즈 플랫폼 = 22
   자바 플랫폼 = 22
   웹 플랫폼 = 23
   모바일 플랫폼 = 23
  1.3.4 네트워크 프로그램 영역 = 24
 1.4 유닉스 프로그래밍 환경 = 24
  1.4.1 네트워크 환경 = 24
   네트워크 서비스 시작 = 25
   ping = 26
   arp = 27
   host = 28
   ifconfig = 28
   netstat = 30
   traceroute = 32
  1.4.2 컴파일 환경 = 34
 1.5 연습문제 = 36
제2장 소켓 프로그래밍 기초 = 37
 2.1 소켓 개요 = 37
  2.1.1 소켓 정의 = 37
   소켓번호 = 38
   포트번호 = 39
  2.1.2 소켓 사용법 = 41
   소켓 개설 = 41
   C 프로그램 환경 = 44
   소켓주소 구조체 = 45
   소켓 사용 절차 = 47
 2.2 인터넷 주소변환 = 48
  2.2.1 바이트 순서 = 48
   바이트 순서 확인 예 = 50
  2.2.2 IP 주소 변환 = 51
   도매인 주소 변환 = 54
   gethostbyaddr() = 56
 2.3 TCP 클라이언트 프로그램 = 58
  2.3.1 TCP 클라이언트 프로그램 작성 절차 = 58
   socket(), 소켓 개설 = 58
   connect(), 서버에 연결요청 = 59
   send(), recv(), 데이터 송수신 = 60
   close(), 소켓 닫기 = 62
  2.3.2 TCP 클라이언트 예제 프로그램 = 62
   daytime 클라이언트 = 62
   TCP 에코 클라이언트 = 65
   포트번호 배정 = 68
 2.4 TCP 서버 프로그램 = 70
  2.4.1 TCP 서버 프로그램 작성 절차 = 70
   socket(), 소켓의 생성 = 71
   bind() = 71
   listen() = 73
   accept() = 74
  2.4.2 UCP 에코 서버 프로그램 = 76
 2.5 UDP 프로그램 = 78
  2.5.1 UDP 프로그램 작성 절차 = 78
  2.5.2 UDP 에코 프로그램 = 79
   UDP 에코 클라이언트 = 80
   UDP 에코서버 = 81
 2.6 Connected UDP = 83
 2.7 연습문제 = 84
제3장 유닉스 프로세스 = 87
 3.1 프로세스의 이해 = 87
  3.1.1 프로세스의 정의 = 87
   프로세스의 상태 = 87
  3.1.2 프로세스의 메모리 배치 = 88
   메모리 영역 = 88
   스택과 힙 = 90
  3.1.3 프로세스의 생성과 종료 = 91
   fork() = 92
   fork() 사용 예 = 94
   exec 함수 = 95
   exec 사용 예 = 97
   프로세스의 환경변수 = 98
   프로세스의 종료 = 99
   exit() = 99
  3.2 토크 프로그램 = 100
   3.2.1 토크서버 프로그램 = 101
   3.2.2 토크 클라이언트 프로그램 = 104
 3.3 연습문제 = 106
제4장 고급 소켓 프로그래밍 = 109
 4.1 다중처리 기술 = 109
  4.1.1 멀티태스킹 = 109
   멀티프로세스 = 110
   멀티스레드 = 110
  4.1.2 다중화 = 111
   폴링 = 111
   셀렉팅 = 112
   인터럽트 = 112
  4.1.3 다중처리 예 = 112
   채팅 프로그램 = 113
   멀티프로세스형 서버 프로그램 = 113
   폴링형 서버 프로그램 = 113
   셀렉팅형 서버 프로그래밍 = 113
   인터럽트형 서버 프로그램 = 113
 4.2 소켓의 동작 모드 = 114
 4.3 비동기형 채팅 프로그램 = 115
  4.3.1 채팅 서버 프로그램 구조 = 115
  4.3.2 select() = 117
  4.3.3 채팅 서버 프로그램 = 119
   통신용 소켓 구분 = 125
  4.3.4 채팅 클라이언트 프로그램 = 126
 4.4 폴링형 채팅 프로그램 = 130
  4.4.1 fcntl() = 130
   넌블록 모드 설정 = 130
   비동기 모드 = 131
  4.4.2 폴링형 채팅 서버 = 132
   넌블록 모드 = 132
   폴링형 채팅 서버 프로그램 = 134
 4.5 연습 문제 = 139
제5장 소켓 옵션 = 141
 5.1 소켓 옵션 변경 = 141
  5.1.1 소켓 옵션 변경 함수 = 141
  5.1.2 소켓 옵션 변경 예 = 142
 5.2 소켓 옵션 종류 = 144
  5.2.1 SO_KEEPALIVE = 144
  5.2.2 SO_LINGER = 145
   shutdown() = 147
  5.2.3 SO_RCVBUF와 SO_SNDBUF = 148
  5.2.4 SO_REUSEADDR = 149
   TIME-WAIT 상태에서의 주소 재사용 = 149
   자식 프로세스가 서버인 경우 = 149
   멀티홈 서버의 경우 = 150
   완정 중복 바인딩 = 150
  5.2.5 기타 옵션 = 150
   SO_OOBINLINE = 150
   SO_RCVLOWAT와 SO_SNDLOWAT = 150
   SO_DONTROUTE = 151
   SO_BROADCAST = 151
   TCP_NODELAY = 151
   TCP_MAXSEG = 152
 5.3 멀티캐스트 프로그래밍 = 152
  5.3.1 멀티캐스트 개요 = 152
   멀티캐스트 그룹 = 153
  5.3.2 멀티캐스트 데이터그램 송수신 = 153
   소켓 옵션 지정 = 153
   ip_mreq, 그룹주소 = 154
   멀티캐스트 데이터그램 수신 = 155
   멀티캐스트 데이터그램 송신 = 155
  5.3.3 멀티캐스트 채팅 프로그램 = 156
 5.4 send()와 recv()의 옵션 지정 = 160
  MSG_PEEK = 160
  MSG_WAITALL = 160
  MSG_OOB = 161
 5.5 연습문제 = 161
제6장 데몬 서버 구축 방법 = 163
 6.1 데몬 프로세스 = 163
  6.1.1 데몬 프로세스 생성 = 163
  6.1.2 데몬 서버 종류 = 164
 6.2 독립형 데몬 서버 = 165
 6.3 inetd를 이용한 서버 구축 = 168
  6.3.1 inetd 환경 설정 = 168
  6.3.2 TCP Wrapper = 169
   /etc/hosts.allow와 /etc/hosts.deny = 169
 6.4 xinetd를 이용한 서버 구축 = 170
  6.4.1 xinetd 환경 설정 = 171
   defaults 부분 설정 = 171
   service 부분 설정 = 172
  6.4.2 xinetd를 이용한 에코 서버 = 173
   xinetd에 서비스를 등록하는 절차 = 174
   xinetd 서비스의 특징 = 175
  6.4.3 UDP 에코 서버 = 175
 6.5 연습문제 = 177
제7장 시그널 = 179
 7.1 시그널 처리 = 179
  7.1.1 시그널의 종류 = 179
   시그널 발생 = 181
  7.1.2 시그널 처리 기본 동작 = 181
  7.1.3 시그널 핸들러 = 182
   시그널 집합 = 182
   시그널 핸들러 설정 = 183
   Signal-unsafe 함수 = 185
   signal() = 185
 7.2 시그널 처리 예 = 186
  7.2.1 SIGINT 처리 예 = 186
  7.2.2 시스템 콜 수행중의 시그널 처리 = 188
  7.2.3 중복 블록된 시그널 처리 = 190
  7.2.4 SIGALARM에 의한 read()의 timeout 예 = 192
 7.3 SIGCHLD와 프로세스의 종료 = 193
  7.3.1 프로세스의 종료 = 193
   wait() = 194
   기본동작으로서 SIGCHLD를 무시하는 경우 = 194
   SIG_IGN으로 SIGCHLD를 무시하는 경우 = 195
   시그널 핸들러를 등록한 경우 = 195
  7.3.2 프로세스의 종료 처리 = 195
   기본 동작(시그널 무시) 실행 결과 = 199
   시그널 무시(SIG_IGN)를 등록한 경우 = 200
   SIGCHLD 시그널 핸들러를 등록한 경우 = 201
   시스템 콜 인터럽트 경우 = 203
   SA_NOCLDWAIT 옵션 = 203
   waitpid() = 204
 7.4 시그널 블록 마스크의 조작 = 204
  sigprocmask() = 204
  sigpending() = 205
  sigsuspend() = 205
 7.5 연습문제 = 206
제8장 프로세스간 통신 = 207
 8.1 파이프 = 207
  8.1.1 파이프 생성 = 207
  8.1.2 파이프를 이용한 에코 서버 프로그램 = 209
   UDP 에코 클라이언트 프로그램 = 213
 8.2 FIFO 생성 = 215
  8.2.1 FIFO 생성 = 215
  8.2.2 FIFO를 이용한 에코 서버 프로그램 = 216
 8.3 메시지큐 = 219
  8.3.1 메시지큐 개요 = 219
   메시지큐 정의 = 219
  8.3.2 메시지큐 생성 = 221
   msgget() 사용 예 = 223
  8.3.3 메시지 송수신 = 224
   msgsnd() = 224
   msgrcv() = 225
   메시지큐 이용 예 = 225
  8.3.4 메시지큐 제어 = 228
   msgctl() 사용 예 = 229
  8.3.5 메시지큐를 이용한 에코 서버 = 231
 8.4 공유메모리 = 238
  8.4.1 공유메모리 사용 = 238
   공유메모리 생성 = 238
   공유메모리 첨부 = 240
   공유메모리의 분리 = 241
  8.4.2 공유메모리 제어 = 241
   공유메모리 정보 얻기 = 242
   공유메모리 삭제 = 242
  8.4.3 공유메모리의 동기화문제 처리 = 243
   동기화문제 예제 = 243
 8.5 세마포어 = 246
  8.5.1 동기화문제 = 247
  8.5.2 세마포어 사용 = 248
   세마포어 정의 = 248
   semget(), 세마포어 생성 = 249
   세마포어 연산 = 250
   세마포어 사용 예 = 251
  8.5.3 세마포어 제어 = 253
   IPC_STAT = 253
   SETVAL = 254
   SETALL = 254
   GETVAL = 254
   GETALL = 255
   GETNCNT = 255
   GETPID = 255
   IPC_RMID = 255
  8.5.4 세마포어 이용 예제 = 256
  8.5.5 공유메모리의 동기화문제 처리 = 259
 8.6 연습문제 = 264
제9장 스레드 프로그래밍 = 265
 9.1 스레드 개요 = 265
  9.1.1 스레드 생성과 종료 = 265
   pthread_create() = 265
   pthread_self() = 266
   pthread_exit() = 266
   pthread_join() = 267
   Posix 스레드 라이브러리 = 268
   스레드의 생성과 종료 예 = 269
   REENTRANT = 271
  9.1.2 스레드의 취소 = 271
   스레드의 취소 관련 함수 = 272
   int phread_setcancelstate(int state, int *oldstate) = 272
   int phread_setcanceltype(int type, int *oldtype) = 272
   void pthread_testcancel() = 273
   취소요청을 무시하는 예 = 273
   지연 취소 = 276
   즉시 취소 = 277
  9.1.3 스레드의 상태 = 278
  9.1.4 스레드의 동기화문제 = 279
   스레드 경쟁 예 = 279
   플래그 사용 예 = 282
 9.2 뮤텍스 = 282
  9.2.1 뮤텍스 사용 방법 = 283
   뮤텍스 사용 절차 = 283
   뮤텍스 선언 및 초기화 = 284
   기본 뮤텍스 = 285
   Timed 타입 뮤텍스 = 285
   Recursive 타입 뮤텍스 = 285
   Error Check 타입 뮤텍스 = 285
   뮤텍스의 삭제 = 286
   뮤텍스와 데드락 = 286
  9.2.2 뮤텍스 사용 예 = 286
  9.2.3 스레드의 Cleanup 핸들러 = 289
   Cleanup 핸들러 등록 = 289
 9.3 스레드의 조건변수 = 290
  9.3.1 조건변수 사용 방법 = 290
   조건변수의 정의 = 290
   조건변수의 동작 = 290
   조건변수의 생성과 삭제 = 292
  9.3.2 조건변수 사용 예 = 292
  9.3.3 스레드의 세마포어 = 296
   스레드용 세마포어 이용 함수 = 296
 9.4 스레드의 시그널 처리 = 298
  9.4.1 스레드 시그널 처리 개요 = 298
  9.4.2 스레드 시그널 처리 함수 = 298
 9.5 멀티스레드 에코 서버 = 299
 9.6 연습문제 = 303
제10장 Raw 소켓 = 305
 10.1 Raw 소켓 생성 = 305
 10.2 Ping 프로그램 구현 = 306
  10.2.1 프로그램 개요 = 306
   사용자 IP 헤더 작성 = 307
   ICMP 에코 요청 전송 = 308
   ICMP ECHO 응답 수신 = 309
  10.2.2 myping.c 소스코드 = 310
 10.3 연습문제 = 316
제11장 패킷 캡쳐 프로그래밍 = 317
 11.1 tcpdump = 317
  11.1.1 tcpdump 사용 예 = 318
  11.2.1 tcpdump 명령 인자 = 319
   옵션 설정 = 319
   필터링 규칙 설정 = 320
   특정 호스트 또는 포트 지정 = 321
 11.2 pcap 라이브러리 주요 함수 = 322
  11.2.1 네트워크 디바이스 열기 = 322
   pcap_open_live() = 322
   pcap_lookupdev() = 323
  11.2.2 패킷 캡쳐 함수 = 323
   pcap_loop() = 323
   pcap_dispatch() = 324
 11.3 패킷 캡쳐 예제 = 325
  11.3.1 pcap_loop() 사용 예 = 325
  11.3.2 pcap_dispatch() 사용 예 = 329
  11.3.3 pcap_next() 사용 예 = 329
  11.3.4 패킷 필터링 = 330
 11.4 TCP/IP 헤더 캡쳐 예 = 331
  11.4.1 IP 헤더 출력 = 332
  11.4.2 TCP 헤더 출력 = 338
  11.4.3 UDP 헤더 출력 = 343
 11.5 연습문제 = 345
제12장 TCP/IP 프로토콜 = 347
 12.1 네트워크 액세스 계층 = 347
  12.1.1 이더넷 = 347
  12.1.2 PPP = 348
  12.1.3 기타 서브네트워크 = 349
 12.2 IP 프로토콜 = 350
  12.2.1 IP 데이터그램 구조 = 350
   IP 헤더 = 350
   IP 주소 = 352
  12.2.2 IP 계층 기능 = 353
   MTU = 353
   path MTU = 354
   라우팅 = 354
   ARP = 355
 12.3 TCP 프로토콜 = 356
  12.3.1 TCP 특징 = 356
   연결형 서비스 제공 = 356
   신뢰성 있는 데이터 전달 = 357
   스트림형 서비스 제공 = 358
  12.3.2 TCP 헤더 = 358
   세그먼트 = 358
   TCP 세그먼트와 헤더 = 359
  12.3.3 TCP 연결설정 = 361
  12.3.4 TCP 연결종료 = 362
   TIME-WAIT 상태 = 363
   리셋 = 363
  12.3.5 데이터 송수신 = 364
   MSS = 364
   TCP 데이터 송수신 = 365
   Interactive 데이터 송수신 = 365
   흐름제어 = 366
   혼잡제어 = 366
  12.4 UDP 프로토콜 = 367
   UDP 헤더 = 368
   UDP의 특징 = 368
부록 UNIX BSD 소켓 시스템 콜 문법 = 371
찾아보기 = 389


관련분야 신착자료

Harvard Business Review (2025)