Top Banner
1 HANNAM UNIVERSITY Http://netwk.hannam.ac.kr 11.1 프프프프 - 프 - 프프프프 프프 11.2 프프프 프프프프프 11.3 프프프 11.4 UDP 프프 11.5 UDP 프프 11.6 UDP 프프 11.7 프프 11 11 UDP UDP
41

11.1 프로세스-대-프로세스 통신 11.2 사용자 데이터그램 11 .3검사합 11 .4 UDP 동작 11.5UDP 사용 11 .6 UDP 설계

Jan 04, 2016

Download

Documents

uriel-bradshaw

제 11 장 UDP. 11.1 프로세스-대-프로세스 통신 11.2 사용자 데이터그램 11 .3검사합 11 .4 UDP 동작 11.5UDP 사용 11 .6 UDP 설계 11.7 요약. TCP/IP 프로토콜 모음에서 UDP 위치. UDP 전송 프로토콜의 임무. 프로세스-대-프로세스 통신 생성 : 포트 번호 이용 최소한의 오류 제어 메커니즘 수행 프로세스로부터 데이터 단위를 받아 신뢰성 없는 전달 제공 비연결형, 신뢰성이 없는 전송 프로토콜 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

1HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

11.1 프로세스 - 대 - 프로세스 통신

11.2 사용자 데이터그램

11.3 검사합

11.4 UDP 동작

11.5 UDP 사용

11.6 UDP 설계

11.7 요약

제 제 11 11 장 장 UDPUDP

Page 2: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

2HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

TCP/IP TCP/IP 프로토콜 모음에서 프로토콜 모음에서 UDP UDP 위치위치

Page 3: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

3HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 전송 프로토콜의 임무전송 프로토콜의 임무

프로세스 - 대 - 프로세스 통신 생성 : 포트 번호

이용

최소한의 오류 제어 메커니즘 수행

프로세스로부터 데이터 단위를 받아 신뢰성 없는

전달 제공

비연결형 , 신뢰성이 없는 전송 프로토콜

최소한의 오버헤드만 사용하는 간단한 프로토콜

Page 4: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

4HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

11.1 11.1 프로세스프로세스 -- 대대 -- 프로세스 통신프로세스 통신

Page 5: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

5HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

프로세스프로세스 -- 대대 -- 프로세스 통신프로세스 통신 (( 계속계속 ))

포트 번호프로세스 - 대 - 프로세스 통신 방법 : 클라이언트 /

서버

클라이언트와 서버 프로세스는 같은 이름을 가짐

Daytime client process / daytime server

원격 컴퓨터는 여러 개의 서버 프로그램 실행

로컬 컴퓨터로 여러 개의 클라이언트 프로그램 수행

Page 6: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

6HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

프로세스프로세스 -- 대대 -- 프로세스 통신프로세스 통신 (( 계속계속 ))

프로세스 통신을 위해 필요한 사항로컬 호스트 (local host)

로컬 프로세스 (local process)

원격 호스트 (remote host)

원격 프로세스 (remote process)

Page 7: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

7HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

프로세스프로세스 -- 대대 -- 프로세스 통신프로세스 통신 (( 계속계속 ))

프로세스 통신에서 포트 번호의 역할로컬 호스트와 원격 호스트 : IP 주소

프로세스 : 포트 번호

포트 번호 범위 : 0 ~ 65,535 사이 정수

잘 알려진 포트 번호 (well-known port number)

임시 포트 번호 (ephemeral port number)

Page 8: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

8HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

프로세스프로세스 -- 대대 -- 프로세스 통신프로세스 통신 (( 계속계속 ))

포트 번호

Page 9: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

9HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

프로세스프로세스 -- 대대 -- 프로세스 통신프로세스 통신 (( 계속계속 ))

IP 주소 대 포트 번호

Page 10: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

10HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

프로세스프로세스 -- 대대 -- 프로세스 통신프로세스 통신 (( 계속계속 ))

IANA(Internet Assigned Numbers Authority) 범위잘 알려진 포트 : 0 ~ 1,023등록된 포트 (registered port) : 1,024 ~ 49,151동적 포트 (dynamic port) : 49,152 ~ 65,535

Page 11: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

11HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

프로세스프로세스 -- 대대 -- 프로세스 통신프로세스 통신 (( 계속계속 ))

UDP 에서 사용되는 잘 알려진 포트Port Protocol Description

7 Echo Echoes a received datagram back to the sender

9 Discard Discards any datagram that is received

11 Users Active users

13 Daytime Returns the date and the time

17 Quote Returns a quote of the day

19 Chargen Returns a string of characters

53 Nameserver Domain Name Service

67 Bootps Server port to download bootstrap information

68 Bootpc Client port to download bootstrap information

69 TFTP Trivial File transfer Protocol

111 RPC Remote Procedure Call

123 NTP Network Time Protocol

161 SNMP Simple Network Management Protocol

162 SNMP Simple Network Management Protocol(trap)

Page 12: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

12HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

프로세스프로세스 -- 대대 -- 프로세스 통신프로세스 통신 (( 계속계속 ))

소켓 주소 (Socket Address)각 종단 점에서 연결을 만들기 위해 필요한 주소

Page 13: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

13HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

11.2 11.2 사용자 데이터그램사용자 데이터그램

8 바이트 고정 크기 헤더사용자 데이터그램 형식

Page 14: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

14HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

사용자 데이터그램사용자 데이터그램 (( 계속계속 ))

사용자 데이터그램 형식발신지 포트 번호 (source port number)

목적지 포트 번호 (destination port number)

길이 (length) : 헤더 + 데이터

검사합 : 오류 발견

Page 15: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

15HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

사용자 데이터그램사용자 데이터그램 (( 계속계속 ))

UDP 검사합에 포함된 부분의사 헤더 (Pseudoheader)

UDP 헤더

응용 계층으로부터 온 데이터

Page 16: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

16HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

사용자 데이터그램사용자 데이터그램 (( 계속계속 ))

UDP 헤더에 첨부된 의사 헤더

Page 17: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

17HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

사용자 데이터그램사용자 데이터그램 (( 계속계속 ))

송신자 검사합 계산UDP 데이터그램에 의사 헤더 추가검사합 필드 0 으로 채움전체를 16 비트 (2 바이트 ) 단위로 나눔전체 바이트가 짝수가 아니면 값이 0 인 바이트 추가1 의 보수 연산 이용 16 비트 섹션을 전부 더함결과의 부수를 취하여 검사합 필드에 삽입의사 헤더와 추가된 패딩 제거데이터그램을 IP 소프트웨어에 전달

Page 18: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

18HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

사용자 데이터그램사용자 데이터그램 (( 계속계속 ))

UDP 사용자 데이터그램 검사합 계산

Page 19: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

19HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

사용자 데이터그램사용자 데이터그램 (( 계속계속 ))

수신자 검사합 계산UDP 데이터그램에 의사 헤더 추가필요하면 패팅 추가전체 비트를 16 비트 섹션으로 나눔1 의 보수 연산 이용 섹션을 전부 더함결과에 대해 보수를 취함결과가 0 이면 의사 헤더와 추가된 헤더를 없애고

데이터그램을 받아들인다그렇지 않으면 폐기한다

Page 20: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

20HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

11.4 11.4 UDP UDP 동작동작

비 연결형 서비스각 데이터그램은 서로 독립적연결 설정과 종료 과정 없이 서로 다른 경로로

전달될 수 있음작은 메시지를 보내는 프로세스만이 UDP 사용

흐름제어와 오류제어간단하고 신뢰성 없는 프로토콜흐름제어도 없고 윈도우 메커니즘도 없음검사합 외에는 오류 제어 메커니즘이 없음

Page 21: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

21HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 동작동작 (( 계속계속 ))

캡슐화와 역 캡슐화

Page 22: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

22HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 동작동작 (( 계속계속 ))

UDP 에서 사용되는 큐 (Queue)

Page 23: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

23HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 동작동작 (( 계속계속 ))

큐잉클라이언트에서 프로세스가 시작될 때

운영체제에게 포트번호 요청 ( 임시 )

구현에 따라 입력 큐 또는 입 / 출력 큐 생성

프로세스가 종료 되면 큐는 제거

큐가 생성되어 있지 않으면 ICMP 프로토콜에게 “port unreachable” 메시지를 보낸 데이터그램은 폐기

Page 24: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

24HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 동작동작 (( 계속계속 ))

다중화와 역 다중화

Page 25: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

25HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

11.5 11.5 UDP UDP 용도용도

단순한 요청 - 응답을 필요로 하는 프로세스흐름 제어와 오류 제어가 크게 필요하지 않은

프로세스내부적인 흐름 제어와 오류 제어 메커니즘을

가지고 있는 프로세스멀티캐스팅과 브로드캐스팅을 위한 전송 프로토콜SNMP 와 같은 관리 프로세스RIP(Routing Information Protocol) 와 같은 경로 갱신

프로토콜에 사용

Page 26: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

26HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

11.6 11.6 UDP UDP 설계설계

UDP 패키지 구성 요소제어 블록 테이블

입력 큐

제어 블록 모듈

입력 모듈

출력 모듈

Page 27: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

27HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 설계설계 (( 계속계속 ))

UDP 설계

Page 28: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

28HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 설계설계 (( 계속계속 ))

제어 블록 테이블 (Control Block Table)연결 포트를 추적하기 위한 테이블테이블 엔트리 ( 상태 , 프로세스 ID, 포트 번호 , 큐

번호 )

입력 큐 (Input Queue)프로세스당 하나씩 배정

Page 29: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

29HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 설계설계 (( 계속계속 ))

제어 블록 모듈 (Control-Block Module)제어 블록 테이블 관리 담당

프로세스가 시작될 때 운영체제에게 포트 번호 요청

운영 체제는 서버에게 잘 알려진 포트 번호 ,

클라이언트는 임시 포트 번호 배정

프로세스 번호와 포트 번호를 제어 블록으로 보냄

Page 30: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

30HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 설계설계 (( 계속계속 ))

제어 블록 번호 알고리즘Receive: a process ID and a port number.

1. Search the control block table for a FREE entry.

1. If(not found)

1. Delete an entry using a predefined strategy.

2. Create a new entry with the state IN-USE.

3. Enter the process ID and the port number.

2. Return

Page 31: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

31HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 설계설계 (( 계속계속 ))

입력 모듈 (Input Module)IP 로 부터 데이터그램을 받는다제어 블록 테이블을 찾아서 데이터그램과 같은

포트 번호를 가진 엔트리를 찾는다있으면 엔트리 정보를 이용하여 데이터를 큐에

넣는다없으면 ICMP 메시지를 생성

Page 32: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

32HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 설계설계 (( 계속계속 ))

입력 모듈 알고리즘Receive: a user datagram from IP1. Look for the corresponding entry in the control-block table.

1. If(found) 1. Check the queue field to see if a queue is allocated.

1. If(no)1. Allocate a queue.

2. Enqueue the data in the corresponding queue.2. If(not found)

1. Ask the ICMP module to send an “unreachable port” message.

2. Discard the user datagram. 2. Return

Page 33: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

33HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 설계설계 (( 계속계속 ))

출력 모듈 (output module) 데이터그램을 생성하여 보내는 책임을 가짐

Receive: data and information from a process

1. Create a UDP user datagram.

2. Send the user datagram.

3. Return.

Page 34: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

34HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 설계설계 (( 계속계속 ))

예제 : 제어 블록 데이터의 초기값

State Process ID Port Number Queue Number

IN-USE 2,345 52,010 34

IN-USE 3,422 52,011

FREE

IN-USE 4,652 52,012 38

FREE

Page 35: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

35HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 설계설계 (( 계속계속 ))

예제 1목적지 포트 번호가 52,012 인 데이터그램 도착

입력 모듈이 01 번호를 찾아냄

큐 번호 38 이 IN-USE 상태

데이터그램을 38 번 큐에 보냄

테이블은 변하지 않음

Page 36: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

36HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 설계설계 (( 계속계속 ))

예제 2몇 초 후에 프로세스 시작

운영체제에게 포트 번호 요청

포트 번호 52,014 할당 받음

테이블에 엔트리 생성

이곳을 향한 데이터그램이 도착하지 않아 큐는 배정 하지 않음

Page 37: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

37HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 설계설계 (( 계속계속 ))

예제 2 후의 제어 블록 테이블

State Process ID Port Number Queue Number

IN-USE 2,345 52,010 34

IN-USE 3,422 52,011

IN-USE 4,978 52,014IN-USE 4,652 52,012 38

FREE

Page 38: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

38HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 설계설계 (( 계속계속 ))

예제 352,011 포트에 데이터그램 도착

테이블을 검사하여 큐가 배당되지 않음을 확인

모듈은 43 번 큐 생성

Page 39: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

39HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 설계설계 (( 계속계속 ))

예제 3 후의 제어 블록 테이블

State Process ID Port Number Queue Number

IN-USE 2,345 52,010 34

IN-USE 3,422 52,011 43IN-USE 4,978 52,014

IN-USE 4,652 52,012 38

FREE

Page 40: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

40HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDP UDP 설계설계 (( 계속계속 ))

예제 4몇 초 후 52,222 포트에 데이터그램에 도착이를 위한 엔트리를 찾지 못함데이터그램은 폐기되고 , 발신지에 “ unreachable port”

메시지를 보낼 것을 ICMP 에 요청

예제 5몇 초 후 프로세스가 사용자 데이터그램을 보내고자 함데이터를 출력 모듈에 보내고 , 이 모듈로 UDP

헤더를 붙여서 보냄

Page 41: 11.1  프로세스-대-프로세스 통신 11.2  사용자 데이터그램 11 .3검사합 11 .4 UDP  동작 11.5UDP  사용 11 .6 UDP  설계

41HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

11.7 11.7 요약요약