한국과학기술원테크노경영대학원정보통신경영연구실
인터넷 프로토콜 구조
Fall 2001
차 동 완
(email: tchadw@sorak.kaist.ac.kr)
인터넷기술개론
강의 내용
q OSI 참조모형
v 네트워크 아키텍쳐와 계층형 구조 v OSI 계층 모형과 기능
v 계층간의 상호기능 q TCP/IP Protocol Suite
v TCP/IP 프로토콜의 구조와 기능 q TCP/IP 아키텍쳐 vs. OSI 아키텍쳐
한국과학기술원테크노경영대학원정보통신경영연구실 3
계층형 네트워크 구조
q 용어
v Entity v Protocol
v Network Architecture
q 계층형 구조(Layered or Hierarchical Architecture)
v 계층형 구조의 필요성: 독립적으로 유지/관리 v 컴퓨터통신의 기본적 기능과 계층형 구조
(1) 응용프로그램간의 논리적 연결 (2) 시스템간의 물리적연결
(3) (1)과 (2) 기능들을 link하는 entity v 계층형 구조의 예
ØOSI 참조모형 , 인터넷, IBM의 SNA 등 LAN프로토콜
인터넷기술개론
OSI 계층 모형과 기능
응 용 계 층 응 용 계 층
계층 기능
응 용 프 로 세 스 간 정 보 교 환 7
표 현 계 층
표 현 계 층 정 보 표 현 방 식 관 리 , 암 호 화 , 정 보 압 축 등
6
세 션 계 층
세 션 계 층 응 용 프 로 세 스 간 대 화 관 장 5
전 달 계 층
전 달 계 층 응 용 프 로 세 스 간 통 신 채 널 설 정 및 메 시 지 전 달 4
네 트 워 크 계 층
네 트 워 크 계 층 통 신 전 담 프 로 세 서 간 패 킷 전 송
3
데 이 터 링 크 계 층
데 이 터 링 크 계 층 링 크 상 에 서 의 패 킷 전 송 2
물 리 계 층
물 리 계 층 링 크 상 에 서 비 트 정 보 전 달 1
한국과학기술원테크노경영대학원정보통신경영연구실 5
OSI 계층
Physical Data Link Network Transport Session Presentation Application
Physical Data Link Network Transport Session Presentation Application
Physical Data Link Network
Physical Data Link Network
1st 2nd 3rd
1st 2nd 3rd
1st 2nd 3rd Peer-to-peer protocol(7th layer) Peer-to-peer protocol(6th layer) Peer-to-peer protocol(5th layer) Peer-to-peer protocol(4th layer)
7 6 5 4 3 2 1
7 6 5 4 3 2 1
2-1 interface 7-6 interface 6-5 interface 5-4 interface 4-3 interface 3-2 interface
7-6 interface 6-5 interface
5-4 interface 4-3 interface 3-2 interface
2-1 interface
인터넷기술개론
OSI를 사용한 정보교환
한국과학기술원테크노경영대학원정보통신경영연구실 7
v 사용자 응용프로그램간의 정보교환 엔티티 v 예) FTAM, VT, MHS
인터넷기술개론
q Presentation Layer
v 표현방식의 전환 v 정보압축 v 암호화
암호화방식 압축방식 Data 헤더(header)
한국과학기술원테크노경영대학원정보통신경영연구실 9
v 응용프로세스간의 대화설정, 감시 Ø 통신방식 지정 등
통신방식지정 표현계층의 헤더 Data 세션계층의 헤더
인터넷기술개론
q Transport Layer
v 실질적인 정보전송에 처음으로 관여 v 응용프로세스간 신뢰성 있는 통신채널 제공
Ø 메시지 분할, 재조립 Ø Flow control(메시지) Ø Error control
전달계층의 헤더 세션계층의 헤더표현계층의 헤더 Data
한국과학기술원테크노경영대학원정보통신경영연구실 11
인터넷기술개론
Physical link q Transport Layer(cont’d)
한국과학기술원테크노경영대학원정보통신경영연구실 13
vRouting : 네트워크를 가로지르는 패킷 전송 Ø Flooding
Ø Centralized routing Ø Distributed routing Ø Hierarchical routing vFlow control (패킷)
Ø Window flow control Ø Traffic control packet
주소 패킷번호 상위계층의 헤더 Data 네트워크계층 헤더
인터넷기술개론
q Network Layer
한국과학기술원테크노경영대학원정보통신경영연구실 15
인터넷기술개론
q Data Link Layer
v전송링크 상에서의 패킷 전송 Ø헤더와 꼬리
v데이터링크 프로토콜
ØABP(Alternating Bit Protocol) ØSRP(Selective Repeat Protocol) : ØGo Back N
데이터링크 계층 헤더
네트워크
계층 헤더 상위계층 헤더 Data Trailer
한국과학기술원테크노경영대학원정보통신경영연구실 17
인터넷기술개론
q Data Link Layer(cont’d)
한국과학기술원테크노경영대학원정보통신경영연구실 19
인터넷기술개론
계층간 상호기능
프 로 토 콜 엔 티 티
프 로 토 콜 엔 티 티
프 로 토 콜 엔 티 티
프 로 토 콜 엔 티 티 N_PDU
N_PDU
HHN_PDUN_PDU N 계층
N−1 계층
N−1 request N−1 confirm N−1 response N−1 indication N−1 서 비 스
q 계층형 구조의 체계적인 표현
한국과학기술원테크노경영대학원정보통신경영연구실 21
헤더 씌우기 (Encapsulation)
N_PDU
N_PDU Header
N−1_PDU N 계층
N−1 계층 +
인터넷기술개론
TCP/IP 프로토콜의 운영환경
Network
Host Host
Ftp Telnet
E-mail 응용 프 로 세 스
한국과학기술원테크노경영대학원정보통신경영연구실 23
TCP/IP 계층별 주요기능
전달(TCP/UDP)계층 계 층 응용프로세스계층
기 능 응용프로세스간 정보교환
호스트간 메시지 단위의 정보교환 및 관리 IP 계층
네트워크접속 계층
노드사이의 네트워크를 통한 패킷 교환 단위 네트워크내의 물리적 네트워크 접속
인터넷기술개론
TCP/IP 아키텍쳐
응 용 프 로 세 스 계 층
전 달 계 층
IP 계층
네 트 워 크 접 속 계 층
User process
User process
TCP UDP
ICMP IP ARP
Network (Ethernet, FDDI 등 의
LAN과 WAN)
한국과학기술원테크노경영대학원정보통신경영연구실 25
응용 프로세스 계층
q 응용 프로세스 계층 서비스
v ftp
v telnet, rlogin
v SMTP (Simple Mail Transfer Protocol)
인터넷기술개론
전달 계층
q 전달계층
v TCP vs. UDP
Ø TCP (Transmission Control Protocol) Ø UDP (User Datagram Protocol)
TCP U D P
서 비 스 종 류 서 비 스 종 류
수 신 순 서 수 신 순 서
연 결 지 향 형 비 연 결 지 향 형
송 신 순 서 와 동 일 송 신 순 서 와 다 름 오 류 및 흐 름 제 어
오 류 및 흐 름 제 어 제 공 제 공 안 함
한국과학기술원테크노경영대학원정보통신경영연구실 27
IP 계층
q IP (Internet Protocol)
v Message from TCP/UDP Packet v 패킷별 경로 선택
v OSI 네트워크계층에서의 흐름제어, 오류제어 같은 기능 없음 q ICMP (Internet Control Message Protocol)
v IP에서 발생하는 문제를 처리하기 위한 프로토콜 q ARP (Address Resolution Protocol)
v 호스트의IP주소를 호스트와 연결된 네트워크 접속장치의 물리적 주소 로 번역해 주는 프로토콜
q IGMP (Internet Group Multicasting Protocol)
vLAN에 접속된 멀티캐스트 라우터가 특정 멀티캐스트 서비스를 받고자 하는LAN내부의 호스트들의 확인과 관리를 위한 프로토콜
인터넷기술개론
네트워크 접속 계층
q 네트워크 접속계층 서비스
v Ethernet, Token ring, X.25, ATM, etc.
한국과학기술원테크노경영대학원정보통신경영연구실 29
TCP/IP와 OSI모형의 구조 비교
응 용 계 층 응 용 계 층 OSI
응용프로세스계층 응용프로세스계층
네 트 워 크 접 속 계 층 네 트 워 크 접 속 계 층
TCP/IP
표 현 계 층 표 현 계 층 세 션 계 층 세 션 계 층 전 달 계 층 전 달 계 층 네 트 워 크 계 층 네 트 워 크 계 층 데 이 터 링 크 계 층 데 이 터 링 크 계 층
물 리 계 층 물 리 계 층
TCP/UDP 계층 TCP/UDP 계층
IP 계층 IP 계층
인터넷기술개론
응용계층 프로토콜
Fall 2001
차 동 완
(email: tchadw@sorak.kaist.ac.kr)
한국과학기술원테크노경영대학원정보통신경영연구실 31
강의 내용
q 클라이언트/서버 모형
q 하이퍼텍스트 전송 프로토콜 (HTTP) q 전자우편 (SMTP)
q 파일전송 프로토콜(FTP)
q 동적 호스트설정 프로토콜 (DHCP) q 망 관리 프로토콜 (SNMP)
인터넷기술개론
클라이언트 -서버 모델
q Client-Server Model
v 사용자측의 응용 프로그램(client)이 제공자측의 원격호스트에게 서비스를 요구하고, 이에 따라 제공자측의 대응 응용프로그램 (server)에서 서비스를 제공
q Client-Server 통신 설정
v Server : 수동적 연결설정 v Client : 능동적 연결설정 q Client-Server 모델의 종류
v 순차적 모드, 동시모드 v 연결형, 비연결형
한국과학기술원테크노경영대학원정보통신경영연구실 33
비연결형 순차서버
q 서 버 는 UDP 데 이 터 그 램 으 로 요 청 을 받 아 처 리 한 후UDP 데 이 터 그 램 으 로 응 답
q 다 른 데 이 터 그 램 은 저 장 장 소 에 서 대 기
q 서 버 는 하 나 의 well- known 포 트 사 용
인터넷기술개론
연결형 동시서버
q 서 버 는 하 나 의well- known 포 트 와 여 러 개 의 임 시 포 트 를 사 용 q 서 버 는 연 결 별 로 하 나
의 버 퍼 를 가 짐 q 서 버 와 클 라 이 언 트 의
연 결 은 전 체 스 트 림 이 처 리 될 때 까 지 유 지
한국과학기술원테크노경영대학원정보통신경영연구실 35
하이퍼텍스트 전송 프로토콜
q HTTP(Hyper-Text Transfer Protocol)
v Hyper Link를 통한 주로 텍스트 문서간의 빠른 이동이 주요 이슈 v 1993년에 HTTP 1.0이 문서로 공표, 1995년에 HTTP 1.1이 RFC
2068로 문서화
인터넷기술개론
HTTP 동작과정
① 웹 서 버 는 실 행 되 어 있 는 상 태 로 규 정 된 포 트 에 서 대 기
② 웹 브 라 우 저(클 라 이 언 트 )가 웹 서 버 와 80번 well-known 포 트 를 통 하 여 TCP 연 결 을 설 정
③ 연 결 을 통 하 여 웹 브 라 우 저 와 웹 서 버 가 데 이 터 를 송 수 신
④ 웹 서 버 는 웹 브 라 우 저 에 게 응 답 을 보 낸 후TCP 연 결 을 해 제
한국과학기술원테크노경영대학원정보통신경영연구실 37
HTTP 특징
q Stateless: 상 태 관 리 를 하 지 않 는 다 . q TCP 연 결 방 식
v 비 지 속 적(non-persistent) 연 결
v 지 속 적(persistent) 연 결: HTTP 1.1부 터 지 원
q FTP와 다 른 점 : HTTP는 하 나 의 TCP연 결 만 을 지 원 하 고, 보 완 적 인 제 어 기 능 이 없 다.
q SMTP와 다 른 점 : HTTP는 클 라 이 언 트 와 서 버 간 에 양 방 향 으 로 전 송 되 며, 서 버 에 저 장 되 지 않 고 즉 시 전 달 된 다 .
인터넷기술개론
HTTP 요청 메시지
공백 라인 GET /somedir/page.html HTTP/1.1 Connection: close
Accept: text/html, image/gif, image/jpeg If-modified-since : Sat, 7 Mar 2001 User-agent: Mozilla/4.0
요 청 라 인
헤더
몸체
한국과학기술원테크노경영대학원정보통신경영연구실 39
HTTP 요청 메시지 (Cont’d)
공백 공백
요 청 종 류 URL HTTP 버전
•요 청 라 인 의 구 조
q GET q HEAD q POST
Connection: close
Accept: text/html, image/gif, image/jpeg If-modified-since : Sat, 7 Mar 2001 User-agent: Mozilla/4.0
•헤 더 의 내 용
정보전달 후 TCP폐쇄
수정날짜 확인 후 전송
처리 가능한 미디어형태 웹 브라우저
인터넷기술개론
HTTP 응답 메시지
공백 라인 HTTP/1.1 200 OK
Connection: close
Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix)
Last-Modified: Sat, 7 Mar 2001 MIME-Version : 1.0
Content-Length: 6821 Content-Type: text/html
상 태 라 인
헤 더
몸 체
한국과학기술원테크노경영대학원정보통신경영연구실 41
HTTP 응답 메시지 (Cont’d)
공백 공백
HTTP 버전 상 태 코 드 상태문구
•라 인 상 태 의 구 조
q 100~ : 정보전달 q 200~ : 요청성공
q 300~ : 클라이언트를 URL로 재지정 q 400~ : 클라이언트쪽에서의 오류 q 500~ : 서버쪽에서의 오류 Connection: close
Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix)
Last-Modified: Sat, 7 Mar 2001 MIME-Version : 1.0
Content-Length: 6821 Content-Type: text/html
•헤 더 의 내 용
q 서버 프로그램의 종류와 버전
q 마지막으로 수정된 날짜
q MIME 정보 : 버전, 정보길이, 종류
인터넷기술개론
HTTP 동작과정 예-1
images/bg.jpeg images/mail02.jpeg
images/diary.jpeg images/boy2.jpeg menu.html
index.html
main.html
한국과학기술원테크노경영대학원정보통신경영연구실 43
HTTP 동작과정 예-2
웹 브 라 우 저 웹 서 버
TCP 연결설정 TCP 연결설정 GET /~chungyj/ HTTP/1.1
GET /~chungyj/menu.html HTTP/1.1 HTTP/1.1 200 OK
HTTP/1.1 200 OK GET /~chungyj/main.html HTTP/1.1
GET /~chungyj/images/boy2.jpeg HTTP/1.1 HTTP/1.1 200 OK
HTTP/1.1 200 OK GET /~chungyj/images/bg.jpeg HTTP/1.1
GET /~chungyj/images/mail02.jpeg HTTP/1.1 HTTP/1.1 200 OK
HTTP/1.1 200 OK GET /~chungyj/images/diary.jpeg HTTP/1.1
TCP 연결종료 HTTP/1.1 200 OK
TCP 연결종료
인터넷기술개론
HTTP 동작과정 예-3
GET /~chungyj/images/boy2.gif HTTP/1.1 Accept: */*
Accept-Language: ko Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) Host: mis.ac.kr
Connection: Keep-Alive
HTTP/1.1 200 OK
Date: Tue, 10 Apr 2001 07:29:30 GMT
Server: Apache/1.3.14 (Unix) tomcat/1.0 PHP/4.0.4 Last-Modified: Thu, 08 Mar 2001 18:21:56 GMT ETag: "47402-4bc-3aa7cdc4"
Accept-Ranges: bytes Content-Length: 1212 Keep-Alive: timeout=15, max=97 Content-Type: image/gif Binary data
웹 브 라 우 저 웹 서 버
Ú한 TCP를 통 해 서 다수의 객 체 를 전 송
한국과학기술원테크노경영대학원정보통신경영연구실 45
브라우저 캐시 사용 (예)
웹 브 라 우 저 웹 서 버
Ú 한 브라우저의 캐 시 에 방 문 한 사 이 트 의 파일들을 저장하여 재 방 문 하 는 경우에 파 일 전 송 량 을 줄 임
GET /~chungyj/images/boy2.gif HTTP/1.1 Accept: */*
Referer: http://mis.pufs.ac.kr/~chungyj/menu.html Accept-Language: ko
Accept-Encoding: gzip, deflate
If-Modified-Since: Thu, 08 Mar 2001 18:21:56 GMT If-None-Match: "47402-4bc-3aa7cdc4“
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) Host: mis.pufs.ac.kr
Connection: Keep-Alive HTTP/1.1 304 Not Modified Date: Tue, 10 Apr 2001 15:03:26 GMT
Server: Apache/1.3.14 (Unix) tomcat/1.0 PHP/4.0.4 Connection: Keep-Alive
Keep-Alive: timeout=15, max=98 ETag: "47401-3268-3aa7cdc4"
인터넷기술개론
프록시 (Proxy) 서버 사용
q 프록시 서버
v 자주 접속하는 웹 서버의 콘텐츠를 임시로 저장하는‘네트워크 캐시’
한국과학기술원테크노경영대학원정보통신경영연구실 47
쿠키 (Cookie) 사용
q 브 라 우 저 에 서 웹 서 버 로 정 보 를 전 달 하 기 위 한 규 격
q “HTTP State Management Mechanism” (RFC 2109)
q 브 라 우 저 는 쿠 키 의 길 이 와 유 효 기 간, path, domain 등 을 확 인 한 후 특 정 디 렉 토 리 에 저 장
인터넷기술개론
인증 (Authentication) 사용
q 웹 서 버 에 서 보 안 이 필 요 한 정 보 에 대 한 접 속 을 인 가 된 사 용 자 에 게 만 허 용 q HTTP 1.0에 서 는 기 본 접 속 인 증 (Basic
Access Authentication)만 정 의 q HTTP 1.1에 서 프 록 시 인 증 (Proxy-
Authentication)과 MD5를 통 한 사 용 자 인 증(Digest Access Authentication)이 추 가
한국과학기술원테크노경영대학원정보통신경영연구실 49
전자우편 (E-mail) 서비스
q 사용자 에이전트(User Agent; UA)
v MS outlook, Netscape Messenger, Eudora, elm 등 q 메일 서버(Mail Server)
v 사용자의 메시지를 보관하고 외부로 전송될 메시지를 임시저장 하기 위한 대기열(Queue)을 가지고 있음
q 프로토콜 집합
v SMTP (Simple Mail Transfer Protocol)
Ø UA와 서버 또는 서버와 서버 간의 메시지 전송을 위한 프로토콜 v POP (Post Office Protocol), IMAP (Internet Mail Access Protocol)
Ø 사용자가UA를 통해 수신된 메일을 확인하기 위한 프로토콜
인터넷기술개론
전자우편 서비스의 구성요소
한국과학기술원테크노경영대학원정보통신경영연구실 51
전자우편 메시지 형식
MAIL FROM : chungyj@pufs.ac.kr RCPT TO : mgyoon@mail.hangkong.ac.kr From : Yongjoo Chung
To : Moongil Yoon Date : 2/28/2001 Subject : Internet Book
Dear Dr. Yoon
I will complete this work by the end of this semester.
…
Yours sincerely
헤 더(header) 봉 투(envelope)
몸 체(body)
메 시 지(message)
인터넷기술개론
MTA간의
전자우편
전달과정
한국과학기술원테크노경영대학원정보통신경영연구실 53
ESMTP (Extended SMTP)
M T A 클 라 이 언 트
M T A 서 버
2 2 0 ( S e r v i c e R e a d y )
E H L O : taejo . p u f s . a c . k r
2 5 0 - taejo . p u f s . a c . k r
연 결
2 5 0 - H E L P
2 5 0 - S I Z E 4 6 1 5 4 9 0 2 5 0- 8 B I T M I M E
q SMTP의 확 장 으 로 1993년 RFC 1425로 공 표
q HELO 명 령 어 를 확 장 하 여 서 버 에 관 한 정 보 를 사 전 에 클 라 이 언 트 에 게 알 림 q SMTP와 동 일 한 25번 well-
known 포 트 번 호 를 사 용
인터넷기술개론
MIME
q MIME (Multipurpose Internet Mail Extension)
E-mail Body MIME-Version : 1.1
Content-Type: type/subtype : parameters Content-Transfer-Encoding : encoding type Content-Id: message id
Content-Description : textual explanation E-mail Header
MIME 헤더
한국과학기술원테크노경영대학원정보통신경영연구실 55
MIME 헤더
q MIME-Version q Content-Type
v 데이터의 유형을 나타내며, 데이터를 우선 7개의 유형(Type)으로 구분 하고, 유형별로 세분하여 서브유형(Subtype)을 추가로 정의
q Content-Transfer-Encoding
v 메시지를0과 1로 인코딩하는 방법을 정의하는데 7비트, 8비트, Binary, Base24, Quoted-printable 등 5개의 인코딩 방법이 주로 사용
q Content-Id
v 메시지를 유일하게 정의하기 위한 선택사항 필드이지만message 유형 이 혼재한 상황에서는 필수 사항
q Content-Description
v 몸체에 담고 있는 정보의 내용을 보충 설명하기 위한 선택필드
인터넷기술개론
MIME Content-Type
일 반 적 으 로 바 이 너 리 파 일 Octet-stream
Adobe Postscript Postscript
Application
8khz의 음 성 Basic
Audio
비 디 오 가MPEG 포 맷 MPEG
Video
그 림 이GIF 포 맷 GIF
그 림 이JPEG 포 맷 JPEG
Image
몸 체 가 다 른 메 시 지 에 대 한 참 조 일 때 External-Body
몸 체 가 한 메 시 지 의 일 부 분(fragment; 조 각) 일 때 Partial
다 른 메 시 지 를 포 함 하 고 있 을 때 RFC822
Message
동 일 한 메 시 지 를 서 로 다 른 버 전 으 로 전 송 Alternative
mixed와 유 사 하 지 만 기 본(default) 유 형 이 message/RFC822이 다.
Digest
부 분 들 의 순 서 가 없 다 는 것 외 에 는mixed와 동 일 Parallel
서 로 다 른 데 이 터 타 입 의 부 분 들 을 순 서 적 으 로 포 함 하 고 있 을 때 사 용 Mixed
Multipart
Richtext의 단 순 화 된 버 전 Enriched
진 한 글 자, 이 탤 릭, 밑 줄 등 의 간 단 한 포 맷 을 지 원 하 는 문 자 Richtext
7비 트 ASCII Plain
Text
Subtype 설 명 Type
한국과학기술원테크노경영대학원정보통신경영연구실 57
POP3/IMAP
q 전자우편의 전달과정
인터넷기술개론
파일 전송 프로토콜 (FTP)
q FTP(File Transfer Protocol)
v 클라이언트와 서버 호스트간에 파일을 복사해 주는 프로토콜로 서TCP/IP에 의해 제공
v 2개의 TCP 연결을 설정 Ø 데이터 전송 Ø 제어정보 전달
한국과학기술원테크노경영대학원정보통신경영연구실 59
FTP 연결 설정
제어 프로세스
데이터전송 프로세스
제어 프로세스
데이터전송 프로세스 21 수동연결
제어 프로세스
데이터전송 프로세스
제어 프로세스
데이터전송 프로세스 21 능동연결
53610 클라이언트
클라이언트
서 버
서 버 a. 서버에 의한 수동적 연결
b. 클라이언트에 의한 능동적 연결
제어 프로세스
데이터전송 프로세스
제어 프로세스
데이터전송 프로세스 21
제어 프로세스
데이터전송 프로세스
제어 프로세스
데이터전송 프로세스 20 53610
클라이언트
클라이언트
서 버
서 버 a. 클라이언트에 의한 수동적 연결 및 임시포트번호 전달
b. 서버에 의한 능동적 연결 54000
수동연결 PORT 54000
21 53610
54000
•FTP 제 어 연 결 설 정 •FTP 데 이 터 연 결 설 정
인터넷기술개론
FTP를 통한 파일 전송과정 (예)
제어 프로세스
제어 프로세스
데이터전송 프로세스
데이터전송 프로세스
클라이언트 서버 클라이언트 서버
220 (Service Ready) USER chungyj 331 ( User name OK Password?)
PASS ****
230 ( User Login OK) PORT 1234 150 ( Data connection will open)
TYPE I 200 ( OK) STOR /usr/user/files
250 ( OK)
QUIT 221 ( Service closing) 226(Closing data connecton)
Records of files Records of files
한국과학기술원테크노경영대학원정보통신경영연구실 61
동적 호스트 설정 프로토콜 (DHCP)
q DHCP (Dynamic Host Configuration Protocol)
v 네트워크접속을 동적으로 설정하기 위한 프로토콜 v BOOTP(Bootstrap Protocol)의 확장
v 2개의 데이터베이스 존재 Ø 활용 가능한IP 주소 집합
Ø 물리적 주소와IP 주소를 정적으로 매칭시킨 테이블
v DHCP 클라이언트가 IP주소를 요청하면 DHCP 서버는 모아 논 주소 중 하나를 클라이언트에게 할당하고, 클라이언트는 협의된 기간동안 그 주 소를 사용
인터넷기술개론
DHCP 동작과정
한국과학기술원테크노경영대학원정보통신경영연구실 63
망 관리 프로토콜 (SNMP)
q SNMP (Simple Network Management Protocol)
v TCP/IP를 사용하는 네트워크의 각종 S/W 및 H/W들을 관리하기 위한 프로토콜
인터넷기술개론
SNMP 메시지
한국과학기술원테크노경영대학원정보통신경영연구실 65
MIB과 SMI
q MIB (Management Information Base) v 네 트 워 크 관 리 에 필 요 한 모 든 정 보 를 객 체
의 형 태 로 표 현 하 여 보 관 하 고 있 는 저 장 소 (Archive)
v 계 층 적 트 리 구 조 형 태 로 배 열
q SMI (Structure of Management Information) v MIB에 서 사 용 될 수 있 는 자 료 의 형 태, MIB의
구 성 객 체 들 의 표 현 및 명 칭 등 에 대 한 내 용 을 기 술
인터넷기술개론
UDP & TCP
Fall 2001
차 동 완
(email: tchadw@sorak.kaist.ac.kr)
한국과학기술원테크노경영대학원정보통신경영연구실 67
강의 내용
q
프로세스간 통신
q전달계층 동작과 기능
v 캡슐화, 역 캡슐화 v 큐잉(Queuing) v 다중화, 역 다중화 q
TCP
q
UDP
인터넷기술개론
프로세스간 통신
q
네 트 워 크 계 층 프 로 토 콜
(IP)v 호 스 트-대-호 스 트 통 신 관 장
v 목 적 지 호 스 트 까 지 패 킷 전 달
q
전 달 계 층 프 로 토 콜
(TCP, UDP)Ú “클 라 이 언 트 -서 버 모 델”
한국과학기술원테크노경영대학원정보통신경영연구실 69
프로세스간 통신 (Cont’d)
q 전달 계층 프로토콜 TCP나 UDP 사용 q 포트(port) 개념 사용
v 클라이언트와 서버 프로세스 사이에 교환되는 모든 패킷의 헤더 에 송,수신측 포트번호 명시
q 응용 프로세스와 포트의 관계
응 용 프 로 세 스
포 트m …
…
TCP/UDP
응 용 프 로 세 스
포 트n …
…
TCP/UDP
인터넷기술개론
프로세스간 통신 (Cont’d)
q 클라이언트-서버 모형
v개별 서버 응용 프로세스는 설정된 포트에서 대기 v클라이언트 응용 프로세스는 자신의 호스트 포트를 통해
서버 프로세스 측의 설정된 포트에 접속하여, 연결설정 요청 v서버 프로세스가 수락하면 본격적 통신 시작
Ú 포 트(Port) 이 용
한국과학기술원테크노경영대학원정보통신경영연구실 71
포트 (Port) 이용
q 포트 (Port)
v 응용 프로세스를 식별하는데 사용하는 논리적인 장소 v 16 비트로 표시되어 65,536까지의 번호 사용
v 정해진(Well-known) 포트
ØE-mail, WWW, FTP, Telnet 등의 일반적인 서버 프로세스에 할당 Ø모든 호스트에서 동일한 포트번호 사용
Ø이를 위한 용도로1,023번 이하의 포트 번호를 할당
(e.g) FTP 서버 프로세스: 21번, 웹 서버 프로세스: 80번 포트 v 임시(Ephemeral) 포트
Ø 클라이언트 프로세스, 표준화 되지 않은 서버 프로세스가 사용
인터넷기술개론
포트 이용 (Cont’d)
q 서버 프로세스 종류에 따른 사용포트 구분
v UDP를 사 용 하 는 비 연 결 형 순 차 서 버
à 대기하고 있던 well-known 포트 계속 사용 v TCP를 사 용 하 는 연 결 형 동 시 서 버
à 클라이언트가 well-known포트로 접속하면 OS로부터 새로운 임시포트 할당.
한국과학기술원테크노경영대학원정보통신경영연구실 73
IP 주소와 포트 번호의 관계
인터넷기술개론
전달 계층의 동작과 기능
q 캡슐화와 역캡슐화
v TCP의 경우: 세그먼트(Segment) 단위로 분할 v UDP의 경우: 분할하지 않고 UDP 헤더만 추가 q 큐잉 (Queuing)
v 포트마다 메시지 대기용 입력 큐,출력 큐 할당 q 다중화와 역다중화
v 송신측에서UDP나 TCP는 다중화 기능을 수행하고, 반대로 수신 측에서는 역다중화 기능을 수행
한국과학기술원테크노경영대학원정보통신경영연구실 75
캡슐화 /역캡슐화 (UDP 경우 예)
인터넷기술개론
큐잉 (UDP 경우 예)
한국과학기술원테크노경영대학원정보통신경영연구실 77
TCP 서비스
q End-to-end connection을 통한 신뢰성 있는 데이터 전송 서비스 제공
v 스 트 림(Stream) 데 이 터 서 비 스
Ø송신TCP : 데이터 스트림을 쪼개서 세그먼트 형성, 전송 Ø수신TCP : 세그먼트들을 순서대로 조립, 응용 프로세스에 전달 Ø버퍼사용
v 전 이 중(Full Duplex) 서 비 스 Ø데이터 동시에 양방향 전송 가능 v 신 뢰 성(Reliable) 서 비 스
Ø 오류제어 기능을 통해 오류 발생시 재전송 요구
인터넷기술개론
TCP 세그먼트 형식
한국과학기술원테크노경영대학원정보통신경영연구실 79
TCP 세그먼트 옵션(Option)
q 1 바이트 옵션
v 옵션 끝 (end of option) v 무 동작 (no operation) q 다중 바이트 옵션
v 최대 세그먼트크기(Maximum Segment Size: MSS)
Ø목적지에서 수신할 수 있는 세그먼트 데이터 부분의 최대 크기 정의 v 윈도우 확장인자(Window Scale Factor)
Ø기본헤더의 윈도우 크기 증대 v 타임스탬프(Time Stamp)
Ø재전송을 위한 타임아웃 길이 결정
인터넷기술개론
TCP 세그먼트 옵션 (예)
Ú 최 대 세 그 먼 트 크 기
Ú 윈 도 우 확 장 인 자 옵 션
Ú 타 임 스 탬 프 옵 션
한국과학기술원테크노경영대학원정보통신경영연구실 81
TCP 흐름제어
q 목적지에서의 오버플로우(Overflow)를 예방하고 네트웍 혼잡도 일정 수준 이하로 유지
Ú 슬 라 이 딩 윈 도 우 프 로 토 콜(Sliding Window Protocol) 사 용
인터넷기술개론
윈도우 크기 관리
q 윈도우의 크기는 수신측에 의해서 결정되고, 확인응답 세그먼트를 통해 송신TCP에게 통보
한국과학기술원테크노경영대학원정보통신경영연구실 83
TCP 오류제어
q 오류 발생
v 훼손 세그먼트 v 손실 세그먼트 v 중복 세그먼트
v 순서가 어긋난 세그먼트 v 확인 응답의 손실 q 오류 발견과 정정
v 검사 합(Checksum), 확인(Acknowledgment), 타임아웃(Timeout) 을 통하여 오류를 발견
v 오류정정은 단순히 해당 세그먼트 재전송
인터넷기술개론
훼손 세그먼트 (오류발생 예)
한국과학기술원테크노경영대학원정보통신경영연구실 85
TCP 연결 방식
q 연결 설정
v 서버 프로세서가 자신의TCP에 게 수동개방(passive open) 요청 v 클라이언트 프로세스가 서버의
TCP에게 능동개방(active open) 요구
v 3단계 핸드셰이크(three way handshaking) 과정을 통해 연결 설정
• Three-way Handshaking
인터넷기술개론
TCP 연결 방식 (Cont’d)
q 연결 종료
v 클라이언트, 서버 어느쪽에서 도 종료가능
v 양방향의 연결종료를 위해 4 단계 핸드셰이크 과정 필요
• Four-way Handshaking
한국과학기술원테크노경영대학원정보통신경영연구실 87
TCP 혼잡제어
q 혼잡(Conjestion) 현상
v 라우터가 처리할 수 있는 속도보다 빨리 데이터그램을 수신하는 경우에 발생
q 혼잡 제어
v 수신TCP가 알려주는 윈도우크기와 혼잡 윈도우크기 중 작은 값 을 윈도우크기의 실제 값으로 결정
q 혼잡 윈도우크기 결정 방식
v 증가방식 v 감소방식
Ø임계치를 기존의 반으로 줄임
• 윈도우 크기 증 가 방 식
인터넷기술개론
검사 합 (Checksum)
한국과학기술원테크노경영대학원정보통신경영연구실 89
검사 합의 계산 대상
• TCP(UDP) v.s IP
TCP 경우
IP 경우
인터넷기술개론
TCP 타이머
q 재전송(retransmission) 타이머
v 세그먼트 전송의 확인응답을 기다리는 시간 v 왕복시간(RTT) 값에 연동하여 동적으로 변경 q 안정화(persistence) 타이머
v 송신TCP가 마냥 기다리는 교착상태 방지 q 킵얼라이브(keepalive) 타이머
v 두 호스트간에 설정된TCP연결이 오랜 시간동안 idle한 상태로 있 는 것을 방지
q 시간-대기(time-waited) 타이머
한국과학기술원테크노경영대학원정보통신경영연구실 91
UDP 서비스
q 산발적,개별적으로 발생하는 작은 메시지 전송용 비연결 형 서비스 제공
q 흐름제어, 오류제어 등의 신뢰성 있는 전송기능 제공하 지 않음
q 최근 VoIP, 인터넷 방송 등의 실시간성 서비스의 활성화 로 사용빈도가 높아짐
q SNMP, RIP 등의 응용계층 프로토콜에서 주로 이용
인터넷기술개론
UDP 세그먼트 형식
Ú UDP에서는 Checksum은 선택사항
q 8바이트의 고정길이 헤더