tcp/ip 네트워크

41
1 성성성 성성성 SungKyunKwan Univ. 정정정정정정정 TCP/IP TCP/IP 성성성성 성성성성 성 1 성 성성

Upload: fitzgerald-prince

Post on 03-Jan-2016

21 views

Category:

Documents


5 download

DESCRIPTION

TCP/IP 네트워크. 제 1 장 서론. 목차. 1.1 개요 1.2 계층화 1.3 TCP/IP 계층화 1.4 인터넷 주소 1.5 DNS (Domain Name System) 1.6 캡슐화 (Encapsulation) 1.7 역다중화 (Demultiplexing) 1.8 클라이언트 - 서버 모델 1.9 포트 번호 (Port Number). 목차 (cont’d). 1.10 표준화 작업과정 1.11 RFC (Request for Comment) 1.12 표준적인 단순 서비스 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TCP/IP  네트워크

1성균관 대학교

SungKyunKwan Univ.

정보통신연구실

TCP/IP TCP/IP 네트워크네트워크

제 1 장 서론

Page 2: TCP/IP  네트워크

2성균관 대학교

SungKyunKwan Univ.

정보통신연구실

목차목차

1.1 개요1.2 계층화1.3 TCP/IP 계층화1.4 인터넷 주소1.5 DNS (Domain Name System)

1.6 캡슐화 (Encapsulation)

1.7 역다중화 (Demultiplexing)

1.8 클라이언트 - 서버 모델1.9 포트 번호 (Port Number)

Page 3: TCP/IP  네트워크

3성균관 대학교

SungKyunKwan Univ.

정보통신연구실

목차 목차 (cont’d)(cont’d)

1.10 표준화 작업과정1.11 RFC (Request for Comment)

1.12 표준적인 단순 서비스1.13 인터넷1.14 구현1.15 응용 프로그램 인터페이스1.16 시험네트워크1.17 요약

Page 4: TCP/IP  네트워크

4성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1.1 1.1 개요 개요

TCP/IP 프로토콜 그룹

1960 년대 후반 : 패킷 네트워크 연구 프로젝트

1990 년대 : 컴퓨터를 연결하는 일반적인 통신 형식

진정한 개방 시스템 (open system) 을 가능하게 함

WAN 의 기반을 구성 worldwide Internet (Internet)

TCP/IP 프로토콜 집합의 개요와 기본지식 제공

Page 5: TCP/IP  네트워크

5성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1.2 1.2 계층화계층화

TCP/IP 프로토콜 집합의 4 계층

응용

트랜스포트

네트워크

링크

Telnet, FTP, e-mail 등

TCP, UDP

IP, ICMP, IGMP

장치 드라이버와 인터페이스

Page 6: TCP/IP  네트워크

6성균관 대학교

SungKyunKwan Univ.

정보통신연구실

계층화 계층화 (cont’d)(cont’d)

링크 (link) 층 , 데이터 링크 (data link) 층 , 네트워크 인터페이스 (network interface) 층 운영체제의 디바이스 드라이버와 네트워크

인터페이스 카드 포함 연동되어 있는 케이블의 물리적인 인터페이스와

관련된 하드웨어적인 부분 제어 네트워크 (network) 층 , 인터넷 (internet) 층

네트워크 상의 패킷의 이동 제어 ( 패킷 라우팅 ) IP, ICMP, IGMP 으로 구성

Page 7: TCP/IP  네트워크

7성균관 대학교

SungKyunKwan Univ.

정보통신연구실

계층화 계층화 (cont’d)(cont’d)

트랜스포트 (transport) 층~ 상위 응용 층에 대해 두 호스트간의 데이터

흐름을 제공 TCP

• 두 호스트간의 신뢰성 높은 데이터 흐름을 제공 ( 분할 , 패킷 식별 , 타임 아웃 설정 기능 )

UDP• 아주 단순한 서비스를 응용 층에 제공

Page 8: TCP/IP  네트워크

8성균관 대학교

SungKyunKwan Univ.

정보통신연구실

계층화 계층화 (cont’d)(cont’d)

응용 (application) 층 특정 응용에 대한 상세한 동작을 처리 공통 응용

• Telnet

• FTP(File Transfer Protocol)

• SMTP(Simple Mail Transfer Protocol)

• SNMP(Simple Network Management Protocol)

Page 9: TCP/IP  네트워크

9성균관 대학교

SungKyunKwan Univ.

정보통신연구실

계층화 계층화 (cont’d)(cont’d)

FTP클라이언트

FTP서버

이더넷 드라이버

이더넷 드라이버

TCP

IP

TCP

IP

이더넷

응용

트랜스포트

네트워크

링크

FTP프로토콜

TCP프로토콜

IP프로토콜

이더넷 프로토콜

사용자프로세스

커널

처리세부사항을

다룬다 .

처리세부사항을

다룬다 .

LAN 상의 두 호스트가 FTP 를 실행하는 경우의 예

Page 10: TCP/IP  네트워크

10성균관 대학교

SungKyunKwan Univ.

정보통신연구실

계층화 계층화 (cont’d)(cont’d)

인터넷을 구성하는 가장 쉬운 방법 라우터를 통해 둘 또는 그 이상의 네트워크를 연결

IP 프로토콜

IP 프로토콜

이더넷프로토콜

FTP클라이언트

TCP

FTP 프로토콜

IP

TCP 프로토콜

FTP서버

TCP

IP

토큰링프로토콜

토큰링

IP

토큰링드라이버

라우터

이더넷

이더넷드라이버

토큰링드라이버

이더넷드라이버

Page 11: TCP/IP  네트워크

11성균관 대학교

SungKyunKwan Univ.

정보통신연구실

계층화 계층화 (cont’d)(cont’d)

멀티 홈드 시스템 ~ 복수의 인터페이스를 갖는 시스템

• 호스트가 라우터 기능을 수행하도록 특별하게 구성할 수 있다 . 상황에 따라 호스트 혹은 라우터라 부른다 .

인터넷이 강력하고 편리한 이유• 응용으로부터 네트워크 접속에 따른 물리적인 부분이

감추어져 있기 때문이다 .

브리지 • 네트워크를 연결하는 또 다른 방법으로 링크층을

접속한다 .

Page 12: TCP/IP  네트워크

12성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1.3 TCP/IP 1.3 TCP/IP 계층화계층화

매체

TCP UDP

ICMP IP IGMP

ARP RARP 링크

네트워크

트랜스포트

응용

하 드 웨 어인터페이스

사용자 프로세스

사용자 프로세스

사용자 프로세스

사용자 프로세스

Page 13: TCP/IP  네트워크

13성균관 대학교

SungKyunKwan Univ.

정보통신연구실

TCP/IP TCP/IP 계층화계층화 (cont’d)(cont’d)

TCP 와 UDP TCP 응용

• Telnet 과 Rlogin

• FTP

• SMTP

UDP 응용• DNS

• TFTP(Trivial File Transfer Protocol)

• Bootstrap Protocol

• SNMP(Simple Network Management Protocol)

Page 14: TCP/IP  네트워크

14성균관 대학교

SungKyunKwan Univ.

정보통신연구실

TCP/IP TCP/IP 계층화 계층화 (cont’d)(cont’d)

IP ICMP(Internet Control Message Protocol)

~ IP 층을 이용해서 에러메시지 교환과 다른 중요한 정보를 다른 호스트나 라우터의 IP 층과 교환

• 응용층에서 직접 액세스 PING, Traceroute

IGMP( Internet Group Management Protocol)~ 복수의 호스트에 UDP 데이터 그램을 송신하는

멀티캐스팅에 이용되는 프로토콜

Page 15: TCP/IP  네트워크

15성균관 대학교

SungKyunKwan Univ.

정보통신연구실

TCP/IP TCP/IP 계층화 계층화 (cont’d)(cont’d)

ARP 와 RARP ~ IP 주소와 MAC 주소 간의 변환에 사용된다 . (4,5 장 참조 )

Page 16: TCP/IP  네트워크

16성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1.4 1.4 인터넷 주소인터넷 주소

인터넷 상의 모든 인터페이스는 고유의 인터넷 주소(Internet address, IP 주소 ) 를 갖는다 .

7 비트

14 비트

24 비트

16 비트

1

1 0

1 1 0

1 1 1 0

1 1 1 1 0

21 비트 8 비트

28 비트

27 비트

netid hostid

netid hostid

netid

멀티캐스트 그룹 ID

( 나중에 사용하기 위해 예약 )

클래스 A

클래스 B

클래스 C

클래스 D

클래스 E

hostid

Page 17: TCP/IP  네트워크

17성균관 대학교

SungKyunKwan Univ.

정보통신연구실

인터넷 주소인터넷 주소 (cont’d)(cont’d)

네트워크의 IP 주소 관리 조직 InterNIC (Internet Network Information Center)

• 등록서비스 , 디렉토리와 데이터 베이스 서비스 , 정보 서비스

KRNIC• 국내의 IP 주소와 도메인 이름 할당

클래스 범 위

A 0.0.0.0 ~ 127.255.255.255

B 128.0.0.0 ~ 191.255.255.255

C 192.0.0.0 ~ 223.255.255.255

D 224.0.0.0 ~ 239.255.255.255

E 240.0.0.0 ~ 247.255.255.255

Page 18: TCP/IP  네트워크

18성균관 대학교

SungKyunKwan Univ.

정보통신연구실

인터넷 주소인터넷 주소 (cont’d)(cont’d)

IP 주소의 유형 유니캐스트 (Unicast, 단일 호스트 ) 브로드캐스트 (broadcast, 특정 네트워크상의 모든

호스트 ) 멀티 캐스트 (multicast, 멀티캐스트 그룹에 속하는

호스트 )

Page 19: TCP/IP  네트워크

19성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1.5 DNS(Domain Name 1.5 DNS(Domain Name System)System)

~ IP 주소와 호스트 이름간의 대응관계 정보를 제공하는 분산 데이터 베이스 (14 장 참조 )

IP 주소 호스트 명상호 간의 검색이 가능하다

Page 20: TCP/IP  네트워크

20성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1.6 1.6 캡술화캡술화 (Encapsulation)(Encapsulation)

TCP 를 이용한 데이터 전송 ~ 데이터의 전송 시 각 계층은 데이터가 목적지에 전달되도록

수신된 데이터에 각종 헤더 (header) 와 데이터 트레일러 (trailer) 정보를 추가한다 .

TCP 세그먼트 (segment)~ TCP 가 IP 에 전송하는 데이터 단위

IP 데이터그램 (datagram)~ IP 가 네트워크 인터페이스로 전송하는 데이터 단위

프레임 (frmae)~ 이더넷 네트워크를 통하여 전달되는 비트 스트림

Page 21: TCP/IP  네트워크

21성균관 대학교

SungKyunKwan Univ.

정보통신연구실

캡술화캡술화 (Encapsulation) (cont’(Encapsulation) (cont’d)d)

이더넷 프레임의 물리적 특성에 따른 데이터의 크기 : 46~1500 바이트

UDP 를 이용한 데이터 전송 UDP 가 IP 로 전송하는 정보 단위는 UDP 데이터

그램 UDP 헤더의 크기 : 8 바이트

IP 의 식별자 유형 (8 비트 )

TCP 6

UDP 17

ICMP 1

IGMP 2

Page 22: TCP/IP  네트워크

22성균관 대학교

SungKyunKwan Univ.

정보통신연구실

캡술화캡술화 (Encapsulation) (cont’(Encapsulation) (cont’d)d)

TCP 와 UDP 의 16 비트 포트번호 (port number)~ 헤더에 응용을 식별하기 위한 발신지 포트 번호와

목적지 포트 번호를 저장한다 . 이더넷 헤더의 16- 비트 프레임 타입 (type) 필드

~ 네트워크층 프로토콜이 데이터를 생성한 것을 식별한다 .

Page 23: TCP/IP  네트워크

23성균관 대학교

SungKyunKwan Univ.

정보통신연구실

캡술화캡술화 (Encapsulation) (cont’(Encapsulation) (cont’d)d)

응용

IP

이더넷 드라이버

이더넷

TCP

사용자데이터

응용헤더

사용자데이터

TCP 헤더 응용 데이터

IP 헤더

TCP 세그먼트

IP 데이터그램

IP 헤더 TCP 헤더 이더넷 헤더

TCP 헤더

응용 데이터 이더넷

트레일러

이더넷 프레임

46 에서 1500 바이트

응용데이터

14 20 20 4

Page 24: TCP/IP  네트워크

24성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1.7 1.7 역다중화역다중화 (Demultiplexing)(Demultiplexing)

~ 이더넷 프레임이 목적지 호스트에 수신되면 , 프로토콜 스택을 올라가면서 헤더의 식별자를 보고 데이터를 전송할 다음 상위 층을 결정하는 과정

응용 응용

TCPIGMPICMP

IPARP RARP

이더넷드라이버

응용 응용

UDP

… …

수신

프레임

TCP 또는 UDP 헤더의 목적지 포트 번호를 기반으로 한 역다중화

IP 헤더의 프로토콜 값을 기반으로 한 역 다중화

이더넷 헤더의 프레임 유형을 기반으로 한 역 다중화

Page 25: TCP/IP  네트워크

25성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1.8 1.8 클라이언트클라이언트 -- 서버 모델서버 모델

응용의 목적은 클라이언트에 대해서 서버가 어떤 정의된 서비스를 제공하는 것이다 . 반복 서버 (iterative server) : TCP 서버

1. 클라이언트로부터 요구가 오기를 기다린다 .

2. 클라이언트의 요구를 처리한다 .

3. 요구를 송신한 클라이언트에게 응답을 보낸다 .

4. 단계 1 로 돌아간다 .

단계 2 처리과정에서 다른 클라이언트에게 서비스를 제공하 지 못한다 .

Page 26: TCP/IP  네트워크

26성균관 대학교

SungKyunKwan Univ.

정보통신연구실

클라이언트클라이언트 -- 서버 모델서버 모델 (cont’(cont’d)d)

병렬서버 (concurrent server) : UDP 서버1. 클라이언트로부터 요구가 오기를 기다린다 .

2. 클라이언트의 요구를 처리하기 위한 새로운 서버를 시작한다 . 처리를 마치면 , 이 새로운 서버는 종료한다 .

3. 단계 1 로 돌아간다 .

병렬 서버의 이점은 클라이언트의 요구를 처리하기 위해 새로운 별도의 서버를 가동하여 복수의 클라이언트가 동시에 서비스를 받을 수 있다 .

Page 27: TCP/IP  네트워크

27성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1.9 1.9 포트번호포트번호 (Port Number)(Port Number)

~ TCP 와 UDP 가 응용을 식별하기 위해서 16 비트 포트 번호를 이용한다 .

각 서비스 별 포트번호 IANA( Internet Assigned Numbers Authority) 에 의해 1 ~1023 까지의 포트번호가 관리되고 있다 .

FTP

TFTP

Telnet

21

69

23

Rlogin 513

Page 28: TCP/IP  네트워크

28성균관 대학교

SungKyunKwan Univ.

정보통신연구실

포트번호포트번호 (Port Number) (cont’(Port Number) (cont’d)d)

클라이언트 포트번호 (ephemeral 포트 ) ~ 하나의 클라이언트는 사용자가 서비스를 필요로 하는 동안만 존재

1,024 ~ 5,000 까지 포트 번호 할당

UNIX 시스템에서의 포트 번호 /etc/services 파일에 들어 있다 .

Page 29: TCP/IP  네트워크

29성균관 대학교

SungKyunKwan Univ.

정보통신연구실

포트번호포트번호 (Port Number) (cont’(Port Number) (cont’d)d)

Telnet 서버와 DNS 에 대한 포트 번호 알아내기

예약된 포트~ 수퍼 유저 권한을 가진 프로세스에 의해 할당할 수 있는

1~1023 사이의 포트 번호

sun % grep telnet /etc/services

telnet 23/tcp

sun % grep domain /etc/services

domain 53/udp

domain 53/tcp

sun % grep telnet /etc/services

telnet 23/tcp

sun % grep domain /etc/services

domain 53/udp

domain 53/tcp

TCP 포트 23 을 사용한다 .

UDP 포트 53 을 사용한다 .

TCP 포트 53 을 사용한다 .

Page 30: TCP/IP  네트워크

30성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1.10 1.10 표준화 작업과정표준화 작업과정

TCP/IP 프로토콜을 관리하고 , 새로운 표준안을 승인하는 등의 일을 하는 인터넷 기술 그룹

1. ISOC(Internet Society) 인터넷의 발전과 성장을 촉진하는 전문적인 단체

2. IAB(Internet Architecture Board)• 기술면에 대한 관리 , 조정하는 조직• 인터넷 표준안에 대한 책임을 맡고 있다

Page 31: TCP/IP  네트워크

31성균관 대학교

SungKyunKwan Univ.

정보통신연구실

표준화 작업과정 표준화 작업과정 (cont’d)(cont’d)

3. IETF(Internet Engineering Task Force) • 단기적인 표준정책그룹 ( 응용 , 라우팅 , 주소지정 , 정보보호 등의 9 개 영역으로

나뉨 )• 인터넷 표준에 대한 규격을 개발

4. IRTF(Internet Research Task Force) • 장기적인 연구프로젝트 추진

Page 32: TCP/IP  네트워크

32성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1.11 RFC1.11 RFC

~ 인터넷에 대한 모든 공식적인 표준안에 대한 문서 양식으로 고유 번호가 부여된다 .

FTP 와 전자 메일을 통해 RFC 의 자료를 입수한다 .

To : [email protected]

Subject : getting rfcs

Help : ways_to_get_rfcs

To : [email protected]

Subject : getting rfcs

Help : ways_to_get_rfcs

RFC 자료를 입수하는 방법에 대한 자세한 자료를 보내준다 .

E-Mail

Page 33: TCP/IP  네트워크

33성균관 대학교

SungKyunKwan Univ.

정보통신연구실

RFC(cont’d)RFC(cont’d)

RFC 에 대한 중요사항1. 할당된 번호 RFC(Assigned Numbers RFC) 는

인터넷 프로토콜에서 사용하고 있는 모든 매직 넘버 (magic number) 나 정수 등이 정의되어 있다 . 이 책을 집필할 시점에 이 RFC 의 가장 최신 버전은 1700[Reynolds and Postel 1994] 까지 이다 .

2. IAB 의 공식 프로토콜 표준은 현재 RFC 1600[Postel 1996] 까지 되어 있다 .• 표준화 상태 : 표준안 (standard), 표준 초안 (draft standar

d), 실험중 (experimental), 참고 (informational), 또는 역사적 (historic)

Page 34: TCP/IP  네트워크

34성균관 대학교

SungKyunKwan Univ.

정보통신연구실

RFC(cont’d)RFC(cont’d)

• 요구레벨 : 요구 (required), 권고 (recommended), 후보(elective), 제한 사용 (limited use), 또는 비권고 (not recommended) 등

3. 호스트 요구사항 RFC • RFC 1122 : 링크 층 , 네트워크 층 , 트랜스포트 층을

대상• RFC 1123 : 응용 층을 대상• 프로토콜의 기능구현과 세부 사항에 대한 구분 : 필수 (m

ust), 의무 (should), 가능 (may), 불가능 (should), 절대불가 (must not)

4. 라우터의 요구사항 RFC : RFC 1009

Page 35: TCP/IP  네트워크

35성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1.12 1.12 표준적인 단순 서비스표준적인 단순 서비스

이름 TCP포트

UDP포트 RFC 적용

Echo 7 7 862 서버는 클라이언트가 보낸 모든 데이터를 되돌려 보낸다 .

Discard 9 9 863 서버는 클라이언트가 보낸 모든 데이터를 되돌려 무시한다 .

Daytime 13 13 867 서버는 사람이 읽을 수 있는 형식으로 시간과 날짜를 되돌려 보낸다 .

Chargen 19 19 864 TCP 서버는 연결이 클라이언트에 의해 끊어질 때까지 연속된 문자열을 송신한다 . UDP 서버는 클라이언트가 데이터 그램을 보낼 때마다 임의의 개수의 문자를 포함한 데이터 그램을 보 낸다 .

Time 37 37 868 서버는 2 진 숫자로 시간을 되돌려 보낸다 . 이 숫자는 UTC

( 협정 표준시 ) 로 1900 년 1 월 1 일 0 시부터 초 단위로 계산된 시간을 나타낸다 .

대부분의 구현에서 제공되고 있는 표준적인 단순 서비스

Page 36: TCP/IP  네트워크

36성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1.13 1.13 인터넷인터넷

소문자로 된 인터넷 (internet) 공통 프로토콜을 그룹을 사용하는 복수의 네트워크를

접속한 것을 의미한다 .

대문자로 된 인터넷 (Internet) TCP/IP 를 사용하여 전세계의 호스트와 상호 통신이

가능한 대규모 네트워크를 말한다 .

대문자로 된 인터넷은 소문자로 된 인터넷도 되지만 , 그 역은 성립하지 않는다 .

Page 37: TCP/IP  네트워크

37성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1.14 1.14 구현구현

TCP/IP 의 사실상 표준은 캘리포니아 대학의 컴퓨터 시스템 연구그룹이 제공한 것이다 .

4.x BSD 계열과 BSD 네트워킹 릴리즈로 배포 다른 많은 구현에 대한 출발점

Page 38: TCP/IP  네트워크

38성균관 대학교

SungKyunKwan Univ.

정보통신연구실

구현 구현 (cont’d)(cont’d)

중요한 기능을 가진 다양한 BSD 릴리즈

4.2 BSD (1983)최초에 일반 이용이

가능한 릴리즈

4.3 BSD (1986)TCP 처리

능력을 개선

4.3 BSD Tahoe (1988)늦은 시작혼잡회피

고속 재전송

4.3 BSD Reno(1990)고속 회복

TCP 헤더 예측 ,

SLIP 헤더 압축라우팅 테이블 변경

4.4 BSD (1993)멀티캐스팅

“ long fat pipe”

BSD 네트워킹 소프트웨어릴리즈 1.0(1989): Net/1

BSD 네트워킹 소프트웨어릴리즈 2.0(1991): Net/2

4.4 BSD-Lite (1994) Net/3 라고도 함

Page 39: TCP/IP  네트워크

39성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1.15 1.15 응용프로그램 인터페이스 응용프로그램 인터페이스 (API)(API)

소켓 (socket) 버클리 소켓 (Berkly sockets) 이라고도 함 .

TLI(Transport Layer Interface) XTI(X/Open Transport Interface) 라고 부르기도 함

Page 40: TCP/IP  네트워크

40성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1.16 1.16 시험 네트워크시험 네트워크

AIX 3.2.2

aix solaris gemini gateway

modem

modem

SLIP ( 다이얼업 )

Solaris 2.2 SunOS 4.1.1

인터넷

netb

slip Bsdi sun svr4

이더넷.13.33 .13.34

.13.65

SLIP

TelebitNetBlazer

시스코라우더

.1.183

BSD/386 1.0BSD/386 1.0 SunOS 4.1.3 .1.29

.1.4.1.11

이더넷

.104.1

.1.92 .1.32

SVR4

도메인 : .tuc.noao.edu IP 주소 : 클래스 B 네트워크 ID 140.252

svr4.tuc.noao.edu

Page 41: TCP/IP  네트워크

41성균관 대학교

SungKyunKwan Univ.

정보통신연구실

1.17 1.17 요약요약

TCP/IP 프로토콜 집합 인터넷은 네트워크의 집합으로 라우터를 통해

네트워크를 접속한다 .

DNS 는 호스트 명과 IP 주소간의 대응관계 제공 포트번호는 응용을 식별하는 데 사용된다 . 표준화 과정과 RFC TCP/IP 의 구현과 API