강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

Linux_Network_&_System_Programming교재

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

Linux_Network_&_System_Programming교재

                                                                                       교재다운로드

목 차

제 1 장 네트워크 프로그래밍 개요 ................................................ 1
1.1 컴퓨터 통신 프로토콜 ................................................ 3
1.1.1 컴퓨터 통신 프로토콜의 정의 ................................... 3
1.1.2 OSI 7 Layer ................................................... 4
1.1.3 TCP/IP ........................................................ 6
1.1.4 통신 프로토콜 표현 방식 ....................................... 9
1.2 네트워크 프로그래밍의 분류 ......................................... 11
1.3 클라이언트-서버 모델 ............................................... 13
1.3.1 클라이언트-서버 모델의 정의 .................................. 13
1.3.2 서버 구현 기술 ............................................... 18
제 2 장 TCP/IP 프로토콜 ........................................................ 20
2.1 네트워크 액세스 계층 ............................................... 22
2.1.1 이더넷 ....................................................... 22
2.1.2 PPP .......................................................... 25
2.1.3 기타 서브네트워크 ............................................ 26
2.2 IP 프로토콜 ........................................................ 27
2.2.1 IP 데이터그램 구조 ........................................... 28
2.2.2 IP 계층 기능 ................................................. 35
2.3 TCP 프로토콜 ....................................................... 38
2.3.1 TCP 특징 ..................................................... 38
2.3.2 TCP 헤더 ..................................................... 42
2.3.3 TCP 연결설정 ................................................. 46
2.3.4 TCP 연결종료 ................................................. 47
2.3.5 데이터 송수신 ................................................ 51
2.4 UDP 프로토콜 ....................................................... 56
제 3 장 소켓 프로그래밍 ........................................................ 59
3.1 소켓의 이해 ........................................................ 61
3.1.1 소켓 정의 .................................................... 61
3.1.2 소켓 사용법 .................................................. 65
3.2 인터넷 주소변환 체계 ............................................... 74
3.2.1 바이트 순서 .................................................. 74
3.2.2 IP 주소변환 .................................................. 77
3.3 TCP 기반 프로그램 .................................................. 84
3.3.1 TCP 클라이언트 프로그램 ...................................... 84
3.3.2 TCP 클라이언트 예제 프로그램 ................................. 89
3.3.3 TCP 서버 프로그램 ............................................ 95
3.3.4 TCP 에코 서버 프로그램 ...................................... 100
3.4 UDP 프로그램 ...................................................... 104
3.4.1 UDP 프로그램 작성 절차 ...................................... 104
3.4.2 UDP 에코 프로그램 ........................................... 106
제 4 장 고급 소켓 프로그래밍 .................................................. 114
4.1 소켓의 동작 모드 .................................................. 116
4.2 다중처리 기술 ..................................................... 118
4.2.1 멀티태스킹 .................................................. 118
4.2.2 다중화 ...................................................... 120
4.3 비동기형 채팅 프로그램 ............................................ 122
4.3.1 채팅 서버 프로그램 구조 ..................................... 122
4.3.2 select() .................................................... 124
4.3.3 채팅 서버 프로그램 .......................................... 127
4.3.4 채팅 클라이언트 프로그램 .................................... 134
4.4 폴링형 채팅 프로그램 .............................................. 138
4.4.1 fcntl() ..................................................... 138
4.4.2 폴링형 채팅 서버 ............................................ 141
제 5 장 소켓 옵션 ............................................................. 150
5.1 소켓 옵션 종류 .................................................... 152
5.1.1 SO_KEEPALIVE ................................................ 152
5.1.2 SO_LINGER ................................................... 153
5.1.3 SO_RCVBUF와 SO_SNDBUF ....................................... 156
5.1.4 SO_REUSEADDR ................................................ 157
5.1.5 기타 옵션 ................................................... 159
5.2 소켓 옵션 변경 .................................................... 162
5.2.1 소켓 옵션 변경 함수 ......................................... 162
5.2.2 소켓 옵션 변경 예제 프로그램 ................................ 164
제 6 장 프로세스 .............................................................. 167
6.1 프로세스의 이해 ................................................... 169
6.1.1 프로세스 .................................................... 169
6.1.2 프로세스 식별자 확인 ........................................ 170
6.2 프로세스의 생성과 종료 ............................................ 174
6.2.1 프로세스의 생성 ............................................. 174
6.2.2 프로세스의 종료 ............................................. 175
6.3 데몬 서버 구축 방법 ............................................... 176
6.3.1 데몬 프로세스 ............................................... 176
6.3.2 데몬 서버 종류 .............................................. 178
제 7 장 시그널 ................................................................ 182
7.1 시그널 종류 ....................................................... 184
7.1.1 시그널의 종류 ............................................... 184
7.2 시그널 처리 ....................................................... 186
7.2.1 시그널 처리 기본 동작 ....................................... 186
7.2.2 시그널 핸들러 ............................................... 187
7.2.3 시그널 처리 예 .............................................. 193
7.3 SIGCHLD와 프로세스의 종료 ......................................... 196
7.3.1 프로세스의 종료 ............................................. 196
7.3.2 프로세스의 종료 처리 ........................................ 199
제 8 장 프로세스간 통신 ....................................................... 206
8.1 파이프 ............................................................ 208
8.1.1 파이프 생성 ................................................. 208
8.1.2 파이프를 이용한 에코 서버 프로그램 .......................... 211
8.2 FIFO .............................................................. 218
8.2.1 FIFO의 정의 ................................................. 218
8.2.2 FIFO를 이용한 에코 서버 프로그램 ............................ 220
8.3 메시지큐 .......................................................... 226
8.3.1 메시지큐 개요 ............................................... 226
8.3.2 메시지큐 생성 ............................................... 228
8.3.3 메시지 송수신 ............................................... 232
8.3.4 메시지큐 제어 ............................................... 239
8.3.5 메시지큐를 이용한 에코 서버 ................................. 243
8.4 공유메모리 ........................................................ 251
8.4.1 공유메모리 생성 ............................................. 252
8.4.2 공유메모리 제어 ............................................. 256
8.4.3 공유메모리의 동기화문제 처리 ................................ 259
8.5 세마포어 .......................................................... 264
8.5.1 세마포어 사용 ............................................... 264
8.5.2 세마포어 제어 ............................................... 268
8.5.3 세마포어 이용 예 ............................................ 273
8.5.4 공유메모리의 동기화문제 처리 ................................ 277
제 9 장 스레드 프로그래밍 ..................................................... 283
9.1 스레드의 생성과 종료 .............................................. 285
9.1.1 스레드 생성과 종료 .......................................... 286
9.1.2 스레드의 상태 ............................................... 294
9.2 스레드 동기화 ..................................................... 296
9.2.1 동기화 문제 ................................................. 296
9.2.2 뮤텍스 ...................................................... 300
9.2.3 뮤텍스 사용 예 .............................................. 306
9.3 스레드간 통신 ..................................................... 309
9.3.1 조건변수 사용 방법 .......................................... 309
9.3.2 조건변수 사용 예 ............................................ 313
9.4 멀티스레드 에코 서버 프로그램 ..................................... 318

Linux Network & System Programming

1장
네트워크 프로그래밍 개요
1.1 컴퓨터 통신 프로토콜
1.2 네트워크 프로그래밍의 분류
1.3 클라이언트 - 서버 모델

Overview
• 네트워크에 대한 기본적인 지식 습득
• 서비스에 대한 종류와 서비스에 대한 기본적인 지식 습득
• 네트워크 프로그램을 설계하는 데 필요한 서버 구축 기법

2장
TCP/IP 프로토콜
2.1 네트워크 엑세스 계층
2.2 IP 프로토콜
2.3 TCP 프로토콜
2.4 UDP 프로토콜

Overview
• 네트워크 액세스 계층에서 사용되는 서브네트워크에 대한 지식 습득
• TCP, IP, UDP 프로토콜에 대한 기본적인 지식 습득

3장
소켓 프로그래밍
3.1 소켓의 이해
3.2 인터넷 주소변환 체계
3.3 TCP 기반 프로그램
3.4 UDP 기반 프로그램

Overview
트랜스포트 • 계층 네트워크 프로그래밍 API로 널리 사용되는 소켓에 대한 지식 습득
• 소켓의 정의, 소켓번호와 소켓주소의 개념에 대한 지식 습득
• 소켓을 이용한 네트워크 프로그램 작성법
• 소켓 응용 프로그램으로 에코 서버와 에코 클라이언트 프로그램에 대한 소개

4장
고급 소켓 프로그래밍
4.1 소켓의 동작 모드
4.2 다중처리 기술
4.3 비동기형 채팅 프로그램
4.4 풀링형 채팅 프로그램

Overview
• 복잡한 통신 프로그램을 위한 다중처리 기술 습득

5장
소켓 옵션
5.1 소켓 옵션 종류
5.2 소켓 옵션 변경

Overview
• TCP/IP 프로토콜의 세부적인 기능 활용을 위한 방법 습득
• 소켓의 동작 특성을 변경

6장
프로세스
6.1 프로세스의 이해
6.2 프로세스의 생성과 종료
6.3 데몬 서버 구축 방법

Overview
• 프로세스에 관한 기본 지식 습득
• 기초적인 프로세스 다루기
• 데몬 서버 구축 방법 습득

7장
시그널
7.1 시그널 종류
7.2 시그널 처리
7.3 SIGCHLD와 프로세스 종료

Overview
• 시그널의 종류 습득
• 시그널의 처리 방법 습득
• SIGCHLD 시그널 처리 방법 습득
• 자식 프로세스 종료시의 부모 프로세스에서 이를 처리하는 방법 습득

8장
프로세스간 통신
8.1 파이프
8.2 FIFO
8.3 메시지큐
8.4 공유메모리
8.5 세마포어

Overview
• 프로세스간 통신 기술로의 파이프, 메시지큐, 세마포어, 공유메모리의 기술 습득
• 각 기술들을 통신 프로그램에서 이용하는 방법 익힘

9장
스레드 프로그래밍
9.1 스레드의 생성과 종료
9.2 스레드 동기화
9.3 스레드간 통신
9.4 멀티스레드 에코 서버 프로그램
- 284 -
Overview
• Posix 표준 스레드 프로그래밍 기준의 스레드 처리방법 습득
• 스레드 생성, 동기화 처리, 뮤텍스, 조건변수, 세마포어 사용, 스레드 시그널 소개

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,850 개
  • 현재 접속자 :  108 명