0. 들어가기 전

Similar documents
The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to TCP/IP Sockets: C Version

thesis

yessign Version 3.1 (yessign). ccopyright 2009 yessign ALL RIGHTS RESERVED

- - yessign Version 3.5 (yessign)

Slide 1

PowerPoint Presentation

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

final_thesis

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

C# Programming Guide - Types

Microsoft PowerPoint - 04-UDP Programming.ppt

chap 5: Trees

Microsoft PowerPoint - chap03-변수와데이터형.pptx

1

슬라이드 1

snmpgw1217

untitled

HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M.

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

Index Process Specification Data Dictionary

제8장 자바 GUI 프로그래밍 II

PowerPoint 프레젠테이션

JAVA PROGRAMMING 실습 02. 표준 입출력

1217 WebTrafMon II

제4장 기본 의미구조 (Basic Semantics)

PowerPoint 프레젠테이션

Microsoft PowerPoint - lec2.ppt

PowerPoint Presentation

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

슬라이드 1

PowerPoint Presentation

adfasdfasfdasfasfadf

PowerPoint Presentation

thesis

Microsoft PowerPoint - ch07 - 포인터 pm0415

[ 네트워크 1] 3 주차 1 차시. IPv4 주소클래스 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

SMB_ICMP_UDP(huichang).PDF

Microsoft PowerPoint - 2강


09-interface.key

MySQL-.. 1

PowerPoint Presentation

untitled

PowerPoint Presentation

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

-. Data Field 의, 개수, data 등으로구성되며, 각 에따라구성이달라집니다. -. Data 모든 의 data는 2byte로구성됩니다. Data Type는 Integer, Float형에따라다르게처리됩니다. ( 부호가없는 data 0~65535 까지부호가있는

어댑터뷰

0. 들어가기 전

The Pocket Guide to TCP/IP Sockets: C Version

歯홍원기.PDF

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

chap x: G입력


Design Issues

OCW_C언어 기초

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

기초컴퓨터프로그래밍

삼성955_965_09

슬라이드 1

PowerPoint 프레젠테이션

게시판 스팸 실시간 차단 시스템

JAVA PROGRAMMING 실습 08.다형성

Microsoft PowerPoint - e pptx

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

Microsoft PowerPoint - chap11-포인터의활용.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

TCP.IP.ppt

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

Something that can be seen, touched or otherwise sensed

Microsoft PowerPoint - a10.ppt [호환 모드]

PowerPoint 프레젠테이션

Microsoft PowerPoint - C++ 5 .pptx

02 C h a p t e r Java

untitled

ThisJava ..

Microsoft PowerPoint - chap04-연산자.pptx

KYO_SCCD.PDF

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint 웹 연동 기술.pptx

OCW_C언어 기초

The Pocket Guide to TCP/IP Sockets: C Version

歯규격(안).PDF

Microsoft PowerPoint - Chapter 6.ppt

MPEG-4 Visual & 응용 장의선 삼성종합기술원멀티미디어랩

자바-11장N'1-502

Microsoft PowerPoint - Chapter_04.pptx

Microsoft PowerPoint - hci2-lecture12 [호환 모드]

설계란 무엇인가?

UML

T/F 월간 보고

OCaml

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000

PowerPoint 프레젠테이션

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

Microsoft PowerPoint - thesis_annie.ppt

1장. 유닉스 시스템 프로그래밍 개요

PowerPoint 프레젠테이션

Transcription:

1 목포해양대해양컴퓨터공학과 11 장. 상위계층 (2) - 표현계층 컴퓨터네트워크

2 목포해양대해양컴퓨터공학과 이번시간의학습목표 네트워크에서데이터표현의일관성이무엇인지이해 데이터압축원리이해

3 목포해양대해양컴퓨터공학과 표현계층 응용프로세스사이에전송되는메시지의표현방법과관련 전송메시지에표현된문법 (syntax) 내용을통신양단의프로세스가해석하는기능제공 송신프로세스가전달하려는의미 (Semantic) 를수신프로세스가정확히이해하도록함

4 목포해양대해양컴퓨터공학과 데이터표현 추상문법과전송문법 추상문법 : 각컴퓨터에서사용하는데이터표현규칙 전송문법 : 네트워크전체에서일관성을지니는표현규칙 특정컴퓨터에독립적이면서네트워크전체에서일관성을가지는새로운표현규칙 ( 전송문법 ) 으로변환하여전송 수신측에서는자신의컴퓨터에서이해하는추상문법형태로변환하는과정필요

5 목포해양대해양컴퓨터공학과 ASN.1 (1) 분산환경에서표현되는데이터를정의하기위한일반적인추상문법 다양한언어용코드를생성하는컴파일러존재 응용계층에서의문법규칙뿐만아니라 PDU 구조도정의

6 목포해양대해양컴퓨터공학과 ASN.1 (2) 지원하는클래스유형 UNIVERSAL: 일반데이터유형 CONTEXT-SPECIFIC: 특정컨텍스트와관련된유형 APPLICATION: 응용개체의공통유형 PRIVATE: 사용자정의유형 UNIVERSAL 클래스 일반데이터유형을정의 기본유형 (Primitive) 과구조 (Constructed) 유형으로구분 기본유형 예 단위유형 문자열유형 BOOLEAN, INTEGER, BITSTRING, OCTSTRING, StudentNumber ::= INTEGER Name ::= IA5String MaleFemail ::= BOOLEAN EntranceRight ::= BITSTRING {accept(0), reject(1)} PersonalInformation ::= OCTETSTRING

7 목포해양대해양컴퓨터공학과 ASN.1 (3) UNIVERSAL 클래스 ( 계속 ) 구조유형 UNIVERSAL SEQUENCE: 순서대로나열한임의유형의모임 ( 고정크기 ) SEQUENCE: 순서대로나열한동일유형의모임 ( 고정 / 가변크기 ) SET: 순서없이나열한임의유형의모임 ( 고정크기 ) SETOF: 순서없이나열한동일유형의모임 ( 고정 / 가변크기 ) CHOICE: 미리정의된유형모임에서선택한순서가없는유형모임 ( 고정크기 ) Student Record ::= SEQUENCE { } StudentNumber Name IA5String, INTEGER, MaleFemail BOOLEAN

8 목포해양대해양컴퓨터공학과 ASN.1 (3) 태그 구조유형에선언된변수를개별적으로사용하기위함 배열의인덱스와유사 선언방법 CONTEXT-SPECIFIC: 태그의범위가현재구조유형에한정됨 APPLICATION: 태그의범위가전체응용컨텍스트에적용됨 PRIVATE: 태그의범위가해당사용자에게적용됨 예 Student Record ::= SEQUENCE { } StudentNumber [APPLICATION 1] INTEGER, Name [1] IA5String, MaleFemail [2] BOOLEAN StudentNumber 는다른응용에서도사용가능 Name, MaleFemale 은현재유형에서만사용가능

9 목포해양대해양컴퓨터공학과 ASN.1 소개 (1) a machine independent data description language CCITT (X.208) and ISO (ISO 8824) standard define abstract syntax of application data define the structure of application and presentation protocol data units (PDUs) define SNMP, VOIP and IEC61850 MMS

ASN.1 소개 (2) User User Local storage (e.g, MIB) user presentation mapping user presentation mapping Local storage (e.g, MIB) local mapping Application component Abstract Syntax (e.g., ASN.1) Application component local mapping encoding rules encoding rules data transfer component (e.g, TCP, OSI session) Transfer Syntax (e.g., BER) data transfer component (e.g, TCP, OSI session) 10

ASN.1 소개 (3) Application Entity 에대한규격표현에주로사용 Application Entity 정보의의미 (sematics) 에만의미를두고정보의표현형식 (syntax) 에는무관함 추상구문을기술하기위한기법 Application/Presentation Layer PDU(Protocol Data Unit) 표현 다양한인터페이스나통신매체를통하여전송되어야할정보를기술하기위한 INL(Interface Notation Language) 로사용 11

ASN.1 소개 (4) 다양한데이터타입들의표현 BOOLEAN INTEGER SEQUENCE SEQUENCE OF BIT STRING OCTET STRING NULL REAL GeneralizedTime IA5String BMPString UTF8String ENUMERATED 12

BER(Basic Encoding Rules) BER 은전송되는데이터가어떻게인코딩되어야하는지를기술 기기특성, 프로그래밍언어, 에플리케이션표현방법과독립적 Age ::= INTEGER (0..7) firstgrade Age ::= 6 Application 1 02 01 06 Application 2 CCITT (X.209) and ISO (ISO 8825) standard Value Length Tag } 전체 24 bits based on the use of a type-length-value (TLV) structure 13

PER-Packed Encoding Rules BER 과마찬가지로전송되는데이터가기기의종류, 프로그래밍언어, 어플리케이션프로그램의표현방법과는독립적으로어떻게인코드되어야하는지를기술 BER 과는달리기본적으로태그는전송안됨그리고 length 와 value 가종단간에이미약속이되어있다면전송되지않음 PER은전송시대역폭을보다적게사용하기위한목적으로정의되었으며, 소리와영상을전송하는인터넷, 공중파통신과같이대역폭이중요한곳이라면어느곳이라도유용하게사용 Age ::= INTEGER (0..7) firstgrade Age ::= 6 Application 1 110 Application 2 total length of 3 bits 14

XER-XML Encoding Rules BER, PER 과마찬가지로, 전송하기위한데이터의장치의종류, 프로그래밍언어또는어플리케이션프로그램의표현에대해독립적 축소된규칙과는달리곧바로읽기쉽다. 좀더읽기쉽게하는데목적이있다. 추가대역폭을필요로한다. BCN 등대규모대역폭을갖는환경에적합하다. Age ::= INTEGER (0..7) firstgrade Age ::= 6 Application 1 <Age>6</Age> Application 2 total length of 12 octets 15

ASN.1/ 인코딩규칙표준문서 ITU-T Rec. X.680 ISO/IEC 8824-1 - Basic ASN.1 Notation ITU-T Rec. X.681 ISO/IEC 8824-2 - Information Object Classes ITU-T Rec. X.682 ISO/IEC 8824-3 - Constraints ITU-T Rec. X.683 ISO/IEC 8824-4 - Parameterization ITU-T Rec. X.690 ISO/IEC 8825-1 Basic Encoding Rules (BER) Canonical Encoding Rules (CER) Distinguished Encoding Rules (DER) ITU-T Rec. X.691 ISO/IEC 8825-2 Packed Encoding Rules (PER) 16

ASN.1 데이터타입 (1) 프로그래밍언어와같이미리정의된몇가지타입을가진다. 사용자는 ASN.1 이제공하는기본타입외에새롭게정의된타입을사용할수있다. 타입정의를위한일반적인형식 <typereference> ::= <type> 타입의이름은반드시대문자로시작해야한다. 대부분의 ASN.1 에서미리정의된타입은대문자로표기된다. 17

ASN.1 데이터타입 (2) BIT STRING 비트의임의의스트링 BOOLEAN True/False OCTET STRING 8 진수스트링 IA5STRING ASCII 스트링 INTEGER 임의의정수 REAL 임의의실수 NULL 널값 18

ASN.1 데이터타입 (3) PrintableString 프린트가능한스트링 OCTET IDENTIFIER 객체를식별하는정수값의연속 SEQUENCE 서로다른 ASN.1 데이터타입들의순서적집합 SEQUENCE OF 동일한타입의순서적집합 SET 서로다른 ASN.1 데이터타입들의비순서적집합 SET OF 동일한타입의비순서적집합 19

태그 (Tags) (1) 정의된모든타입들은태그를지정받는다. 태그는 ASN.1 에서표준으로지정될수도있고, 사용자가지정할수도있고 태그는두개의부분으로구성된다 Class Specific Number Universal, Application, Private and Context non-negative integer of arbitrary size 태그는 PER 에의해인코딩되지않는다 20

태그 (Tags) (2) Universal Class 세계적으로유일하게지정하는클래스 Application Class 어떤특정 ASN.1 모듈속에유일하게정의하는클래스 해당클래스의데이터형은어떤특정한응용속에서만사용될태그 Context-Specific Class 구조형의 ASN.1 데이터형속에유일하게지정하는클래스 해당클래스태그는정의되어있는데이터형속에의미를가지며, 외부에서는의미를갖지않음 Private Class 상호합의되어있는어떤특정기업및단체에속에서유일하게지정할수있는클래스 21

태그 (Tags) (3) BER 4 개의구성요소로구성 Identifier Octets Length Octets Contents Octets End of Contents(EOT) Identifier Octets 의 Encoding 데이터값의형식에대한태그값을 encoding 태그번호의범위가 0~30 이면 ID Octet 은단일 Octet 으로구성 8 비트 7 비트 6 비트 5 비트 4 비트 3 비트 2 비트 1 비트 1~5 비트 : 태그번호 6 비트 : P/C (0 : 기본요소, 1: 구조화 ) 7~8 비트 : 태그클래스 (00, 01, 10, 11) 22

태그 (Tags) (4) BER- 계속 Identifier Octets 의 Encoding 계속 태그번호가 31 보다크면 ID. Octet 은하나이상의다음 Octet 이따르는선행 Octet 의로구성 연속 Octet 태그클래스 P/C 11111 1 1 1 0 선두 Octet 태그번호 23

태그 (Tags)(5) BER 계속 Length Octet 단형길이 Contents Octet 의길이를 encode 하며, 최대 127 개까지나타낼수있음 ID. Octets 0 길이 장형길이 ID. Octets 1 초기 Contents Octets 초기는길이 Octet 의길이를나타내며, 길이 Octet 은내용 Octet 의길이를니타냄 길이 Octet 불확정길이 Contents Octets 이 EOT 에의해끝남 Contents Octets 24 ID. Octets 10000000 00 00 Contents Octets EOT

태그 (Tags)(6) BER- 계속 Contents Octets O 또는하나이상의 Octet 으로구성되며 ASN.1 데이터값을 encode BOOLEAN 값 encode ID. Octets : 1 부호화형 : 기본요소 Contents Octet : 단일 Octet 내용값 : FALSE(0), TRUE(1) 정수값 encode ID. Octet : 2 부호화형 : 기본요소 Contents : 하나이상의 Octet 으로구성되며, 2 의보수로표시함 25

태그 (Tags)(7) Type INTEGER/Integer32 SNMPv1 protocol SNMPv2 protocol ASN.1 Tag UNIVERSAL 2 Tag Number 0x02 Tag Value 0x02 OCTET STRING UNIVERSAL 4 0x04 0x04 NULL UNIVERSAL 5 0x05 0x05 OBJECT IDENTIFIER UNIVERSAL 6 0x06 0x06 SEQUENCE UNIVERSAL 16 0x10 0x30 IpAddress APPLICATION 0 0x00 0x40 Counter/Counter32 APPLICATION 1 0x01 0x41 Gauge/Gauge32 APPLICATION 2 0x02 0x42 TimeTicks APPLICATION 3 0x03 0x43 Opaque Counter64 APPLICATION 4 APPLICATION 6 0x04 0x06 0x44 0x46 26

데이터압축 (1) 데이터압축과보안 압축 : 전송데이터의양을줄이는목적으로사용 암호화 : 전송데이터의내용을해석하지못하도록하기위하여사용 대용량데이터를압축하여크기를줄인후전송하는것이전송속도면에서유리 원래데이터의패턴에영향을받음 중복이많으면압축률이높음 알고리즘에따라압축률이달라짐 데이터특성에맞는알고리즘선택이중요 27

데이터압축 (2) 연속문자압축의예 원본데이터 : 18 * 10 = 180 바이트 압축알고리즘 특정문자가연속해서몇번나타나는지를표현 struct send_data { } 압축데이터 char pattern; // 임의의패턴 short count; // 반복횟수 3 * 19 = 57 바이트 압축해제 (Decompression) 반대의과정 동일패턴이반복되는환경에서유리, 그렇지않으면오히려더커질가능성 28

데이터압축 (3) 손실 / 비손실압축 비손실 (lossless) 압축 압축과정에서원래데이터의내용을분실하지않음 압축해제과정을통해원래의데이터를 100% 복원 손실 (lossy) 압축 압축과정에서원래데이터의내용을부분적으로분실 압축해제과정을통해원래의데이터를 100% 복원할수없음 압축효율을높이기위하여사용 29