it 일반기술 강의자료_ed10
TRANSCRIPT
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
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 와 동일하다
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
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
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 단일 파일만 전송가능 할 것이다 (?)
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
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);
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
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 두 가지 로 분류 된다
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
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
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 )
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
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 * 상기 과정을 반복
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
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
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
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
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)
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
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
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
전송기술
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
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초
. . . .
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