제 11 장 UDP 11.1 프로세스-대-프로세스 통신 11.2 사용자 데이터그램 11.3 검사합 11.4 UDP 동작

Slides:



Advertisements
Similar presentations
컴퓨터와 인터넷.
Advertisements

정보 보안 개론과 실습 네트워크 해킹과 보안 3부 해킹 전 정보 획득 Chapter 10. 목록화.
16장 X.25 패킷 교환망 16.1 X.25 계층 구조 16.2 패킷 계층 프로토콜 16.3 요약.
Chapter 14 User Datagram Protocol (UDP).
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
22 장 프로세스간 전달 : UDP와 TCP 22.1 프로세스간 전달 22.2 사용자 데이터그램 프로토콜
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
PHP입문 Izayoi 김조흔.
24 장 TCP/IP 24.1 개요 24.2 네트워크층 24.3 주소 지정 24.4 서브넷팅틍
Internet Group Management Protocol (IGMP)
VoIP (Voice Over Internet Protocol)
9장 데이터 링크층 개요 (Introduction To Data-Link Layer)
제 17 장 TCP : 전송 제어 프로토콜 정보통신연구실.
제 14장 Multicast & Broadcast
Internet Control Message Protocol Version 4 (ICMPv4)
네트워킹 CHAPTER 13 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL
제 15 장 점 대 점 프로토콜 15.1 천이상태 15.2 PPP 계층 15.3 링크 제어 프로토콜 15.4 인증
11 장 LAN 기본 개념과 Ethernet LAN
15장 X.25 패킷 교환망 15.1 X.25 계층 15.2 X.25와 관련된 기타 프로토콜 15.3 요약.
Chapter 21 Network Layer: ARP, ICMP (IGMP).
제 6 장 인터넷 제어 메시지 프로토콜.
제 19 장 TFTP 19.1 메시지 19.2 연결 19.3 데이터 전송 19.4 UTP 포트 19.5 TFTP 예제
Chapter 06. UDP 서버/클라이언트.
TCP/IP 응용 프로그램에 적용 가능한 다양한 소켓 옵션을 이해하고 활용한다.
01. DHCP의 개념 조직의 네트워크에 연결되어 있는 워크스테이션의 TCP/IP 설정을 자동화하기 위한 표준 프로토콜
메시지 큐[5] – test1.c 메시지 제어: msgctl(2) #include <sys/msg.h>
ARP Project 조 충 호 교수님 김 세 진 조교님 조 진 형 변 익 수
10 장 데이터 링크 제어(Data Link Control)
프로젝트 발표 순서 12/7(수), 팀 별 15분 발표순서 PPT (팀 별 이름, 구현 내용, 결과-그래프 포함) 각 기법당
17장 X.25 패킷 교환망 17.1 X.25 계층 17.2 X.25와 관련된 기타 프로토콜 17.3 요약.
Chapter 5 UDP Socket 소켓 프로그래밍.
Chapter 19 솔라리스 네트워크 관리 Solaris1 . TCP/IP 개요
제 7 장 인터넷 프로토콜 : IP 7.1 데이터그램 7.2 단편화 7.3 옵션 7.4 검사합 7.5 IP 설계 7.6 요약.
U D P 전공 : 정보보호 학번 : 이름 : 배 지 태.
Trivial File Transfer Protocol (TFTP)
Network Security WireShark를 활용한 프로토콜 분석 I.
TCP/IP 응용 프로그램에 적용 가능한 다양한 소켓 옵션을 이해하고 활용한다.
22 장 전송층(Transport Layer)
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
제 15 장 BOOTP와 DHCP BOOTP 15.2 동적 호스트 설정 프로토콜.
Transmission Control Protocol (TCP)
통신프로토콜 전산정보학부 모바일인터넷과 권 춘 우
21 장 전송층(Transport Layer)
제 12 장 전송 제어 프로토콜(TCP) 12.1 프로세스간 통신 12.2 TCP 서비스 12.3 세그먼트 12.4 옵션
User Datagram Protocol (UDP)
9 TCP의 이해 학습 목표 전송 계층 프로토콜이 제공하는 기능을 이해한다.
오라클 넷(Oracle Net)의 개념 및 구성
TCP/IP 인터네트워킹 INTERNETWORKING with TCP/IP <vol
Network 네트워크 이론 및 실습 TCP / IP 4장.
-네트워크 관리 개요 및 SNMP 프로토콜 동작과정
10 장 데이터 링크 제어(Data Link Control)
10 장 데이터 링크 제어(Data Link Control)
2 네트워크 모델 학습 목표 모듈 개념을 알아보고 계층 구조의 필요성을 이해한다.
10 기타 전송 계층 프로토콜.
01. 라우팅 및 원격 액세스의 개요 라우팅은 패킷을 송신지부터 수신지까지 어떠한 경로를 통해 보낼 것인지를 결정하는 방법
Chapter 26 IP over ATM.
제 11장 User Datagram Protocol(UDP)
01. DHCP의 개념 조직의 네트워크에 연결되어 있는 워크스테이션의 TCP/IP 설정을 자동화하기 위한 표준 프로토콜
01. 개요 네트워크에 있는 컴퓨터와 그룹에 대한 NetBIOS 이름에 대응되는 IP 주소를 찾아주는 서비스
Chapter 27 Mobile IP.
통신프로토콜 전산정보학부 모바일인터넷과 권 춘 우
제 13 장 인터넷 그룹 관리 프로토콜 정보통신연구실.
9 장 오류 검출 및 오류 정정 9.1 오류 종류 9.2 검출 9.3 오류 정정 9.4 요약.
제 6 장 IP 패킷 전달과 라우팅 6.1 연결형 서비스와 비연결형 서비스 6.2 직접 전달과 간접 전달 6.3 라우팅 방법
The OSI Model and TCP/IP Protocol Suite
동적메모리와 연결 리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
채팅 및 파일전송 프로그램 권 경 곤 김 창 년.
4. IP 데이터그램과 라우팅 (6장. 인터넷과 IP) IP 데이터그램 : 특정 물리망에 종속되지 않은 가상의 패킷 형식.
ARP.
Presentation transcript:

제 11 장 UDP 11.1 프로세스-대-프로세스 통신 11.2 사용자 데이터그램 11.3 검사합 11.4 UDP 동작 11.1 프로세스-대-프로세스 통신 11.2 사용자 데이터그램 11.3 검사합 11.4 UDP 동작 11.5 UDP 사용 11.6 UDP 설계 11.7 요약

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

UDP 전송 프로토콜의 임무 프로세스-대-프로세스 통신 생성 : 포트 번호 이용 최소한의 오류 제어 메커니즘 수행 프로세스로부터 데이터 단위를 받아 신뢰성 없는 전달 제공 비연결형, 신뢰성이 없는 전송 프로토콜 최소한의 오버헤드만 사용하는 간단한 프로토콜

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

프로세스-대-프로세스 통신(계속) 포트 번호 프로세스-대-프로세스 통신 방법 : 클라이언트 / 서버 클라이언트와 서버 프로세스는 같은 이름을 가짐 Daytime client process / daytime server 원격 컴퓨터는 여러 개의 서버 프로그램 실행 로컬 컴퓨터로 여러 개의 클라이언트 프로그램 수행

프로세스-대-프로세스 통신(계속) 프로세스 통신을 위해 필요한 사항 로컬 호스트(local host) 로컬 프로세스(local process) 원격 호스트(remote host) 원격 프로세스(remote process)

프로세스-대-프로세스 통신(계속) 프로세스 통신에서 포트 번호의 역할 로컬 호스트와 원격 호스트 : IP 주소 프로세스 : 포트 번호 포트 번호 범위 : 0 ~ 65,535 사이 정수 잘 알려진 포트 번호(well-known port number) 임시 포트 번호(ephemeral port number)

프로세스-대-프로세스 통신(계속) 포트 번호

프로세스-대-프로세스 통신(계속) IP 주소 대 포트 번호

프로세스-대-프로세스 통신(계속) IANA(Internet Assigned Numbers Authority) 범위 잘 알려진 포트 : 0 ~ 1,023 등록된 포트(registered port) : 1,024 ~ 49,151 동적 포트(dynamic port) : 49,152 ~ 65,535

프로세스-대-프로세스 통신(계속) 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 Simple Network Management Protocol(trap)

프로세스-대-프로세스 통신(계속) 소켓 주소(Socket Address) 각 종단 점에서 연결을 만들기 위해 필요한 주소

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

사용자 데이터그램(계속) 사용자 데이터그램 형식 발신지 포트 번호(source port number) 목적지 포트 번호(destination port number) 길이(length) : 헤더 + 데이터 검사합 : 오류 발견

사용자 데이터그램(계속) UDP 검사합에 포함된 부분 의사 헤더(Pseudoheader) UDP 헤더 응용 계층으로부터 온 데이터

사용자 데이터그램(계속) UDP 헤더에 첨부된 의사 헤더

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

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

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

11.4 UDP 동작 비 연결형 서비스 흐름제어와 오류제어 각 데이터그램은 서로 독립적 연결 설정과 종료 과정 없이 서로 다른 경로로 전달될 수 있음 작은 메시지를 보내는 프로세스만이 UDP 사용 흐름제어와 오류제어 간단하고 신뢰성 없는 프로토콜 흐름제어도 없고 윈도우 메커니즘도 없음 검사합 외에는 오류 제어 메커니즘이 없음

UDP 동작(계속) 캡슐화와 역 캡슐화

UDP 동작(계속) UDP에서 사용되는 큐(Queue)

UDP 동작(계속) 큐잉 클라이언트에서 프로세스가 시작될 때 운영체제에게 포트번호 요청(임시) 구현에 따라 입력 큐 또는 입/출력 큐 생성 프로세스가 종료 되면 큐는 제거 큐가 생성되어 있지 않으면 ICMP 프로토콜에게 “port unreachable” 메시지를 보낸 데이터그램은 폐기

UDP 동작(계속) 다중화와 역 다중화

11.5 UDP 용도 단순한 요청-응답을 필요로 하는 프로세스 흐름 제어와 오류 제어가 크게 필요하지 않은 프로세스 내부적인 흐름 제어와 오류 제어 메커니즘을 가지고 있는 프로세스 멀티캐스팅과 브로드캐스팅을 위한 전송 프로토콜 SNMP와 같은 관리 프로세스 RIP(Routing Information Protocol)와 같은 경로 갱신 프로토콜에 사용

11.6 UDP 설계 UDP 패키지 구성 요소 제어 블록 테이블 입력 큐 제어 블록 모듈 입력 모듈 출력 모듈

UDP 설계(계속) UDP 설계

UDP 설계(계속) 제어 블록 테이블(Control Block Table) 입력 큐(Input Queue) 연결 포트를 추적하기 위한 테이블 테이블 엔트리(상태, 프로세스 ID, 포트 번호, 큐 번호) 입력 큐(Input Queue) 프로세스당 하나씩 배정

UDP 설계(계속) 제어 블록 모듈(Control-Block Module) 제어 블록 테이블 관리 담당 프로세스가 시작될 때 운영체제에게 포트 번호 요청 운영 체제는 서버에게 잘 알려진 포트 번호, 클라이언트는 임시 포트 번호 배정 프로세스 번호와 포트 번호를 제어 블록으로 보냄

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

UDP 설계(계속) 입력 모듈(Input Module) IP로 부터 데이터그램을 받는다 제어 블록 테이블을 찾아서 데이터그램과 같은 포트 번호를 가진 엔트리를 찾는다 있으면 엔트리 정보를 이용하여 데이터를 큐에 넣는다 없으면 ICMP 메시지를 생성

UDP 설계(계속) 입력 모듈 알고리즘 Receive: a user datagram from IP 1. 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

UDP 설계(계속) 출력 모듈(output module) 데이터그램을 생성하여 보내는 책임을 가짐 Receive: data and information from a process Create a UDP user datagram. Send the user datagram. Return.

UDP 설계(계속) 예제 : 제어 블록 데이터의 초기값 State Process ID Port Number Queue Number IN-USE 2,345 52,010 34 3,422 52,011 FREE 4,652 52,012 38

UDP 설계(계속) 예제 1 목적지 포트 번호가 52,012 인 데이터그램 도착 입력 모듈이 01 번호를 찾아냄 큐 번호 38 이 IN-USE 상태 데이터그램을 38 번 큐에 보냄 테이블은 변하지 않음

UDP 설계(계속) 예제 2 몇 초 후에 프로세스 시작 운영체제에게 포트 번호 요청 포트 번호 52,014 할당 받음 테이블에 엔트리 생성 이곳을 향한 데이터그램이 도착하지 않아 큐는 배정 하지 않음

UDP 설계(계속) 예제 2 후의 제어 블록 테이블 4,978 52,014 State Process ID Port Number Queue Number IN-USE 2,345 52,010 34 3,422 52,011 4,978 52,014 4,652 52,012 38 FREE

UDP 설계(계속) 예제 3 52,011 포트에 데이터그램 도착 테이블을 검사하여 큐가 배당되지 않음을 확인 모듈은 43 번 큐 생성

UDP 설계(계속) 예제 3 후의 제어 블록 테이블 3,422 52,011 43 State Process ID Port Number Queue Number IN-USE 2,345 52,010 34 3,422 52,011 43 4,978 52,014 4,652 52,012 38 FREE

UDP 설계(계속) 예제 4 예제 5 몇 초 후 52,222 포트에 데이터그램에 도착 이를 위한 엔트리를 찾지 못함 데이터그램은 폐기되고, 발신지에 “unreachable port” 메시지를 보낼 것을 ICMP에 요청 예제 5 몇 초 후 프로세스가 사용자 데이터그램을 보내고자 함 데이터를 출력 모듈에 보내고, 이 모듈로 UDP 헤더를 붙여서 보냄

11.7 요약