it 일반기술 강의자료_ed10

26
April 2015 ED1.1 HR Kwon ([email protected] ) IT 강의자료 IT 일반기술 (Basic Concepts)

Upload: hungrok

Post on 15-Jul-2015

185 views

Category:

Software


0 download

TRANSCRIPT

Page 1: IT 일반기술 강의자료_ed10

April 2015 ED1.1

HR Kwon ([email protected] )

IT 강의자료 IT 일반기술 (Basic Concepts)

Page 2: IT 일반기술 강의자료_ed10

1

IPv6

Features

. IPv4 의 32bit 주소 체계에서 128bit 주소 체계 로 확장을 의미하며, 아래와 같은 추가적인 특징을 지닌다.

1) Packet 크기 확장 : 64KB에서 제한이 없도록

2) 효율적인 Routing : IP header 확장 (단순화 된 고정 Header + 확장 Header) 3) QOS : Flow Label 개념 도입, 특정 Traffic high priority 4) 인증 및 보안 기능 5) 이동성 : 물리적 위치에 제한 받지 않고 같은 주소를 유지 하면서 자유롭게 이동

적용 되어야 할 Protocols

구성도

구분 IPv4 IPv6 비고

Socket DOMAIN : PF_INET4 Sockaddr

DOMAIN : PF_INET6 Sockaddr6

TCP / UDP TCP / UDP TCP / UDP 동일

IP IPv4 IPv6 IP Header 가 확장되어 IPv6 feature 를 표현한다

DHCP DHCPv4 DHCPv6

IP Layer Protocol ARP / ICMP / IGMP ICMPv6 3가지 기능 및 DHCP 일부 기능이 통합 됨

기타 getHostByName getHostByName2 Linux System Call

App Socket v6 TCP UDP

IPv6

ICMPv6

DHCPv6

Network Device

Page 3: IT 일반기술 강의자료_ed10

2

IPv6

IPv6 주소 획득 방법 . 아래 두 가지 방법이 사용 된다

(1) Stateless 방법 : Router 가 ICMPv6 의 RA message 로 지정 (2) Stateful 방법 : DHCPv6 를 사용 (우선 RA message 의 M/O flag 정보를 보고 판단한다)

주소체계

용도 Range 설명

Unicast 2000::/3 Global Unicast 주소로 칭 한다

Multicast ff00::/8 . 두 가지 rule 이 있다 Rule-1 : Flag ORPT – Scope – Group ID Rule-2 : Flag ORPT – Scope – Prefix – Network Prefix – Group ID . Scope : 네트웍 레벨 전파 범위를 나타낸다 Global > Org Local > Site Local > Link Local > Node Local

Site Local = Router 단위, Link Local = Switch 단위, Node Local = Host 를 의미

. Group : 서버 레벨 전파 범위를 나타낸다 All Nodes, All Routers, PIM Router, All DHCP Agents, All DHCP Servers, NTP server

Local fe80::/10 fec0::/10

Link Local 내 에서 관리용 으로 사용되는 주소 (예. RA 시 Router 의 소스 IP 로 사용) Site Local 내 에서 관리용 으로 사용되는 주소

Unique Local fc00::/8 ~ fcff::/8 fd00::/8 ~ fdff::/8

Unique Local Reserved Unique Local Random /48 subnets

All 0 ::/128 IP 미 설정 상태 의 발신주소

All 1 ::1/128 Local Loop back 주소 (IPv4 의 127.0.0.1 과 동일)

주1. 2000::/3 의 의미는 2000:000x:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx 이다 주2. HW MAC 주소는 기존과 동일하며, Unicast 와 Multicast 만이 사용된다 (Broadcast 적용이 없다) Multicast 는 33:33:xx:xx:xx:xx 형태 이며, 하위 32 bit 는 IPv6 주소의 하위 32 bit 와 동일하다

Page 4: IT 일반기술 강의자료_ed10

3

Mobile IP

Features

. TCP / IP 를 기반으로 하며, 기지국 이동 시 부가 주소 (CO Address) 를 사용한다

. Triangle routing, Tunneling 기법이 사용된다

. 기지국 이동 시, 절차도 (Step 1~6) 그림

Internet

Home Agent

Foreign Agent

Mobile Home

Network

Data Base

Mobile Node-1

Server

Source-IP : Server Destination-IP : Mobile Node Home Address

전화번호,HA,,,

Foreign Home

Network

Mobile Node-1

1) 이동 2) Search FA 3) Registration FA 4) Assign CoA

5) 신고

6) Tunneling

Home Address CO Address

RX Datagram

TX Datagram

Page 5: IT 일반기술 강의자료_ed10

4

HTTP

Hyper Text Transfer Protocol

. TCP (connection oriented) 응용 계층으로, Web 상에서 서버 와 client 간 data 전송방법

. Text 기반 Message, Message 의 종류를 구분하는 것을 Method 라 칭 하며, 작업 의 종류를 구분한다

. HTTP Message 는 Header 와 Body 로 구성

MAC Header IP Header TCP Header HTTP Message

Packet Switching Network

HTTP

TCP

IP

Socket

Data Link & PHY

HTTP

TCP

IP

Socket

Data Link & PHY

Web Browser Client

Web Browser Server

< Method > GET retrieve header and body POST insert PUT update DELETE delete HEAD retrieve header only OPTIONS supported methods TRACE echo test

WebKit

index.html

http://www.hungrok.com:80/index.html www.hungrok.com

Page 6: IT 일반기술 강의자료_ed10

5

HTTP

URI (Uniform Resource Identifier)

. URI = URL (Locator) + URN (Name)

. URN : 불변하지 않는 자원이름, 거의 사용이 되지 않는다

. URL

주1. 서버의 resource 를 지칭 하며, 위치 및 query parameter 를 포함 할 수 있다 : http://host [:port] [ abs_path [?query]]

주2. 특정한 자원이 지정되지 않으면, 서버는 default 자원을 대상으로 한다 (/index.html)

주3. query parameter 는 Get Method 시 에만 사용된다 (?)

Method 상세 설명

. 사용자 가 브라우저 에서 지정하여 사용하는 방식은 GET method 를 사용한다

Method 설명

GET . Request URI 에 명기된 Information 을 가져오는 것 (retrieve) 이다 . Information 은 정적인 data 뿐만 아니라 data producing process 도 의미한다 . 상기 사유로 Form 에 대하여 Get Method 를 사용하는 것이 가능하다 . Request Line : GET do1.asp ?name=kwon&age=28 HTTP/1.1

POST . Request URI 에 지정된 서버의 resource 에 새로운 종속물로서 Entity 를 보낸다 . Submit 개념으로 종속물은 Entity Body 로 간다 . 서버의 리소스는 서버의 action 을 의미하며, 무슨 action 을 하는지는 서버의 고유사항 이다 . 예 : Posting message, Providing a block of data (Form), Extending a database, File 송부 . Request Line : POST do1.asp HTTP/1.1 Entity Body : name=kwon&age=28

PUT . Request URI 에 지정된 서버의 resource 하부 (under) 에 stored 하는 목적으로 enclosed entity 를 보낸다 . Upload 개념으로 enclosed entity 는 Entity body 로 간다 . 만약 기존에 있는 resource 라고 하면, Replace 되어야 한다 . 보안을 위하여 서버에서 일반적으로 사용되지 않는다 . Request Line : PUT /image/mypicture.jpg HTTP/1.1 단일 파일만 전송가능 할 것이다 (?)

Page 7: IT 일반기술 강의자료_ed10

6

HTTP

POST MultiPart 전송

. Multi Entity 를 보내는 것을 의미한다 (email 에서 다수의 첨부파일 송부 도 마찬가지 개념)

. Entity Header 의 Content-Type 에 정의를 한다 (이를 MIME 이라한다)

. HTML Form 을 사용하여 전송 시 Content-Type 사용 예

1) 단일 Part 송부, 쌍 (Key & Value) 으로 송부 : Content-Type = “application/x-www-form/urlencoded”

Entity Body = Name=Steve+Johnson&[email protected]

2) 단일 Part 송부, text 로 송부 : Content-Type = “text/plain”

3) MultiPart 송부 : Content-Type = “multipart/form-data;boundary=XXXX”

boundary 는 특정한 text 형식으로 (예. “-------end of part --------”), 서버에서 Parsing 을 용이하게 하기 위함이다

. 파일을 송부하는 경우에는 MultiPart 방식 으로만 가능하다

. Form 사용 시 MultiPart 전송 모습

Resource (action)

POST

Entity Header

Part 1 Entity Body

Part 2 Entity Body

Part 3 Entity Body

Boundary (Text)

Boundary (Text)

Boundary (Text)

Boundary (Text)

Content-Type =“multipart/form-data;boundary=XXXX” Content-Disposition; form-data; name=“Name” Content-Disposition; form-data; name=“email” Content-Disposition; form-data; name=“upload”, filename=“x” Content-Type =“text/html

Page 8: IT 일반기술 강의자료_ed10

7

HTTP

MultiPart 전송

. JAVA 에서 POST 를 사용하여 file 송부 하는 template code

HttpURLConnection conn = null; BufferedReader br = null; DataOutputStream dos = null; DataInputStream inStream = null; InputStream is = null; OutputStream os = null; boolean ret = false; String StrMessage = ""; String exsistingFileName = "C:\account.xls"; String lineEnd = " "; String twoHyphens = "--"; String boundary = "*****"; int bytesRead, bytesAvailable, bufferSize; byte[] buffer; int maxBufferSize = 1*1024*1024; String responseFromServer = ""; String urlString = "http://localhost:8080/FileUpload/requestupload"; FileInputStream fileInputStream = new FileInputStream( new File(exsistingFileName) ); url = new URL(urlString); conn = (HttpURLConnection) url.openConnection(); conn.setDoInput(true); conn.setDoOutput(true); conn.setUseCaches(false); conn.setRequestMethod("POST"); conn.setRequestProperty("Connection", "Keep-Alive"); conn.setRequestProperty("Content-Type", "multipart/form-data;boundary="+boundary); dos = new DataOutputStream( conn.getOutputStream() ); dos.writeBytes(twoHyphens + boundary + lineEnd); dos.writeBytes("Content-Disposition: form-data; name="upload";" + " filename="" + exsistingFileName +""" + lineEnd); dos.writeBytes(lineEnd); // create a buffer of maximum size bytesAvailable = fileInputStream.available(); bufferSize = Math.min(bytesAvailable, maxBufferSize); buffer = new byte[bufferSize]; // read file and write it into form... bytesRead = fileInputStream.read(buffer, 0, bufferSize); while (bytesRead > 0) { dos.write(buffer, 0, bufferSize); bytesAvailable = fileInputStream.available(); bufferSize = Math.min(bytesAvailable, maxBufferSize); bytesRead = fileInputStream.read(buffer, 0, bufferSize); } // send multipart form data necesssary after file data... dos.writeBytes(lineEnd); dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);

Page 9: IT 일반기술 강의자료_ed10

8

HTTP

Message 구성

. Request Line : GET /my/main.html HTML/1.1

. Response Line : HTTP/1.1 200 OK

< Request Header > Accept Accept-Charset Accept-Encoding Accept-Language Authorization Expect From Host If-Match If-Modified-Since If-None-Match If-Range If-Unmodified-Since Max-Forwards Proxy-Authorization Range Referrer TE User-Agent

< Response Header > Accept-Ranges Age ETag Location Proxy-Authenticate Retry-After Server Vary WWW-Authenticate

< General Header > Cache-Control Connection Date Pragma Trailer Transfer-Encoding Upgrade Via Warning

< Entity Header > Allow Content-Encoding Content-Language Content-Length Content-Location Content-MD5 Content-Range Content-Type Expires Last-Modified

< Cookie Header > Set-Cookie Cookie

Request Message . Request Line . General Header . Request Header . Cookie Header . Entity Header

Entity Body

If Entity Header

Response Message . Response Line . General Header . Response Header . Cookie Header . Entity Header

Entity Body

If Entity Header

Page 10: IT 일반기술 강의자료_ed10

9

MIME

Multipurpose Internet Mail Extension

. 전송되는 파일 (entity) 에 대한 실체를 명확하게 하기 위하여, HTTP 나 SMTP Header 에서 표현되는 내용 이다

. Entity Header 의 내용 중 에 content-type 과 content-transfer-encoding, content-id, content-description 으로 실체를 명확하게 표현한다

. 실체 의 표현 : 응용계층 종류, 적용된 Character Set, Transfer-encoding 종류

. Character Set : Text 파일이 만들어 질 때 적용된 문자 code

. Transfer-encoding : 전송 format (text 인지 binary 인지)

Base64

. Binary 를 text 로 encoding 하는 방법 이다

. 그냥 Binary 로 보내면 되지, 특별히 encoding 을 사용하는 이유는 아래와 같다

(1) 초기 SMTP 에서 원래의 Binary 를 Text 로 encoding 하는 방법 만을 사용 하였다 – 왜

(2) Web HTML 표준의 Java Script 초기에는 Text 만으로 HTTP Get 을 적용 하였다 (XMLHttpRequest)

(3) 현재는 Binary 만으로 송신하는 방법이 나왔으나, 그전 사용 분 의 유지로 인하여 상당부분 Base64 는 사용 되어지고 있다

전송 Entity

HTTP HTTP Header

. MIME Header

Original Entity (Binary)

Binary to Text

Encoding

Base64

TCP Packet

Original Entity (Text)

파일 (Entity) 은 크게 분류하면 Text 혹은 Binary 두 가지 로 분류 된다

Page 11: IT 일반기술 강의자료_ed10

10

MIME

Multipurpose Internet Mail Extension

. Binary data 를 Text 로 변환하는 일반적인 과정이다

. HTML 에서 사용하는 Form 객체는 아래와 같은 과정을 통하여 전송된다

< Content-type > text/xml charset=UTF-8 text/html charset=UTF-8 text/plain charset=UTF-8, text/plain charset=x-user-defined application/json application/xml application/pdf application/ms-tnef; name="winmail.dat" image audio video

< Content-transfer-encoding 종류 들> 1) SMTP 처음부터 적용 7 bit ; ASCII 임을 나타낸다 Quoted-printable Base 64 ; Binary Text (ASCII) encoding

2) SMTP 개정버전 에서 적용 8 bit ; 8 bit Text 임을 나타낸다 Binary ;

< Character Set 종류 들 > ASCII ; 7 bit (메모리 상에서는 8 bit 점유) ANSI, ISO8859, KSC_5601, EUC_KR ; 8 bit Unicode ; 24 bit UTF-8 ; Unicode Encoding (Unicode 가 메모리에 저장될 때 부터 UTF-8 로 저장된다) X-user-defined ; 브라우저 에게 parse 를 하지 말고 bypass 시키라는 의미이다. Text/plain 이나 binary 를 가져 올때 사용 (구식)

Binary Object

Serialize Text

Form or File Byte Array

Base64 HTTP

Page 12: IT 일반기술 강의자료_ed10

11

IP Streaming 기술

일반

. 서버 와 Client 간 교신 (Protocol) 및 Content 를 전송 (송수신) 하는 방법

. Content 의 포장은 Container 라 하고, 내용물은 Codec 으로 지칭 한다 (MPEG-2, MPEG-4,VC1,,)

. ABS (Adaptive Bitrate Streaming) 를 통한 QOS 보장

. 주요 IP Streaming 기술

1) RTP / RTSP : IETF Standard (RFC 2326) , IPTV 에서 대부분 사용 중

2) Smooth Streaming : Micro Soft

3) HLS (Http Live Streaming ) : Apple

4) MPEG4-DASH : MPEG4 Standard

Internet

Streaming

Server

Client

Client

Contents

< Provider > . ISP . YouTube, Apple . Netflix, Amazon, BUDU, HULU

Page 13: IT 일반기술 강의자료_ed10

12

IP Streaming 기술

RTSP / RTP

. RTSP : Session (Signaling) Protocol 을 담당하며, HTTP Message 와 거의 유사한 TCP 응용계층 이다

. RTP : Streaming 전송을 담당한다 , SIP Protocol 에서도 사용

. Methods : DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, RECORD, GET-PARAMETER, SET-PARAMETER, ANNOUNCE, OPTION

Session Server

Stream Server

Session Client

Player Client

RTP over UDP Streaming Video, Audio

RTSP over TCP Methods (Describe Setup Play )

Request Request

Presentation Description

Content

Version | Padding | Extension Header | CSRC Length | Marker | Payload Type | Sequence Number |Time Stamp | SSRC | CSRC | Payload

Extension Header : 확장 Header 사용여부 Marker : RTP profile 에 따라 정의 및 사용이 결정된다 Payload Type : DynamicRTP-Type-96 SSRC : Synchronization Source, 무작위 번호로서, 각 RTP session 에 대해 RTP stream 소스를 식별하는데 사용 CSRC : Contribution Source, RTP 세션에 기여한 여러 스트림 의 소스를 나타내는데, RTP 세션에서 각 소스의 SSRC 값이 RTP 믹서에 의해 CSRC 값에 추가됩니다.

Content Server

10.10.10.10/movie1.mpg

Session Client

HTTP Get (Content ID) Response (10.10.10.10/movie1.mpg )

Page 14: IT 일반기술 강의자료_ed10

13

IP Streaming 기술

RTSP Message

. Request Line : Method RTSP/1.0 URI

. Response Line : RSTP/1.0 200 OK

. Entity Body 가 있어야 만이 Entity Header 는 존재한다

< Request Header > Accept Accept-Encoding Accept-Language Authorization From If-Modified-Since Range Referrer User-Agent

< Response Header > Location Proxy-Authenticate Public Retry-After Server Vary WWW-Authenticate

< General Header > Cache-Control Connection Date Via

< Entity Header > Allow Content-Base Content-Encoding Content-Language Content-Length Content-Location Content-Type Expires Last-Modified Extension-Header

Response Line CSeq General-Header Response-Header Entity-Header

Entity Body

Request Line CSeq General-Header Response-Header Entity-Header

Entity Body

Page 15: IT 일반기술 강의자료_ed10

14

IP Streaming 기술

HLS

. Container & Codec : MPEG-TS , Video-H.264, Audio-AAC/AC3

. The PAT/PMT shall be included in MPEG-TS

. m3u8 file for meta data

HLS Stream

Segmentation

Web Server

Meta data (m3u8)

Ts-1

Ts-2

Ts-n

http get Adaptive Bitrate

. Meta data 는 순차적으로 계속 Update

. TS 는 일반적으로 10초 정도 duration

Client

< 순서 > 1) Get meta file 2) Get TS file according to meta 3) Playing * 상기 과정을 반복

Page 16: IT 일반기술 강의자료_ed10

15

Open Platform - Android

Features

. JAVA 및 Linux 기반 이며, DALVIK JVM 을 사용하며, Bionic Tool Chain 을 사용하는 특징을 지닌다

. App 개발의 편의성을 위하여 IDE 에서 UI 작업을 쉽게 할 수 있는 툴 (layout XML r.java) 을 제공한다

Android App

Native Libraries

App Framework (Java)

Run-time Core Lib. DALVIK JVM

LINUX Kernel

HAL

JNI

Bionic Tool Chain

Activity Manager Window Manager Content Provider View Systems Package Manager Telephone Manager Location Manager Notification Manager

Surface Manager Media Framework SQLite OpenGL/ES FreeType SGL SSL LibC

POSIX Network File System

Root File System

/System /Data /Sdcard

Manifest.xml Resource.xml Layout XML

Page 17: IT 일반기술 강의자료_ed10

16

Open Platform - WebKit

Features

. Web Engines 계열 들 : Webkit (Safari, Chrome), Gecko (Moziila-FireFox), Tridant (IE), Opera

. Webkit has 3 Processors : Web, GPU and Plug-In

Frame View Loader

DOM

HTML 4.5

CSS

SVG

Render Tree Java Script CORE

WebView (WebkitWebFrame, WebkitWebView)

UI framework Port

Plug-In Bridge

HTML Parser

Graphic Port

Multimedia Port

Network Port

Device, DB Port

Web Core

WebKit BE APIs SPNAV

NPAPI

Plug-Ins

GTK+ Cairo FreeType

UniPlayer GStreamer

Lib Soup

Page 18: IT 일반기술 강의자료_ed10

17

Open Platform - DLNA

Features

. 여러 기기간 Content 를 전송하고 Share (Play) 하는데 목적이 있다

. 특정화 된 규약이 아닌, 여러 가지 기존의 관련 규격 을 채용한 집합체 이다

-. Media Transport : HTTP, AV & Device Architecture : UPnP

-. Media Formats : DVB, Link Protection : DTCP-IP, Network Connectivity

. 미디어 레벨에서 상호운영을 보장하기 위한 Media Format 에 대한 Command base 를 제공한다

규격 별 Device Class 명칭

. OCAP 은 DLNA 를 이용한 App 및 MW 역할 까지 확대하여 OCAP Home Network 표준을 적용 함.

개념도 및 Server 의 service 종류

UPnP DLNA OCAP-HN

Device Class Player Server Render

Media Server Control Point Media Server Device Media Render

DMP DMS DMR

OC-DMP OC-DMS

UPnP

Screen

Media Server Device

Contents

Media Server Control Point

Content Transfer

Subsystem

Content Create

Subsystem

Content Management Subsystem

Content Storage

Database

AV Transport Service

Schedule Recording

Service

Content Directory Service

Connection Manager Service

Page 19: IT 일반기술 강의자료_ed10

18

Open Platform - DLNA

UPnP Architecture

. 모든 메시지 및 Data 가 http 로 전송 되어진다

. 별도 Protocol 의미는 특별한 HTTP (Method, Header, Body) 를 지니는 것을 의미한다

Works Protocol Method in CP

Method in Device

Message Body

비고

Discovery SSOP M-Search

Advertising Notify

None None None

Multicast, Sub network 내 에서만 탐색가능

Description Generic Get XML 디바이스 가 지닌 서비스 및 임베디드 Device 에 대한 Capability 및 구체적인 정보획득

Control Generic (SOAP)

Post XML CP 가 특정 action 을 Device 의 서비스 에게 요청하고 결과를 받는 것 이다

Eventing GENA Subscribe Unsubscribe

Notify

None None XML

CP 가 Device 에게 특정 Event 를 요청 하는 것이다

Presentation Generic

Get HTML 표현 할 UI 를 위함 (미사용)

Media Transport

Generic

Head Get

MPEG-TS

Content 를 playback 하기 위함 Head request 를 통하여 Playback (JMF) 정보 . Byte Seek for position . Play Speed for set rate

Page 20: IT 일반기술 강의자료_ed10

19

암호

암호 방식의 분류 : 대칭 Key 대 비대칭 Key

대칭 Key 방식은 아래와 같은 특징을 지닌다

1) 암호 및 해독에 필요한 Key 를 송신자, 수신자 간 사전에 공유하여 같이 사용한다. 2) 공유하는 방법을 Secure 하게 적용 하여야 하며, 이를 SAC (Secure Auth. Channel) 이라 칭한다. 3) DES, 3DES, AES, DVBCSA 가 범용적으로 사용되는 대칭 Key 종류이다.

RSA 비 대칭 Key 방식은 PKI 기반 (인증서) 의 공개 Key 를 사용하는 것으로서 아래와 같은 용도로 사용된다

1) 상호 인증 (Mutual Authentication) : 송, 수신자간에 인증 chain 에 의하여 상호 인증. 2) 전자 서명 (Signature) 및 검증 (Verify) : 특정한 data 에 대한 무결성 목적으로 서명 주로 지문을 Private Key 로 signature 하고 Public Key 로 검증 (verify)

3) 특정한 data 의 암호 및 해독 : 주로 대칭 Key 를 암호화 해서 보낼 때 사용. Public Key 로 enciphered 시키고, Private Key 로 deciphered 를 적용한다

* Public Key 의미는 상기 기능을 적용하기 위하여, 외부에 공개하는 key 를 의미한다 Private Key 의미는 나 만이 지는 고유한 Key 로서 공개하지 않는다

* PKI 기반 인증서 내용

구분 내용

Header 버전,일련번호, 서명알고리즘,서명Hash알고리즘, 발급자,유효기간,주체

공개 Key (Public Key)

1024 Bit (각 개별적인 (최종 3단계) 인증서 마다 내용이 상이하다)

Extension 기관키 식별자, 키사용 (Digital Signature, Key encipherment)

지문 (인증서내용 Hash)

지문 알고리즘, 지문 – SHA 를 이용한 hash-code 값 (160bit)

Page 21: IT 일반기술 강의자료_ed10

20

암호

RSA 전자서명 (Signature) 및 검증 (Verify)

. 수신 측은 발신 측에 보내준 Public Key 를 사전에 지니고 있다

. Hash (지문) 이란 압축되어 표현되는 data 이다

. 서명은 인감도장 이고, Verify 가 인감을 증명하는 것이다

RSA Data Encryption and Decryption

. 발신 측 은 사전에 수신 측 으로 부터 Public Key (인증서 에 포함) 를 획득한다

. HTTPS 에서 이 방법을 사용한다 (서버 가 수신 측 이며, Client 가 발신 측 이다)

Private Key Hash

Data

Hash Code Signature

Data

Signature

Public Key

Hash Code Verify

발신 측 수신 측

Hash

Data

Encipher Enciphered

Data

Public Key 발신 측 수신 측

Decipher Data

Private Key

Page 22: IT 일반기술 강의자료_ed10

21

암호

Open SSL

. Utility 로 아래 기능을 담당한다 (DOS 용 버전)

(1) RSA 기반 (비대칭) private, public Key 발행, 인증서 발행

(2) RSA 기반 Signature, Verify, Encryption, Decryption

(3) Message Digest

(4) 대칭 Key 기반 Encryption / Decryption

. Key 및 인증서 제작과정

genrsa prvkey.pem

rsa pubkey.key

base64 private.key

req private.csr

X509 private.cer

- out pverkey.pem 1024 - in pverkey.pem - out pubkey.key - pubout - outform DER

- new - key private.key - out private.scr

- req - days - in private.scr - out private.cer - signkey private.key

- d in prvkey.pem –out private.key

rsautl

- sign - verify - encrypt - decrypt

Page 23: IT 일반기술 강의자료_ed10

22

OFDM (Orthogonal Frequency Division Multiplexing)

. 고속의 전송률을 갖는 데이터열을 낮은 전송률을 갖는 많은 수의 데이터열로 나누고, 이들을 다수의 부반송파를 사용하여 동시에 전송

. 따라서 OFDM 기법은, 1개 채널의 고속의 원천 데이터열을 다중의 채널로 동시에 전송한다는 측면에서는 "다중화 기술"이며,

다중의 반송파에 분할하여 실어 전송한다는 측면에서는 일종의 "변조 기술"이다.

. 각 부 반송파의 파형은 시간축 상으로는 직교(Orthogonal)하나, 주파수축상에서는 겹치게(Overlap)된다

. 직교란 decoupling 의미이며, sub carrier 간 간섭을 없게 하는 방법이다

. OFDM 과 다중 Access 방식 :

OFDM – TDMA : 사용자를 시간 slot 에 배정 , 802.11n

OFDM – FDMA : 사용자를 sub-carrier 에 배정

OFDMA : 사용자를 RB 에 배정 – 특정 귀속 없이 무작위 (?) , 4G-LTE

. In the OFDM signal for the IEEE 802.11n Wi-Fi standard, 56 subcarriers are spaced 312.5 kHz in a 20-MHz channel.

Data rates to 300 Mbits/s can be achieved with 64QAM.

. OFDMA

Divides a channel into multiple narrow orthogonal bands that are spaced so they don’t interfere with one another.

Each band is divided into hundreds or even thousands of 15-kHz wide subcarriers.

To implement OFDMA, each user is assigned a group of subchannels and related time slots. The smallest group of subchannels assigned is 12

and called a resource block (RB). The system assigns the number of RBs to each user as needed.

F1 F2 F3 F4 F5 F6 F7 F8

Time Slot

TDMA FDMA OFDMA

전송기술

Page 24: IT 일반기술 강의자료_ed10

23

전송기술

대역폭 확산 (Spread Spectrum)

. Shanon 통신용량 공식 : 주파수 대역을 크게 하면, S/N 이 작더라도 동일한 통신 용량으로 통신 할 수 있는 원리

. 주파수 대역을 크게 하는 이유는 정보를 추가하기 위함이며, 추가된 정보 (확산코드) 는 암호 (사용자 고유화) 및 동기화 (전송순서) 목적

. 예로, 15Khz 대역에 1 bit 를 전송 시킬 수 있다고 하면, 5배의 대역폭 확대로 5 bit 를 전송시킬 수 있다 (Direct Sequence 방식)

당연히 전력밀도 (Power Level) 는 낮아질 것이며, 이에 상응하는 S/N 은 작아 질 것이다

. 확산코드 로 의사잡음부호 (Pseudo Noise Code) 로 를 사용하며, 주로 피나보츠 의 LSPR (Linear Sequence Shift Register) 이 사용된다

LSPR 은 주기적-순차적-패턴화가 적용된다

. 예를 들어 PNC 가 10110 라 하면, 원 송신 data (1 혹은 0 ) 에 PNC 를 Exclusive OR 하여 1 인 경우 01001, 0 인 경우 10110 을 송신한다

. 사용된 확산코드 는 사용자 별 고유화 (예를 들어 PIN 값으로 LPSR 상위 값 을 가져간다) 를 통하여 Multi user 가 가능하다

. 대역폭 확산방식

1) Direct Sequence 방식 : CDMA 에서 사용 , 확산code 사용

2) Frequency Hoping 방식 : BlueTooth 에서 적용 , Hoping code 사용

Hoping 에 따라 일정 간격으로 채널 영역내의 sub-carrier 를 이동 하면서 전송, 사용되는 sub-carrier 가 확산code 목적을 가져감

10110

15Khz

1

75Khz

Page 25: IT 일반기술 강의자료_ed10

24

전송기술

대역폭 확산

. 3G - CDMA 에서 적용

This code spreads the voice signal over a bandwidth of 1.25 MHz. Many such signals can occupy the same channel simultaneously. For example, using 64 unique chipping codes allows up to 64 users to occupy the same 1.25-MHz channel at the same time. At the receiver, a correlating circuit finds and identifies a specific caller’s code and recovers it. The third generation (3G) cell-phone technology called wideband CDMA (WCDMA) uses a similar method with compressed voice and 3.84-Mbit/s chipping codes in a 5-MHz channel to allow multiple users to share the same band. . Time slot (1초 내에서 분할한 시간) 개념이 없이, 1초 내에 10,000 개의 Symbol 을 전송하는 능력을 가졌다면 아래와 같이 Multi User 는 표현 될 것 이다 - 시간 이나 주파수를 고유하게 할당하지 않는 공유 개념 DOCSIS (Cable Internet ) 전송기술 . 하향 : Shared 개념으로 전체 사용자에게 data 송신, 사용자는 자기에 해당하는 data (MAC 주소) 만 수신한다 (CSMA 방식) . 상향 : Single channel TDMA, CDMA 방법 사용

만번째 Symbol 사용자-C

1st Symbol

사용자-A

1초

. . . .

Page 26: IT 일반기술 강의자료_ed10

25

전송기술

Modulation (변조)

. 변조 란 : 디지털 정보를 전송을 위하여 아날로그 형태로 변환

. 64 QAM 복조 방법

1) 아날로그 적으로 표현되는 단위를 Symbol 이라 한다

2) 해당 심볼 이 0 도 위상 (In phase, 가로축) 에서의 진폭 8가지 중에 어디에 해당하는가

3) 해당 심볼 이 90 도 위상 (Quadrature phase, 세로축) 에서의 진폭 8가지 중에 어디에 해당하는가

4) 상기 를 조합하면 해당 성좌 점이 나오며, 성좌 점에 해당하는 bit pattern (사전 약속사항) 이 특정 Symbol 에서 표현하는 data 이다

. 각종 Modulation 방법

Modulation Bits per Symbol Remark

FSK GMSK BPSK QPSK 8PSK 16 QAM 64 QAM 256 QAM

< 1 1.35 1 2 3 4 6 8

주파수위상변조 180 도 위상 180 도 위상, 2단계 진폭 2가지 위상 (I,Q) + 4단계 진폭 , 16개의 성좌점 2가지 위상 (I,Q) + 8단계 진폭 , 64개의 성좌점 2가지 위상 (I,Q) + 16단계 진폭 , 256개의 성좌점

I Phase

Q Phase

1 symbol in 64QAM

<성좌 점> . Bit0~5 중 하나의 pattern 을 지칭 . 예 “110110” . 총 64개 (이진으로 6 bit 를 표현) < Symbols Per Second > . DOCSIS : 5.0596941 Mega symbols