Internet Protocol and Programming

1. The aim of the course

In the course, students can learn on TCP/IP which is the key technology for Internet. Especially, this course deals with IP addressing and routing protocols such as ARP, ICMP, OSPF, DHCP, and IPv6. In addition, this course includes network programming related to TCP/IP. Through term project, the students can get of the design and implementation capabilities of Internet systems.

2. The course evaluation

- Class partipation : 10%
- Solving the practice set : 10%
- Evaluation of Team Project : 20%
- Mid-term examination : 30%
- Final-term examination : 30%

3. Textbook

Textbook : TCP/IP Protocol Suite 3rd Edition
Author : Behrouz A. Forouzan
Publisher : McGrawHill
Publication year : 2005
Programming textbook : Experimental Notes

4. Topics to be covered




1st week

Introduction to the course
IP addresses: Classful Addressing (chapter 4)
  Chapter1(Introduction)   Chapter4 (IP Addressing classful addressing)

Introduction to the Network Programming
  Lecture note1
  Lecture note1-1
  Connection program(putty)

2nd week

IP Addresses: Classless Addressing (chapter 5)
  Chapter5 (Classless Adressing)

Understanding of Socket and File I/O
  Lecture note2

3rd week

Delivery, Forwarding, and Routing of IP Packets (chapter 6)
  Chapter6 (Delivery, Forwarding, and Routing of IP Packets)

Socket Address Structure and Byte Ordering Functions
  Lecture note3

4th week

ARP and RARP (chapater 7)
  Chapter7 (ARP and RARP)

Internet Address Conversion Functions
  Lecture note4

5th week

Internet Protocol (chapter 8)
  Chapter8 (Internet Protocol)

TCP Server/Client
  Lecture note5

6th week

ICMP (chapter 9)
  Chapter9 (ICMP)

UDP Server/Client
  Lecture note6

7th week

UDP (chapter 11)
  Chapter11 (UDP)

Unix Process
  Lecture note7

8th week

Midterm Exam
Midterm Score

9th week

TCP (chapter 12)
  Chapter12 (TCP)

Graceful Exit of Socket Connection
  Lecture note8

10th week

TCP (chapter 12)
  Chapter12 (TCP)

Advanced Socket Programming
  Lecture note9

11th week

Unicast Prorocols: RIP, OSPF and BGP (chaper 14)
  Chapter14 (Unicast Routing Protocols)

Inter-Process communication
  Lecture note10

12th week

BOOTP and DHCP (chapter 16)
  Chapter16 (BOOTP and DHCP)

Socket Options
  Lecture note11

13th week

Domain Name System : DNS (Chapter17)
  Chapter17 (DNS)

Advanced I/O Functions
  Lecture note12

14th week

IPv6 (chapter27)
  Chapter27(IPv6 and ICMPv6)

Multi-Thread Programming
  Lecture note13

15th week

ICMPv6 (chapter27)
  Chapter27(IPv6 and ICMPv6)

Team Project Presentation

16th week

Final Exam

5. Team Project

  조 편성
  설계서 양식
Team 프로젝트제안 대상 :
- 소켓응용 프로그래밍
- 라우팅테이블 작성 응용프로그래밍
- ARP모듈 구성 응용프로그래밍
- IP 패키지 구성응용프로그래밍
- ICMP패키지 구성 응용프로그래밍
- UDP패키지구성 응용프로그래밍
- DHCP 클라이언트 및 서버 응용프로그래밍

6. Homework

Solving practice set of each chapter

7. Pre-requisites

A solid understanding of computer network is required. If a student has not taken the Computer Network, he/she wishes to take the course before taking this class