네트워크 프로그래밍

1.수업목표 및 개요

본 과정에서는 인터넷의 요소기술인 TCP/IP 프로토콜에 관하여 다룬다. 특히 인터넷에 관련된 IP Addressing, Subnet, Routing 프로토콜(ARP, ICMP, RIP, OSPF, BGP)의 프로토콜을 익힌다. 그리고, 동적 IP 할당을 위한 DHCP등에 관한 사항을 학습함으로서 인터넷 통신에 대한 기본적인 지식의 습득을 목표로 한다. 더블어 인터넷프로토롤을 구현하는 Programming실습을 수행하므로서 인터넷시스템 구현 능력을 함양하는 코스도 병행한다. 참고로 본 과목은 컴퓨터 네트워크 개론을 수강한 학생만이 수강 가능하다.

2.시험 및 평가기준

- 출석: 10%
- 과제: 20%
- 중간 고사 : 30%
- 기말고사 : 40%

3.교재

교재명 : Behrouz A. Forouzan, "TCP/IP Protocol Suite" 2nd Edition, 홍충선외 번역
출판사 : McGrawHill/미래컴
출판년도 : 2003
ISBN : 898882556X

4.주별강의내용

- 1주차 : 과정 소개, 개요
- 2주차 : The OSI Model and the TCP/IP, 네트워크 프로그래밍의 이해
- 3주차 : IP Addressing, 소켓의 생성과 프로토콜의 설정
- 4주차 : Subneting and Superneting, 인터넷 주소변환
- 5주차 : Delivery and Routing of IP Packets, TCP Client/Server Program
- 6주차 : IP Protocol, Unix Process
- 7주차 : ARP and RARP, 다중처리 기술
- 8주차 : 중간고사
- 9주차 : ICMP, 소켓의 옵션
- 10주차 : UDP, 프로세스간 통신
- 11주차 : TCP, 고급 입출력 함수
- 12주차 : TCP, 멀티태스킹 기반의 서버구현
- 13주차 : Routing Protocols, 프로세스간 통신, IO 멀티플렉싱
- 14주차 : Routing Protocols, 고급 소켓 입출력, 멀티쓰레드 기반의 서버구현
- 15주차 : IPv6, Ethereal
- 16주차 : 기말고사

5.과제

각 장의 연습문제
프로그래밍 문제 (Term Project)

6.비고

컴퓨터네트워크개론을 수강한 학생만이 수강 신청가능함
실습 및 Term Project수행을 위해 프로그래밍이 가능한 학생만이 수강가능함.
즉, 고급객체지향 프로그래밍(신교과과정의 객체지향프로그래밍)에서 학점을 취득한 학생이 수강할 것을 권장합니다.

강의 자료

chapter 1

과정 소개, 개요

chapter 2

The OSI Model and the TCP/IP, 네트워크 프로그래밍의 이해     

chapter 4

IP Addressing, 소켓의 생성과 프로토콜의 설정     

chapter 5

Subnetting and Supernetting, 인터넷 주소변환           

chapter 6

Delivery and Routing of IP Packets, TCP Client/Server Program     

chapter 8

Internet Protocol , Unix Process     

chapter 7

ARP and RARP, 다중처리 기술     

chapter 9

ICMP, 소켓의 옵션      

 chapter 11

UDP, 프로세스간 통신     

chapter 12

TCP, 고급 입출력 함수, 멀티태스킹 기반의 서버구현      

chapter 13

Routing Protocols, 프로세스간 통신, IO 멀티플렉싱, 소켓 입출력, 멀티쓰레드 기반의 서버구현      

chapter 31

IPv6, Ethereal      

과거시험문제

중간고사       기말고사