인터넷 프로토콜 및 프로그래밍

1.수업목표 및 개요

본 과정에서는 인터넷의 요소기술인 TCP/IP 프로토콜에 관하여 다룬다. 특히 인터넷에 관련된 IP Addressing, Subnet, Routing프로토콜 (ARP, ICMP, IGMP, RIP, OSPF, BGP)의 프로토콜을 익힌다. 그리고 동적 IP 할당을 위한 DHCP와 도메인 네임을 관리하는 DNS와 IPv6등에 관한 사항을 학습함으로써 인터넷 기반기술에 대한 지식의 습득을 목표로 한다. 또한 실습을 통하여 애플리케이션 구현에 사용되는 소켓프로그래밍 및 쓰레드 프로그래밍 방법을 익히고, 팀 프로젝트를 통해 네트워크 응용시스템을 구축하여 구현 결과를 발표하도록 한다.

2.시험 및 평가기준

- 출석: 10%
- 과제(연습문제 풀이) : 15%
- 팀 Project 및 발표 : 15%
- 중간 고사 : 30%
- 기말고사 : 30%

3.교재

서명 : TCP/IP Protocol Suite 3rd Edition
저자명 : Behrouz A. Forouzan (홍충선외 번역)
출판사 : McGrawHill (Korea)
출판년도 : 2005
부교재 : 실습 Notes

4.강의 자료

week

이론

실습

1st week

과정 소개, 개요
  Chapter1

vi editor연습,
네트워크 프로그래밍의 이해   Lecture_Note_1stWeek-1

2nd week

The OSI Model
Chapter2(The OSI Model and TCP_IP Protocol Suite)

소켓의 생성과 프로토콜의 설정
  Lecture_Note3

3rd week

IP Addressing : Classful addressing
  Chapter4(IP Addressing classful addressing)

인터넷 주소변환 프로그래밍
  Lecture_Note4

4th week

Delivery, Forwarding, and Routing of IP Packets
  Chapter5 (Classless Adressing)
  Chapter6 (Delivery, Forwarding, and Routing of IP Packets)

TCP Client/Server 프로그래밍   Lecture_Note5

5th week

ARP and RARP
  Chapter7 (ARP and RARP)

Unix Process 프로그래밍   Lecture_Note6

6th week

Internet Protocol (IP)
  Chapter8 (Internet Protocol)

다중처리 기술 프로그래밍   Lecture_Note7

7th week

Internet Control Message Protocol (ICMP)
  Chapter9 (ICMP)

소켓의 옵션을 이용한 프로그래밍   Lecture_Note8

8th week

Midterm Exam
중간고사 성적공지

  팀 Project 제안 (조당: 3 명)
  팀 프로젝트제안 대상 (Linux기반):
   - 소켓응용 프로그래밍
   - 라우팅테이블 작성 응용프로그래밍
   - ARP모듈 구성 응용프로그래밍
   - IP 패키지 구성응용프로그래밍
   - ICMP패키지 구성 응용프로그래밍
   - UDP패키지구성 응용프로그래밍
   - DHCP 클라이언트 및 서버 응용프로그래밍
   - 기타 네트워크 프로그래밍응용

9th week

User Datagram Protocol (UDP)
  Chapter11 (UDP)

프로세스간 통신 프로그래밍   Lecture_Note9

10th week

Transmission control protocol (TCP)
  Chapter12 (TCP)

팀 프로젝트 제안서

11th week

Unicast Routing Protocol
(RIP, OSPF, and BGP)
  Chapter14 (Unicast Routing Protocols)

고급 입출력 함수를 이용한 프로그래밍   Lecture_Note10

12th week

BOOTP, DHCP, 및 DNS
  Chapter16 (BOOTP and DHCP)
  Chapter17 (DNS)

멀티태스킹 기반의 서버 구현

13th week

IPv6
  Chapter27(IPv6 and ICMPv6)

IO 멀티플렉싱 프로그래밍

14th week

ICMPv6및 IPv4/IPv6변환기술

고급 소켓 입출력

15th week

Mobile IP
  Chapter24(Mobile IP)

멀티쓰레드 기반의 서버구현

16th week

Final Exam

5.과제

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

6.비고

- 컴퓨터네트워크개론을 수강한 학생만이 수강 신청가능함
- 실습 및 Term Project수행을 위해 프로그래밍이 가능한 학생만이 수강가능함. 즉 고급객체지향 프로그래밍(신교과과정의 객체지향프로그래밍)에서 학점을 취득한 학생이 수강해야함
- 10월9일 및 10월11일은 국제학회 참석 (APNOMS2007) 으로 수업이 없으며 차후 보강예정임