# data[].attributes.body
7장

Application layer protocol
: 언제, 어떻게 메시지를 전송하고 받을지에 대한 규칙들

DNS
: IP address와 host name을 연결시켜주는 시스템

DNS cache
: 한번 확인한 IP address와 host name을 뒤에 또 쓸 수 있기 때문에, 일정 기간 그 PC에 저장해 놓음

HTTP
: Web에 데이터를 전송하고 받는 과정들을 처리
: 다양한 파일들을 가져와서 컴퓨터에서 재생되게 만들어 주는 것

Web caches (proxy server)
: 모든 Clients와 Web Server를 직접 연결했을 때 큰 트래픽으로 Web Server가 마비될 될 수 있거나 거리가 너무 멀고 비용도 많이 드는 경우, Proxy Server를 둬서 Web Server의 내용들을 가져와서 Serving을 하면 Clients가 내용을 볼 수 있게 하는 것
- 노드가 많이 걸리는 경우 활용
- 그때그때 마다 Proxy Server와 Web Server의 내용을 같게 만들어 주는 것이 중요

MQTT
: 데이터가 올 때마다 broker가 그 데이터를 받기를 원하는  host들한테 보내주는 방식

8장

Bluetooth
: 10m 이내의 범위에서 무선 통신을 가능하게 해줌

BLE Beacon
: BLE 안테나를 이용해서 비콘 신호를 보내 비콘과 다른 디바이스 사이에서 통신

# data[].attributes.body
Chap 7 Application Layer

다양한 어플리케이션들이 프로토콜을 사용함
TCP/IP 중 하나

어플리케이션은 어플리케이션 레이어 프로토콜의 한 종류임.

user agent 는 web, email 등
Application layer protocols 는 DNS, Web, HTTP 등

통신을 가능하게 하는 가장 중요한 프로토콜 DNS(Domain Name System)

ip address(32bit) 와 host “name”(www.머시기)를 매핑 시켜주는 프로토콜임.

DNS 특징!
분산 관리 why? 고장나면 큰일, 트래픽 몰입 방지

Domain 종류 많음
국가별 서버가 있고
탑레벨 도메인 존재

ccTLDS 존재(국가 코드)

Recursive 방식은 root에 부담이 많이 감
Iterative 방식

현실은 둘을 혼합사용

매번 이런 복잡한 과정을 하지않고
cashe형태로 저장함.

HTTP는 TCP 사용

컴퓨터 <-> 웹서버
여기서도 cash 사용

한국에 있는 프락시 서버에서 한국인들 쓰고
미국은 미국꺼, 중국은 중국꺼처럼 나눠서 사용
프록시 서버와 웹서버 간 연결만 잘 되면 문제 없음, 트래픽 몰림도 방지 가능.

Chap 8 Interesting Research Topics

블루투스 모양  H + B
에리슨 회사에서 RS-232 케이블 만듬.

Bluetooth 1.0 : RS-232케이블 대체하자는데서 시작

Bluetooth 4.2
BLE(저 저전력 소모) 4.0부터 적용

블루투스 5.0
전송속도 2배, 커버리지 4배(4.1 대비)

BLE Beacon

RFID?
택 형으로 부착, 바코드 형식으로 부착 다양함

NFC(Near Field Communication)
VLC(visible light communication) : 빛에 정보를 포함해서 통신을 하겠다는 의도

GPS(Global navigation satellite system (GNSS)
How?

# data[].attributes.body
7강

<DNS(Domain Name System)>

: www~->ip주소로 변환해주는 서버

-DNS->여러곳에서 분산해서 사용함. 망가질 경우 대비, 트래픽 조절 등을 이유로

-분산되고 계층적인 구조

<Authoritative name servers>

<Recursive resolution>

<Iterative resolution>->을 보통 많이 사용함

하나씩 물어봄

=>보통 둘을 섞은 형태를 사용한다

<DNS cache>

:사용한 ip 주소를 일정시간 저장해 두는 것

Ipconfig/displaydns 로 확인 가능하다

<Web and HTTP>

-웹의 application 층 프로토콜

-web caches: 먼 곳으로부터 데이터 받아올 때 한곳에 저장해두고 나머지한테 전달

<CoaP>

-제한적인 어플리케이션 프로토콜

8강:interesting reseach topics

<블루투스란?>

4.0부터 저전력을 소모해서 배터리가 오래감

발전할수록 속도가 빨라짐

<블루투스 비콘>

BLE비콘은 UUID를 포함한 신호를 주기적으로 전송한다

<RFID>

주파수를 이용해 ID를 식별

<NFC>

가까운 전자기기 사이의 의사소통 프로토콜
7강

<DNS(Domain Name System)>

: www~->ip주소로 변환해주는 서버

-DNS->여러곳에서 분산해서 사용함. 망가질 경우 대비, 트래픽 조절 등을 이유로

-분산되고 계층적인 구조

<Authoritative name servers>

<Recursive resolution>

<Iterative resolution>->을 보통 많이 사용함

하나씩 물어봄

=>보통 둘을 섞은 형태를 사용한다

<DNS cache>

:사용한 ip 주소를 일정시간 저장해 두는 것

Ipconfig/displaydns 로 확인 가능하다

<Web and HTTP>

-웹의 application 층 프로토콜

-web caches: 먼 곳으로부터 데이터 받아올 때 한곳에 저장해두고 나머지한테 전달

<CoaP>

-제한적인 어플리케이션 프로토콜

8강:interesting reseach topics

<블루투스란?>

4.0부터 저전력을 소모해서 배터리가 오래감

발전할수록 속도가 빨라짐

<블루투스 비콘>

BLE비콘은 UUID를 포함한 신호를 주기적으로 전송한다

<RFID>

주파수를 이용해 ID를 식별

<NFC>

가까운 전자기기 사이의 의사소통 프로토콜

# data[].attributes.body
#7장

Application layer protocol
메세지의 type을 결정

ex) DNS / Weeeb and HTTP / Electronic Mail / Telnet / ftp 등

lower layer protocol로 TCP, UDP 사용

Application은 전체를 말하고, Application ㅣayer protocol은 어플을 사용하도록 도와주는 protocol임

DNS (Domain Name System)

통신이 가능하게 만드는 것 중 가장 중요한 요소로 ip주소(32 bit)를 호스트 이름으로 바꾸어 주며, 분산해서 처리함 (트래픽이 몰리기 때문)

Recursive resolution

local name server → generic domains → root → intermediate NS → Authoritative NS…

순환하는 방식, 루트에 부담이 가서 잘 사용되지 않음

Iterative resolution

한곳에 물어보고, 다른 곳에 일일이 물어보는 방식

DNS cache

한번 확인한 ip주소, 호스트네임을 뒤에서 쓸수 있기에 일정기간 저장해두는 방식

Web(application) and HTTP(application layer protocol)

Web caches (proxy server)

모든 사람이 웹 서버에 도달 시  서버과부화와 비용이 커질수 있기 때문에

중간에 프록시 서버를 둬서 가까운 곳에서 사용 할 수 있도록 함

프록시 서버와 웹 서버가 동일하게 되도록 함

#8장

Bluetooth

10m이내에 사람에 주변에서 통신 할수있는 WPAN

Bluetooth 종류

Bluetooth 4.0

저전력소모(BLE) 표준이 만들어짐

Bluetooth 5.0

삼성에서 사용, 전송속도 빠름, 커버리지 4배 (커버리지 넓어지면 배터리 소모가 많음)

BLE Beacon

비콘이 자신의 id를 앱에 전송 → 서버에 id를 보냄 → 서버는 db에서 정보를 가져옴

비콘 : 기지국이 자기가 보내야 될 정보를 계속해서 보내는 것을 의미

RFID

Reader가 신호를 보내면 시스템에서 정보를 찾아서 제공 해줌

NFC (Near Field Communication)

짧은 거리에 접촉을 통해서 정보를 전달 할 때 쓰는 기술

GPS

위성에서 지상으로 신호를 보내는 시간을 적어서 보내고 수신기가 읽고

받을 때 시간 – 보낼 때 시간 * 신호의 속도를 계산해서 거리를 구한다, 위치 파악 가능

Trilateration 위성신호는 벽을 통과 못함. 실내에서는 기지국이 받아서 window positionig 사용

Indoor Positioning

지자계 방식 이용

Finger Printing

지자계 방식, 여러 곳의 기지국으로 부터 신호 값을 측정해둔 db를 가지고 앱을 띄우고

어느 곳에서 매핑을 했을 때 자기의 위치를 확인 할 수 있는 방식

# data[].attributes.body
7장. Application Layer

1. Application layer protocol

다양한 애플리케이션 프로토콜을 사용해 데이터를 주고 받는다.

TCP, UDP

Application vs application layer protocol
애플리케이션은 전체를 다 포함함

application layer protocol: 그 애플리케이션을 인터넷에 쓸 수 있도록 도와주는 프로토콜 (HTTP)

유저 에이전트
유저에게 보이는 웹 브라우저, 이메일 리더

application layer protocols

DNS

Web and HTTP
Electronic Mail
Telnet
ftp

DNS(Domain Name System)
“name” www.postech.ac.kr: 이를 32bit IP address로 변환

모든 곳에서 분산하여 관리함
루트 네임 서버
다양한 탑레벨 도메인
컨츄리 코드

네임서버

Recursive resolution

Iterative resolution

DNS cache: 한번 확인한 IP 어드레스는 일정기간 PC에 저장함

Web and HTTP

웹에 데이터를 전달하고 받는 과정들을 처리함.

파일, 이미지, 오디오 파일

Use TCP

웹 cache

MQTT

트위터와 비슷한 형태

값을 받기 원하는 호스트에게 제공

CoAP: 호스트가 게이트웨이를 거치지 않고 직접 함

8장. Interesting Research Topics

1. 블루투스

10m 이내 와이러리스 팬

IEEE 802. 15. 1

워치, 키보드, 이어폰

저 전력 소모: 블루투스 4.0부터 적용

블루투스 5.0

전송속도 2배

커버리지 4배: 배터리가 빨리 소모됨

BLE Beacon

RFID

NFC

VLC

GPS

Indoor Positioning
핑거프린트 방식

Proximity

지자계 IPS

# data[].attributes.body
Chap 7. Application Layer

Application layer protocol :
-message와 snytax라는 다양한 포맷을 결정함.
-다양한 Application들을 인터넷에서 사용할 수 있도록 도와주는 protocol, 이 protocol을 사용하여 데이터를 주고 받음.
-밑에 layer엔 TCP, UDP가 있음. > 그 다음은 IP를 통해서 내려감.
-HTTP(HyperText Transfer Protocol)이 application layer protocol임.

Appplication :
-Web browser, Web server, HTTP 전체를 뜻함.

User agent :
- User에게 보이는 web browser, mail reader 등을 뜻 함.

Application layer protocol 의 종류 :
- DNS, Web and HTTP, Electronic Mail, Telnet, ftp, etc
*(1)DNS(Domian Name System) :
- 통신이 가능하게 하는 중요한 요소.
- 기억하기 어려운 IP 주소 대신 host name으로 IP 주소로 바꿔서 알려주는 시스템.
- DNS는 Hierarchical 함. (Root Domain >> Top-level Domains >> Second-level
domains)
- Root는 전 세계 13개 존재.
- Root 밑에 Generic Top-level Domain(TLDs)가 있음.
- Generic Top Level Domians( com, edu, gov, mil, net, org, int)
- New gTLDs(처음엔 위에 7개 존재하다 최근에 급격하게 늘어남.)
- Country Code Top Level Domain(ccTLDs) : (.in, .cn, .kr 등)
- Local name server : www.naver.com 에서 naver를 뜻함.
- Authoritative name server : 내가 원하는 IP 주소와 host name을 변환 시켜주는             name server
*IP 주소를 얻는 두 가지 과정.
[1] Recursive resolution : 원하는 IP주소를 얻을 때까지 모든 루트에게 물어본다.
이 경우 root에 부담을 줌.
[2] Iterative resolution : IP주소를 물어보면 알 것 같은 IP주소를 전달 받아 직접
그 물어봄.
[3] In general : 위의 두 방식을 같이 사용. 처음엔 recursive로 가다가 root부턴 i
itertaive으로 물어봄. root 대신 그 전의 서버가 물어보므로 root의 노드를 줄여줌.
- DNS cache : 한 번 물어본 IP 주소와 host name은 또 사용할 수 있기 때문에 일정
시간 저장을 해놓는 공간을 cahce라고 한다.
(2) Web and HTTP :
- HTTP 는 TCP를 사용하여 PC에서 요청을 보내면 Web server에 있는 내용을 링크,
텍스트 포함하여 가져와 PC에서 컴파일하여 화면에 띄움.
- Wev caches(proxy server) : DNS cache와는 다름. 특정 서버를 이용하기 위하여 모
든 사람이 연결하면 traffic으로 서버 마비가 일어남. 또한, 서버와의 거리가 멀어 비용
이 많이 발생할 수도 있음. 이런 경우 proxy server를 둬 서버의 내용을 당겨와 저장하
고 서빙을 하여 traffic을 없애고, 더 가까이서 사용할 수 있도록 하는 기법으로 많이
사용된다.

IoT에서 많이 사용하는 Application 2가지.
(1) MQTT : 센서에서 측정한 데이터를 MQTT broker에게 주기적으로 보내면, borker는 사전에 subscribe를 한 곳으로만 데이터를 보냄.
(2) CoAP(Constrained Application Protocol) : HTTP의 slim한 버전으로 센서들끼리 CoAP으로 통신하여 데이터를 주고 받고, CoAP server(Gateway)가 센서들의 데이터를 받아 HTTP 방식으로 기존의 host에게 보내주는 방식. 특정 경우 인터넷에 어떤 host가 CoAp 자체로 통신할 수 있다면 직접 통신을 하기도 함.

8장.  Interesting Research Topics

Bluetooth
- 보통 10m  이내, 사람의 주변에서 통신할 수 있는 대표적인 기술.
- Harald Bluetooth라는 왕 이름에서 유래.
- 1994년, Erission 회사에서 RS-232 케이블을 무선으로 대체하고자 시작.
- 1999sus, Microsoft, Motorola, Samsung, Lucent가 참여하여 만듦.
- 이후 4.0버전에 Bluetooth Low Energy(BLE) 표준이 만들어지며 기기를 오래 사용할 수 있게 되어 sensor에 적용하기 좋아지며 꽃을 피움.
- 속도가 점점 좋아지고 커버리지도 증가함.
- 5.0버전은 커버리지 조절 가능. 커버리지가 넓어지면 배터리 소모가 늘어나므로 좋은 것만은 아님.

BLE Beacon
- PAN 기술 중 하나로 애플에서 개발.
- Beacon이란 모듈을 벽에 붙여 놓고, 관련된 앱이 근처에 켜져 있으면 Beacon이 읽고 다양한 정보를 제공함.
- 원리 : Beacon이 자기 ID를 앱에 보내면 5G를 통해 서버에 ID를 보냄. 서버는 ID를 보고 DB를 뒤져 앱에 띄울 화면 정보들을 보내줌. Beacon은 주기적으로 자신의 ID를 보냄.

RFID
- PAN 기술 중 하나로 유용하게 쓰임.
- 상품들의 tag에 빛을 비췄을 때 보이는 구리선(바코드와 같이 다양한 방식으로 사용 가능).
- 원리 : Reader가 지나가면서 얇은 회로를 충전 시켜 읽어내는 과정을 거침.
- 대표적으로 NFC(Near Field Communication) : 버스나 건물에 들어갈 때 전력을 사용하는 기기(휴대폰 등)의 접촉을 통해 정보를 전달하는 기술임.

VLC(Visibel Light Communication)
- 가시광선 영역을 통신으로 사용.
- WiFi를 대체하는 전등으로서 통신을 하는 기술.
- 자동차의 라이트, 신호등 등으로 정보를 볼 수 있게 함.

GPS
- 위성에서 지상으로 보내는 시간이 포함된 정보를 비콘처럼 주기적으로 보냄.
- 수신자가 받으면 받는 시간과 보낸 시간, 신호의 속도로 수신자와의 거리를 측정하며 지구 상에 동심원을 구함.
- 최소 9개 위성에서 정보를 받으면 상당히 정확해짐.
- 위성신호는 벽을 통과하지 못함

Indoor Positioning
- 벽을 통과하지 못하는 위성신호로 실내 위치 파악 불가의 문제 해결을 위해 나옴
- 기지국이 위성처럼 신호를 받아 위치를 알아내는 방법.
- (1) Fingerprinting 방식 : 기지국이 여러 군데에 있고 각 기지국으로부터 각각의 점들
에 대한 신호를 위치를 바꿔가며 미리 측정해 DB를 만듦. 사용자가 움직이며 어느 위
치에서 신호를 측정을 하면 그 값을 DB에서 확인하여 위치를 알아냄.
- (2) Poximity 방식 : Beacon의 커버리지를 이용하여 위치를 알아냄.
- (3) Geomagnetic IPS : 위치마다 Geomagnetic 값이 다른 것을 이용해 각 위치의 값
을 미리 측정하여 DB를 만들어 위치 알아냄.
- (4) IMU sensor를 이용하여 절대 위치가 아닌 상대적 위치를 알아냄.

# data[].attributes.body
(7장) application layer

- application vs application layer protocol

- application : 어플리케이션 전체

- application layer protocol : application을 인터넷에서 쓸수 있도록 하는 프로토콜

ex) html : web browsers, web servers,,, 등등을 포함하는 모든것 / http : application layer protocol

- DNS : IP 주소와 host name을 연결해 주는 서버, 없으면 전송 불가

- DNS caches : DNS를 일정시간 저장, 과거 이용한 IP 주소를 알 수 있음

- Web = application , http = application layer protocol → file, image, audio 등등 가져올 수 있음

- web caches → proxy server 이용 → proxy로 한번에 데이터 받아서 다른 web server로 보냄 ex)한국 → 미국 보낼때

- Iot에서 가장 많이 쓰이는 application layer protocol : MQTT

= MQTT broker로 센서에서 측정한 데이터를 보내면 그를 subscribe한 IP로 데이터를 보냄

- CoAP : 센서들에서 측정한 데이터를 보낼 때 서버와 게이트웨이를 거쳐서 인터넷에 보냄 or 바로 인터넷에 보냄

(8장) Interesting Research Topics

- 기원 : 노르웨이 옛날 왕 이름이 블루투스임

- 블루투스 4.0부터 꽃을 피움 ← 저전력 소모 때문에

- 블루투스 5.0 : 인터넷에 직접 접속가능, 커버리지 4배, 전송속도 2배

- BLE beacon : beacon이 아이디를 보냄 → server에서 데이터베이스를 찾아서 인터페이스에 보여줌

- RFID : reader가 상품에 신호를 보내면 상품에 대한 정보가 나타남

- NFC : RFID의 응용 기술

- VLC : 가시광선 영역을 통신으로 사용한다.

- GPS : 지상으로 beacon을 보냄 → 자동차가 받는 시간을 재서 ‘속력 * 시간 = 거리’ 로 계산 → 여러 인공위성 주위로 원을 그려서 겹치는 곳이 내 위치가 됨, GPS는 벽을 통과 못해서 실내에서는 불가능

- indoor positioning : 실내, 지하 등등에서 내 위치 찾을 수 있음

- fingerprint-based Pattern Matching : 기지국에서 어느 위치에 신호가 얼마인지 계산해서 위치를 알아내는 방법

- proximity = beacon : 몇 m이내에 있으면 내가 그 근처에 있다

- geomagnetic Ips : 위치마다 지자계가 다르므로 지자계를 미리 측정하여 위치를 알아냄

# data[].attributes.body
[CH 7. Application Layer]

1. Application layer protocol

- User agent : web brower(chrome 등), E-mail

- Application layer protocols : DNS(Domain Name System), Web and HTTP

2. DNS (Domain Name System)

모든 IP add를 모두 기억하는 것은 쉽지 않으니, IP add(32bit)를 “name”로 변환해주는 것을 DNS라고 한다.

- DNS를 중앙집권화하지 않는 이유는?

Single point of failure, Traffic volume 등

- DNS의 구성은 Root Domain – Top-level Domains(TLD, com/net/org 등) – Second-level domains

- Country Code Top Level Domain (ccTLDs): 국가명을 기반으로 만듦

- Authoriative name servers : 원하는 IP add와 host name을 변환시켜주는 것을 가지고 있는 name server.

- DNS cache : 한번 확인한 add는 일정시간 동안 저장하는 것을 cches라고 한다.

3. Web and HTTP (Hyper Text Transfer Protocol)

HTTP가 Web에 데이터를 주고 받는 것을 관리

3.1. HTTP

- Web caches (proxy server)

4. MQTT (Message Queue Telemetry Transport)

5. CoAP (Constrained Application Protocol)

- CoAP Server / HTTP Gateway를 통해서 device와 server가 소통. 어떤 경우는 device와 server가 CoAP으로 소통한다.

[CH 8. Interesting Research Topics]

8.1. Bluetooth

- 종류

4.0부터 저전력 소모 기술(Bluetooth Low Energy, BLE) 적용. 커버리지와 전송속도가 발전해감. 하지만 커버리지의 무조건적인 발전은 배터리 소모를 야기하기 때문에 무조건 좋은건 아님.

8.2. BLE Beacon

Beacon에서 아디를 보내면 휴대폰은 다시 서버로 보내고 데이터 베이스에서 다시 서버로 device에 보낼 정보를 보냄.

8.3. RFID

8.4. NFC(Near Field Communication)

8.5. VLC (Visible Light Communications)

가시광선 영역을 통신으로 사용.

8.6. Global navigation satellite system (GNSS)

8.7. Fingerprint-based Pattern Matching

여러 기지국으로부터 신호를 측정해놓은 값을 가지고, 새로 들어온 device의 신호를 측정해놓은 값과 비교해 위치를 파악.

# data[].attributes.body
Chap 7 Application Layer

Application layer protocol

보내야 될 메세지를 syntax라고 하는 다양한 포맷들을 결정

application을 인터넷에서 쓸 수 있도록 도와주는 프로토콜

ex) http, dns, web...

User agent

web browser, email

DNS (Domain Name System)

통신이 가능하게 만드는 것 중 가장 중요한 요소,

ip주소를 호스트 이름으로 바꾸어줌

분산해서 처리함

Root name servers → Top Level Domains

generic domains

ex) arpa, com, edu...

Country Code Top Level Domains

ex) .kr, .vn, .ph…

Local name servers

ex) postech

Authoritative name serveres

Recursive resolution

local name server → generic domains → root → intermediate NS → Authoritative NS…

순환하는 방식, 루트에 부담이 가서 잘 사용되지 않음

Iterative resolution

한곳에 물어보고, 다른 곳에 일일이 물어보는 방식

DNS cache

한번 확인한 ip주소, 호스트네임을 뒤에서 쓸수 있기에 일정기간 저장해두는 방식

Web(application) and HTTP(application layer protocol)

Web caches (proxy server)

모든 사람이 웹 서버에 도달하면 서버가 마비 될 수도 있고 비용도 많이 듬

중간에 프록시 서버를 둬서 가까운 곳에서 사용 할 수 있도록 함

프록시 서버와 웹 서버가 동일하게 되도록 하는게 가장 중요함

MQTT

1999 IBM에서 만듬

사용자들이 subscribe를 먼저 하고 broker가 사전에 원했던 사용자들에게

정보를 전달하는 방식

CoAP

Constrained Network내의 정보를 받아서 CoAP 서버가 HTTPS를 통해서 호소트에게 보내는 방

만능게이트는 MQTT CoAP 동작을 같이 수행 할 수 있음

Chap 8 Interesting Research Topics

Bluetooth

10m이내에 사람에 주변에서 통신 할수있는 wireless pan, IEEE 802.15.1

ex) 스마트워치, 블루투스 이어폰

1994 Erission이 처음 개발

1999 여러 회사들이 표준 만듬

Bluetooth 종류

Bluetooth 4.0

저전력소모(BLE) 표준이 만들어짐

Bluetooth 4.2

아이폰6에 적용

Bluetooth 5.0

삼성에서 사용, 전송속도 빠름, 커버리지 4배 (커버리지 넓어지면 배터리 소모가 많아짐)

BLE Beacon

비콘이 자신의 id를 앱에 전송 → 서버에 id를 보냄 → 서버는 db에서 정보를 가져옴

비콘 : 기지국이 자기가 보내야 될 정보를 계속해서 보내는 것을 의미

RFID

Reader가 신호를 보내면 시스템에서 정보를 찾아서 제공 해줌

NFC (Near Field Communication)

짧은 거리에 접촉을 통해서 정보를 전달 할 때 쓰는 기술

GPS

위성에서 지상으로 신호를 보내는 시간을 적어서 보내고 수신기가 읽고

받을 때 시간 – 보낼 때 시간 * 신호의 속도를 계산해서 거리를 구한다, 위치 파악 가능

Indoor Positioning

지자계 방식 이용

FingerPrinting

지자계 방식, 여러 곳의 기지국으로 부터 신호 값을 측정해둔 db를 가지고 앱을 띄우고

어느 곳에서 매핑을 했을 때 자기의 위치를 확인 할 수 있는 방식

Proximity(=Beacon)

# data[].attributes.body
7장 Application Layer
- Application layer protocol
message, syntax 등 결정
Application: 전체 web, server 등
Application layer protocol: application을 internet에 쓸 수 있게 도와주는 protocols
a) DNS
-> Domain 주소를 IP로 mapping시켜줘서 통신이 가능하게 해줌
-> DNS는 centralize x
(한 곳에서 문제 생기는 것 방지하려고)

i) Root name servers: 전세계 13개
ii) Generic Top Level Domains
iii) Top level domains
ex) com, edu, gov, int, uk, kr ...
iv) Name server
ㄱ) Local name servers
ex) naver, postech, ...
ㄴ) Authoritative name servers
원하는 IP address와 hosting name 변환 시켜주는 것을 가진 name server

- Recursive resolution
ex) host-> cnn 보고 싶은 상황
host-> local -> 상위level -> ... -> root -> ...
-> 상위level -> local -> host
- Iterative resolution
-> host가 일일이 contact해서 물어봄
(물어본 주소가 그걸 모를 경우, 다른 주소 알려줌)
ex) host -> cnn
host ->local -> host -> next -> host -> root -> host -> cnn

-> 요즘엔 혼합해서 사용

- DNS cache
한 번 확인한 IP 일정기간 저장해둠 (효율 UP)

- Web, HTTP
Web -> application, 다양한 정보 보여줌
HTTP -> Web에 data 송수신 처리

- Web caches (proxy server)
Web server를 많은 clients가 가고 싶어할 때, proxy server에 저장해둔 정보로 해결
(비용, traffic문제 해결)
(단, 그때 그때 proxy server와 web server 같게 만드는 것 중요)

- MQTT
사전에 정보 받을 때, 미리 가입된 이들에게 정보 전달

- CoAP
미리 sensor들과 통신하여 그걸 받아서 HTTP 방식으로 기존의 host에게 알려줌

8장: Interesting Research Topics

- Bluetooth
bluetooth 4.0부터 저전력모드(BLE) 가능
이 때부터 널리 써짐

- BLE Beacon
Beacon -IP> User -IP> Server: database 탐색 -data> User
ex) 실내 네비게이션, 매장정보 등

- RFID
지나가면서 얇은 회로를 잠시 충전시켜 그것을 읽어내는 과정
ex) 책, 옷 tag 등

- NFC
접촉을 통한 아주 짧은 거리
ex) T money, 건물 출입, Apple pay 등

- VLC
LED를 통신용도로 사용(가시광선)

- GPS
전송시간, 거리 알 수 있음
보통 9개 받으면 위치 정확해짐

-> 문제점
GPS는 벽통과 x, 실내에서 측정 불가능

- Indoor Positioning
-> 위성이 아닌 기지국을 마치 위성으로하여 Wifi, bluetooth 등으로 측위

- Fingerprint based Pattern Matching
특정위치 신호측정 -> 5개 중 어디에 mapping -> 신호세기로 내 위치 대략 측정

- Proximity
ex beacon

- Geomagnetic IPS
통신 시설을 쓰는 것이 아닌 위치마다 다른 지자계  값 미리 측정 후, 사람 움직일 때, 신호를 보고 위치 예측
Fingerprint 방식 중 하나

- Other
단, 절대위치 아닌 상대위치 측정

# data[].attributes.body
7장

Application Layer Protocol : 애플리케이션의 규칙
User agent : web brower, mail reader

-Domain Name System
ip address를 외우는 것은 힘들지만 이름으로 외우는 것은 쉽다
ip address와 이름을 맵핑해준다
유지 보수와 트래픽, 사고 예방을 위해 도메인을 분리한다.

Country Code Top Level Domains
Name servers

Recursive resolution
모르면 점점 올라가고 root까지 간다. 그 다음 com -> cnn으로 갔다가 다시 돌아온다.
Iteractive resolution
직접 순서대로 물어보기

DNS cache
한번 확인한 ip address와 name을 매번 물어보지 않고 pc에 저장

-Hyper Text Transfer Protocol(HTTP)
object를 포함한 web
웹의 application layer protocol

-MQTT
machine-to-machine -> IoT connectivity protocol
broker가 해당 데이터를 받기 원하는 가입자에게 제공 -> 합리적이다

-CoAP
자료를 수집해서 가운데에 존재하는 server가 HTTPS방식으로 단말기에 데이터를 제공
단말기간에 데이터 전송 가능

8장

-Bluetooth
근거리 무선 통신 기준(IEEE 802.15.1)
다양한 기기에 사용
케이블의 대체로 탄생
BLE: 4.0부터 적용, 적은 전력 사용

-Bluetooth 5.0
인터넷에 직접 접속 가능
이전 대비 2배 전송속도, 커버리지 4배

-BLE Beacon
모듈 근처에 모바일 기기가 접근하면 특정 정보를 전송 -> 네비게이션으로 사용 가능
Beacon이 앱에 데이터 전송 -> 앱이 서버로 사용자 정보 전송 -> 데이터 베이스에서 해당하는 정보 다시 단말기로 전송

-RFID
태그를 통해 상품들의 정보 저장
높은 활용도

-NFC
짧은 거리에서 접촉을 통해 정보를 전송

-VLC(visible light communication)
빛을 통신의 용도로 사용(가시광선 영역을)

-GPS
여러개의 위성에서 중복되는 지점을 위치로 본다
거리 보정을 위해 더 많은 위성에서 정보를 받는다
위성신호는 벽을 넘지 못한다 -> 다른 무선통신기기의 신호를 통해 추리(indoor positioning)

-proximity
BLE Beacon과 비슷하게 모듈이 반응하는 것을 기반으로 위치 추정

-Geomagnetic IPS
지구는 하나의 자석이다
미리 측정하고 사람의 움직임에 따라 위치를 추정

# data[].attributes.body
Ch.7 Application Layer

App-layer protocols의 역할
- 교환되는 메세지의 타입
- 여러 메세지 타입의 문법(syntax)
: 메세지 내부의 field 구별 방법
- field의 Semantics
: field의 의미, 정보
- 언제 어떻게 process가 메세지를 주고받을지 규칙

* App-layer protocol은 Application의 부분이다

User Agent
: 사용자와 응용 소프트웨어(application)사이의 인터페이스 (보여지는 것)
(ex) web : web browser

App-layer protocols의 종류
: DNS, Web, HTTP, Telnet 등...

DNS (Domain name System)
: 통신이 가능하게 만드는 가장 중요한 것 중 1가지
- Domain name을 32bit IP address로 매핑(mapping) 시켜줌
- 트래픽 등의 문제로 계층화, 분산화하여 관리

root name  > top level domain > Second level >....

root name servers - 전 세계에 13개
Top level domain
: ex) com, edu, gov, mil, net ...
Country domains
: ex) kr, jp ... / postech.ac.kr

Name Server

- Local name server

- Authoratative name servers

IP주소 요청 방식
- Recursive resolution
: 서버가 도메인의 IP주소를 찾을 수 없을 때 다른서버에게 묻고 거꾸로 돌아가는 방식 (Tree형)
*  루트에 부담이 생기는 편
- Iterative resolution : host가 각각의 모든 도메인 서버에 일일히 접근하여 확인하는 방식
- 현실적으로는 두가지 방법이 섞여있음(루트이전까지 recursive, 나머지 iterative)

DNS cache

한번 확인한 IP address를 일정기간 저장해두는것

Web, HTTP, Web caches

Web -> application, 다양한 정보 보여줌

HTTP -> Web에 data 송수신 처리

Web server에 접근하는 clients가 많아지면 서버 마비, 비용상승의 문제 발생
-> proxy server를 두어서 개선 (비용 감소, traffic 해결)

단, 프록시 서버와 웹 서버를 동일하게 되도록 하는게 가장 중요

MQTT

:1999년 IBM에서 만듬, 센서에서 데이터를 받은 브로커가 미리 가입된 장치(구독자)에게 전달

CoAP

: sensor끼리 통신, HTTP 방식으로 기존의 host에게 알려줌

Ch.8 Interesting Research Topics

Bluetooth

: 10m 이내 근거리 통신 기술(WPAN)

ex) 워치, 무선키보드 등
- 4.0버전부터 저전력모드(BLE) 사용 가능하게되며 널리 상용화
- 5.0버전은 전송속도, 커버리지가 증가

BLE Beacon

: 근처에 접근(5m 이내)시신호를 보내 다양한 정보 전달

ex) 실내 네비게이션, 매장정보 등

RFID

: EPC라는 회로를 잠시 충전시켜 저장된 정보를 읽음

- 유용하게 쓰이는 FAN 기술

ex) 도서관 책, 옷 TAG 등등

NFC(Near Field Communication)

: 짧은 거리에서 접촉을 통해서 정보를 전할 때 사용

ex) 교통 카드, 삼성 페이 등

VLC(Visible Light Communication)

: 가시광선 영역을 통신 영역으로 사용

GPS
: 위성에서 지상으로 신호 전송하여 송신시간과 수신시간의 차이에 신호 속도 연산을 통해 위치 정보 알아냄
* 약 9개의 위성정보 수신 시 정확도 높음

**  위성신호가 벽을 통과하지 않기 때문에 실내에서는 읽을 수 없음

# data[].attributes.body
7장

Application layer protocol
인터넷을 쓸 수 있게 해 주는 프로토콜로, application(인터넷 전체)에 포함되는 개념이다.

application은DNS, Web, HTTP, Electronic Mail, Telnet, ftp 등을 포함한다.
이는 ethernet 등 Physical layer에서 원하는 정보가 있을 때, IP를 통해 교류하는 역할을 수행한다.

이 때 DNS를 사용하게 되는데, 이는 각자가 가진 IP주소를 Domain이라는 간판을 찾으면 알 수 있도록 해 주는 시스템을 의미한다.

DNS에는 root name servers, second name servers 등 식별할 수 있는 이름을 포함한 서버를 다룬다.

Recursive resolution
원하는 도메인을 찾을 때, 자신이 포함되어있는 DNS서버와 자신이 방문했던 기록이 있는 지를 먼저 탐색한 뒤, 조금 더 포괄적인 name level에게 해당 도메인의 IP주소를 알고 있는 Authoritative인지 여부를 묻고, 아니라면, 더 근접한 name을 가진 도메인에게 묻는다. root를 거쳐 이러한 과정을 반복하여 원하는 도메인을 찾는다면, 해당 도메인으로부터 IP주소를 역순으로 다시 전달받아 원하는 IP주소에 접속하는 방법이다.

Iterative resolution
자신이 포함된 DNS서버와 해당 서버의 방문 캐시목록에 원하는 IP주소가 없는 경우, 인접한 name server들에게 Authoritative name server여부를 묻는다. 해당 요청을 전달하는 것이 아닌, 바로바로 반응을 확인하고 아닐 경우 다른 name server에게 다시 정보를 요청하는 행위를 반복하여 원하는 IP 주소를 얻는 방법이다.

DNS cache
한 번 방문했던 도메인의 IP주소를 일정 시간동안 기록해 두어, 재방문하게 될 때 정보를 얻는 과정을 생략하기 위한 데이터이다.

Web caches(proxy server)
접속하고자 하는 서버가 너무 멀 때, 해당 서버에 접속하기 위한 과정이 복잡하기 떄문에 Proxy Server를 설치하여 해당 서버에 cache를 저장(caching)해두고, 요청이 발생하면 호스트에게 해당 IP주소를 전달해주기 위해 사용된다.

MQTT
구독자(관련된 정보를 희망하는 유저, host)에게 관련된 정보가 생겼을 때 마다 정보를 전달하는 방법이다.

CoAP
센서에서 수집한 정보는 복잡성이 비교적 떨어져 가벼운 protocol을 사용할 수 있다. 이 정보를 HTTP Gateway/CoAP Server로 전송하면 HTTPS정보로 번역하여 Clouds로 전달하고, 이 정보를 Host가 열람할 수 있게 된다.
전달해야 하는 정보가 단순한 경우에는 게이트웨이를 거치지 않고 직접적으로 클라우드로 전송할 수 있다.

8장.
Intereting Research Topics Bluetooth
무선 단거리 통신방법으로 많은 전자기기에 활용된다. 버전이 발전하면서 전력 소모량이 줄고 사용가능 범위가 증가하고 있다.

BLE Beaon
beacon이 id를 보내면, serjver가 database에서 id에 맞는 정보를 application에 보내준다.
RFID
Reder의 Antenna 신호에 의해 Transponder가 충전되며 signal을 보내고, 이를 통해 정보를 받는다.
NFC
접촉을 통해 전력을 사용할 수 있는 디바이스가 정보 제공
VLC
가시광선 영역을 통신영역으로 활용
GPS
여러 위성을 이용하여 위치를 알려준다.
하나의 장치로 신호를 쏘아 동심원을 겹치게하여 위치를 알게 한다

질문1) DNS통신 과정에서 Authoritative 여부를 확인하는 정보는 ACK에 해당하는건가요?

질문2) Iterative resolution에서 원하는 도메인의 Top Level Domains 혹은 일치하는 도메인부터 접근하면 효율적일 것 같은데, 이렇게 하지 않는 것은 node가 인접한 정보에만 접근할 수 있기 때문에 인접한 DNS부터 검증하기 때문인건가요?

# data[].attributes.body
7장
Application layer protocol
- application을 인터넷 전체에 쓸수도록 도와주는 protocol
- HTTP가 application protocol이 되고 application은 이 전체를 다 포함하는 것

- User agent는 유저에게 보이는 것

- Application layer protocols : DNS, Web, HTTP, Telnet 등

DNS (Domain Name System)
- 통신이 가능하게 만드는 가장 중요한것 중 하나
- 한 곳에서 관리안하고 분산해서 관리하는 이유?
=> 한 곳에서 다 관리하면 다 고장났을 경우  문제됨

DNS cache : 한번 매핑으로 사용한 Ip server는 일정기간 저장해서 사용함

8장
Bluetooth Low Energy(BLE)
- 저전력 소모 -> 기기를 훨씬 더 오래 사용

RFID
- Beacon의 한 종류
- 유용하게 쓰이는 FAN 기술
- 원리 : 쭉 지나가면서 얇은 회로를 충전시키고 이 안에 있는 값을 읽어내는 과정을 거침
- 활용도: 아주 많이 쓰임

VLC(visible light communication) =Illumination + Communication
--> 가시광선 영역을 통신으로 쓰겠다

GNSS
- 기지국이 위성의 역할을 대신하여 위치를 파악
- GPS, GLONASS, Galileo 등이 있으며 GPS의 경우 최소 3개의 transmitter가 필요
- GPS의 위성신호는 벽을 통과하지 않으므로 실내에선 GPS를 읽을 수 없다
-> fingerprinting 등의 기법으로 실내 위치 추정함.

# data[].attributes.body
7장

*User agent : user 한테 보이는 web browser, email reader
*Application layer protocols : 다양한 application들이 이 protocol을 사용하여 데이터를 주고 받음
DNS (Domain Name System) : 통신이 가능하게 만드는 가장 중요한 것 중 하나.
한곳에서 다하지 않고 분산되어서 진행한다.

Root name server :  전세계13개 있음.
Country code top level domains : 주소 뒤에 붙는 나라 명 우리나라 .kr

MQTT : 미리 해당 정보를 원하는 사람들에게만 센서값이 올때마다 정보 조달
CoAP : 작은 디바이스에서 사용되는 web service protocol.

8장
Bluetooth
BLE 4.0 저전력 표준이 만들어짐. 기기를 훨씬더 오래 사용.
5.0 : 속도가 빨라지고 커버리지가 4배 높아짐.

*BLE Beacon
-특정한 장소에 부착하면, 블루투스 기능이 정보를 전송하여 장소에 대한 정보를 보내준다.
-원리 : 기지국이 주기적으로 자기

*RFID : 리더가 신호를 보내면 EPC라는 회로에 저장된 정보를 읽어내는 원리
*VLC 가시광선 영역을 통신으로 사용하는 것.
*GPS: 위성에서 지상으로 신호를 보냄. 보내는시간과 받는시간도 같이 읽혀 계산을 해서 거리를 도출. 거리를 사용하여
실내에서는 사용 불가능.

*fingerprint 방식 : 기지국으로부터 신호값을 측정해놓은 데이터를 가지고 어디에 있는지 mapping

# data[].attributes.body
Chapter7. Application Layer

Application : 인터넷 전체를 말함
Application layer protocol : 인터넷을 쓸 수 있도록 도와주는 protocol

DNS(Domain Name System)
: IP address를 32bit address로 변환해서 알려주는 서버가 DNS 서버이며 DNS 시스템이라고 함.
DNS가 없으면 전송이 불가능

Why not centralize DNS?
1. Single point of failure >> 분산해서 함
2. Traffic volume
3. Distant centralized database
4. Maintenance

Root name servers: 전 세계에 13개 있음

Generic Top Level Domains(gTLDs)
- com
- edu
- gov
- mil
- net
- org
- int

Country Code top Level Domains(ccTLDs)
- generic domains (organization domains) :최근 많이 증가
- country domains (geographical domains)

Name server
- Local name servers
Authoritative name servers : 내가 원하는 IP 어드레스와 호스트 네임을 변환시켜주는 것을 갖고 있는 네임서버

Recursive resolution : IP address를 얻는 과정 >> 루트에 부담을 많이 줌.

Iterative resolution : 일일이 local에 컨택해서 물어봄

In general, 현실엔 Recursive resolution + Iterative resolution

DNS cache : 한번 확인한 IP Address와 name을 뒤에 다시 쓸 수 있기 떄문에 PC에 일정기간동안 저장
- 컴퓨터에 일정기간동안 저장해놓을 수 있는 공간
displaydns : dns를 보여줘 >> 저장되어 있는 IP Address를 보여줌. 최근 사이트를 들어가기 위해 사용한 IP어드레스를 찾아본 것들이 저장

Web and HTTP : 웹에 데이터를 전송하고 받는 과정들을 처리함

Web caches(proxy server) : 노드가 많을 때 많이 활용하는 기법

MQTT : 센서값이 올때마다 그 값을 받기를 원하는 호스트들한테 보내는 방식

CoAP : ATTP를 통해 변환됨, HTTP의 간소화버전, 게이트웨이를 거치지 않음.

8장.  Intereting Research Topics Bluetooth : 무선 단거리 통신방법으로 많은 전자기기에 활용된다. 버전이 발전하면서 저전력 소모와 넓은 커버리지를 사용할 수 있게 되었다.

BLE Beaon : beacon이 id를 보냄 >> serjver가 database에서 id에 맞는 정보를 application에 보내줌

RFID : Reder의 Antenna 신호에 의해 Transponder가 충전되며 signal을 보냄 >> 이를 통해 정보를 받음 ex) 상품태그 >> 재고관리

NFC : 접촉을 통해 전력을 사용할 수 있는 디바이스가 정보 제공

VLC : 가시광선 영역을 통신영역으로 활용

GPS : 여러 위성을 이용하여 위치를 알려준다.
하나의 장치로 신호를 쏘아 동심원을 겹치게하여 위치를 알게 한다

# data[].attributes.body
7장

애플리케이션 : 전체를 의미

애플리케이션 레이어 프로토콜 : 그 애플리케이션을 인터넷에서 사용할 수 있도록 도와주는 프로토콜

애플리케이션 레이어 프로토콜

DNS(Domain Name System)

IP주소와 Domain 이름을 매핑해주는 시스템

계층적 구조로 이루어짐

한 곳에서 모두 처리하지 않고 모든 곳에서 분산하여 작업을 진행함

한 곳에서 관리할 경우 오류 발생에 대처가 어려움

트래픽 쏠림 현상을 방지하기 위하여

Recursive Resolution (재귀적 해결)

모르면 나보다 하나 윗단계 애한테 물어보고 답변이 진행되면 반대로 돌아옴

Rout에게 부담이 크기 때문에 잘 사용하지 않음

Iterative Resolution (반복적 해결)

윗단계가 모르면 하나 더 윗단계의 IP주소를 알려주고 직접 물어보는 방식

현실은 Recursive와 Iterative가 섞여있는 경우가 가장 많음

루트의 노드를 줄여주기 위해 루트 이전까지 recursive 루트 나머지 iterative하게 하는 방법

DNS cache : 한번 확인한 IP 주소와 이름을 나중에 또 사용할 수 있기 때문에 PC에 저장해둠

Web and HTTP (web은 애플리케이션, HTTP는 애플리케이션 레이어 프로토콜)

HTTP: TCP사용, PC러닝 익스플로러가 웹 서버로부터 HTTP response를 가져옴

Web Caches

프록시 서버를 이용하여 아주 먼 거리에서 트래픽 부담없이 데이터 이용이 가능하게 함

노드가 많이 걸리는 상황에서 많이 사용하는 방법

웹서버와 프록시 서버의 내용을 같게 만들어주는 것이 중요

Electronic Mail

Telnet

ftp

MQTT

미리 Subscribe하고 구독자들에게 기사를 계속 보내는 것과 유사

브로커는 사전에 가입해둔 구독자들에게 데이터를 받자마자 바로 보내주는 방식

CoAP : Constrained Application Protocol

coap 서버가 브로커라고 불리는 서버로부터 받아서 http 방식으로 호스트들에게 보내주는 방식

8장

블루투스

다양한 곳에서 활용되고있음

4.0부터 저전력 표준이 만들어졌음

4.2의 경우 이전버전인 블루투스 4.1에 비하여 2.6배 빠른 전송속도를 가짐

5.0

4.1대비 커버리지가 4배

BLE Beacon

apple이 최초 개발

동작원리

비콘이 앱에 ID를 보내고 앱은 서버에 ID를 보냄, 서버는 아이디를 보고 DB에서 화면에 띄울 정보를 찾고 화면에 보여줌

비콘은 자신의 ID만을 전송

RFID

안의 회로를 충전시키고 내장되어있는 값을 읽어내는 방식

리더가 상품안에 신호를 보내면 상품 안의 모듈이 짧게 충전되며 자신의 정보를 보냄

NFC

RFID의 한 종류로, 전력을 사용할 수 있는 디바이스가 접촉을 통하여 정보를 전달하는 방식

VLC (visible light communication)

빛을 밝게 비추는 용도로만 사용하는 것이 아니라 통신으로 사용하는 방법

와이파이를 대체하는 빛으로 통신

GPS

위성에서 지상으로 비콘처럼 신호를 보냄

보내는 시간을 적어서 보내고, 자동차 같은 수신 기기가 신호를 읽고 받은 시간에서 전송되었던 시간을 빼고 속도를 곱하여 거리를 구함 → 위성부터 내 위치를 반지름으로 하는 원을 그림, 많은 위성들을 이용하여 접점을 찾게됨

위성신호는 벽을 통과할 수 없음 → 실내에서는 위치확인이 불가능

위성이 아닌 무선통신기지국이 신호를 받아서 처리하는 것이 윈도우 포지셔닝

FingerPrint-based pattern matching

신호값을 미리 측정해두고 만든 DB를 통해 앱을 실행

어느 신호에 이용자의 위치 신호가 매핑하는지를 확인하는 방법

Geomagnetic IPS

지자게값을 미리 측정해두고 사람이 움직일때 측정된 값을 통해 위치를 파악하는 방법

절대위치가 아닌 상대위치를 추적할 때 주로 사용함

# data[].attributes.body
7장, Application Layer

Application layer에서는 message type(ex. request & response), field semantic, 프로세스가 메시지를 send & respond 하는 방법을 결정한다.

DNS(Domain Name System)

Host name(URL)을 IP 주소로 매핑하는 기술. Centralized DNS는 single point of failure, traffic volume, distant centralized database, maintenance 등의 이유로 사용하지 않는다.

Distributed, Hierarchical DNS

Root Domain은 전세계에 걸쳐 13개가 존재하고, gTLD(Generic Top Level Domain)은 여러 개가 존재한다. (ex. com, edu, net, org…)

ccTLD(Country Code Top Level Domain)는 국가 마다 존재한다. (ex. kr, jp, us…)

Local name server: 각 ISP가 가지고 있는 DNS 서버

Authoritative name server: 각 기관이 가지고 있는 DNS 서버

Recursive resolution

Recursive resolution

request가 오면 상위 DNS 서버로 요청하고, 없을 경우 더욱 상위에 요청한다. root DNS 서버에 부담.

Iterative resolution

Iterative resolution

일반적으로는 Recursive와 Iterative 방식을 둘 다 사용한다.

DNS cache: name server가 URL을 IP 주소로 매핑하면, 일정 기간 PC에 저장한다. 이후 다시 같은 URL을 요청하면 name server를 거치지 않고 저장된 정보를 가져온다.

Web & HTTP(HyperText Transfer Protocol)

웹 페이지는 객체로 이루어져 있으며, 객체는 HTML 파일, JPEG, Java applet, audio file 등이다.

HTTP는 client가 웹 페이지를 요청하면, server가 이에 응답한다. TCP를 사용한다.

Web cache(proxy server)

1. client가 proxy server에 웹 페이지를 요청한다.

2. proxy가 web에 웹 페이지를 요청한다.

3. web server가 proxy에게 웹 페이지를 전송한다.

4. proxy가 client에게 웹 페이지를 전송한다.

8장, Interesting Research Topics

PAN(Personal Area Network) Technologies

Bluetooth

10m 내외의 짧은 거리 무선 통신.

Bluetooth Low Energy: 전력을 적게 소모함. bluetooth 4.0 부터 적용.

RFID

전자기장을 이용해 물체에 부착되어 자동적으로 식별하는 기술.

NFC(Near Field Communication)

4cm 이내로 두 전자기기를 가져댐으로써 통신을 할 수 있게 하는 프로토콜.

VLC(Visible Light Communication)

400 ~ 800 THz 사이의 가시광선을 통해 통신하는 기술.

# data[].attributes.body
Ch07 application layer

application layer protocol은 보내는 메시지의 type과 syntax를 규정하여 전송이 일어날 수 있게 한다.

DNS는 IP address를 host name으로 전환시켜 통신이 가능하게 한다. DNS는 데이터를 centralize 하지 않는데, 트래픽량을 조절하고 오류에 대비하기 위해서다. Root domain에서 top-level, second-level domain 등으로 데이터를 관리한다.

IP 주소에 대한 정보가 없을 때 recursive resolution과 iterative resolution 방법이 있다. Recursive resolution은 high-level domain에게 질문하고 root, root 아래의 또 다른 domain 순으로 질문하고 답을 찾은후 다시 root에게 갔다가 client에게 답을 제공하는 방식이다. Iterative resolution은 high-level domain에게 질문하고 답을 듣지 못하면 client가 직접 상위 domain에게 질문하고 답을 얻는 방식이다.

DNS cache: 한 번 확인한 IP Address와 hot domain은 다시 쓸 수 있기 때문에 일정기간 동안 ‘DNS cache’에 저장해둔다.

Web caching(proxy server)는 respond시간을 줄여주고 traffic 부담을 줄여주기 때문에 clients가 많이 걸려있을 때 유용하다. Proxy server는 server의 데이터를 실시간으로 유지해야 한다.

MQTT는 미리 subsribe한 clients에게 정보를 보내는 것이다. Coap는 http의 slim한 버전으로, 주로 센서와 게이트웨이(Coap server)와 coap으로 통신하고 게이트웨이는 서버와 https로 통신한다.

Ch08 Intereting Research Topics

Bluetooth: 무선 단거리 통신 방법으로 많은 전자기기에 활용된다. 버전이 발전하면서 저전력 소모와 넓은 커버리지를 사용할 수 있게 되었다.

BLE Beacon은 단말기에 자신의 ID를 제공하고 단말기를 통해 서버에 ID를 보내어 데이터를 불러들인후 단말기에 화면을 띄우는 원리다.

RFID: 얇은 회로를 순간적으로 급속충전시켜 그것의 데이터를 가져오는 방식이다. NFC는 RFID의 한 방식으로서 접촉을 통해 정보를 전달한다.

VLC는 빛을 통해 통신하는 방식이다.

GNSS는 3개 이상의 위성에서 보내는 신호가 도착하는 시간과 거리값을 통해 자신의 위치를 추적하는 방식이다. GPS신호는 벽과 지하를 통과하여 신호를 보낼 수 없다.

Fingerprint-based Pattern Matching은 각 지점의 신호세기를 미리 측정하여 데이터베이스를 만든 후, 사용자가 보내는 신호를 매핑하여 위치를 추적하는 방식이다.

Geomagnetic IPS: 지자개 원리- fingerprint 방식과 유사

# data[].attributes.body
chap 7

Application Layer

application layer protocl

application을 인터넷과 연결해 사용할 수 있도록 도와주는 protocol

메시지 교환, syntax 등 포맷들을 정의

DNS

HTTP

DNS(Domain Name System)

-사람이 기억하기 쉬운 텍스트 기반 name을 32bit의 ip주소로 변환해 줌

-분산 방법 USE

- Root Domain / Top-level Domains / Second-level domains

* IP주소로 변환 방법

Recursive resolution : local에 물음 -> 모르면 -> 상위서버에 물음 -> 알때까지 반복 -> root에 부담

Iterative resolution :local이 몰라 -> local이 알 것 같은 서버의 ip주소를 알려줌 -> 정보를 원하는 애가 일일이 찾아봐야함

현실은 두 가지 같이 쓰임

DNS cache : 한번 얻은 ip주소를 일정 시간 동안 저장함.

HTTP(Hyper Text Transfer Protocl)

Web에 데이터 전송 처리

TCP 사용

Web caches(proxy server)

-> Web suver에서 받은 정보를 proxy server에 저장함 -> 다시 요청 안해도 됨 good

MQTT(Message Queue Telemetry Transport)

broker를 통해 원하는 사용자에게만 정보 제공

chap8

Interesting Reserch Topics

Bluetooth

10m이내 통신할 수 있는 wireless 대표적 예

- Bluetooth Low Energy : 저 전력 소모 -> bluetooth4.0부터 적용

- 블루투스 버전이 높아질수록 -> 전송속도 빠름, 커버리지 넓음 (but 배터리 빨리 닳아)

BLE Beacon

beacon이 id를 보냄 -> server가 database에서 id에 맞는 정보를 application에 보내줌

RFID

Reder의 Antenna 신호에 의해 Transponder가 충전되며 signal을 보냄 -> 이를 통해 정보를 받음 ex) 상품 태그 -> 재고 관리

NFC

접촉을 통해 전력을 사용할 수 있는 디바이스가 정보를 제공

VLC

가시광선 영역을 통신영역으로 활용하겠다 (깜빡임 사용)

<IOT application>

GPS

송수신 신호를 통해 거리 파악 가능

위성신호는 벽 통과 X -> 실내에서 GPS 신호 받지 못함

GNSS

무선 통신 기지국이 마치 인공위성처럼

-> 위성신호가 닿지 못하는 곳에서의 거리 파악 가능

# data[].attributes.body
Chap 7.Application layer

Application layer : 다양한 포맷 결정하는 것으로 다양한 앱이 프로토콜을 써 데이터를 주고받고 IP를 통해 나감

*Application : 전체를 다 포함하는

*app-layer protocol : 애플리케이션을 인터넷을 쓸 수 있도록 도와주는 역할 = 실제 전송이 일어날 수 있게하는 것이 = http

User agent : 유저한테 보이는 web

Application layer protocols : DNS, Web and HTTP, tcp나 udp를 통해 ip로 나감

DNS : 통신을 가능하게 만드는 것 중 하나로

*IP address를 정확히 몰라도 그 웹사이트로 갈 수 있는 이유는?

->DNS 돔 덕분에 가능하다(전화번호부 같은 존재)

->www.을 치면 32비트로 변환해 알려주는 서버이자 시스템(어드레스와 호스트네임을 매핑해주는 역할)

Generic domains : 최근에 많이 늘어남

Www. = 단말기 이름

Name servers :

1. Local name server ex) postech

2. Authoritative name servers : 내가 원하는 ip주소와 호스트네임을 변환해주는 것을 갖고 있는 네임서버이다

Ex) ac가 authoritative

Recursive resolution : Root가 너무 부담

Iterative resolution : 일일이 컨택해서 물어봐야하는 상황

Web and HTTP : 웹은 애플리케이션이고 http는 애플리케이션 내의 프로토콜이다

*http가 실제 웹의 데이터를 전송하고 받는 과정을 처리

HTTP: tCP사용하며

->response : 링크와 텍스트를 포함해 pc로 갖고 옴 -> compile을 통해 마치 사이트에 원래 있던 것처럼 나온다

Web cache(proxy server):노드가 많이 걸릴 때 사용

=>중요한 것은 프록시와 기존 웹서버를 할 때마다 같게 하는 것

MQTT : IBM에서 제작한 것으로 미리 구독한 사람들에게 미리 보내는 것과 비슷하다

CoAP 서버는 http와 coap 프로토콜도 알아서 변환해서 보내줌->게이트웨이 있는 경우

Coap 자체로도 가능

MQTT & CoAP : 서버를 같이 할 수 있음

Chap 8. Interesting research …

PAN

1. bluetooth : 케이블을 무선으로 대체하기 위해 제작, 같이 표준 제작 -> 4.0부터 꽃을 피움(저전력 소모 -> 기기를 훨씬 더 오래 사용) - BLE

*커버리지가 넓어지면 배터리를 많이 먹음

->BLE beacon : 일정 거리 이내에 오면 비콘이 모바일 폰의 신호를 읽어 데이터를 보냄

2) RFID : 지나가면서 회로를 충전시켜 안의 정보를 읽어내는 것

리더가 상품에 신호를 보내면 상품이 잠시 충전되면서 자신의 정보를 보냄

3)NFC : 투웨이 커뮤니 RFID의 서브기술, 전력을 쓸 수 있는 디바이스와의 접촉을 통해 정보를 전달

4)Vlc : 형광등이 led로 바뀌는 추세(0과 1) 가시광선 영역을 통신으로 사용

5)GNSS :

*gps는 위성에서 지상으로 신호를 보내는 시간을 적어서 보내면 지구의 자동차 수신기가 읽는다. 받는 시간-보내는 시간 = 신호 전송 시간이 나옴 곱하기 속도 = 거리

=>동심원이 나오는데 그 사이에 내가 있음

여러대를 거치면서 정확한 위치를 찾음(적어도 9개 이상)

*위성신호는 벽을 통과하지 못해 실내에서는 찾지 못함, 근데 지하 공간이나 넓은 지역의 위치를 찾아야할 기회가 많아 wifi나 무선 통신을 받아 해보자는 게 = window position

1. fingerprinting : 와이파이가  여러개가 있는 곳에서 각각의 빨간점에서 신호를 측정한 db를 띄운다. 표 중 어디에 매핑을 하느냐로 위치 찾음

2. Proximity : 비콘

3. Geomagnetic IPS : 통신 시설이 아닌 지구(자석)이라 위치마다 지자개 값이 달라 미리 측정한 지자개 값을 보고 위치 파악

4. IMU : 절대 위치가 아닌 상대 위치 추적

# data[].attributes.body
7장

Application layer protocol
- application 을 쓸 수 있도록 도와주는 protocol

DNS
- IP addressing 을 32bit IP address로 변환해서 알려주는 서버
- 혹시 고장 날 수도 있고 traffic이 몰리는 걸 방지하기 위해 사용한다.

Authoritative name severs
- 내가 원하는 ip address와 host address를 변환시켜주는것을 가지고 있는 name server

Iterative resolution
- 각각을 직접 물어보는 방식

Recurisive resolution
- 원하는 곳까지 모든 루트에게 물어보는 방식

DNS cache
- 일정시간동안 Ip address와 host address을 뒤에도 쓸 수 있으므로 pc에 저장

Web and HTTP
- HTTP는 Protocol로서 Web에 데이타를 전송하고 받는 과정을 처리한다.

8장
Beacon
- 근접 거리의 정보 통신방법

RFID
- 유용하게 쓰이는 FAN 기술
- 활용도가 높다.

NFC
- RFID의 SUB기술로써 데이터를 읽을 수 있다.

VLC
- 가시광선을 통한 데이터 통신

GPS
- 여러 인공위성에서 데이터를 받아 종합하여 위치를 추정한다.

# data[].attributes.body
Chap 7. Application Layer
1. Application layer protocol

Application이 인터넷에서 쓰일 수 있도록 도와주는 것이다. 예를 들면 web application은 HTML로 표현되며 web browser와 web server를 필요로 한다. 실제로 이것을 전송하기 위해 HTTP가 사용된다. 여기서 HTTP가 application layer protocol의 일종이며 이 전체를 아울러 application이라고 한다.

User agent는 유저에게 보이는 것, 즉 웹 브라우저나 mail reader 등을 일컫는다.

Application layer protocols에는 DNS, Web and HTTP, Telnet 등이 있다.

2. DNS

통신을 가능하게 하는 것 중 하나이다. 예를 들어 포항공대 홈페이지는 www.postech.ac.kr이라는 domain name을 가지고 있다. 원래 데이터는 헤더에 ip address가 존재한다. 하지만 domain name만 알아도 해당 ip address와 통신이 가능해진다. 이를 가능하게 해주는 것이 DNS이다. DNS는 domain name을 복잡한 IP address으로 mapping 시켜준다.

3. DNS server

Distributed

Hierarchical Database

Root Domain

Top-level Domain

Second-level Domain

4. Name Servers

Local name server

Authoritative name servers

5. Contacting name servers

Recursive resolution

Iterative resolution

In general: recursive + iterative

6. DNS cache

한번 확인한 IP address와 host name은 후에 또 쓸 수 있으니까 해당 pc에 cache로 저장해둔다.

7. Web and HTTP

Web : 웹 페이지는 다양한 object들로 이루어져 있는데, HTML file, 이미지파일, 오디오 파일 등이 그에 속한다. 이 object들은 URL로 접근가능하다.

URL: host name + path name

HTTP: 웹의 application layer protocol이다.

Proxy server: 예를 들어 미국에서 실시하는 월드컵을 생중계하는데, 한국에서 다수의 사용자들이 미국 웹 서버에 연결하려고 하면 traffic으로 마비될 수도 있고 거리도 너무 멀다. 비용도 많이 든다. 해결책으로 한국 내에 proxy server를 둬서 미국 서버의 생중계 내용을 한번에 당겨와서 한국의 여러 clients에게 전달할 수 있다. 이 방식은 노드가 많을 때 매우 유용하다. 그러나 proxy server와 해당 web server의 내용을 같게 해줘야 함에 유의해야한다.

8. IoT and Internet Protocols

MQTT

센서 값이 올 때마다 가입자에게 보내주는 방식이다.

어떤 곳에 온도 센서가 있고 측정한 온도값을 주기적으로 broker(서로 가장 가까운 무선통신망으로 연결됨)한테 보내면 (broker는 사전에 온도센서 값을 받기 원하는 이용자들에게 가입을 이미 요구한 상태) 온도 데이터를 받자마자 가입자들에게 뿌려준다. 이게 MQTT이다.

CoAP

gateway, 즉 broker라고 불리는 CoAP 서버가 이 데이터를 받아서 호스트에게 HTTP 방식으로 보내준다. 해당 서버는 HTTP도 알고 CoAP도 알고 이해하기 때문에 변환해줄 수 있다. CoAP 그 자체로도 통신을 할 수 있는 host는 Gateway를 거치지 않아도 된다.

Chap 8. Interesting Research Topics

1. Bluetooth

One of the most popular short range wireless communication standard

known as IEEE 802.15.1

처음엔 Erission 선을 무선으로 만들기 위한 목적으로 만들어졌다.

2. Bluetooth 종류

Bluetooth 1.1

Bluetooth 4.0 : Bluetooth low Energy (BLE) 적용

Bluetooth 4.2

Bluetooth 5.0

4. Applications

BLE Beacon

RFID : 리더가 읽으면, 즉 신호를 보내면 태그가 급속충전되면서 태그 내의 정보가 전송된다.

NFC : RFID 기술의 subset으로 스마트폰과 같이 전력을 쓸 수 있는 기기에 적용한다.

VLC: 가시광선으로 통신하기

5. IoT Applications

Positioning

GNSS: 위성 신호를 통해 위성과 기기의 거리를 측정하여 기기의 위치를 파악한다.

Indoor positioning

Fingerprinting

Proximity

# data[].attributes.body
Chapter 7 Application Layer

Application layer protocol_

보내지는 메시지들의 다양한 Syntax들을 결정함. 다양한 Application들이 TCP나 UDP 위에서 Application layer protocol들을 통해 데이터를 주고받음. Application은 전체를 의미, Application layer protocol은 그러한 Application을 인터넷에서 사용할 수 있도록 하는 protocol을 의미. Web Application을 가정해보면, Application layer protocol 개념에 해당하는 것은 HTTP이고, 그 외 HTML, 웹 브라우저, 웹 서버 등이 모여 Application을 구성함. User agent는 사용자에게 보이는 웹 브라우저(ex 크롬), 이메일 리더, 아웃룩 등을 의미함. Application layer protocol에는 굉장히 다양한 것들이 있는데, TCP와 UDP를 거쳐 IP를 통해 Data를 전송하게 됨.

DNS(Domain Name System)_

포항공대 web server의 IP를 모르는데 www.postech.ac.kr로 어떻게 바로 연결되지? 텍스트 기반으로 기억하고 공유하기 쉽게. Host name과 IP address를 mapping 해줌. 한번에 다 하지 않고 분산화함(not centralized). Root Domain, Top-level Domains, Second-level domains, ... 등으로 Hierarchical하게 구성되어있음. root는 전 세계가 아니라 13개가 있음. 그 밑에 다양한 Top Level Domain들이 생겨남. 예전에는 7개만 있었는데 엄청나게 많이 늘어남. 그 이후 Country Code Top Level Domain들이 사용됨. 예전에는 generic domain과 country domian으로 나뉘어 존재했고, 최근 generic domain들이 굉장히 많이 늘어난 것. www.다음에 단말기 Number가 들어간다고 보면 됨. Local Name Server는 postech에 해당. Authoritative name server는 호스트의 이름을 위해 자동으로 name과 address를 변경해 줄 수 있음. 해당 권한을 누가 가지고 있느냐에 따라 ac가 될 수도 있고, postech가 될 수도 있지.

Recursive Resolution and Iterative Resolution_

Recursive는 누군가가 www.cnn.com의 IP address를 알고싶다면 hierarchy에 따라 root를 거쳐서 올라갔다가 내려오는 방식. 근데 이러면 root에게 너무 부담이 감. 반면 iterative는 묻는 host가 일일이 돌아가며 다른 주소에게 원하는 곳의 IP address를 물어봄. 실제로는 이 두 가지를 섞어서 사용하는 방식이 많음.

DNS cache_

cache란 어떤 site의 ip address를 알고 나면 한번 쓰고 버리는 것이 아니라 일정 시간 특정 공간에 저장해둠. 현재 PC에 저장된 ipconfig / displaydns: 저장된 ip address를 display에 보여줘.

Web and HTTP(Hyper Text Transfer Protocol)_

HTTP는 Protocol로서 Web에 Data를 전송하고 받는 과정을 처리함. https://imag.hankyung.com/photo/202206/ZA.30404036.1.jpg에서

https://imag.hankyung.com은 host name이고 그 뒤는 path nmae.

이 호스트에 가서 요 파일을 보여줘 이게 없으면 전체의 내용이 오기도. 파일일 수도, 이미지일수도, 오디오 파일일 수도... 내 컴퓨터에서 재생되게 하는 것이 Web protocol이고 HTTP임.

HTTP는 TCP를 사용함_ 웹 서버에 가서 링크와 텍스트를 가져오고, 이를 컴파일링하여 화면에 보여줌.

HTTP는 Web caches를 사용함_ 미국에 있는 웹 서버까지 모든 client들이 연결하게 되면 너무 멀다. 따라서 한국에 Caching Proxy Server를 두어 거기까지만 가도 그 내용을 볼 수 있게 하는 것. load가 많이 걸릴 때 활용하기 아주 좋은 방법. 이때 중요한 것은 Proxy Server와 Web Server의 내용을 같게 유지해주는 것.

IoT and Internet Protocols_

앞서 언급했듯이 IoT와 기존에 internet에서 쓰는 protocol들이 서로 유사함. 이제 배우지 않은 몇 개, 그 중에서도 가장 많이 쓰는 것들.

MQTT_

사용자들은 MQTT broker들을 사전에 Subscribe하고, MQTT broker는 Temperature sensor로부터 정보를 받으면 바로 구독자들에게 보내줌.

CoAP_

Constrained Network 안에서는 CoAP으로 서로 통신하고, 이를 CoAP Server / HTTP Gateway를 통해 인터넷과 연결할 수 있게 함. 때로는 Node들이 바로 CoAP으로 인터넷과 통신하는 것도 가능함. 이 경우는 Gateway를 거치지 않아도 됨.

MQTT & CoAP_

맞는 게이트웨이 장치를 쓰면 두 개의 프로토콜을 모두 이해해서 MQTT broker로서, CoAP으로서의 동작을 같이 수행할 수도 있다.

Chapter 8 Interesting Research Topics

Bluetooth – what is it?_

IEEE 802.15.1. 스마트 워치라던가 블루투스 이어폰, 키보드 등 다양한 곳에서 쓰임. 사람들이 10m 이내에서 많이 사용하는 무선 통신 방법 중 굉장히 자주 쓰이는 것 중 하나. 사실 사람 이름에서 출발. H + B 모양. 북유럽에서 표준을 정한 것 중 하나.

Bluetooth 종류_

Bluetooth 1.0, 1.1. 2, ... 등등으로 표준으로 정해져왔으며 가장 꽃을 피웠던 시기는 4.0 시기부터. 저전력 표준(Bluetooth Low Energy)이 사용됨. 4.2는 iPhone6에 장착. 5.0은 Galaxy S8에서 처음 사용. 표준이 새롭게 정해질수록 전송 속도와 커버리지 증가. 그런데 커버리지 증가는 마냥 좋은 것만은 또 아닌데, 커버리지가 넓어지면 배터리를 많이 먹을 수 있기 때문.

BLE Beacon_

백화점 숙녀화 코너 벽에 붙여놓으면 백화점 이용자들이 지나다니다가 근처에서 스마트폰을 통해 숙녀화 관련 정보를 얻을 수 있음. 원리가 무엇일까? Beacon이 스마트폰에 자신의 ID를 보냄. 스마트폰은 서버에 해당 Beacon의 ID를 보냄으로써 데이터베이스로부터 데이터를 수신함. Beacon은 자신의 ID를 주기적으로 보낼 뿐. Beacon은 실내 네비게이션 등 다양한 곳에서 유용하게 활용됨.

RFID_

유용한 PAN 기술. RFID를 보면 얇은 구리선이 그려져있는데, 그 안에 관련 정보들이 들어있음. 바코드로 표시하기도. Reader가 지나가면서 얇은 회로를 충전시키면서 그 안의 내용을 읽어낼 수 있음. 굉장히 많이 활용됨. 책, 무인마켓, 환자 ID Mark 등

NFC(Near Field Communication)_

건물 들어갈 때 찍거나 버스에서 찍기도. RFID의 하나의 Sub 기술인데, 아주 짧은 거리에 접촉을 통해 정보를 전할 때 사용하는 기법.

VLC(Visible Light Communication)_

형광등이 LED로 바뀌고 있는데, LED를 통신용으로도 쓰자는 것이 VLC. 가시광선 영역을 통신으로 쓰겠다는 것. Wi-Fi를 대체하는 등으로 사용하겠다는 것. 지나면서 관광 정보나 도시의 정보, 차량과 차량 간의 커뮤니케이션 등이 가능.

Global Navigation Satellite System(GNSS)_

GPS; 위성에서 지상으로 신호를 보냄. 보내는 시간을 적어서 보냄. 지구에 있는 자동차에서 수신 길이를 정리하고, 신호의 속도를 곱하여 위성과의 거리를 계산함. 이를 총 세 대의 위성으로부터 받아 위치를 계산하는 것이 기본 원리이며, 보정을 위해 9개 이상의 위성으로부터 정보를 받으면 엄청나게 정확해짐. 문제는 위성 신호가 벽을 통과하지 않는다는 것. 건물 내나 지하에서는 GPS를 사용하기가 어려웠음. 이러한 문제를 해결하기 위해 와이파이나 블루투스와 같은 실내의 무선통신 기지국들이 위성으로부터 신호를 받아 역할을 수행하는 것이 바로 Indoor Positioning.

Pattern Matching_

5개의 기지국으로부터 받는 신호를 빨간 점들에서 미리 측정해놓음. 그리고 앱을 띄운 뒤 특정 위치에서 받는 신호를 기존에 측정해놓은 데이터를 이용해 찾아냄.

Proximity_

beacon을 활용. 내가 이 근처에 있다.

Geomagnetic IPS(지자계 방식)_

지구는 커다란 자석. 위치마다 지자계 값이 달라서 미리 측정해두었다가 사람이 움직일 때 측정한 값과 비교하여 위치를 파악함.

IMU를 바탕으로 상대적 위치를 파악하는 것도 가능.

# data[].attributes.body
7장
Application layer
-Application을 쓸 수 있도록 도움을 주는 protocol

User agent
-유저에게 보여지는 application
ex) web browser, mail reader

Application layer protocol
ex)DNS, Web, HTTP

DNS(Domain Name System)
컴퓨터가 모든 IP 주소를 외우는 것이 힘들기 때문에 원하는 IP 주소로 저장을 해주는 시스템
IP address와 Domain을 연결 시켜 주는 시스템
=> 하나로 되어 있지 않고 분산되어 있는 시스템
Why?
Single Point of Failure
실패가 일어나면 한 곳만 무너져도 다 무너지기 때문에
Traffic volume
양이 넘칠 수 있기 때문에

TLP(Top Level Domain)
도메인 맨 끝에 붙이는 것
ex) com, edu, gov....

CCTLDs(Country Code Top Level Domains)
나라를 나타내는 도메인
ex)kr, jp...

Name Server

Local Name Server
ex) postech...

Authoritative Name Servers
내가 원하는 IP와 Hostname을 변환 시킬 수 있는 name server

Recursive resolution
원하는 곳까지 모든 루트에게 물어보는 것
- 순서대로 물어보기 때문에 잘 안 쓰임

Iterative resolution
각각을 직접 물어보는 방식

위의 두 가지를 섞어서 사용하고 있음

DNS cache
컴퓨터에 DNS cache를 저장함

Web and HTTP
원하는 자료의 host와 path를 입력하면 그곳까지 연결 시켜 주는 것

Web cache
먼 곳의 서버를 한 곳에 모아두어서 그 곳에서 서버를 볼 수 있게 해주는 것

MQTT
Message Queue Telemetry Transport

CoAP
Constratined Application protocol

8장
Bluetooth
10m 이내에서 전송 가능
4.0부터 저전력 소모
=> BLE(Bluetooth Low Energe)

5.0 => 속도가 빠름

Beacon
어느 지역에 설치해서 그곳에 들어온 사람이 Beacon과 연결되는 것을 키면 반응하는 시스템

추가로 다양하게 사용되는 시스템
RFIP
NFC
ULC
GNSS(GPS)
=> 위성신호는 벽을 뚫지 못 하기 때문에 실내에서는 잘 작동하지 않음

# data[].attributes.body
[AIot 7장]

Application layer protocol
ex)DNA(Domain Name System)
web and HTTP
E-Mail
Telnet
ftp

user agent - web browser, mail reader

[DNS]
인터넷 호스트, 라우터는 32bit IP Address를 갖고 있음 <-> e.g. www.postech.ac.kr같이 이름 같은거를 maping해주는게 DNS
- Distributed, Hierarchical Data base

http://www.google.com
---------------

Root = gTLDs + ccTLDs //둘 다 엄청 늘어나는 추세

[TLD]
-Generic Top Level Domains(gTLDs) //ex)org,gov,net....
-Country Code Top Level Domains(ccTLDs)//ex)fr,jp,cn,...

Authoritative name servers
- 내가 원하는 ip 주소와 호스트 네임 바꿔주는 걸 가지고 있는 네임 서버

Recursive resolution
얘가 물어보면
로컬에 먼저 물어봄 ->몰라요
상위로 감 -> 몰라요
루트로 감 -> 몰라요
-> .com -> 몰라요-> cnn.com->알아요 ->com알려줌 -> ... 이런식으로 다시 왔던 대로 돌아가는 방식

근데 이건 너무 root에 부담이 가서
하나하나 세세하게 물어보고 알거 같은곳 ip주소 알려주고 하는 방식으로 찾아가는 게 iterative(하나 물어보고 모르면 다른 놈 주소 알려주고 그럼 host가 다른놈 찾아가서 컨텍하는 방식...)

현실은 둘을 섞어놓음

-------------
이렇게 한번 확인한 ip address를 계속 물어보는게 아니라 이걸 저장해 놓는게 DNS cache
// DNS cache // 일정시간 address 저장해 놓는 거

[WEB & HTTP]//웹에 데이터를 전송하고 받는 과정 처리

HTTP
- TCP 사용
- 웹서버에 request하면 HTTP가 답장함
-> 링크가 와서 컴파일 시키면 마치 사이트에 원래 있던거 처럼 머싯는 모양의 화면이 된다

web caches
Goal: 세계 모든 사람이 프록시를 요청하게 되면 트레픽이 엄청나서 마비됨 그리고 멀음,,
-> 한국 어떤 곳에 proxy server를 둬서 거기에 저장해서 서빙하면 한국사용자는 거기서만 트레픽 생김
중요한건 그 때마다 proxy server = web server로 만드는 거

MQTT // Message Queue Telemetry Transport : IoT 어플리케이션에서 가장 많이 씀
- Machine to machine(M2M) & IoT connectivity protocol
- MQTT broker가 정보(센서값 등)를 subscribe한 사람한테만 보내는 방식
- ex)twitter

CoAP // HTTP의 슬림버전
- 센서들끼리 통신하고 CoAP서버(브로커 역할하는)가 받아서 호스트 한테 보냄

[AIoT ch.8]

Bluetooth // ~10m

...

...

bluetooth1.1 100m coverage인데 전력소비가 단점
bluetooth4.0 -> 부터 저전력 소모 -> 기기를 더 많이 사용
bluetooth4.2 -> 인터넷에 직접 전송 가능 ver4.1에 비해 2.6배 빠른 속도
bluetooth5.0 -> 4.1대비 2배빠르고 coverage x4 (너무 넓으면 전력 소비 심해서 안좋음 근데 조절 가능)

[Beacon] //저거 붙여놓으면 근처 갈 때 신호를 읽어서 정보를 줄 수 있음,,
원리 : app에 자기 아이디 보내면 5g를 통해 서버에 id보냄 그럼 서버가 db를 뒤져서 그 정보를 app에 전송 //간단,,

//[RFID]//
tag에 빛 비추면 구리선 등이 있음 구리선들이 안테나 주변으로 지나가면 순간적으로 충전돼서 정보를 읽음 ex)바코드,티켓 등

NFC(near field communication) // 아주 짧은 거리에 접촉을 통해 정보를 정할 때 사용 ex) 버스탈 때, 문 열 때 등

VCL(visible light communication)
- 밝게 비추는게 아니라 가시광선 영역을 통신 용으로도 쓰자

//Indoor Application//
GPS
-단말기에서 보내는 시간을 적어서 위성으로 보냄 -> 위성에서 다시 단말기가 받음-> 받을때시간-보낼 때 시간 x 3*10^8 m/s = 둘 사이의 거리 -> 이를  토대로 위치 파악
+ 두번쨰 위성에 보내서 또 위치파악 + 세번째 받아서 또 위치파악 -> 교집합이 내 위치

이 때 소수점 몇까지 시간을 받냐에 따라서 보정을 해야되기 때문에 9개정도 받으면 정교하게 위치 파악 가능

하지만 벽을 통과하지 않아서 실내는 읽을 수 없음
근데 건물내, 지하공간에서도 위치를 받고싶어함 -> 이때 알게 해주는게 GNSS
window positioning
1)finger print방식 //중요
기지국으로부터 위치에 따른 신호 값을 *미리* 측정해놓음 -> 앱을 띄움 -> 어떤 사람이 어떤 위치에 갔을 때 어느 위치에 갔는지 파악함

2)Proximity
단말기 근처에 있는지 파악

3) 지자게 geomagnetic
미리 측정해놨다가 사람이 보낸 신호 보고 위치파악

# data[].attributes.body
7장 < Application Layer>

Application layer protocol

- 보내는 message 와 syntax라고 하는 다양한 format 결정

- 다양한 application이 application layer을 써서 data를 주고 받는데 아래 layer는 TCP, UDP중 하나이고 IP를 통해서 내려간다.

- application vs application layer protocol

전체 포함 vs application이 인터넷을 쓸 수 있도록 도와주는 protocol

- User agent : outlook, chorme...
- application layer protocol : DNS, Telnet…

- DNS
: 통신이 가능하게 만드는 가장 중요한 system.
32 bit IP 주소를 domain(host name)으로 mapping (192.xxx.xxx.xxx → www.naver.com)
- 모든 곳에서 분산해서 mapping (한 곳에 하면 고장 시 문제가 발생해서)

- www.(단말기 이름)
- Name server
1) Local name servers → postech, naver, daum …..
2) Authoritative name servers : 내가 원하는 ip address와 host name을 변환 시켜주는 것을 갖고 있는 name server

- DNS cache

:한번 확인한 IP address와 host name을 뒤에 또 사용할 수 있기 때문에 PC에 저장하는 것.

- Web(application) and HTTP (application layer protocol)

- HTTP는 TCP를 사용

- Proxy server 동작 Caching Proxy server 와 Web Server를 갖게 만드는 것이 중요.

- IoT application

MQTT : 미리 구독하고 구독한 사람에게 정보 전송.

CoAP : 센서들끼리 통신하고 CoAP Server가 HTTP방식으로 host 에게 보내주는 방식

8장 <Interesting Research Topics>

- Bluetooth : 10m 이내에 통신할 수 있는 wireless PAN
Harald Bluetooth의 H와 B를 주여서 표기, Erission이 발명

- bluetooth 4.0(BLE)부터 저전력 표준이 만들어져 꽃을 피기 시작.

-BLE Beacon의 원리

:Beacon이 ID를 APP에 보내면 app은 5G를 통해 서버에 ID를 보낸다. → server는 Database에서 정보를 app에 보낸다.

- RFID원리 : 회로를 충전시켜서 회로안의 정보를 읽어내는 과정.

Reader가 antenna에 신호를 보내면 Transponder는 잠시 충전되면서 안의 정보를 전달.

- NFC : RFID의 service

스마트폰과 같은 전력을 쓸 수 있는 device가 아주 짧은거리에서 정보를 전달할 때 많이 사용.

- VLC : digital led light가 0과 1의 전기신호를 통해 통신. 가시광선 영역으로 통신.

- Indoor Positioning : 무선 통신 기지국이 마치 위성인 것처럼 신호를 받아서 측위를 해보는 것

Fingerprinting 방식 → 지자계

# data[].attributes.body
[7장]

Application layer protocol

DNS (Domain Name System)

‘naver’라고 쳐도 naver의 ip address로 전송될 수 있는 이유!

DNS가 32비트 ip address로 변환해주어 host name을 domain name과 매핑시켜줌

→ 계층화되어있고 분산화되어있다

Recursive resolution

서버가 도메인의 IP 주소를 찾을 수 없을 때 다른 서버에게 묻고 물어서 거꾸로 전달

근데 이건 너무 root에 부담이 가서 하나하나 세세하게 물어보고 알거 같은 곳 ip 주소를 알려주는 방식으로 찾아가는게 아래의 iterative 방식

Iterative solution

서버가 직접 다른 서버에게 물어봐서 확인

현실은 두 가지 방식이 섞이는 경우가 많다

DNS cache

한번 확인한 ip address와 hostname이 또 사용될 수 있기 때문에 일정시간 pc에 저장해둠

HTTP

TCP를 사용하여 request → web server에 있는 내용을 (링크 + 텍스트 포함) → 컴파일하여 화면에 띄워줌

Web caches (proxy server)

중계 방송을 하는데 모든 사람이 미국에 직접 연결하면 엄청난 트래픽으로 서버가 마비될 수도 있고 너무 멀고 비용도 많이 듦! → 한국에 proxy server를 두어 한번만 당겨와서 저장해두고 serving하면 한국에 있는 사용자가 가까운 곳에서 그 내용을 볼 수 있음

그때그때 실제 웹서버와 proxy server의 내용을 같게 만들어주는게 중요함

MQTT

미리 subscribe하고 구독한 사람들에게 전송하는 것과 비슷한 개념

MQTT broker 값이 올 때마다 원하는 host에게 보내줌

CoAP

http의 슬림한 버전?

[8장]

Bluetooth

Blutooth Low Energy (BLE) → Bluetooth 4.0부터 적용되어 저 전력 소모 → 기기를 훨씬 더 오래 사용할 수 있게 되었다

Blutooth 5.0 : 인터넷에 직접 접속 가능해졌고, 커버리지 *4배

BLE Beacon

근처에 오게 되면 신호를 읽어 다양한 정보를 줌. 네비게이션으로도 사용 가능

원리 : Beacon이 본인 id를 보냄 → server는 id를 보고 DB를 뒤져 화면에 띄울 정보를 찾아줌

RFID

원래 책 혹은 상품tag로 많이 쓰임 → 상품에 대한 정보가 저장됨

NFC ← RFID에 특화된 sub기술 중 하나 짧은 거리의 접촉을 통해 정보를 전달

VLC (visible light communication)

= illumination + communication

가시광선 영역을 통신으로도 쓰자! 하는 개념 예. 자동차 거리 측정, 관광 정보 등

GPS

위성에서 지상으로 신호를 보내면, 그때 보내는 시간 정보를 포함하여 지구에서 수신기가 읽고 받은 시간과의 시간 차에 일정 신호 속도를 곱하면 위성까지의 거리가 나와 이 정보를 가지고 내 위치를 계산할 수 있다

여러 대의 위성으로부터 정보를 받으면 계산 값이 상당히 정확해짐

위성 신호는 벽을 통과하지 않아 실내에서는 gps를 읽을 수가 없다

Fingerprint-based Pattern Matching

와이파이 기지국이 여러군데 있는데 신호를 미리 측정한 DB를 가지고 앱에 띄우면 사람이 와서 움직였을때 어느 위치에 매핑하는지를 보면 어느 위치에 가까운지 내 위치를 알 수 있는 방식

Proximity

iBeacon 방식과 유사

Geomagnetic IPS (지자개)

지구는 커다란 자석 이라는 개념을 활용

# data[].attributes.body
7장 Application Layer

-Application layer protocol
애플리케이션을 인터넷에서 쓸 수 있도록 도와주는 규약
ex) DNS, Web, HTTP 등등

-User agent : web browser, mail reader

-DNS(Domain Name System)
:웹 사이트의 ip 주소와 도메인 주소를 이어주는 환경, 시스템
-Generic domains(기관 도메인)
ex) com, edu, gov, mil, net, org.. /

-Country domains(지형적인 도메인)
ex)kr, uk, jp / postech.ac.kr

-Name server
Authoriatative name servers

-DNS동작 과정
1. Recursive resolution
: 반복적으로 모든 단계의 서버를 거치고 오르내리는 방식
2. Iterative resolution : host가 각각의 모든 도메인 서버에 따로따로 접근하는 방식

-DNS cache
IP주소와 HOST name을 서버에 한번 방문하게 되면 사용하고 바로 지우는 것이 아니라 캐시를 통해 방문 정보를 일정 시간 보관한다.

-Web and HTTP
http://daskd.dad.com/----------
host name / path name(파일, 이미지, 오디오 등) 을 웹상에서 가능하게 해주는 것
-> HTTP
TCP 사용

web caches(proxy server)
:모든 사람이 서비스의 주체인 web server에 접속하는 것이 아닌 Proxy server라는 web caches에 접속하여 사용
traffic이 web server에 몰리는걸 막아준다.

IoT에서 많이 쓰는 application
1. MQTT (Message Queue Telemetry Transport)
> 센서의 정보를 MQTT broker에게 전송
> 브로커는 사전에 예약받아놓은 사용자에게 센서 값을 올때마다 보내준다.
2.CoAP

8장
Interesting Research Topics

블루투스 : WPAN(personal)
IEEE 802.15.1이 표준 / 키보드, 워치, 이어폰 등등 /
블루투스 4.0부터 => BLE(Low Energy)
저전력 소모
5.0 -> 전송속도, 커버리지 증가

BLE beacon

RFID
-유용하게 쓰이는 FAN 기술
-EPC라는 회로에 저장된 정보를 읽음

NFC(Near Field Communication)
-접촉을 통해서 정보를 전할 때 사용

VLC(visible Light Communication)
-가시광선 영역을 통신 영역으로 사용

GNSS(Global navigation Satellite System)
-GPS
-위성에서 지상으로 신호 + 보내는 시간
> 받는 장치 = 받을 때 시간
> 받을 때 시간 - 보낼 때 시간 * 신호의 속도
> 거리 정보를 구함 > 동심원 이용
> 위성 신호는 벽을 통과 x, 실내에서 읽기 x

--> indoor positioning
- 지자계(지구는 커다란 자석) 활용
- fingerprint 방식

# data[].attributes.body
>>Ch.7

<Application layer>

Application layer protocol

-Apllication : 전체

-Application layer protocol : application을 인터넷 layer에서 쓸 수 있도록 도와주는 것

=HTTP : application layer protocol

-User agent : interface

DNS(Domain Name System)

-통신이 가능하게 만들어주는 중요한 것 중 하나

-domain(host name)을 IP address(32bit)로 변환

-트래픽 문제 등의 이유로 분산화 하여 사용

DNS Root name server

-하나만 있는 게 아니라, 여러 개 존재

-아래로 top level domain 존재, 현재 top level domain 많이 늘어남

-country code top level domain ex).us, .cn, .kr, .id

-generic domain(organization domains), country domains(geographical domains)

DNS Resolution

-Recursive : 서버가 도메인의 IP 주소를 찾을 수 없을 때 다른 서버에게 묻고 물어서 거꾸로 전달

-Iterative : 서버가 도메인의 IP 주소를 찾을 수 없을 때 서버가 직접 다른 서버에 물어봐서 확인

DNS cache

-IP address 알게 되면 한 번 사용하고 지우지 않고 일정기간 저장

Web & HTTP

-파일, 이미지 등 다양한 형태의 파일을 내 컴퓨터에서 보내줌

-HTTP는 TCP 사용

-Web caches(proxy server) : web server에 연결하려면 멀고 비용 많이 드는데, proxy server가 web server에 연결하고 client 에게 그대로 전달

IoT Application

-MQTT : 데이터를 broker에게 보내면 그 값을 받기 원하는 host에게 전송

-CoAP

>>>Ch.8

Bluetooth

-IEEE 802.15.1, short range(~10m)

-bluetooth 4.0부터 저전력 표준 사용

-bluetooth 5.0 coverage 4배 증가(단, coverage 증가하면 배터리 소모 증가)

-Beacon : Beacon이 ID를 서버에 보내고 DB가 정보를 보내줌

RFID

-Reader가 신호를 보내면 Transponder가 회로를 잠시 충전되며 정보를 보냄

NFC

-RFID 기술의 special subset

-아주 짧은 거리에서 사용, two-way communication

VLC

-illumination+communication

-가시광선 영역을 통신으로 사용, wifi 대신하는 등

GPS

-time of flight, 위성 9개 이상을 받아 위치 정보

-위성신호 벽 통과 하지 않아 실내에서 읽을 수 없음

Indoor Positioning

-위성이 아닌, 기지국이 위성인 것처럼 wifi 등을 이용

-fingerprinting : 위치 바꿔 가며 측정한 DB 가지고 어디에 있는지 mapping

-proximity : ibeacon

-Geomagnetic IPS : 미리 측정해 놨다가 측정 된 값보고 확인

-IMU : 상대위치로 측정

# data[].attributes.body
Application layer

app -Layer protocol : application을 인터넷에 사용할 수 있게 도와주는 protocol

ex) application = HTML + web browser + web server + HTTP

application layer protocol = HTTP

user agent : 눈에 보이는 것, interface between user and application

ex) Web : web browser, E-mail : mail reader

application protocol

1.DNS(Domin Name System) : www. postetech.ac.kr을 치면 32bit ip address로 변환하여 알려주는 서버 = DNS Sever 이자 DNS

post name과 ip address mapping을 시켜주는 것

분산해서 관리한다

root domain

top-level domain

second-level domain

DNS cache

어떤 사이트에 대해 ip address를 알게 되면 쓰고 나서도 일정시간 컴퓨터에 저장한다.

Web and HTTP(Hyper Text Transfer protocol)

Web application : image, audio file 등을 가져와서 내 컴퓨터에 재생되게 해주는 것

위와 같은 역할을 수행하는 것이 HTTP

HTTP use TCP

web caches

가까운 곳에 proxy server 만들어서 Web server에서 받은 web page를 그 지역에서 return해준다. 그때 그때 마다 proxy serve와 Web server의 정보를 같게 해줘야한다.

MQTT

MQTT broker가 정보를 받으면 실시간으로 등록된 pc(값을 받길 원하는 host)등에 정보를 전달해 준다.

CoAP

센서들에서 gateway/ broker를 통해 데이터를 받고 데이터를 다시 HTTp방식으로 전달해 준다, coap그자체로도 정보를 받을 수도 있다

bluetooth

pan기술 IEE 802.15.1

무선 마우스/키보드, 스마트 워치 등에 사용된다.

bluetooth4부터 Bluetooth Low Energy적용 - 저 전력 소모

bluetooth5 인터넷 직접접속가능, 커버리지와 전송속도 확대

BLE beacon

beacon이 자기아이디를 휴대폰 어플에 보내면 어플이 서버에 비콘 아이디를 보낸다.

서버는 database에서 정보를 찾아서 어플에 보낸다.

RFID

옷에 붙어있는 택 같은 곳에 Reader가 신호를 보내면 안의 구리선 같은 것이 충전이되면 정보를 읽는다.

NFC(Near Field Communication)

접촉을 통해서 정보를 보낼 때

VLC(visible light communication)

llumination + Communication, 가시광선 영역을 통신에 쓰겠다.

지자계방식

지자계를 미리 측정을 해놓고 사람이 움직이면 측정해둔 지자계로 위치를 알아낸다.

# data[].attributes.body
[AIoT 7장]
- application layer protocol
- uses communication services provided by lower layer protocols(TCP, UDP)
- one piece of application
- ex) web app -> HTML, ... ,app layer protocol(HTTP)
- DNS domain name system
- distributed database to map IP addresses to host name
- distributed
- hierarchical organization of DNS name space
-  if centralize -> single point of failure/traffic colume/distant centralized database/maintenance
- root domain -> top level domains -> second level domains ...
- recursive resolution/iterative resolution
- DNS cache: caches the mapping
- web page -> consists of objects(HTML/JPEG/...)
- HTTP
- web's application layer protocol
- client/server model
- uses TCP
- web caches: satisfy request wo origin server
-> ↓ reduce response time for request ↓ traffic
- MQTT: M2M & IoT connectivity protocol
- CoAP: translate HTTP model compatible to the internet
[AIoT 8장]
- Blutooth
- short range(~10m) wireless communication
- BLE Beacon
- RFID: automatically identify tags
- NFC: two electronic devices to communicate (within 4cm)

- localization
- GNSS -> GPS: estimate distaces, finds point of circle intersection
- fingerprinting
- measuring intensity of the received signal strength
- offline phase(training)/online phase(runtime, service)

# data[].attributes.body
7장

(1) App-Layer protocols

- Application을 인터넷에서 쓸 수 있도록 하는 protocol

- User agent

User에게 보이는 web browser, mail reader, chrome 등

- Application layer procotols

DNS, Web and HTTP, Electronical Mail, Telnet, Ftp 등

(2) DNS

- 통신이 가능하게 만드는 것 중 가장 중요한 것

- IP address를 모르는데 어떻게 이동이 가능한가?

→ DNS의 도움 때문에 가능, 번호를 저장하는 것과 같은 기능

32 bit IP address로 변환 → DNS server

한 곳에서 관리 X, 분할하여 관리

- Root name serve 밑에 Top level domain이 존재(com, edu, gov, mil, net, org…)

- Country Code Top Level Domains(ex. 한국의 경우 kr, 일본의 경우 jp)

www.postech.ac.kr(kr→ac→ postech 순으로 거쳐감)

- Local name servers → postech

- Authoritative name servers

내가 원하는 IP address와 host name을 변환 시켜 주는 것을 갖고 있는 Name servers

- Recursive resolution

너무 복잡

- Iterative resolution

Local에 물어 봤는데 모르면 ip address를 알려주며 다른 Local을 연결

(3) DNS cache

한 번 확인한 IP address와 host name을 뒤에 다시 쓸 가능성 높음 → 일정 기간 PC에 저장하는 것

(4) Web and HTTP

- 파일 일수도 있고 JPG, audio file ,,,,

- 내 컴퓨터에서 사용 될 수 있게 해주는 것

(5) HTTP

- TCP를 사용

(6) Web caching

- 중계 방송 중 traffic의 너무 심한 경우 web servers가 마비 될 수 있음

- proxy servers를 만들어 내용들을 편하고 가까운 곳 내용을 볼 수 있게 하는 것

- traffic을 막을 수 있음

(7) MQTT

- Message Queue Telemetry Transport

- 어떤 곳에 온도 센서가 존재하고 온도 측정 값을 주기적으로 브로커한테 보냄 → 브로커는 sensor 값을 받기를 원하는 가입자에게 내용을 뿌려주는 역할

내용을 받기를 원하는 host에게 해당 내용을 알려줌

8장

(1) Bluetooth

- 케이블을 무선으로 대체하자는 취지에서 만들었음

- Bluetooth 1.1

- Bluetooth 4.1

저 전력 소모 → 기기를 훨씬 오래 사용 가능

- Bluetooth 4.2

- Bluetooth 5.0

인터넷에 직접 접속 가능, 전송 속도 2배 빠름, 커버리지 4배

(2) BLE Beacon

- ID를 앱에 보냄 → 정보를 화면에 띄움

- Beacon 자신의 ID를 계속하여 보냄

- 실내 내비게이션에도 사용

(3) RFID

- 지나가면서 충전시킴 → 얇은 회로의 값을 읽어 내는 것

- 중요한 정보를 읽을 수 있음

- application

- NFC(Near Field Communication)

접촉을 통해 정보를 전달할 때 사용

(4) VLC

- LED를 통신 용도로도 사용하지는 것을 뜻함

- Wifi를 대체하는 등으로써 사용

- 비행기 등에서 사용 가능

(5) GNSS

- GPS 위성에 떠있음

- 보내는 시간을 적어서 보냄

- 거리를 계산 가능(d = c x t)

- 2번째 위성에서 다시 정보를 받음

- 위성 신호는 벽을 통과 x (정보를 읽을 수 없음)

- Wifi로 대체하자

- Fingerprint

미리 값을 측정해 둠

# data[].attributes.body
7장 Application Layer

Application: Web, Server, Application protocol등을 포함한 전체
Application layer protocol(ex http): Application을 인터넷에 쓸 수 있도록 도와주는 protocol

User aget: ex) 웨브라우저, 이메일룩, chrome
사용자가 어플리케이션을 사용할 수 있도록 연결

examples of Application layer protocols
- DNS> 통신을 가능하게 하는 가장 주용한 것
host name과 IP address를 맵으로 연결지어 데이터베이슬 뿌림
> 왜 분산해서 사용할까?
- 한 곳에서 다 관리했을 시 걔가 고장나면 전송이 불가능해 문제가됨
- 매번 물어보면 traffic이 몰림

* 전세계적으로 몇년전 점검 결과 Root name servers는 13개가 존재하며,
New gTLDs( Top Level Domains)가 엄청나게 증가했음을 알 수 있음

Name Serevers
Authoritative name servers: 내가 원하는 IP address와 host name을 변환시켜주는 name server

DNS cache: 한번 매핑으로 사용한 IP server는 일정기간 저장해 사용함.

def of Application and HTTP
Application: 다양한 정보를 가져와 내 컴퓨터에 보여주는 것
HTTP: Application이 정보를 보여줄 수 있도록 역하을 하는 것

HTTP: TCP사용
HTTP에 사용자가 뉴스를 검색할 경우 웹서버는 news의 내용을 링크를 포함해 조달해 컴파일하여 마치 내가 이 pc에 그 사이트가 원래 있던 것처럼 표시

Web caches(proxy server)

ex) 미국-한국 정보를 교환할 경우, 너무 멀어 한국 한 지역에 proxy server를 두어 traffic을 미국까지 가지않고 proxy server에 연결해 다른 사용자들도 정보를 이용하도록 함. load가 많이 걸리는 경우 사용하는 방식

이때, 그때그때마다 Weberver와 Proxy server를 같게 하는 것이 중요

Expected IOT protocol: IOT에서 많이 쓰는 Application
MQTT>
미리 해당 정보를 원하는 사람들에게만 센서값이 올때마다 정보 조달

CoAP>
작은 디바이스에서 사용되는 web service protocol
- CoAP와 http의 서로 다른 프로토콜을 사용할 경우 이를 변환해 맞춰주는 게이트웨이를 사용해 연결하며, CoAP로 같은 프로토콜을 사용할 경우 그대로 전송 가능

8장
personal network와 이를 활용한 다양한 application을 살펴봄

1. Bluetooth:
- 가장 많이 사용되는 짧은 범위의 무선 통신 표준
- 왕의 이름에서 유래
- bluetooth 4.0부터 저전력 소모로 꽃을 피우기 시작
- 숫자가 커질 수록 커버리지 영역이 넓어지만 커버리지 영역이 넓어지면 배터리 소모가 커지는 hand off 발생.

2. Beacon
- 근접 거리의 정보 통신 방법
- 자신의 아이디를 전송해 서버 IP전달을 하면 서버는 자기 DB를 뒤져 화면에 보여줄 정보를 전달해 app에 표시
* RFID: Beacon의 한 종류
- 쭉 지나가면서 EPS 충전 후 EPS값을 읽어내는 과정을 거침
-> NFC(버스카드 , 건물 들어갈때): RFID의 한 종류, 아주 짧은 거리에서 접촉을 통해 정보 교류

3. VLC
LED를 밝게 비출 뿐만 아니라 가시광선을 기준으로 통신에 사용

IOT Application(Inddor Positioning Techniques)
-> GPS를 사용할 수 없을 때, 측위 방법

cf. GPS
전송시간 = 받을 때 시간 - 보낼 때시간
거리 = 전송시간* 전송속력
즉, 전송시간과 전송송력을 통해 거리를 계산하고 이에 동심원의 교점으로 자신의 위치를 추정하는것.

Inddor Positioning: GPS의 한계보완 측위법
그러나, 위성신호는 벽을 통과할 수 없어 실내에서 사용이 불가함.
즉, 병원, 지하 등 제약이 있어 위성이 아닌 블루투스, 와이파이처럼 무선넷, 즉, 기지국이 정보를 받아 측위해보자!

1. Fingerprint-based Pattern Matching
기지국이 여러군데 존재할 경우 이 기지국으로부터 미리 각 점의 신호를 측정해 이 정보를 갖고 app을 띄움
어떤 사람이 움직일 경우, 특정 위치에서 측정된 정보를 앞서 미리 측정해둔 신호중 어떤 와이파이와 mapping되는 지를 비교해 내 위치가 어딘지 파악.

2. Geomagnetic IPS(지자계 = fingerprint)
미리 마그네틱 센서를 이용해 측정한 뒤, 내 위치가 어딘지 파악하는 fingerprint방식

# data[].attributes.body
# 7장

[Application Layer]

1. Application layer protocol

-application : 전체를 얘기함. (web application : HTML, web browers, web servers, HTTP)

-application layer protocol : 그 application을 인터넷에 쓸 수 있도록 도와주는 protocol

2. User agent

-user한테 보이는 web brower, email reader

-ex) outlook, chrome

3. Application layer protocols

-DNS, Web and HTTP, Email, Telnet, ftp, etc.

-다양한 app들이 TCP나 UDP를 써서 IP를 통해서 physical한 network 통해서 전송됨.

4. DNS (Domain Name System)

-통신이 가능하게 만드는 가장 중요한 것 중 하나.

-Q) 포항공대의 homepage는 www.postech.ac.kr이다. 이걸 치면 어떻게 갈까? IP address를 모르는데? 5장에서 network layer와 IP를 배울때는, IP address를 header에 써줘야 보낸다고 했는데?

-A) DNS의 도움 때문에 가능하다. IP address를 다 기억하는 것은 쉽지 않다. 하지만 postech.ac.kr이라는 것은 text 기반이니까, 사람 이름 처럼.. (like 휴대폰에 전화번호 못 외워서 사람 이름으로 저장해놓음)

-DNS는 www.postech.ac.kr를 치면 IP address를 32 bit address로 변환해서 알려주는 서버/시스템이다.

5. Why not centralize DNS?

-한곳에서 다 하지 않고, 모든 곳에서 분산한다.

-이유1) 한 곳에서 다 관리하면, 고장나면 다 문제가 됨.

-이유2) 매번 물어보면 traffic이 몰린다.

6. Distributed, Hierarchical Database

-Root Domain → Top-level Domains → Second-level domains → Third-level …

- Root name servers는 전 세계에 13개가 있다.

-그 밑에 다양한 top level domains이 있다. gTLDs 처음 시작할 때 썼었던 것. New gTLDs 최근에 인터넷이 활황되면서 엄청나게 많이 늘었다.

-ccTLDs. 8페이지 글자 크기가 인터넷 유저의 수와 비례. 우리나라는 kr

7. Name servers

-Local name servers : postech

-Authoritative name servers: 내가 원하는 IP address와 host name을 변환시켜주는 것을 갖고 있는 name server다.

8. IP address 얻는 과정

-조지아택에 있는 host가 cnn.com를 보고 싶을 때, IP address를 얻는 2가지 방식

8-(1) Recursive 방식

-host.ece.gatech.edu가 물어보면, (1) local namer server에 물어봄, 모름. (2) 상위에 물어봄. ns.gatech.edu, 모름. (3) root까지 감. root도 모르면, (4) com의 name server에 물어봄. (5) cnn까지 감. cnn이 알려주면 거꾸로 알려주는 방식 (6)

-루트가 너무 부담이 가서 잘 안씀.

8-(2) Iterative resolution

-host가 (1) local에 물어봄. “몰라. ns.ece.gatech.edu가 아마 알거야.” (2) ns.gatech.edu의 IP address를 알려줌. (3) host가 ns.gatech.edu에게 물어봄. “몰라. 아마 root가 알거야.” (4) ns.gatech.edu가 root의 IP address를 알려줌. (5) host가 root에게 물어봄. “몰라. ns.com가 알지 몰라” (6) ns.com의 IP address를 알려줌. (7) host가 ns.com에 직접 물어봄. “모르겠다. ns.cnn.com에 물어봐” (8) IP address를 알려줌. (9) host가 ns.cnn.com에 물어봄. 특정 host의 IP address를 받아서, 앎.

→ host가 일일히 컨택해서 물어보는 상황

8-(3) 현실

-2개가 섞여있다. 1,2,3 recursive하게 가다가, 4부터 iterative하게 가서 root의 노드를 줄여주고. 5에 대신 물어봐줌

9. DNS cache

-매번 물어보지 않음. 한번 확인한 IP address와 host name을 뒤에 또 쓸 수 있어서 PC에 일정시간동안 저장해놓은 것.

-PC에서 ipconfig/displaydns 치면, 현재 PC에 저장되어있는 IP address를 보여줌.

10. Web and HTTP

-HTTP가 web의 data를 전송하고 받는 과정들을 처리한다.

-ex) https://img.~~ .jpg 이 host에 가서, 이 file을 보여줘라.

11. HTTP

-TCP 사용. PC에서 news.naver.com 클릭하면, 링크와 텍스트들을 가져온다. 그러면 내가 이 Pc에서 compile해서 web에 있는것처럼 화면에 멋있게 뜬다.

12. Web caches (proxy server)

-web server에서 월드컵 중계함(미국에서). 인터넷에서 보고 싶다. 여기서 미국까지 모든 사람들이 직접 연결하면 traffic이 엄청나서 web server가 마비될수도 있음. 그리고 엄청 멀고 비용도 많이 듦. 그럴 경우 한국에 proxy server를 둬서, web server의 내용을 caching에 저장해놓으면 한국의 사용자들이 가까운곳에서, 미국까지 안가고 볼 수 있다.

-그때그때마다 caching proxy server와 web server의 내용을 같게 만들어주는 것이 중요하다.

13. MQTT

할-가장 많이 쓰이는 방식. 미리 subscribe하고, subscribers한테만 기사들을 보내는것과 비슷한 방식.

-ex) 온도 센서가 있고, 측정한 온도 값을 주기적으로 보낸다. 가장 가까운 무선 통신망으로 broker에게. broker는 사전에 sensor값을 받기를 원하는 가입자들에게 가입을 받아 놓았다. 온도를 받자마자 subscriber에게 뿌려주는 형태로 동작한다.

14. CoAP

-HTTPS 통신의 slim 버전. sensor들끼리 이렇게 통신하고, Coap Server 받아서 HTTP 방식으로 기존 단말, host에게 보내줌.

-CoAP Server와 HTTP Gateway는 HTTPS protocol과, CoAP protocol를 알아서, 변환해서 보내준다.

-어떤 host가 CoAP 그 자체로도 이해한다면 직접도 가능하다. Gateway 안거쳐도됨.

15. MQTT & CoAP

-만능 gateway를 쓰면 2개의 protocol을 다 이해해서 동작을 같이 수 있다.

# 8장

[Interesting Research Topics]

1. Bluetooth

-스마트워치, 블루투스 이어폰, 무선키보드 등 쓸 때 사용.

-10m 이내의 사람 주변에서 통신할 수 있는 PAN 기술 중 하나임.

-standard IEEE 802.15.1

-블루투스 용어는 denmark와 norway의 왕 이름을 따옴. H + B를 합침.

-Errision 회사가 RS-232 cable를 만듦. 이 케이블을 무선으로 대체하자. → 5년 후 유명 회사들이 SIG에 참여해서 표준을 같이 만듦.

2. Bluetooth 종류

-4.0부터 꽃을 피움. 저전력 표준이 만들어졌다. 4.0의 이름 BLE

-4.2는 iphone 6에 장착됨.

-5.0 삼성에서 가장 먼저 씀.

-숫자가 늘어날수록 속도가 빨라짐. 커버리지가 일단 넓어짐. (넓다고 꼭 좋은건 아님. 왜냐면 배터리를 많이 먹어서)

3. BLE Beacon

-특별한 용도로 사용된다. 처음에 애플에서 만듦. 이걸 백화점, 병원에 붙여놓음. 백화점의 app 띄워서 쇼핑하면, 이 근처에 가면, 신호를 읽어서 핸드폰에 ‘숙녀화 코너입니다.’ 쿠폰에 대한 정보를 줌.

-병원도 가까운곳에서 자기 자신의 위치를 알려줌. 내비게이션으로 쓸 수 있음.

-원리: (1) beacon이 자기 아이디를 app에 보낸다. (2) app은 5G를 통해서 server에 ID를 보낸다. (3) server는 자기 DB (content database)를 찾아서 화면에 띄울 정보들을 보낸다. (4) 화면에 보인다.

4. RFID

-유용하게 쓰이는 FAN 기술.

-책, 상품들의 태그. 빛 비추면 구리선이 있음. 상품에 대한 정보가 저장됨.

-바코드로도 표시 가능. 다양한 방식으로 가능.

-원리 : 쭉 지나가면서 얇은 회로를 충전시키고 이 안에 있는 값을 읽어내는 과정을 거침.

-reader가 transponder (상품)에 신호를 보내면, transponder가 잠시 충전되면서 정보가 전송됨.

-활용도: 아주 많이 쓰임.

5. NFC (Near Field Communication)

-건물 들어갈 때나 버스에 찍는것. RFID의 sub 기술이다.

-스마트폰같이 전력을 쓸 수 있는 device. 짧은 거리. 접촉을 통해서 정보를 전달할때 쓰는 기법.

6. VLC (visible light communication)

-LED는 반도체 용어였다. 0, 1로 반짝 반짝 비추는게 등이다. 밝게 비추는 용 뿐만 아니라, 통신용으로도 쓰자.

-VLC는 가시광선 영역을 통신으로 쓴다.

-wifi를 대체하는 등으로 통신을 하겠다.

-자동차 등으로 위험한 신호를 뒤로 보낸다.

[IoT Applications]

1. GPS 원리

- 위성에서 지상으로 신호를 beacon처럼 띡띡 보낸다. 보내는 시간을 적어서 보낸다. 지구에 있는 자동차에서 수신기가 읽음. 보내는 시간 - 받을 때의 시간 = 신호가 전송될때 걸리는 시간이 나옴. 거기에 신호 속도를 곱하면 거리가 나온다. 위성으로부터 나까지의 거리.

-위성으로부터 지구까지의 거리를 측정하면 동심원이 나온다. 내 위치는 원 중에 하나에 있다. 근데 어딘지 모른다. 그래서 2번째 위성으로부터 신호를 받는다.

-보정하기 위해서 여러개 위성을 더 받는다.적어도 9개 이상 받으면 상당히 정확해진다.

2. Indoor Positioning

-GPS의 문제는 위성신호는 벽을 통과하지 않는다. 실내에서는 GPS가 읽을 수 있다. 그런데 많은 지하공간들이 있다. 아니면 상당히 넓은 지역의 위치를 찾아야할 때가 많다. 그것들을 위성이 아닌, 와이파이나 블루투스 같은 무선통신 기지국이 위성인것처럼 신호를 받아서 측위를 해보자.

-Fingerprint 방식 (중요) : wifi 기지국이 여러군데에 있음. 5개 기지국으로부터 신호를 빨간점에서 미리 측정함. 이 db를 가지고 app을 띄움. 어떤 사람이 와서 움직이면, 신호가 어디에 mapping하냐.

3. Proximity

-ibeacon.

4. Geomagnetic IPS

-fingerprint 방식. 지구는 커다란 자석이다. 위치마다 지자계값이 다르다. fingerprint방식처럼 미리 측정을 해놓고, 사람이 움직일때 측정된 값을 보고 내 위치가 어딘지 아는 방식이다.

5. Others

-IMU 센서들로도 위치 추적 가능. 상대위치를 측정할때 쓰임.

# data[].attributes.body
7장 Application Layer

application layer protocol
- 다양한 application들이 이 protocol을 사용하여 데이터를 주고 받음
- app vs app layer protocol : app은 전체를 얘기하는 것, protocol은 app을 인터넷에서 쓸 수 있도록 도와주는 protocol, app의 일부

user agent - 웹 브라우저나 이메일 등 유저에게 보이는 것들

app layer protocols - web and HTTP, DNS, e-mail 등등

DNS(domain name system)(중요)
- 통신이 가능하게 하는 것들 중 하나
- internet host, router는 IP 주소와 이름(www.postech.ac.kr 같은 것)을 가지고 있음
- IP 주소를 호스트 이름(주소)으로 변환시켜 주는 것을 DNS라고 함
- 한 곳에서 하지 않고 분산해서 관리함(distributed, hierarchical), traffic 등의 문제가 있으므로

root name servers - 전 세계에 13개가 있음, root name server 밑에 top level domain이 있음
generic top level domains(gTLDs) - com, gov, mil, org 등 어디서 많이 본 것들
country code top level domains(ccTLDs) - .kr, .uk, .us, .jp 등 국가에서 쓰는 것들
name servers - local name servers : 회사나 학교가 가진 이름(www.postech.ac.kr의 postech?), authorative name servers : 내가 원하는 ip 주소와 host name을 변환시켜주는 것을 가지고 있는 name server

recursive resolution
- ip 주소를 얻는 과정1
- 예를 들어, host.ece.gatech.edu 에서 www.cnn.com을 검색해서 웹브라우저를 보려고 한다
- host가 물어보면 local name server(ns.ece.gatech.edu)에 물어봄, 얘가 모르면 그 상위(ns.gatech.edu)에게 물어봄, 모르면 root까지 감, 얘도 모르면 ns.com(intermediate NS)에게 물어보고 또 모르면 ns.cnn.com(authoritative NS)에게 물어봄, cnn이 알려주면 왔던길 돌아서 감, 근데 이러면 root가 너무 부담이 감
iterative resolution
- ip 주소를 얻는 과정2
- host가 local name server에 물어봄, 모르면 그 상위(ns.gatech.edu)의 주소를 host에게 알려줌, 모르면 그 상위 root의 주소를 알려줌, ... 이런 식으로 반복
- 현실은 recursive와 iterative resolution을 섞어서 root의 부담을 덜어줌(root 전까지 recursive 쓰다가 그 이후 iterative)

DNS cache - 한 번 확인한 ip 주소와 name을 뒤에 또 사용할 수 있으므로 pc에 일정기간 저장해 놓음

web and HTTP(Hyper Text Transfer Protocol)
- http가 실제로 웹의 데이터를 전송하고 받는 과정을 처리함
- 그림 파일, 이미지, 문서 등 여러가지를 볼 수 있음

HTTP - TCP를 사용, 웹 서버의 내용을 전송하는 과정을 처리

web caches(proxy server) - 예를 들어, 월드컵 영상을 인터넷으로 보려고 함, 미국까지 웹 서버에 직접 연결을 하기에는 무리가 있음, 한국에 proxy server를 둬서 웹 서버의 내용을 그대로 가지고 오면, 한국의 proxy server에 연결하면 한국에서도 월드컵을 볼 수 있음, 주기적으로 웹 서버와 프록시 서버의 정보가 같도록 업데이트 시켜야 함

MQTT(message queue telemetry transport) - 미리 MQTT를 구독(subscribe)을 하고 구독을 한 사람들한테 정보(신문 기사나 온도 센서로 받은 정보 등)를 보내는 것과 비슷한 방식, 브로커의 역할이 중요

CoAP(constrained application protocol)
- 심플한 https 통신 버전
- 센서들끼리 통신을 하고 게이트웨이 역할인 coap서버(http gateway)가 센서들의 정보를 받아서 HTTP 방식으로 호스트한테 보내는 방식
- coap 서버는 http와 coap protocol 2가지를 모두 이해하고 있음
- 만일 인터넷의 호스트가 coap을 이해하고 있다면 coap서버를 거칠 필요 없이 바로 coap을 통해 정보를 보냄

8장 Intersting Research Topics

bluetooth
- one of most popular shor-range wireless communication standard, wpan의 가장 대표적인 기술, 스마트폰, 마우스, 키보드 등에 다양하게 쓰임
- 1994년 erission회사가 발명
- bluetooth 4.0부터 저 전력 소모(bluetooth low energy, ble) 기술 적용
- bluetooth 4.2부터 인터넷에 직접 접속 가능, iphone6에 장착
- bluetooth 5.0 커버리지와 전송속도 개선

BLE Beacon
- 이 장치의 근처에 오게 되면, 스마트폰이 이 장치의 신호를 읽어서 해당 장소에 대한 정보를 전송해줌
- 원리 : 장치가 자기 id를 스마트폰의 앱에 보내면 5g를 통해서 서버에 그 아이디를 전달, 서버는 그 아이디를 보고 데이터베이스에서 앱에 정보를 보내줌

RFID
- 책, 옷의 태그 등에 달려서 제품의 정보를 내장하고 있음, EPC(electronic product code)라는 회로에 저장된 정보를 읽음
- reader의 antenna가 transponder에 신호를 보내면 잠시 충전되면서 해당 상품의 정보를 antenna로 다시 보냄, antenna는 computer에 연결되어 있으므로 받은 정보를 재고 관리 등에 유용하게 쓸 수 있음

NFC(near field communication)
- 접촉을 통해서(혹은 아주 짧은 거리) 정보를 전할 때 많이 사용하는 기법

VLC(visible light communication)
- 빛(가시광선)을 통해서 통신(communication)영역에 활용 함

Global navigation satellite system(GNSS)
- 위성에서 지상으로 신호를 보내는데 '보내는 시간'을 같이 보냄, 신호를 받는 장치(자동차)에서 '받을 때 시간 - 보낼 때 시간'과 신호의 속도를 곱해서 위성과 장치 사이의 거리를 구함, 위성을 중심으로 동심원을 그림, 최소 3대의 위성으로 반복하여 장치(자동차)의 위치를 대략적으로 구함(최소 9대를 이용하여 정확한 위치를 구함)
- 위성 신호는 벽을 통과하지 못하여 실내에서는 gps를 읽을 수 없음
- 그래서 등장한 것이 indoor positioning, 위성이 기지국인 것처럼 와이파이나 블루투스에서 신호를 받아서 측정을 하는 것
- 지자계를 활용하는 방식이 제일 많이 쓰임
- fingerprint 방식 : 위치를 바꿔가며 wifi 기지국들로부터 신호를 측정하여 mapping database를 미리 만듦, 어떤 장치의 위치를 신호 database를 바탕으로 판단함
- geomagnatic ips : 위치마다 지자계의 값이 다르므로 미리 측정, 사람이 움직일 때 지자계값을 바탕으로 위치를 판단

# data[].attributes.body
7장 Application Layer

Application Layer Protocol

-다양한 Application Layer이 다양한 프로토콜을 사용해서 데이터를 주고 받는데 전송 계층에서는 UDP/TCP를 사용하고 ip를 통해 아래 계층으로 이동

<Application vs application layer protocol>

: 애플리케이션은 전체를 의미/애플리케이션 layer 프로토콜을 애플리케이션을 사용하기 위해 도와주는 프로토콜

ex) 웹 애플리케이션은 HTML형식으로 구성되고 웹 서버를 이용하기 위해 HTTP프로토콜을 사용

-(HTTP) HyperText Transfer Protocol

-User agent : 유저한테 보이는 인터페이스 ex) web, E-mail

-응용 계층의 프로토콜 종류 : DNS, Web& HTTP, Electronic Mail, ftp etc...

<DNS(Domai Name System) >

-통신을 가능케 만든 응용계층의 프로토콜

-32비트의 ip주소와 호스트네임에 mapping 시켜주는 역할

- distributed, hierarchical database

: Root Domain -> Top level Domains -> Second level Domains

1. Root name servers

- 현재 전세계적으로 13개의 루트 도메인이 있음

2. Top level Domains

- 두 가지 종류가 있음

- Generic Top Level Domains(gTLDs) - 최근에 엄청 많아짐

- Country Code Top Level -Domains(ccTLDs) - 우리나라 kr

-Name servers

1)Local name servers

ex) 포항공대 = postech

2) Authoritative name servers

- 내가 원하는 ip주소와 호스트네임을 변환시켜주는 것을 가지고 있는 네임서버를 말함

<Recursive resolution>

웹브라우저가 www.cnn.com 같은 걸 쳤을 때 ip주소를 얻는 과정

과정 : 호스트가 local name server에 물어봄(모름) -> 상위 도메인한테 물어봄(모름) -> 루트 도메인에 물어봄(모름) -> com의 네임서버에 물어봄(모름) -> cnn에게 물어봄(알려줌) -> 다시 호스트에게 가서 ip주소를 알려줌

=> 루트에 많은 부담을 줌

-<Iterative resolution>

과정 : 호스트가 일일이 서버에게 정보를 가지고 있는지 물어보는 과정

-> 두 가지 방식을 섞어서 사용한다.

2) DNS cache(DNS 캐시)

: 한 번 확인한 호스트 네임과 IP주소는 나중에 쓸 수 있는 가능성을 위해 PC에 일정기간 저장(ipconfig/displaydns를 통해 과거에 저장한 정보를 볼 수 있음)

2. Web and HTTP

-HTTP : 웹에 데이터를 전송하고 받는 과정을 처리하는 프로토콜

-웹 페이지 주소는 호스트 네임과 path name으로 이루어져있어 호스트에게 path name에 대한 정보를 요청하는 형식이다.

-HTML, file, JPEG, JAVA apple, audio file 등 path name을 통해 요청한 정보를 보여주는 것이 web이고 그 역할을 수행하는 프로토콜이 HTTP

<HTTP>

-응용 계층의 프로토콜

-전송계층의 프로토콜을 TCP 사용

-웹서버에서 텍스트/링크 정보를 PC로 가져와서 컴파일 시키면 PC 모니터에 보여줌

-web caches(proxy server) : 본래의 웹서버가 아닌 다른 서버에 클라이언트가 원하는 정보인 cache를 저장시켜 그 서버에서 클라이언트에게 정보를 줄 수 있도록 한 것을 말함 본래의 웹서버에서 cache를 받은 서버를 프록시 서버라고 말함

=> 주기적으로 웹서버와 프록시 서버의 정보가 같도록 업데이트 시켜주는 것이 매우 중요

3. IoT and Internet Protocols

<IoT의 Protocols>

1) MQTT

-IBM에서 개발한 응용계층의 프로토콜

-Publish/Subscribe 방식 : MQTT broker에 end device에 대한 정보를 준 뒤 미리 구독한 subscriber에게만 발행한 정보를 주는 방식을 사용 => 브로커 역할이 매우 중요

2) CoAP

-HTTP의 슬림한 버전의 프로토콜

-센서들끼리는 CoAP를 통해 통신을 한 뒤 게이트웨이의 역할인 CoAP Server가 센서들이 모은 정보를 받아서 HTTP를 통해 호스트에게 전달하는 방식을 사용

-CoAP Server 역시 두 개의 프로토콜을 이해

만일 인터넷의 호스트가 CoAP을 이해하고 있다면 CoAP Server을 거칠 필요 없이 바로 CoAP을 통해 정보를 보냄

8장 Interesting Research Topics

1. PAN의 다양한 네트워크를 설명할거임

1) Bluetooth

10m 이내의 사람 주변에서 통신하는 PAN의 기술 중 하나

표준안 : IEEE 802.15.1

ex) 스마트폰, 에어팟, 스마트워치 등에 사용

용어는 노르웨이&덴마크왕의 이름에서 따옴

Invention : 1994년 Erission회사에서 RS-232케이블을 무선으로 대체, 1999년 SIG가 표준을 제정

<블루투스의 종류>

-블루투스 1.1

Bluetooth Low Energy(BLE)

: 블루투스 4.0부터 적용

: 저전력 소모=> 기기를 훨씬 더 오래 사용가능

블루투스 4.2

블루투스 5.0 : 삼성에서 제일 먼저 사용, 커버리지 4배, 전송속도 2배 빠름

<BLE Beacon>

애플에서 먼저 사용

원리 : 비컨이 자신의 아이디를 어플에 제공 > 어플은 서버에 아이디를 전달 > 서버는 자신의 DB에 저장되어있는 정보를 어플에 보여주게 됨

2) RFID

PAN 기술 중 하나

원리 : 제품 tag에 있는 회로를 충전시켜 그 안에 있는 정보를 읽어내는 과정

3) NFC

RFID의 서브기술

접촉을 통해 정보를 전할 때 사용하는 기법

ex) 버스, 대중교통

4) VLC(visible light communiction)

led에 통신용도까지 더한 기술

가시광선 영역을 통신으로 사용

와이파이를 대체하는 등으로서 통신을 할 수 있음

2. IoT Applications – Indoor Positioning Techniques(위치정보를 얻는 기술)

cf.) GNSS(Global navigation satellite system)

-GPS, GLONASS, Galileo

-지피에스는 지상으로 자신의 정보를 비컨처럼 보내는데 보내는 시간을 적어서 보냄 > 어떤 자동차의 수신기가 그 정보를 읽음 > 받은 시각에서 보낸 시각을 빼고 속도를 곱하면 위성과 지구 상의 거리가 계산됨 > 동심원으로 거리가 계산됨 > 여러 개의 위성에서 거리에 대한 정보를 받아서 정확한 위치 정보를 얻을 수 있게 됨(적어도 9개 이상)

=> 위성신호는 벽을 통과하지 않아 실내 위치정보를 얻을 수 없어서 위성이 아닌 기지국이 위성의 역할을 하여 위치정보를 알아내는 것이 Indoor Positioning Techniques임

Fingerprint 방식 : 여러 개의 기지국이 측정한 위치 정보에 대한 DB를 저장해 위치를 알 수 있는 방식

Proximity 방식 : iBeacon방식으로 자신의 coverage에 들어오면 위치를 대략적으로 알 수 있는 방식

Geomagnetic IPS

etc..

# data[].attributes.body
<7장 Application Layer>

App-Layer protocols

- 애플리케이션 = 전체 / ;;프로토콜 : 그 app을 인터넷이 쓰도록 지원하는 프로토콜

- 실제 전송이 일어나도록 만든 HTTP(=app-layer protocol)

User agent

= 크롬 등등

Application layer protocols

- DNS : domain name system

- http: >> 주소(www.postech.ac.kr)의 IP address를 32bit address로 알려주는 시스템

- 분산해서 관리함 > 한곳에서 관리하면 문제 발생(과부하 등)

* [Root > Top-level > second] Domains 로 구성

* Top-lever Domains = com, deu, gov, mil, net, ...

현실은 iterative와 recursive 두 방식을 병합해서 사용

Web(애플리케이션) / HTTP(애플리케이션 프로토콜)

https://plms.postech.ac.kr(호스트네임)/mod/vod/viewer.php?id=91727(path name)

Web cashing

모든 clients가 미국 Web Server 까지하면 너무 많은 비용이 듦

> 한국에 Caching Proxy Server를 둠으로서 국내에서 효율적으로 사용가능

* 그때그때마다 proxy 서버와 Web 서버가 동일하도록 만드는게 중요

IOT에서 많이 쓰는 애플리케이션

1. MQTT

- 센서에서 측정한 값을 MQTT broker에게 전달

> broker는 사전에 값을 받기를 원하는 매체에 전달

2. CoAP

- HTTP의 슬림한 버전

- 센서들끼리 통신을 하고 게이트웨이(브로커라고 불리는) 가운데 있는 서버가 받아서 HTTP 방식으로 기존의 단말들 호스트들에게 보내주는 방식

- 이 서버는 HTTP 프로토콜도 CoAp 프로토콜도 알아서 보내줌

<8장 : Interesting Research Topics>

Bluetooth

- 10m 이내 주변에서 통신할 수 있는 팬 기술중 하나(WIFI 등등)

- 저 전력 소모 > 기기를 훨씬 더 오래 사용

BLE Beacon (특별한 용도 중 하나)

- 백화점, 병원 등에 붙여놓고 사용

- 근처에 가게 되면 신호를 읽어서 기기에 자동으로 정보를 전달

- Beacon이 서버에 아이디 전달 > 서버는 아이디를 보고 전달해서 화면에 표시

RIFD

- 책이나 상품들 택, 바코드

- 리더가 상품에 신호를 보내면 잠시 충전되면서 정보가 전달된다.

NFC

- 접촉을 통해 정보를 전달

VLC(visible light communication)

- LED를 통신용도로 사용

- 가시광선 영역을 통신으로 사용

Fingerprint 방식

- 5개의 기지국으로부터 신호를 측정해서 위치를 바꿔가며 측정한 DB를 가지고 사람이 이동했을 때, 미리 측정한 위치중 어디에 있구나 찾는 방식

# data[].attributes.body
Chap. 7

Application Layer

# Application Layer protocol

user agent >> web , e-mail

application layer protocols >> DNS , web and http ,electronic mail ,telnet ,ftp , etc

-DNS (Domain Name System)

ip 를 기억하기 어려우니 문자열로 주소를 주는 것

32 bit ip 주소와 도메인 주소를 메핑 시켜주는 역할을 한다

분산해서 관리 >> 문제 발생시 피해 최소화

트래픽이 몰림 방지

- 구조

root domain

top-level domains >> ex) edu , gov , com , net

------------------------------------------------------

generic top level domains

country code top level domains (ccTLDs)

------------------------------------------------------

second-level domains >> ex) nsu , mit , google , att

- 방식

resursive resolution >> 정보를 아는 서버가 나올때까지 물어보고 다시 왔던대로

정보를 돌려받음

Iterative resolution >> 정보를 아는 지 물어보고 모르면 바로 다른 서버에게 물어봄 다른 서버를

중간 다리로 사용하지 않음

DNS cache

갖다온 서버의 정보(ip) 를 로컬에 저장해둔다.

# web and http

URL = host name + path name

- web caches(prosy server)
서버가 너무 멀 경우 사용하는 방법 가까운 곳에
Proxy server 를 설치하여 미리 데이터를
복사해두어 거리 문제를 해결한다.

# Iot and Internet Protocol

- MQTT (Message Queue Telemetry Transport) >> 데이터를 원하는 iot에 보내주는 프로토콜

- CoAP (Constrained Application Protocol)

chap.8 ------------------------------------------------

Interesting Research Topic

Bluetooth >> 근접한 거리를 연결

4.0 부터 기술이 도약하기 시작 (저 전력 소모) >> 기기를 훨씬 더 오래 사용

BLE Beacom >> 특정 장소에 특정 범위로 수신 받는 기기를 감지한다.

>> 범위안에 수신 받을 수 있는 기기가 들어오면 데이터 전송

RFID >> 리더기를 갖다대면 RFID 안의 구리선으로 인헤 충전되어 관련 데이터를

읽을수 있게 해준다.(ex) 바코드)

NFC >> RFID 와 유사하나 자체 전력을 쓸 수 있는 기기가 수신할 기기에 가까이 가게 되면 데이터를 전송한다.

VLC >> 빛을 이용한 통신 방법 빛이 0과 1로 이루어져 있어 수신 기기가 읽을 경우 디지털화하여

데이터를 읽을 수 있다

GPS >> GPS는 여러 위성을 이용하여 위치를 알려준다

(원리) 하나의 장치로 신호를 쏘아 동심원을 겹치게하여 위치를 알게 한다

# data[].attributes.body
7장

application layer protocol
애플리케이션을 인터넷에서 쓸 수 있도록 도와주  는 프로토콜

DNS(Domain Name Stytem)
모르는 ip주소가 있을 때 웹페이지 방문 가능

Ip 주소 요청
Recursive
호스트에 연결된 상위 노드에 호스트가 원하는 주소에 대한 정보 물음 -> Tree형식

Iterative
호스트와 연결된 모든 노드에 정보 물음

실제론 recursive와 iterative를 같이씀

DNS cache
ip주소를 pc에 저장

MQTT(Message Queue Telemetry Transport)
서버에 호스트정보를 미리 등록시킴
이후 호스트들이 요청하는 정보에따라 다르게  정보제공

CoAP(Constrained Application Protocol)
요청자료에 대해 간결하게 호스트에게 제공하는것

8장.
블루투스
bluetooth 4.0부터
저 전력 소모 -> 배터리 절약 가능
bluetooth 4.2 : 인터넷 연결 가능
bluetooth 5.0 : 속도 증가 및 인터넷 연결 가능

BLE Beacon
해당 기기에 가까이가면 저장된 데이터 제공

RFID
회로를 통해 저장된 데이터 전달
책 상품등에 있는 tag

NFC
접촉을 통한 전달
RFID의 특화된방법

VLC
가시광선을 통한 데이터 통신

GPS
여러 인공위성에서 데이터를 받아 종합해 위치 추정
정밀한 데이터 습득을 위해 3개 이상의 단말기가 필요

# data[].attributes.body
7장 Application Layer

1) App-Layer protocols define

- Application: 전체를 포함하는 서버

- App-Layer protocols: APP을 구성하는 protocols

- DNS, Web and HTTP, Electronic Mail, Telnet, ftp, etc

2) DNS

- 통신이 가능하게 만드는 가장 중요한 요소

- ip address -> host name을 매핑해준다.

- 모든곳에서 분산을 한다.

(1) Root Domain (전 세계 13개)

(2) Top-level Domains (edu, gov, com, net 등)

(3) Second-level-domains (google, naver 등)

(4) Country-code-top-level-domains (kr, cn 등)

- Name Servers

(1) Local name servers

- 포항공대

(2) Authoritative name servers

- 내가 원하는 IP address와 host name을 변환 시켜 주는 서버

3) Recursive resolution

- host -> Local name server -> Top1 -> Root -> Top2 -> Authoritative -> Top2 -> Root -> Top1 -> Local name server -> host

4) Iterative resolution

- host -> Local name server

- host -> Top1

- host -> Root

- 각각 컨텍해서 물어본다.

- 현실은 Recursive + Iterative 합친다. 정해진 곳 까진 Iterative 그 이후 Recursive

5) DNS cache

- 한번 사용한 DNS를 PC에 일정기간 저장해 둔다.

6) HTTP

- TCP를 사용한다.

- web caches

(1) proxy server를 두고 한번 만 다운 받으면 여러 사람들이 사용 할 수 있다.

(2) 실제 웹 서버와 실시간 동기화 하는게 중요하다.

7) MQTT

- 일정한 온도값(데이터)을 브로커(가장 가까운 무선 통신망)에게 보내면 유선으로 연결 된 가입자에게 데이터를 뿌려준다.

8) CoAP

- HTTPS의 슬림한 버전

- 센서들이 Gateway나 브로커에게 보낸 후 host들에게 http방식으로 보내준 방식. (Gateway나 브로커는 CoAP, HTTP를 다 이해한다.)

- 센서가 host와 CoAP 그 자체로 통신 가능하다면 게이트웨이를 거치지 않아도 된다.

8장 Application Layer

1) Bluetooth

- IEEE 802.15.1

2) Bluetooth 종류

- Bluetooth 1.1

- Bluetooth 4.0부터 BLE 저전력 소모

- Bluetooth 5.0 Galaxy S8

3) RFID

- Reader가 신호를 보내면 Transponder가 잠시 충전되면서 정보를 보내주어 Reader가 다시 읽음

4) VLC

- 형광등이 LED등으로 변하는 중

- 가시광선 영역을 통신으로 변환

5) GPS

- 위성으로 부터 보내는 시간과 받을 때 시간을 빼서 시간, 거리를 구함

- 여러 인공위성에서 받은 데이터를 종합하여 위치를 추정

- GPS는 벽을 통과하지 못한다.

- Indoor Positioning: 위성이 아닌 무선 통신 기지국이 마치 위성인 것 처럼 체계

6) Fingerprint-based pattern Matching

- 여러개의 기지국으로 부터 신호값을 측정하여 위치를 추정한다

7) Proximity

- 근처에 있으면 신호를 받음

8) Geomagnetic IPS

- Fingerprint-based pattern Matching

# data[].attributes.body
(7장 application layer)
[application layer protocol]
: appication을 internet에서 쓸 수 있도록 도와주는 protocol
EX) http, DNS, ftp,... 등

[User agent]
유저에게 보이는 웹브라우저, 이메일 reader

[DNS: Domain Name System]
통신이 가능하게 하는 것 중에 가장 중요한 요소
Q. 인터넷 주소창에 주소치면 ip address모르는 데 어떻게 해당 주소로 연결?
A. 전화번호북과 비슷한 역할을 DNS가 수행
=> 주소를 입력하면 32bit ip address로 변환하여 알려주는 시스템
- distributed, hierarchical => 한 곳에서 관리하지 않고 분산하여 수행(why? traffic, 등의 문제)
- root domain: 13개의 서버
- top level domains: Generic(com,edu,gov,mil 등), Country code(cn,uk,fr 등)
- second level domains

[name servers]
- local name servers
- authoritative name serves: 내가 원하는 ip address와 host name을 변환시켜주는 것을 가지고 있는 것

[ip주소 얻는 과정]
1) recursive resolution
ip 주소 얻는 과정에서 locl name server에 물어보고 모르면 상위에 물어봄
-) root에 많은 부담

2) iterative resolution
host가 ip주소 얻기 위해 직접 물어보는 방법

=> 현실적으로는 두 방법이 혼합되어있는 경우가 많음

[DNS cache]
pc에 저장한 ip 주소 정보

[web and HTTP]
web:application
http: protocol로서 web의 전송과정을 처리, TCP사용

[web cache = proxy server]
월드컵 방송보기 위해 여기서 미국까지 모두가 직접연결하는 경우 traffic마비, 너무 멀고 비용 큼
이 경우 proxy server를 두어 해당 정보를 쉽게 사용할 수 있도록함
(proxy server와 web server의 동기화가 중요)

[MQTT]
사전에 구독한 구독자에게 broker가 정보를 받자마자 전달

[CoAP]
- HTTP통신의 간결한 ver

(8장 interesting research topics)
[bluethooth]
- 10m이내에서 데이터 전송가능
- IEEE 802.15.1
- 종류: 4.0부터 저전력 표준(BLE)이 적용
coverage가 넓어지면 전력소모가 많아지므로 무조건 좋다고 보긴 어렵다

[BLE Beacon]
자신의 id를 app에 전송
-> app이 server에 id를 전송
-> server가 id에 맞는 정보를 db에서 찾아 app에 전송

[RFID]
- 책, 상품 등의 tag
- reader가 얇은 회로 EPC를 급속 충전시키며 안에 담긴 정보를 읽어내는 과정

[NFC]
- RFID의 특화된 한 방법
- 접촉을 통해서 정보를 전달

[VLC]
가시광선 영역을 통신에 사용

[GNSS]
- GPS: 위성에서 지상까지의 거리(정확도 향상을 위해 9개 정도의 위성에서 신호를 받음)
벽 통과를 하지 못함
- indoor positioning:기지국이 마치 위성인것처럼 신호를 받아 수행하는 방법
- fingerprint: 미리측정한 신호 db를 가지고 해당 신호가 mapping되는 위치를 보고 판단

[Proximity]

[gromsgnetic IPS]
위치마다 지자계값이 다르므로 미리 측정해둔뒤 사람이 움직일때 그값을 보고 위치 판단

[other]
IMU센서: 상대위치 측정시 많이 사용

# data[].attributes.body
<7장> Application Layer

1. Application layer protocol
- 애플리케이션을 인터넷에서 쓸 수 있도록 도와주는 프로토콜
- 웹 애플리케이션을 가정해보면, HTML, 웹브라우저, 웹서버를 전송하는데 사용되는 hhtp가 애플리케이션 레이어 프로토콜. 애플레이케이션은 이 모든 것을 포함함
- user agent: 웹브라우저, 이메일 리더 등 유저에게 보이는 인터페이스
- DNS, Web, HTTP 등등이 있다.

2. DNS(Domain Name System)
- 통신이 가능하게 만드는 가장 중요한 것 중 하나
- IP주소를 모르는데 웹 페이지를 방문할 수 있는 것은 DNS덕분임
- dns서버와 프로그램이 사용자가 ip주소를 모르더라도 인터넷을 방문할 수 있도록 하게 해줌 (ex. www.naver.com만 입력하면 네이버를 방문할 수 있다)
- 32bit id adress와 host name을 mapping을 hierarchical database로 처리
- Root level domains, Top level domains(gTLDs), country code top level domains(ccTLDs)
- authoritative name sever
- Recursive resolution: 과정 비효율적
- Iterative resolution
- 일반적으로는 recursive와 iterative가 섞여있는 경우 많음
- DNS cache: 한번 확인한 ip adrress 와 host name을 일정 기간 저장해 둠.

3. Web and HTTP(Hyper text transfer protocol)
- web은 어플리케이션, http : 웹에 데이터 전송하고 받는 과정 처리
- web caches(proxy server): 외국 등 거리가 먼 서버에서 데이터를 받아올 때 가까운 곳에 proxy server를 두어 트래픽이 몰리는 것을 방지. 주의할 점은 그때그때 웹 서버와 프록시 서버의 내용이 같게 해야한다는 것.

4. IOT에서 많이 사용하는 애플리케이션
1) MQTT
- 미리 subscribe한 사람들한테 기사를 보내는 방식(트위터)
- 측정한 데이터가 MQTT broker에게 보내짐 -> 데이터를 원하는 가입자들에게 즉시 보내줌
2) CoAP(constrained application protocol)
- http의 slim버전

<8장>: Interesting research topics
1. Bluetooth
- 10m이내에 사람 주변에서 통신할 수 있는 팬 기술 중 하나
- IEEE 802.15.1
- 휴대폰, 워치, 마우스, 키보드 등 사용
- 덴마크/노르웨이 왕 이름인 harald blutooth에서 유래
- 1994년 Erission이 발명
- Bluetooth Low Energy(BLE) : bluetooth 4.0부터 적용, 저전력 소모 -> 기기 오래 사용
- bluetooth 4.2: 인터넷 직접 접속 가능, 빠른 속도
- Bluetooth 5.0: 삼성에서 가장 먼저 씀, 커버리지 4배 넓어짐(배터리많이 먹음), 전송속도 빠름
- BLE Beacon: 휴대폰 app에 id를 보냄 -> 휴대폰이 server에 id를 보냄 -> db에서 화면에 대한 정보를 찾아서 보내줌

2. RFID: 지나가면서 얇은 회로를 충전시켜 회로 내부에있던 정보가 전송됨. 교통카드, 책 , 상품의 바코드 등에 사용

3. NFC: RFID에서 특화된 방식. 전력을 쓸 수 있는 장치를 접촉해서 정보를 전달할 때 사용

4. VLC(visible light communication): 가시광선 영역을 통신으로 사용.

5. Iot applications
- gps: 위성에서 지상으로 보내는 시각을 적어 데이터를 보내면 지구의 수신기에서 읽음. 그 사이에 걸린 시간에다 신호의 속도를 곱하면 거리가 나옴. 위성으로부터 지구상의 거리를 측정하면 동심원이 나온다. 두번째, 세번째 위성으로 또 다시 동심원을 구해서 겹치는 부분으로 위치를 추정함.
- indoor postioning(실내 위치 추정): fingerprinting- 여러개의 와이파이 기지국에서 위치를 바꾸어가며 신호를 미리 측정해 위치를 측정
- proximity, geomagnetic IPS(지자계) , imu censor(상대위치 측정)

# data[].attributes.body
7장

1. application layer
1) protocol
- DNS
- Web and HTTP
- E-mail

2) DNS(Domain Name Stytem)
- 각 ip에 맞는 호스트 이름 알려줌
ex) naver.com -> 네이버

3) Ip 주소 요청
- Recursive
: 호스트에 연결된 상위 노드에 호스트가 원하는 주소에 대한 정보 물음 -> Tree형식

- Iterative
: 호스트와 연결된 모든 노드에 정보 물음

실제론 recursive와 iterative를 같이씀

4) DNS cache
- 자주들어가는 사이트 정보 저장

3. MQTT(Message Queue Telemetry Transport)
- 서버에 호스트정보를 미리 등록시킴
- 이후 호스트들이 요청하는 정보에따라 다르게  정보제공

4. CoAP(Constrained Application Protocol)
- 요청자료에 대해 게이트웨이를 거치지 않고 바로 호스트에게 제공하는것

8장.
<다양한 기술>
1. 블루투스
- bluetooth 4.0부터 상용화됨.
- 저 전력 소모 -> 배터리 절약 가능해짐
- bluetooth 4.2 : 인터넷 연결 가능해짐
- bluetooth 5.0 : 속도 증가 및 인터넷 연결 가능

2. BLE Beacon
- 해당 기기에 가까이가면 저장된 데이터 제공

3. RFID
- 회로를 통해 저장된 데이터 전달
ex) 바코드, 신용카드 등

4. NFC
- 접촉을 통해 정보 전달

5. VLC
- 가시광선을 통한 데이터 통신

6. GPS
- 인공위성과 단말기의 데이터를 종합해 사용자의 위치 추정
- 정밀한 데이터 습득을 위해 3개 이상의 단말기가 필요하다.

# data[].attributes.body
7장

Application Layer protocol

application vs application layer protocol

application은 전체를 이야기 하는 것이고, application protocol은 그 application 을 인터넷에서 쓸 수 있도록 만들어주는 protocol이다.

- user agent 는 유저들한테 보이게 하는 것들. ex) chrome 등

- application protocols = DNS, HTTP, Telnet 등

- DNS(통신을 가능하게 만들어주는 것) (domain name system)

ex) www.postech.ac.kr을 치면 IP address로 변환시켜 주는것 → DNS server

- DNS는 역할을 분할해서 작용한다

- root는 전 세계적으로 13개 정도가 있다.

- top level domain → ex) .com .edu .gov .net 등만 있었는데, 새로운 도메인이 엄청나게 많이 늘었다.

- country code Top Domains ( ex, .kr)

*Local name server

→ www.naver.com에서 naver에 해당

*Authoritative name server

*Recursive resolution 방식과 iterative resolution 방식이 있다.

Recursive resolution 방식은 주소를 모든 경로를 거쳐올라가서 물어보고, 다시 root를 거쳐 내려온다.

따라서,

Recursive resolution방식은 root에 너무 부담을 준다.

→ iterative resolution방식은 컴퓨터가 각각의 name server에게 물어보는 방식

한번 확인한 IP address는 그 다음부터 계속 쓸 수 있기 때문에 DNS cache에 저장해둔다.(일정기간)

*Web(Application) & HTTP(Application Protocol)

web에서 필요한 정보를 가져올 수 있게 하는 것이 HTTP

- HTTP는 TCP를 쓴다.

Web caches

- ex) 어떤 나라에서 월드컵을 하고 우리나라에서 그 월드컵을 보는상황,

모든 사람이 그 나라에 직접연결해서 월드컵 중계를 받으면 트래픽이 많아서 중계해주는 나라의 web server가 먹통이 된다. 그리고 너무 멂. → 한국에 proxy server(web chaches)을 둔다

*IoT에서 쓰는 application

- MQTT 가장 많이 쓴다.

미리 subscribe를 해놓은 device에 정보를 전송

-CoAP

HTTP의 슬림한 버전

8장

Intersting Research Topics

FAN의 활용방안

Bluetooth

- short range(~10m)정도에서 사용가능

-IEEE 802. 15. 1

-bluetooth 4.0부터 좋아졌다. (저전력 소모 → 기기를 훨씬 더 오래 사용)

BLE beacon

- 백화점, 병원 같은 곳에 부착

- 근처에 가게되면 비콘이 신호를 읽어서 각 위치의 정보 전달

원리?

→ beacon이 자기 ID를 앱에 전송한다. → 5G를 통해서 서버에 아이디를 보낸다. → database에서 정보를 찾아서 다시 서버를 통해 어플에 전송 해 준다.

실내 네이게이션에도 사용

RFID

책이나 다양한 상품들의 정보 전달.

원리 → 회로를 충전시켜서 회로 안의 정보를 전송.

NFC

접촉을 통해 아주 짧은 거리에 정보를 전달할 때 사용.

VLC (visible light communication)

-LED를 통신용도로도 쓰자(가시광선 영역 內)

GNSS

-GPS, GLONASS, Galileo

GPS의 원리

→ 인공위성에서 정보를 보낼 때 시간을 포함해서 전송, 장치가 그 정보를 받을 때 [받은시간 -(빼기)보낸시간] 을 하면 사이의 거리가 나온다.

→ 위성에서 부터 거리를 재면 하나의 원이 나온다. 총 3개의 정보를 받으면 정확한 위치 파악 완료.

→ 소수점 몇까지 읽느냐에 따라 오차 발생. → 보정하기 위해 최소 9개 이상의 인공위성을 사용한다.

문제 = >위성신호는 벽을 통과하지 못해서 지하에는 정보를 전달하지 못한다. But, 현 시대에는 지하공간이 많이 나온다.

무선통신 기지국이 위성역할을 해서 신호를 보낸다. (indoor positioning)

지자개(?)방식(Geomagnetic IPS)

Fingerfrint 방식

Proximitly

IMU를 통한 상대위치 파악.

# data[].attributes.body
7장

<Application Layer>

#application layer protocols
- application layer는 전체를 의미하고, 프로토콜은 애플리케이션을 쓸 수 있도록 도와주는 것

#DNS

- 포항공대 사이트주소처럼 host names을 32bit IP address로 변환해 주는 것

- www는 단말기 이름

#Recursive resolution

- 상위 서버로 올라가면서 응답 확인

- 정보의 양이 많은 장점이 있지만, Root에 부담이 간다는 단점이 존재

#Iterative resolution

- 각각 올라가면서 서로의 응답을 확인함

#HTTP

- TCP 사용

- Web cashes(proxy server): 프록시 서버에서 가져와서 사용하는 간편함. 대신 변화값을 원래 서버와 같게 해줘야한다.

#MQTT

- 온도값을 MQTT가 소스에게 보내줌 (정보전달)

#CoAP (Constrained Application Protocol)

- 데이터를 CoAP서버에 보내서 HTTP방식으로 Host에게 전송

<AIoT 8장>

블루투스의 특성과 다양한 communication 방식 원리를 알 수 있었습니다.

#Bluetooth

- 10미터 이내에서 통신할 수 있는 가장 인기 있는 wireless fan 기술

- ex) 워치, 무선키보드 등

- IEEE 802.15.1

- Harald Bluetooth의 H와 B의 합성으로 마크

- 4.0버전부터 꽃을 피움(저전력)

- 5.0버전은 삼성에서 가장 먼저 사용

# data[].attributes.body
Chapter 7 Application Layer

Application layer protocol

- 메시지 교환 방식

- 메시지의 문법

- 메시지의 송신, 수신을 언제 어떻게 처리할 것인지

를 정의

user agent

-어플리케이션과 유저 사이의 인터페이스

-web, email

Application layer protocols

-DNS

-Web and HTTP

-email

-telnet

-ftp

-etc

DNS : Domain Name System

- 통신이 이루어질 수 있는 중요한 요소

- ex) www.postech.ac.kr

- IP주소와 DNS주소는 동형사상

- Domain의 구조 : Root Domain(.), Top-level domains(com,net,gov …), Second-level domain(google, mit, ….)

Name Server

- Local name server

- Authoratative name servers

웹브라우저에 검색 후 IP 주소를 얻는 과정

Recursive resolution

- 일련의 과정을 거친 뒤 답을 얻고 다시 되돌아 가는 방식

Iterative resolution

- 여러 곳에 컨택해서 IP 주소를 요청하고 다시 돌아오는 방식

보통은 두 가지 방식을 모두 사용함

CNS cache : 특정 사이트의 IP 주소를 알고나면 일정 시간 로컬 컴퓨터에 저장하여 다음에는 복잡한 과정을 거치지 않아도 됨.

Web and HTTP

-웹페이지는 객체의 집합이다

- 객체 : html파일, JPEG, java ppplet, …

- URL은 호스트 이름, 경로로 이루어져 있음.

HTTP

- TCP사용

web cache(proxy server)

- 서버에 간섭하지 않고 client의 요청을 만족시키는 것이 목적

- client의 요청에 응답하는 시간을 줄여줌

-

IOT protocols

- MQTT

- UDP. TCP

-IPv6

-Ethernet, WiFi, Gsm

MQTT

- IBM 개발

- publish, subscribe 메시지 교환

- broker의 역할이 중요

CoAp

- 센서와 CoAP 사이의 작은 http

Chapter 8 Interesting Research topics

Bluetooth

- 짧은 범위의 무선 통신 표준 (IEEE 802.15.1)

- 4.0 버전부터 저전력을 소모하면서 널리 쓰이게 됨.

- 5.0 인터넷 직접 연결가능, 커버리지, 송신속도 증가

BLE Beacon (beacon : 기지국이 자신이 보내야하는 중요한 정보를 지속적으로 보내는것)

- 비콘 근처로 가면 비콘에서 정보를 받을 수 있게 됨.

- 자신의 Id 를 디바이스로 보내면 서버를 뒤져 해당하는 데이터를 보여줌

RFID

- 전자기장을 사용하여 자동저그로 태그를 인식함.

- 태그는 전자화된 정보를 저장

NFC : Near Field Communication

VLC : Visible Light Communication

- 빛(가시광선)을 통신용도로 사용

IOT applications

GPS

- 위성과 자신의 거리를 측정하여 위치를 파악

GNSS

- 기지국이 위성의 역할을 대신하여 위치를 파악

# data[].attributes.body
7장

<Application layer protocol>

Application을 인터넷에서 쓸 수 있도록 도와주는 protocol

ex) DNS, Wen and HTTP, Telnet, ftp 등

1. DNS(Domain Name System)

“Host name” IP address를 32bit의 IP address로 변환하여 알려주는 시스템

-분산된 DNS: 과도한 traffic 방지 및 유지·관리

Root Domain: e(NASA Mt View, CA), m(WIDE Tokyo)등 13개

Top-level Domains

Generic Top-level Domains: com, edu, gov, net, org 등

New gTLDs

ccTLDs: kr, us, uk, fr, jp 등

Second-level Domains: postech, google, mit 등

-NAME Servers

Local name servers: 각 ISP가 보유한 name server

Authoritative name servers: 원하는 IP address와 Host name을 변환시켜주는 것을 갖고 있는 name server

-Recursive resolution: local name server에 물어보고 root로 가는 등 점점 상위 레벨에 물어봄, root에 부담 가 부담이 많이 가는 방식

-Iterative resolution: 일일이 서버에 컨택하여 특정 Host의 IP address를 확인

=> 실제론 Recursive와 Iterative가 혼용되어 사용됨.

- DNS cache: 어떤 사이트에 대한 IP address를 알게되면 한 번 쓰고 지우는 것이 아닌 내 컴퓨터에 일정시간 보관하는 것

ex) ipcinfig/displaydns로 최근 IP address의 DNS cache를 보여줌

2. HTTP(HyperText Transfer Protocol)

TCP를 사용하여 Web server에 request를 하면 Web server에 있는 내용을 링크와 텍스트를 포함해서 가져옴 → pc에서 컴파일해서 화면 표현

8장

<Interesting Research Topics>

1. Bluetooth

- Bluetooth의 종류

Bluetooth 1.1

Bluetooth 4.0: Bluetooth Low Energy(BLE)가 적용되어 전력소모, 기기를 훨씬 더 오래 사용

Bluetooth 4.2: 인터넷에 직접 접속 가능하며 이전 버전 대비(4.1) 2.6배 빠른 전송속도

Bluetooth 5.0: 인터넷에 직접 접속 가능하며 이전 버전 대비(4.1) 2배 빠른 전송속도, 4배 넓어진 커버리지(무조건 좋다고 할 수는 없음. 클 수록 배터리 효율 저하, 그러나 조절이 가능)

BLE Beacon: 백화점이나 병원 등 부착되어 관련 앱 사용자가 접근 시 위치 실내 네비게이션 및 전단지 역할

2. RFID

- 책이나 상품 Tag에 상품에 대한 정보를 저장하는 등 일상에서 이용됨
- Reader가 상품에 신호를 보내면 RFID가 충전되어 신호를 전달함

3. NFC(Near Field Communication)

아주 짧은 거리에서 스마트폰과 같이 전력을 쓸 수 있는 디바이스에 접촉을 통해 정보를 전함

4. VLC(Visible Light Communication)

반도체용어로 시작하였으나 현재는 가시광선 영역을 통신의 수단으로 사용하여 WIFI를 대체하려는 통신수단

ex) 자동차 후미등의 위험신호 전달

5. GNSS

GPS, GLONASS, Galileo 등이 있으며 GPS의 경우 최소 3개의 transmitter가 필요함. 위성 신호는 벽을 통과하지 않으므로 실내에선 GPS 읽을 수 없음. 따라서 fingerprinting 등의 기법으로 실내 위치 추정.

Fingerprinting: 다수의 기지국으로부터 위치를 바꿔가며 신호값을 측정한 DB를 갖고 특정인이 이동할 때 변화하는 신호값을 Mapping하며 위치를 예상할 수 있음

Geomagnetic IPS

# data[].attributes.body
Chap 7

Application Layer

Application : 전체를 의미
Application layer protocol : 인터넷을 쓸 수 있도록 도와주는 프로토콜

DNS
: 통신이 가능하게 하는 것 중 하나.
: IP 주소와 host 이름을 매핑한다.

Recursive resolution
:

DNS cache

MQTT
: 최소의 전력과 패킷량으로 통신하는 프로토콜
: IoT와 모바일 어플리케이션 등의 통신에 적합

CoAP
: 게이트웨이를 통해 통신가능

블루투스
- WPAN 중 대표적인 기술
- 무선키보드, 스마트워치 등에 많이 쓰인다.
- 과거 덴마크와 노르웨이 왕의 이름으로 유래

블루투스의 종류
- 블루투스 4.0 : 저전력 표준이 만들어졌 -> 기기를 훨씬 더 오래 사용가능
- 블루투스 4.2 : 인터넷에 직접 접속가능, 4.1대비 2.6배 빠른 전속송도, 아이폰6에 장착
- 블루투스 5.0 : 인터넷에 직접 접속 가능, 4.1대비 커버리지 4배증가(커버리지가 증가하면 배터리가 빨리 소모)

BLE Beacon
: 근처에 오면 앱에 ID를 전송, 앱이 다시 써버에 ID전송, 데이터베이스는 ID를 보고 데이터를 제공
: 쇼핑몰 뿐 아니라 실내 내비에도 사용.

RFID
: 회로를 충전시키며 데이터를 읽는다.
: 마트나 도서관 바코드에 사용된다.

NFC
: 접촉을 통해서 정보 전달
: 지하철 등에서 사용

VLC
: 가시광선을 통신영역으로 사용

GNSS(Global Navigation Satellite System)
: GPS, GLONASS, Galielo
- GPS : 위성에서 지상으로  신호를 보내고

Fingerprint
: 와이파이의 위치를 바꿔가며 신호를 측정한다.

Geomagnetic IPS

# data[].attributes.body
7장.Application Layer

-메시지나 syntax등 format을 결정

-ex)HTTP

Application vs application layer protocol.

-application은 전체

-application layer protocol은 application이 잘 작동하게 해주는 프로토콜

User agent

-interface between user and application

예시 web:web browser e-mail:mail reader

Application layer protocols

1.DNS(Domain Name System)

-IP address를 32비트 IP address로 변환해서 알려줌

-분산해서 작동함(이유:한 곳 고장시 다 고장,트래픽 집중 때문에)

2.web and HTTP(HyperText Transfer Protocol)

-가져올 수 있는게 web/ 그 역할을 하는게 HTTP

-HTTP는 TCP를 사용함.

-web도 캐시를 사용함(proxy server)->clients와 web server사이에 존재하여 내용을 볼 수 있게함. 노드가 많이 걸릴 때 많이 활용함.

3.Electronic Mail

4.Telnet

5.ftp

6.etc

Distributed, Hierarchical Database

1.Root Domain

-root는 12개.

2.Top-level Domains(TLD)

-generic Top level domains(gTLDs)

-Country Code Top Level Domains(ccTLDs)

3.Second-level domains

Name servers

-Local name servers:ex)postech

-Authoritative name servers란?

내가 원하는 IP address와 host name을 변환시켜주는 것을 갖고 있는 name server

IP address를 얻는 방법.

1.Recursive resolution

local name server에게 물어보고 모르면 상위에 물어보고 root까지 감.

->root가 부담되는 방법으로 효율성 낮음

2.Iterative resolution

-일일이 컨택해서 물어봐야하는 상황

일반적으로 iterative와 recursive를 섞어서 씀.

DNS cache

-한번 사용한 ip adress를 일정 시간동안 컴퓨터에 저장해놓음

보는 방법:ipconfig/dispalydns.

IOT’‘s application protocol

1.MQTT(Message Queue Telemetry Transport)

ex)트위터

사전에 구독자나 가입자들(브로커)에게 전송하는 방식

아주 reasonable함.

2.CoAP

-HTTP의 slim한 버전

-coap서버가 게이트웨이를 통해 HTTPS형태로 보내줌.

-만능 게이트웨이를 쓰면 MQTT broker,coAP동시에 할 수 있음.

8장.Interesting Research Topics

Bluetooth

-보통 10m이내에서 통신할 수 있는 무선 통신

-IEEE 802.15.1

-다양한 곳에 쓰임

-케이블(RS-232)을 대체하기 위해 발명함

-Bluetooth 4.0부터 잘 나감(저전력 표준이 만들어 짐)

-5.0은 커버리지 4배 속도 빨라짐

BLE beacon

-특별한 용도로 사용

-근처에 오게 되면 신호를 읽고 정보를 줌

원리:앱에 아이디를 보내면 5G를 통해 서버에 아이디를 보냄 ID를 보고 database를 참조하여 보낼 정보를 띄운다.

->실내 네비게이션,병원, 백화점 등등에 사용

RFID

-tag등에 붙어있음

-다양한 방식으로 표시되어 있음

원리:Reader가 신호를 보내 잠시 충전되어 이 안의 값을 읽음

ex)바코드,무인슈퍼,환자 identity

NFC(Near Field Communication)

-RFID의 서브 기술

-아주 짧은 거리의(접촉)을 통해 연결

VLC(Visible light communication)

-밝게 비추는 용도만 아니라 통신의 용도로 씀.

-가시광선 영역을 통신으로 씀

-Illumination+Communication

GPS

-위성에서 지상으로 beacon처럼 신호를 보냄(보내는 시간과 함께)

-수신기가 읽음 받을 때 시간에서 보낼 때 시간을 빼면 전송 시간이 나옴

-위성에서부터 지구까지의 거리를 체크하면 동심원이 나옴

-수 많은 위성으로부터 받은 정보를 통해 위치를 확인

-벽을 통과하지 못함.

Indoor Positioning:벽 통과못하는 문제를 해결

Fingerprint-based pattern matching

-임의의 지점들에서 다섯 개의 기지국의 신호 세기를 기록

-사람이 지나갈 때 값 변화를 보고 위치를 추정한다.

지자계방식:Geomagnetic IPS

# data[].attributes.body
Application layer protocol

App - layer protocols define

Types of message exchange - syntax of message types

Semantics of the fields

Use communication services provided by lower layer protocols

App >> app layer protocol ex) web app consist of document format (html), web browsers

User agent : user 한테 보이는 아웃룩.

Application layer protocols

Dns (domain name system ) - 통신을 가능하게해주는 중요한 요소

Web , http etc..

DNS

IP address 와 host name 을 매핑 시켜주는것. - 분산 처리.

Root domain, top-level domains, second-level domains

.           Com/ edu / gov /net …      google, mit , … etc

Country code top level domains (ccTLDs)

.us .kr .cn .jp etc…

Name servers

Each ISP has local name server

Authoritative name servers

Web and Http (hypter text transfer protocol)

Web page consists of objects ( html jpeg …etc)

Http

Use TCP , HTTP request between pc and web server

Web caches (proxy server)

Web server 와 proxy server가 너무 멀어서 트래픽을 멀리 가지 않고 안정화시킨다.

Bluetooth

4.0 부터 저전력 소모. Bluetooth low energy (BLE)

BLE Beacon : battery life 2~5 years

Beacon transmissin -> phone app <-> server <-> dbase

RFID

Short time charge. And read value.

NFC (near field communication)

VLC (visible light communication)

가시광역 영역.

# data[].attributes.body
<AIoT 7장>

<Application Layer>

#application layer protocols
- application layer는 전체를 의미하고, 프로토콜은 애플리케이션을 쓸 수 있도록 도와주는 것

#DNS

- 포항공대 사이트주소처럼 host names을 32bit IP address로 변환해 주는 것

- www는 단말기 이름

#Recursive resolution

- 상위 서버로 올라가면서 응답 확인

- 정보의 양이 많은 장점이 있지만, Root에 부담이 간다는 단점이 존재

#Iterative resolution

- 각각 올라가면서 서로의 응답을 확인함

#HTTP

- TCP 사용

- Web cashes(proxy server): 프록시 서버에서 가져와서 사용하는 간편함. 대신 변화값을 원래 서버와 같게 해줘야한다.

#MQTT

- 온도값을 MQTT가 소스에게 보내줌 (정보전달)

#CoAP (Constrained Application Protocol)

- 데이터를 CoAP서버에 보내서 HTTP방식으로 Host에게 전송

<AIoT 8장>

블루투스의 특성과 다양한 communication 방식 원리를 알 수 있었습니다.

#Bluetooth

- 10미터 이내에서 통신할 수 있는 가장 인기 있는 wireless fan 기술

- ex) 워치, 무선키보드 등

- IEEE 802.15.1

- Harald Bluetooth의 H와 B의 합성으로 마크

- 4.0버전부터 꽃을 피움(저전력)

- 5.0버전은 삼성에서 가장 먼저 사용

#BLE Beacon

- 5m 근처에 가면 신호를 보내 다양한 정보를 줄 수 있다.

#RFID

- 옷 태그에 빛을 비춰보면 상품의 정보가 저장되어있는 경우 볼 수 있다.

- 원리: 리더가 신호를 보내 회로를 충전시켜 반응

#NFC

- 짧은 거리에 사용할 때 씀

- ex. 버스카드

#VLC

- 가시광선 영역을 통신으로 쓰겠다.

#GPS

- 위성에서 신호를 받음

- 벽을 통과하지 않기 때문에 실내에서는 불가능

- 수신 시간과 송신 시간의 차이 값에 속도의 값을 곱해 위치 정보를 알아냄

# data[].attributes.body
7장
Application Layer

app-layer protocol : application을 인터넷에서 쓸 수 있도록 도와주는 역할
ex) DNS, WEB and HTTP, Electronic Mail, Telnet, etc
application : web browsers, web servers, app-layer protocol 다 포함
user agent : web/ e-mail

DNS
- 통신이 가능하게 함
- 도메인 주소를 치면 32bit IP address로 변환해서 알려주는 시스템
- 분산해서 관리
-> 한 곳에서 관리 했을 때 고장나면 문제
-> 매번 한 곳에 물어보면 트래픽 부피가 커진다
-> distant centralized database
-> maintenance

root name servers

- 전세계에 13개 정도 존재

generic top lever domains

-com, edu, gov, mil, net, org, int / new gTLD

country code top level domains

Name Servers
- authoritative name servers
- local name servers

Recursive resolution
Iterative - queries to root name server

DNS cashe
ip address를 알게 되면 한번 쓰고 버리는 것이 아니라 컴퓨터에 일정시간 동안 저장

Web and HTTP
- http가 실제로 web에 데이터를 전송하고 처리한다.
- file, image applet
- host name과 path name으로 이루어져있다.

HTTP
-TCP를 사용 (link와 text 포함해서)
- pc running explorer에서 컴파일 해서 보여줌

Web cahces (proxy server)
ex) 미국의 월드컵 경기를 보고싶을 때, 한국의 어떤 곳에 proxy server을 둬서 미국 webserver에서 proxy server로 받아 한국 사람들은 proxy server로 경기를 보는 것
proxy server와 web server의 내용이 항상 같게 만들어 주는 것만 제대로 된다면 완벽!

IoT 에서 많이 쓰는 application
- MQTT

MQTT

- 미리 subscribe를 해서 정보를 받는것
- 센서값이 올때마다 값을 받기를 원하는 host들 에게 나눠준다.

CoAP

- gateway를 거치지 않고 직접 http에 연결되기도함

8장
Interesting research topics

Bluetooth
ex) 스마트워치, 무선이어폰, 무선키보드 , etc
- 10미터 이내 사람의 주변에서 통신할수 있는것 wireless fan?pan?
- " harald bluetooth "
- Bluetooth Low Energy(BLE)- bluetooth 4.0 부터 적용
-> 저 전력 소모 -> 기기를 훨씬 더 오래 사용
커버리지가 넓어지면 배터리가 빨리 닳음

BLE Beacon
- 쇼핑할 때 기기 근처에 가게되면 신호를 읽어서 핸드폰으로 정보를 알려준다.
원리
비콘이 자기 아이디를 앱에 보낸다 -> 5Gㄹㄹ 보내서 서버에 아이디를 보낸다
서버는 아이디를 보고 db에서 관련 정보를 앱에 보내준다. -> 앱에 정보를 띄운다

RFID
- 책이나 상품들의 택에 빛을 비춰보면 안에 구리선 같은 것이 있음. 상품에 대한 정보가 저장
- 구리선 or 바코드
- Reader가 상품에게 신호를 보내면 급속 충전되면서 정보를 보낸다
ex) 하이패스, 교통카드, 도서관시스템, 택배 시스템,
NFC (아주 짧은거리에 접촉을 통해서정보를 전할때 사용) ,
VLC (가시광선영역을 통신하는데에 쓰겠다.)

GPS
- 위성에서 지상으로 신호를 보낼 때 시간을 적어서 보내면 지상의 수신기가 받는다.
-> 전송되는 시간 알 수 있음 , 계산으로 거리도 알 수 있음 벽을 통과하지 않음
-> 실내에서는 불가능 (지하철, 지하주차장, 건물 내에서 사용x)

Indoor positioning
위성이 아닌 와이파이나 블루투스같은 무선통신기지국을 위성같은 역할을 하게 한다.
- *fingerprint 방식  ->  geomagnetic IPS
- proximity

# data[].attributes.body
application을 쓸 수 있도록 도와주는 Layer (ex, Web과 HTTP)

DNS

DNS (Domain Name System)
: IP를 몰라도 naver에 접속할 수 있음 (IP > naver.com 으로 전환)

Root > Top(com, net, gov...) > Contry Code (uk, kr, jp ..) \\
	 > Name server(postech, naver..)

* Authoritative name server = 가장 마지막(고유)
* Intermediate NS

* Recursive : 중간 서버가 정보를 얻어와서 다시 돌려주는 것
* Itertative : 중간 서버가 상위 서버의 IP만 알려주고 직접 묻게 만듬

DNS cache : 많이 쓰는 곳의 IP를 local에 정리해두는 것

Web and HTTP

HTTP : HyperText Transfer Protocol

URL : naver.com(host)/asd(Path)

Web caches (proxy servser)
ex) 미국 서버로 계속 접속하기에 너무 멀기에,
		한국 서버에 Proxy server를 설치하여 미리 데이터를 옮겨둠

Request (Port 80), Response

IoT Application

MQTT(Message Queue Telemetry Transport)

Sensor > Broker (Computer) > Client.
* TCP/IP based

CoAP (Constrained Application Protocol)
* HTTP based

Personal AI network & Interesting Topics

Bluetooth (IEEE 802.15.1)

BLE(Bluetooth Low Energy) : 4.0부터 저전력 기술이 들어가며 폭 넓게 사용됨.

Beacon
* 고정된 장소에 장치를 넣고 수신 받는 다른 기기를 감지함

RFID
* Passive tag : 무전원 기술. Reader가 읽을 때 구리선을 따라 약한 전류가 생성되고 작동함.

NFC : RFID의 한 방식 / Two-way commucation 지원

VLC (visible light communication)
: LED와 함께 생기는 중

* LED는 디지털 기술로 01010101로 구성된 빛을 뿌리는 것인데 이것을 읽어서 디지털화 할 수 있다고함

GPS - Trilateration
: 여러 위성에서 하나의 장치로 신호를 쏘아 동심원을 형성, 겹치는 곳으로 위치를 정함
* 신호 전달 속도에 따라 오차가 발생할 수 있음

# data[].attributes.body
Chap 7 App layer

App layer protocol

메시지와 syntax의 포맷결정

Application = 서버 브라우저 프로토콜 등을 전부 포함

App layer = app을 인터넷에 쓸 수 있게 도와주는 프로토콜

User agent

유저와 app간의 인터페이스

브라우저나 이메일 리더 등

Application protocol

DNS,HTTP,Web,Electronic mail 등등

DNS(domain name system)

IP address를 host name으로 변환

분산적 계층적

이유: 트래픽, 유지관리, 문제 발생을 줄이기 위해

Root name servers

그 밑으로 다양한 톱레벨 도메인(gTlDs)->7개에서 다양하게 늘어남

Country code top level domain(ccTLDs)

Local name server:

Authoritative name servers: 내가 원하는 ip주소와 host네임을 변환하는 것을 가지는 서버

Recursive resolution

단계적으로 목적지의 주소를 물어보며 주소 파악

Iterative 방식

알만한 위치를 알려주면 일일이 직접 물어보며 ip주소 파악

DNS cache:

접속한 사이트의 ip주소를 알게 되면 일정시간동안 pc에 저장

Web and HTTP

HTTP는 TCP사용

텍스트기반으로 와서 컴파일

Web caches(proxy server):

프록시 서버로 페이지를 전송-프록시 서버에서 가까운 곳의 사용자에게 페이지 전송

MQTT

브로커는 센서로부터 데이터를 받아 미리 구독한 장치에게 데이터를 전송

CoAP

http의 슬림한 버전

Chap 8 Interesting Research Topics

Bluetooth :

short-range wireless communications

RS-232케이블을 무선으로 대체하기 위해 개발

Bluethooth4.0-저전력 소모

Bluethooth4.2-인터넷에 연결가능, 이전 버전 대비 빠른 전송속도

Bluethooth5.0- 이전 버전 대비 전송속도2배 커버리지 4배

BLE Beacon

Beacon 과 device가 가까워지면 신호를 방출하여 정보를 전달

Beacon-App-Server-Content Database 의 구조로 통신

RFID:리더가 안테나를 통해 신호를 보내면 Transponder가 잠시 충전되며 리더로 정보를 전달-리더는 컴퓨터로 정보를 보내고 데이터 활용

NFC:두개의 전자장치가 접촉과 같은 아주 짧은 거리에서 정보를 주고 받을 때 씀,양방향 통신

VLC:LED를 사용하여 통신

IoT App

GPS-위성에서 지상으로 신호를 보내고 전송시간을 구해 빛의 속도를 곱하여 거리를 구하고 여러 위성을 통해 구한 거리를 종합하여 위치를 파악

위성신호는 벽을 통과하지 않음

Indoor Positioning

무선통신 기지국이 위성인 것처럼 신호를 받아 위치를 파악하는 시스템

Fingerprinting

기지국이 여러 개 있을 때 위치를 바꿔가며 신호 값을 측정하고 DB를 가지고 위치를 매핑하여 파악

Proximity=beacon사용 위치를 파악

Geomagnetic IPS=Geomagnetic정보를 미리 측정하고 App내부의 자기센서를 상용 측정, 비교하여 위치를 파악

# data[].attributes.body
7장
Application layer
- 메세지의 syntax type 결정
- 메세지 type 변환

Application vs application layer protocol
Application은 전체이고 application layer protocol은 Application을 인터넷에서 쓸 수 있도록 도와줌

DNS(Domain Name System)
- 통신이 가능하게 만드는 가장 중요한 것 중 하나

DNS를 한 곳에서 관리하지 않는 이유
- 한 곳에서 실패하면 통신이 되지 않는다
- 트래픽이 몰릴 수 있다.
- 따라서 분산처리 해야된다.

Name servers
- Local name servers
- Authoritative name servers
- 내가 원하는 IP 주소와 host 이름을 변환시켜주는 것을 갖고 있는 name server

Recursive resolution(많이 사용하지 않음)

Iterative resolution
- 직접 다 물어보는 방식
- 직접 호스트의 IP주소를 받아서 알게되는 상황

현실에서는 recursive와 iterative 섞어서 사용

DNS cache
- 한 번 알게 된 것은 나중에 또 쓸 수 있기 때문에 일정기간 그 PC에 저장

proxy server
- 예를 들어 해외에서 월드컵을 하는데 그 중계를 한 웹 서버에서 한다고 하면 각 개인들이 그 웹서버에 모두 직접 접속하면 트래픽이 몰려 서버가 다운될 수 있다. 그래서 우리나라에서 똑같은 것을 만들어 거기(proxy server)에 접속하게 하는 것이다.

MQTT(Message Queue Telemetry Transport)
- 미리 subscribe하고 그 사람들에게 기사를 보내는것과 비슷한 방식는

8장
블루투스
종류
Bluetooth 1.1
Bluetooth 4.2
Bluetooth 5.0

Bluetooth 4.0부터 저전력 소모 적용 -> 기기를 훨씬 더 오래 사용용

BLE Beacon 원리
- ID를 보냄
- 그 ID를 server에 보냄
- DB에서 띄워줄 정보를 찾음
- 화면을 띄워줌

GPS 원리
- 위성에서 지상으로 신호를 보냄
- 보낼 때 보내는 시간 적어서 보냄
- 자동차에서 수신길이를 읽는다
- 받는시간 - 보내는시간 = 걸리는시간
- 여기에 속도를 곱하면 거리 나옴

# data[].attributes.body
7장. Application layer
- 메시지와 syntax라는 포맷을 정의함.
- Application : 전체를 의미,
- Application layer 프로토콜 : application을 인터넷에서 사용할 수 있도록 도와주는 프로토콜, DNS, web, http, 전자메일, 텔넷, ftp
- DNS : 인터넷 호스트, 라우터는 IP address와 이름을 가짐. (ip 주소를 어떻게 호스트 이름으로 map할까? -> DNS의 분산 데이터 베이스로 호스트이름과 ip 주소를 mapping한다.
- DNS가 중심화 되지 않은 이유? : single pt of failure, traffic volume, distant centralized DB, maintenance
- Root name servers
- Generic top level domains
- Country code top level domains
-> Web application : 웹브라우저, 웹서버, 웹 layer 프로토콜 등
-> User agent : 웹브라우저, 이메일 등
-> Local name server : 단말기 이름, each ISP
-> Authoritative name servers: 원하는 ip address와 host name을 변환하는 값들을 가지고 있는 서버

- Recursive resolution : root에 부담이 큼.
- Iterative resolution : 번갈아가면서 질의응답. 더 많이 사용.
- DNS cache : 어떤 사이트에 대해 ip를 알게 되면 그걸 저장해둠
- HTTP : 웹의 데이터를 실제로 전송하고 받는 과정을 처리함. HTML, 이미지, 오디오 전부 가능
- Web caches : proxy server라고도 함. Client와 web server간 거리가 멀 때 proxy server를 사용함.
- MQTT : 미리 구독하고 있는 사람들(MQTT broker)에게 정보를 전달하는 것
- COAP : Constrained application protocol, COAP server/HTTP 게이트웨이

8장. Interesting research topics
- Bluetooth : 이어폰, 키보드, 워치 등 short-range wireless communication
- 종류 : bluetooth 1.1, blutetooth low energy(BLE)-저전력 소모, bluetooth 5.0(전송속도 2배 빠름, 커버리지 4배)
- BLE Beacon : 수명 2-5년, 원리 : 5G로 비콘이 아이디를 보냄->서버에 전송 -> DB와 정보 주고 받음 -> 서버가 폰으로 전송
- RFID : passive, active tags(지나가면서 EPC를 충전시키면 그 값을 읽어냄) / 활용도가 높고 현재도 많이 사용 중임.
- NFC : RFID의 한 방법, 버스카드 태그, 집 보안 카드
- VLC : illumination + communication, 가시광선 영역을 통신로로 쓰는 기술,

[ IoT applications ]
- GPS, GNSS : 하나의 위성으로 내 위치의 100m 반경을 구함, 여러 개의 위성으로 작업해서 겹치는 영역을 내 위치로 마킹. Trilateration / 벽을 뚫지 않는 신호임.
- Fingerprint-based pattern matching : 위치에 따라 색을 다르게 표시해서 내 위치 찾기

# data[].attributes.body
AIoT 7장 _ Application Layer

Application layer protocol종류 : DNS, Web and HTTP, ftp etc

DNS (Domain Name System) : IP주소와 host의 이름을 mapping해주는 시스템. 모든 서버의 IP주소를 외우고 있을 수 없으니, Domain Name을 사용한다. 예) Naver, postech, Google

DNS는 유지화, 트래픽 문제 등 때문에 중앙화하지 않고, 분산화 한다.

질문. 그럼 Local DNS는 proxy server처럼 act하는 것인가요?

Root name servers들이 있고, 그 밑에 Top Level Domain(com, edu, net, org 등등)

Country code Top Level Domains (ccTLDs) : kr, fr, jp 등등

DNS cache : 어떤 사이트의 ip주소를 알게 된 후, 일정 기간 pc에 저장해두는 공간.

Web and HTTP : Web은 application, HTTP는 application layer protocol.

HTTP : TCP 사용, client-server 모델이다. (request가 오면 respond하는 방식), HTTP는 stateless이다. 즉, 현재 상황을 저장하지 않고 request 주고 끝. (최근에는 저장하기도 함.)

Web cahce : 서버 연결 없이 client의 요구를 만족하기 위해 생김. proxy server, 모든 사람이 동시에 web server에 연결을 시도하면 멀고, 트래픽도 과부화 됨. 그래서 중간에 proxy server를 두어 멀리 갈 필요 없이 여러 client들에게 제공. 이때, web server 와 proxy server의 정보가 같도록 하는 것이 중요하다. cache는 client와 server 역할을 둘 다 한다. Web cache는 응답 시간이 줄어들고, traffic을 줄일 수 있고, 효율적으로 전달한다는 장점이 있다.

MQTT (Msg Queue Telemetry Transport) : 사전에 가입을 받고 가입한 사람에게만 정보 제공

CoAP (Constrained Application Protocol) : client/server protocol(request/report) 방식.

AIoT 8장

Bluetooth (802.15.1)

Bluetooth 1.1 ~4.2 : 4.0부터 저전력 표준이 만들어짐. (BLE, Bluetooth Low Energy)

Bluetooth 5.0 : 인터넷에 직접 접속 가능, 커버리지 4배, 전송 속도 2배 빠름

BLE(Bluetooth Low Energy) : Beacon, 위치 정보 사용하기 위해 사용한다. Low cost and size, phone, tablet, pc와 호환, low power consumption

Bluetooth VS BLE

- Data Rate : bluetooth는 1~3Mbps, BLE는 1Mbps

- voice : 블루투스 x, BLE 가능

- power consumption : 블루투스 ~1mW, BLE는 0.01~0.05mW

- Latency : 블루투스 100ms, BLE 는 6ms

RFID (Radion Frequency Identification ) : EPC를 읽어내는 과정. 바코드 인식, 휴대폰 NFC 등에 사용

VLC (Visible light Communication) : LED를 통신용으로 쓰자. 자동차 후미등, 방의 천장등, 비행기 등으로 사용 가능.

<측위 기술>

GNSS : GPS, GLONASS, Galileo 등

GPS는 어떻게 작동하는가? : 최소 3개의 transmitter가 필요하다. 위성 신호는 벽을 통과하지 않으므로 실내에선 GPS 읽을 수 없음 → 따라서 fingerprinting 등의 기법으로 실내 위치 추정.

proximity는 Beacon 같은 anchor를 두고 user가 anchor 근처에 있을 것이라고 추정하는 것. 위치 추정 정확도가 coverge에 반비례한다. (즉, coverge가 넓으면 추정치가 확실하지 않고, coverge가 좁으면 비교적 정확하게 추정 가능)

Fingerprinting : 서비스 지역에서 미리 임의로 여러 개의 위치를 선정하고, 선정한 위치에서 수집한 신호 세기 정보를 이용해 위치를 추정하는 방법.

# data[].attributes.body
AIoT 7장

● Application layer protocol

다양한 application들을 Internet에서 사용할 수 있도록 도와주는 protocol

운, Web and HTTP, E-mail, Telnet, ftp etc.

User agent : Web browser, mail reader etc.

● DNS(Domain Name System)

name(www.postech.ac.kr)만으로 접속할 수 있도록 하는 것

DNS서버 : name을 검색하면 32비트 IP 주소로 변환해서 알려주는 서버

Distributed, Hierarchical한 구조 : 한 곳에서 관리하면 risk가 큼, Traffic이 몰림

Root Domains : 세계에서 13개 존재

Top Level Domains : 최근 엄청나게 증가

Name servers

- Local name servers

- Authoritative name server

Recursive resolution : root에 부담이 증가

iterative resolution : 각각 물어봄, Recursive resolution과 혼합한 방식을 많이 사용

DNS cache : 한 번 확인한 정보를 PC에 일정기간 저장해놓음

● Web and HTTP (Hyper Text Transfer Protocol)

파일, 이미지, 오디오파일 등 다양한 파일을 불러올 수 있음

HTTP : TCP사용

Web caches (proxy server) : 멀리 있는 Web Server의 정보를 Proxy Server가 가져와 여러 Clients들에게 제공할 수 있음

● MQTT (Message Queue Telemetry Transport)

사전에 Message를 받고 싶어하는 Host들에게 정보를 전달

● CoAP (Constrained Application Protocol)

HTTP의 축소판

센서들끼리 CoAP으로 통신하고 Gateway가 정보를 HTTP방식으로 Host에게 전달

AIoT 8장

● Bluetooth

10m이내에서 통신할 수 있는 가장 유명한 수단 중 하나

RS-232 cable을 무선으로 대체하기 위해 처음으로 탄생

Bluetooth Low Energy (BLE) : 4.0부터 적용, 저전력 소모

5.0버전 : 전송속도 2배 빠름, 커버리지 4배 증가 -> 배터리 소모 증가 우려

● BLE Beacon

Beacon이 휴대폰에 정보를 보냄 -> 휴대폰에서 server로 정보를 보냄 -> DB를 찾아보고 해당 Beacon에 맞는 정보를 찾음 -> 휴대폰에 해당 정보를 보여줌

● RFID

Reader가 얇은 회로를 충전시켜서 회로에 있던 정보를 전송

● NFC (Near Field Communication)

근거리에서 접촉을 통해 정보를 전하는 기술\

● VLC (visible light communication)

가시광선에 해당하는 빛을 통신 용도로 사용

● GNSS (Global navigation satellite system)

GPS : 위성에서 지상으로 신호를 보내는데 지상에서 받는 시간에서 보내는 시간을 빼서 그 사이의 시간과 속도를 통해 거리를 구하는 방식

● Indoor Positioning

지하 혹은 실내에서 생활하는 시간이 길어지기 때문에 위성이 아닌 Wifi 혹은 Bluetooth같은 무선 통신 기지국의 신호를 받아서 위치를 찾는 방식

● Fingerprint-based Pattern Matching

여러 위치에서 Wifi 기지국의 신호 세기를 측정한 후 특정 위치에서의 신호값을 매칭시키는 방식

● Proximity

● Geomagnetic IPS

특정 위치마다 지자계값이 다르기 때문에 미리 측정된 값에 따라 위치를 알아내는 방식

# data[].attributes.body
Ch7. Application Layer
1. Application Layer Protocol
- DNS (Domain Name System)
- HTTP

2. DNS
- IP address (32bit)와 www.postech.ac.kr 사이의 변환
- Distributed

1) Root Domain
2) Top-level Domain (edu, gov, com, net)
- generic domains
- country domains
3) Second-level Domain (nsu, mit, google, att)

-Local name server
-Authoritative name server

*www.cnn.com의 IP address를 찾는 과정
-Recursive solution
: local name server에 물어보고 점점 상위 레벨에 물어봄
-> root에 부담
-Iterative solution
: local name server에 물어보고 어디에 있을거라고 알려주면 그 상위레벨에 가서 물어보고를 반복

=>현실에서는 recursive + iterative

*DNS cache
: 어떤 사이트에 대한 IP address를 알게 되면 내 컴퓨터에 일정시간 저장해놓음
(항상 DNS에 물어보게 되면 traffic이 몰리기 때문에 효율 떨어짐)

3. HTTP
: TCP 이용
: PC에서 request 보내고 response 받음
* caching proxy server
- 항상 web server까지 request를 보내기 힘들기 때문에 caching proxy server에 web server와 동일하게 저장하여 편하게 보고 web server에 트래픽이 몰리는 것을 막음

4. MQTT
: 센서에 대한 정보를 subscriber들에게 보내는 것과 비슷

5. CoAP
: IoT에서 http의 슬림한 버전

Ch8. Interesting Research Topics
1. Bluetooth
- BLE (Bluetooth Low Energy) : Bluetooth 4.0~ (저전력)
- BLE Beacon : 주변에 오면 관련 정보 알려줌
2. RFID
- 회로 충전되면서 정보를 전송
3. NFC (Near Field Communication)
- 접촉을 통해 정보를 전달
4. VLC (Visible Light Communication)
- LED를 통신용도로도 쓰자

5. GPS
- 위성에 정보를 보내고 받기까지의 시간을 측정 후 속도를 곱해 거리 계산
- 동심원을 그려 3~4개의 위성에서 받은 정보를 이용한 동심원이 겹치는 영역으로 위치 추정 가능

but 위성 신호는 벽을 통과하지 않는다
--> Indoor Positioning
: 기지국이 위성인것 처럼 신호를 받아서 측위를 해보자
-> 지자개 방식을 주로 이용
1) Fingerprint-based Pattern Matching
: 공유기에서 나온 신호 세기를 측정해놓고 표를 만들어서
: 특정 위치에서 세기가 어디인지 표에서 확인하고 위치를 추정

2) Geomagnetic IPS
: 지구는 커다란 자석이다

# data[].attributes.body
Chap 7 Application Layer

Application layer protocol : 보내야 될 메세지와 syntax라고 하는 포맷을 결정

ex. HTTP, DNS, Electronic Mail, Telnet, FTP 등

User agent : 유저한테 보이는 mail reader, web browser 등

DNS (domain name system) : www.~ 로 시작하는 도메인 이름을 IP address로 바꾸어주는 역할(mapping)

- 계층적으로 분산하여 작동

> 고장방지, 트래픽몰림 방지

- 루트노드, top 노드, second 노드, …

- 루트노드는 전세계적으로 하나 있는 것이 아니라 13개가 있음, 그 다음 top level domain(ex.com, edu, gov, net, org 등)

- country code top level domains(ccTLD)

: 옛날에는 generic domain이 있고 country domain이 있었음

recursive resoultion, iterative resolution

1) recursive resolution : 네임서버가 모르면 올라감

2) iterative resolution : 로컬에 물어봤는데 모르면 알거같은 ip 주소를 알려줌, 물어봤는데 모르면 알거 같은 ip주소를 알려줌 → 일일이 컨택해서 물어봄

현실은 두 개가 섞여있는 경우가 많음 recursive하게 가다가 iterative하게 가서 root의 노드를 줄여주고 대신 물어봐주는 형태로 하기도 함

DNS cache : 한 번 확인한 IP address와 host name을 나중에 또 쓸 수 있기 때문에 한 번 쓰고 지우는 것이 아니라 PC에 일정기간 저장해놓음

- /displaydns : 얼마전에 썼던 그 사이트의 ip address를 찾아본 것이 저장되어 있음

Web and HTTP

- 웹에 데이터를 받고 전송하는 과정을 처리

- TCP를 써서 request를 하면 웹 서버에 있는 내용을 링크와 텍스트를 포함해서 가져옴 → pc에서 컴파일해서 화면 표현

- Web caches

: 너무 멀고 비용도 클 경우에 중간에 Proxy Server에서 그 내용을 볼 수 있게 하는 것, 그때그때마다 웹서버와 프록시서버의 내용이 같게 하는 것이 중요

IoT and Internet Protocols

1) MQTT(Message Queue Telemetry Transport) : 데이터를 보내면 브로커에 보냄 → (받기를 원하는) 미리 subscribe한 호스트(가입자)들에게 뿌려주는 형태로 동작, 브로커 역할이 중요

2) CoAP (Constrained Application Protocol) : HTTP의 슬림한 버전, 게이트웨이 또는 브로커라고 불리는 CoAP server가 받아서 HTTP한 방식으로 보내고 호스트에게 보내주는 방식, CoAP 프로토콜도 알고 HTTP 프로토콜도 알고 있음

만능 게이트웨이를 쓰게 되면 두 개의 프로토콜을 다 이해해서 서버로서 동작을 같이 할 수 있다

Chap 8

Bluetooth : 10m이내에 사람의 주변에서 통신할 수 있는 wireless fan의 대표적인 기술, IEEE 802.15.1

- RS-232케이블을 무선으로 대체하자 하여 탄생

- Bluetooth 4.0부터 꽃피움 - 저전력 표준이 만들어짐 low energy(BLE) → 기기를 훨씬 더 오래 사용

- Bluetooth 4.2 - 아이폰 6에 장착됨

- Bluetooth 5.0 – 속도가 빨라짐, 커버리지가 넓어짐(커버리지가 넓으면 배터리가 많이 먹음, 커버리지를 조절할 수 있음)

BLE Beacon

- 백화점에서 코너 안내, 병원에서 내비게이션 역할을 하는데 사용할 수 있음

- 원리 : Beacon이 자기 ID를 보내면 서버에 ID를 보냄 → 서버에서 DB를 검색해서 전달

RFID : 태그에 상훔의 정보가 저장되어 있음

- 원리 : reader가 신호를 보내면 회로를 충전시켜서 그 값을 읽어내는 과정을 거침

- 바코드 관리 시스템

NFC (Near Field Communication)

- RFID의 한 서브기술

- 스마트폰 같이 전력을 쓸 수 있는 디바이스의 접촉을 사용하여 정보를 전함

VLC (visible light communication)

- 반도체의 용어, 밝게 비추는 용도로만이 아니라 통신용도로도 쓰자는 것

- 가시광선 영역을 통신용도로 쓰겠다는 것

ex. 자동차 신호, 도로에서 관광정보 전달

GNSS (global navigation satellite system)

GPS 원리 : 위성에서 지상으로 신호를 보낼 때 보내는 시간을 적어서 보냄 → 수신기가 읽음 → 받은 시간과 보낸 시간을 빼면 걸린 시간이 나옴 → 신호의 속도를 곱하면 거리가 나옴 → 위성으로부터 지구상의 거리를 측정하면 동심원이 나옴 → 위치는 원 중에 하나 → 두 번째 위성으로부터 신호를 받아야 함 → 또 하나를 받아 계산하게 되면 위치가 두 개가 됨 → 하나 더 받아서 추림

- 적어도 9개 이상 받으면 상당히 정확해짐

- 이 위성 신호는 벽을 통과하지 않음 → 실내에서는 gps를 읽을 수 없음 → 지하공간에서도 위치를 어떻게 찾을까 → window positioning

지자계

- fingerprint 방식 :wifi가 5개의 기지국으로부터 신호값을 미리 측정해놓고 db앱을 띄움 → 신호가 이것중에 어느데에 매핑을 하는지 알아냄

- proximity

- geomagnetic 지자계값을 미리 측정을 해놓고 있다가 사람이 움직일 때 측정된 값을 보고 위치가 어딘지 알아내는 방식( fingerprint 방식)

- IMU라고 불리는 다양한 센서를 가지고도 위치를 추적할 수 있음 - 상대위치 추적

# data[].attributes.body
1. 배운점

<Application Layer>

- 애플리케이션 레이어 프로토콜은 애플리케이션이 인터넷을 사용할 수 있도록 하는 프로토콜

ex) Web Application의 HTML(애플리케이션 레이어 프로토콜)

- User agent는 사용자에서 보이는 부분 ex) web browser

<DNS>

- 도메인 네임(www.naver.com)을 32비트 ip 주소로 매핑해주는 분산된 데이터베이스

- 한 곳에서 하지 않고 분산되어 있는 이유는 문제가 생길 시 risk를 최소화하고 트래픽을 분산하기 위함

- authoritative name server : 내가 원하는 ip 주소와 호스트 네임을 가지고 있는 서버 ( postech 서버에는 없고 ac 서버에는 있다면 그게 authoritative name server

- Generic Top Level Domains : com, edu, gov, mil, net, …. (최근엔 New gTLDs 등장)

- Country Code Top Level Domains : 나라를 나타냄

<Recursive resolution>

- 원하는 답(authoritative NS)을 찾기 위해 부모 서버에 계속 요청, root 도메인은 다른 Top Level Domain에 요청…(root 부담이 큼)

<Iterative resolution>

- 부모 서버의 ip 주소를 host에 알려주고 host가 부모 서버에 질문

-현실은 두 resolution을 합쳐서 사용

- root 네임 서버로 가는 query에 대해서는 iterative 사용, 다른 부분에는 recursive 사용

<DNS cache>

- 매번 다른 서버에 질문하는게 아닌 pc에 도메인 캐시를 저장해둠(일정시간동안)

<Web and HTTP>

- 웹페이지는 여러 참조 객체들이 포함된 base HTML-file로 구성

- 각 객체는 URL에 의해 주소화됨

- http는 데이터를 전송하고 받는 과정을 처리하는 웹 애플리케이션 프로토콜(TCP 사용)

- 텍스트 기반, 링크도 가져와서 컴파일

<Web Caches(proxy server)>

- 클라이언트가 프록시의 웹 페이지를 요청 → 프록시가 웹서버의 웹페이지를 요청 → 웹 서버가 프록시에 web 페이지를 전송 → 프록시는 페이지를 캐시에 저장, 클라이언트에 전달(응답 시간 줄이고, 트래픽 줄일 수 있음)

<MQTT>

-sensor는 MQTT 브로커에 주기적으로 데이터를 전송, 브로커는 구독자들에게 전달(IoT 애플리케이션 프로토콜)

<CoAP>

-센서들끼리도 통신, 센서에서 CoAP Server/HTTP Gateway에 전송

<Interesting Research Topics>

-Bluetooth : 근거리 통신 중 가장 인기 있는 통신 standard

-bluetooth를 사용하는 BLE Beacon : Beacon이 앱에 본인의 아이디를 보내면 5g를 통해서 서버로 보낸다. 서버는 아이디를 보고 데이터베이스에서 앱에 보내줄 정보를 찾아 앱에 보낸다.

-RFID : 상품, 책에 부착됨. reader의 안테나가 신호를 보내면 transponder가 급속 충전되어 정보를 전송한다.

-NFC : RFID 기술의 subset 아주 짧은 거리(접촉) 정보를 전할 때 사용하는 기술

-VLC : 가시광선 영역을 통신에 사용. 등, 자동차 등, 신호등...등등

-GPS : 3개의 위성으로 위치 특정, 다수의 위성으로 정확도 향상, 실내 X

- 실내 측위 : 기지국이 위성인 것처럼 신호를 받아서 측위를 해보자.

- Fingerprinting : 임의의 지점들에서 다섯개의 기지국의 신호 세기를 측정하여 기록해둠, 사람이 지나갈 때 값 변화를 보고 위치를 추정

- 지자계 : 위치마다 지자계를 측정하여 기록해둠, 사람(기기)가 지나갈 때 지자계 변화를 보고 위치를 추정

# data[].attributes.body
Chap. 7

Application layer

Applicaion : 전체를 뜻함. (web browsers, web servers, application layer protocol 등)

Application layer protocol : 어플을 인터넷에서 쓸 수 있게 해주는 프로토콜

DNS

-사람의 언어를 컴퓨터 언어로 변환해주는 것.

분산의 이유?

Single point of failure

Traffic volume

Distant centralized database

maintenance

rootname servers : 전세계에 13개

Name server

local name servers

Authoritative name servers

Recursive resolution

-단계적으로 root에게 물어봄. 최종적으로 authoritative NS에 물어 봄.

Iterative resolution

-각각 local에 직접적으로 물어봄

->현실은 2개 섞어서 사용

DNS cache

한번 mapping한 IP와 hostname은 또 사용 가능하니 PC에 저장해두는 것

Web caches(proxy server)

client는 web server에 정보를 요청하는 대신 Caching Proxy server에 정보를 요정함.

Caching Proxy server는 web server와 내용이 동일해야 함.

MQTT

정보를 받길 원하는 사람에게만 전송함 ex)twitter

CoAP

HTTP의 슬림한 버전

chap 8.

Interesting Research Topics

Bluetooth

북유럽에서 먼저 발전한 기술로 왕의 이름에서 따옴

bluetooth 4.0 : BLE를 적용하여 전력소모가 줄어들어 기기의 수명이 늘어남.

Bluetooth 5.0 : 인터넷에 직접 접속이 가능해짐

Beacon

Beacon 근처로 이동하게 되면 신호를 읽고 정보를 알려줌. 실내 네비게이션에도 사용됨.

RFID함

책, tag에 주로 사용 됨. 정보를 저장하고 있음.

VLC

가시광선을 통신의 영역으로 사용하겠다

IoT Applicaions

GPS사용 - 위성에서 지상으로 보낸 신호로 거리를 측정하여 계산한 동심원들의 교차점을 찾음. 위성신호를 9개 이상 받으면 오차가 줄어들어 정확해짐.

위성신호는 건물을 통과하지 못하여 실내에서는 사용X

지하공간에서는?

Indoor positioning을 사용 ex)Wi-Fi, bluetooth

Fingerprinting방식을 사용

기지국으로 부터 신호값을 미리 측정해둠 ex)Geomagnetic IPS

Proximity

Beacon방식과 동일.

# data[].attributes.body
7장 Application Layer

Application layer protocol
: 인터넷을 쓸 수 있게 도와주는 것
application : 전체를 얘기.

DNS : 통신이 가능하게 만드는 것, IP address로 변환해서 알려주는 시스템

Root Domain -> Top-level Domains -> Second-level domains
(edu, gov, com..)         (nsu, google..)

Authoritatie name server : 내가 원하는 IP address 와 host name을 변환시켜주는 name server

Recursive resolution : IP address를 알기 위해 차례로 root로 올라감. -> root에 부담

Iterative resolution : 하나씩 contact하여 물어보는 상황

DNS cache : 한번 물어본 것은 일정시간동안 PC에 저장

Web : 파일, 이미지 등 다양한 object들을 내 컴퓨터에서 재생되게 만들어주는 것.
HTTP : 그 역할을 하는 것. (link, text 모두)

Web caches : 거리가 멀 때, proxy server을 두어 내용들을 한번만 가져와서 저장해둔 후 이용할 수 있게 함.

MQTT : 미리 구독한 사람들에게 보내는 거 같음.

8장 Interesting Research Topics

Bluetooth : 4.0 부터 활용도가 높아짐. -> 저 전력 소모
Bluetooth 5.0 : 전송속도 2배 증가, 커버리지 4배 증가

BLE Beacon : 근처에 오면 ID 전송. ID를 보고 DB에서 정보를 찾아 APP에 제공

RFID : 구리선 등을 스캔하면서 회로를 충전시켜 값을 읽음.

NFC : 접촉을 통해 정보를 전달.

VLC : LED를 비추는 용도 뿐 아니라 통신으로도 사용하기 위함.

GPS : 위성이 지상에 보내는 시간을 포함한 신호를 보냄. -> 수신기가 시간을 읽음 -> 전송에 걸리는 시간 계산 -> 위성에서 나까지의 거리 계산 -> 또 다른 위성에서 신호를 받아 정확한 위치를 찾아감

# data[].attributes.body
7장

DNS
-> IP addresses를 32bit 로 변환시켜 호스트의 이름관 연결시켜주는 기능 제공
-> 트래픽과 장애를 고려해 분산 운영
=> Root name <-- Top Level Domains  <-- Country Code Top Level Domains

Authoritative name servers
-> 호스트 이름을 IP adderess로 변환시켜주는 서버

실제 환경에서는 Recursive & Iterative 방식을 혼합해 사용

DNS cache
-> 일정 시간동안 사용했던 DNS를 저장 후 요청 시 사용
-> 단 휘발성

Web and HTTP
->  host name + path name

HTTP
->TCP을 사용
-> Proxy Server를 활용해 본 서버의 내용을 먼거리에 있는 이용자에게 빠르게  제공

IoT Protocols
-> MQTT==> 최초 센서가 브로커에게 송신=> 브로커는 사전에 subscribe가 되어있는 사용자들에게 해당 데이터 전송
-> CoAP==> 센서가

IoT Protocols
->Application(MQTT, CoAP, AMQP)
->Transport(UDP, TCP)
->Networking(IPv6 and IPv4)
->Data Link(Wi-Fi, GSM, Lora, LTE-M, SigFox)

8장

Bluetooth
->Bluetooth Low Energy => 저전력 기반 전송 기준
-> beacon-> 블루투스를 활용해 근거리에 있는 사용자에게 자신의 신호 송신

RFID
->RFID장비가 부착되어 있는 곳을 충전시켜 정보를 수신
->NFC=> 접촉을 통해 사용

VLC
-> 가시광선 영역을 통신로로 활용

GPS
-> 위성에서 지상으로 신호를 송신(송신시 송신시간  전송)
-> 수신받은 단말은 수신 시간과 송신시간의 차에 속도를 곱하여  현재 위치를 추론

Fingerprint-based Pattern Matching

# data[].attributes.body
7장 Application Layer

1. protocols
1) DNS(Domain Name System)
: Host adress를 IP adress로 변환
: 트래픽 쏠림을 방지하기 위해 분산관리

2) Root Name Servers
- Top Level Domains
- Country Code TLD
- Name servers
Local name servers
Authoritative name servers

3) Recursive Resolution
: Sever를 확인하는 방법
: Root에 부담이 갈 수 있다.

4) Iterative Resolution
: Root에서 확인하지 않고 나를 기준으로
주변을 일일이 contact하여 확인

-> 일반적으로 두 방법을 혼합하여 사용중

5) DNS cache
: 일정 기간 name server를 컴퓨터에 기억

6) Web & HTTP
- HTTP : Link를 전달받아 Compile
- Web caches(proxy sever)
: 요청에 반응하는 시간을 단축하여
트래픽 감소

2. Iot & Internet protocols
1) MQTT : 구독 중인 사람들에게만 data를
보내주는 방식(Broker + Client)

2) CoAP : Sensor 간의 통신
: Internet과 직접 통신 혹은,
gateway를 통해 통신할 수 있다.

8장
1. Bluetooth : 10m이내의 wireless 통신

2. RFID : reader가 회로를 충전시키고
정보를 읽는 기술

3. NFC : 접촉을 통한 정보전달

4. VLC : 밝기를 이용한 통신 기술

5. 위치 추적
- GPS : 벽을 통과 하지 않아,
실내에서는 작동 되지 않음.
- GNSS : 기지국, Wi-Fi 등을 인공위성의 역할을 수행하게 하여 미리 수집한 data set을 통해 좌표를 확인
- Geomagnetic IPS : 지구 자기장을 이용

# data[].attributes.body
7장

1. Application layer protocol

1. HTTP 가 Application layer protocol 이 된다.

2. DNS (Domain Name System)

1. 이것이 없으면 전송이 불가능 하다

2. Ip adress와 host name을 매핑함

3. 분산해서 처리.

4. ccTLD. (.kr) 컨츄리 코드

1. ex) Postech .ac .kr

3. Web and HTTP (Hyper Text Transfer Protocol)

1. Host name + path name = http://img.hankyung.com/photo

2. 프록시 서버와 웹서버의 내용을 같게 만들어주는게 중요하다

4. MQTT

1. 센서에서 받아들인 정보를 소스에게 보내주는 역할

5. CoAP

1. MQTT와 커뮤니케이션하면서 작동한다

8장

1. Bluetooth

1. H + B = 해럴드 블루투스 왕. 블루투스 모양도 이렇게 탄생

2. 4.0 부터 꽃을 피웠다. = 저전력 표준이 만들어졌다. 저전력 소모 .

3. 5.0 = 커버리지 4배, 전송속도 2배

4. BLE Beacon

5. RFID

1. 책, 바코드, 환자, NFC 등에 쓴다

6. VLC(visible light communication)

1. Illumination + communication

2. GNSS(Global navigation satellite system)

3. GPS

1. Two intersection points

2. One intersection point

3. 위성을 적어도 9개 이상 사용하면 상당히 정확해진다.

4. 위성신호는 벽을 통하지 않는다. 그래서 실내에서는 위치를 알 수 없다. 그래서 기지국이 신호를 받아서 위치 파악. Indoor position

1. Fingerprint-based pattern matching

5. Proximity

6. Geomagnetic ips = 지자계 방식

7.  others = 센서를 이용. 절대위치가 아닌 상대위치를 파악

# data[].attributes.body
-7장-

○Application layer protocol

1. 정의: Application을 인터넷에서 쓸 수 있도록 도와주는 protocol

2. user agent: 유저에게 보이는 interface

3. 종류: DNS, Web and HTTP, Telent ,,,

1) DNS(Domain Name System)

- host name을 ip address로 변환해주는 시스템

- 트래픽이 몰리고 고장이 났을 때 큰 문제가 생기기 때문에 분산시켜서 관리함

- 구조: ROOT Domain > top-level(com, edu, net 등 .kr,.us =countryTLD) > second-level

2) Web and HTTP(HyperText Transfer Protocol

- HTTP는 TCP를 사용

4. IOT에서 사용하는 Application

1) MQTT(Message Queue Telemetry Transport): 발행 ==> 구독 과정으로 이루어지며 이 과정을 브로커가 도와주는 방법

2) CoAp(Constrained Application Protocol): 제약이 있는 장치들을 위한 특수한 애플리케이션

-8장-

○Interesting Research Topics

1. Bluetooth(WPAN): 10m 이내, 버전이 바뀔 때마다 전송속도, 커버리지 증가

2. BLE Beacon: 비콘 영역에 유저가 있을 때 특정한 정보를 제공하는 장치

3. RFID: 회로를 급속충전시켜서 그 회로의 값을 읽는 방식으로 작동(바코드)

4. NFC(Near Field Communication): RFID의 서브 버전이라고 볼 수 있고, 근거리 정보를 보낼 때 활용됨(버스)

5. VLC(Visible light communication): 가시광선을 데이터 전송수단으로 활용하는 방법(와이파이 대신 led 장치를 통해서 데이터를 전송)

# data[].attributes.body
AIoT 7장

Application layer protocol

User agent

Application layer protocoals
DNS(Domain Name System)으로 host name과 IP주소를 호스팅
generic domains과 country domains
DNS cache IP주소 일정시간 저장
Web and HTTP(Hyper Text Transfer Protocol)
HTTP는 TCP사용
Caching Proxy Server로 분산
E-Mail, Telnet, ftp~

IoT 랑 Internet Protocols랑 비슷
MQTT : broker에게 정보를 보내 정보 전송
CoAP : 정보를 CoAP 서버에 보내 HTTPS방식으로 호스트에게 전송

AIoT 8장

블루투스 : RS-232케이블을 대체하기 위해 개발
블루투스4.0부터 저 전력 소모
숫자가 늘어날 수록 전송속도와 커버리지 증가

BLE Beacon : 비콘에서 보낸 정보를 서버에서 가져옴

RFID : Reader로 회로 충전시켜 정보를 전달

NFC(Near Field Communication) : 짧은 거리의 정보를 전달

VLC(visible light communication) : 가시광선 영역을 통신으로 사용

Global navigation satellite system(GNSS)
GPS : 위성에서 보낸 신호의 시간을 측정하여 거리 계산, 위성신호는 벽을 통과 못함

Indoor Positioning
인공위성 대신 기지국을 이용하여 위치 측정
Fingerprint-based Patten Matching : 미리 위치를 측정하여 계산

# data[].attributes.body
ch.7 application layer
DNS(Domain Name System)
- ip address를 모르는데 url로 갈 수 있는 이유
~ dns 때문에 가능/ www. (name) .com

top level domains
ex) com edu gov net org ~ 최근에는 더 많아짐
country code top level domains
ex) us jp cn kr ~

Recursive Resolution
- 상위 서버로 올라가면서 응답을 확인함, 상위에도 없다면 다시 다른 곳으로 확인
- 시작 ~ 상위 ~ root ~ 하위 ==rotation (root의 가중이 큼)

Interative Resolution
- 기준점인 "나"를 기준으로 주변과 각각 확인

In general (현실)
- 혼합

ch.8
Bluetooth 5.0
- 인터넷에 직접 접속 가능

VLC(visible light communication)
- 가시광선 영역을 통신으로 사용

GPS
- 3개의 각 위치의 교차점으로 위치를 특정함

# data[].attributes.body
<7장 Application Layer>

Application layer protocol : 애플리케이션을 쓸 수 있도록 도와주는 프로토콜
HTML, 웹브라우저, 웹서버, HTTP -> Application
HTTP -> Application protocol

DNS (Domain Name System)
: naver.com 처럼 실제 IP address를 변환해서 알려주는 것. 분산, 계층적.
Root -> Top level domains /Country code top level domains 존재.

Recursive resolution : 로컬-> 상위 -> 루트 ->~ 다시 루트에게 알려주어 전달.
Iterative resolution : 일일이 컨택하여 물어봄.

DNS cache : 내 컴퓨터에 일정 시간 동안 저장.

Web and HTTP (HyperText Transfer Protocol)
: 호스트에 가서 파일을 보여줌. 이미지, 오디오 파일 등 가능

HTTP : TCP 사용
Web caches (proxy server) : 원래 서버까지 가지 않고 Proxy server에 한 번만 가져와서 편하게 사용. 변할 때마다 원래 서버와 내용이 같게 만들어줘야 함.

IoT Application
- MQTT : 센서값이 올때마다 그 값을 받기를 원하는 호스트들에게 보내주는 브로커 역할.
- CoAP : HTTP의 슬림한 버전. 센서들끼리 통신(CoAP) -Gateway -> HTTP. Gateway 거치지 않고 CoAP 로만 전달하는 경우도 있음.

<8장 Interesting Research Topics>

- Bluetooth : 10m 이내 통신. Bluetooth 4.0부터 저전력 표준. 5.0부터 전송속도 빨라지고, 커버리지 넓어짐.
- BLE Beacon : 근처에 가면 정보를 줌. Ex) 쇼핑 실내 내비게이션
- RFID : 지나가면서 EPC를 충전시키고 값을 읽어내는 것. Ex) 하이패스, 무인슈퍼, NFC
- VLC : Illumination + Communication. 가시광선 영역을 통신으로 사용.

- GPS : 위성에서 신호를 받음. 측위에 사용. 실내에서는 읽을 수 없음.
- Fingerprint_based Pattern Matching : 위치 신호를 매핑. Geomagnetic IPS 방식.

# data[].attributes.body
7장
application layer protocol= 인터넷을 쓸수 있도록 도와줌

DNS= 통신을 할수 있도록 도와줌 , NAME-> 32 비트 짜리 IP addresses 바꿔우즈는 역할

Hierarchical Data base=ROOT domain, Top-level domain, secind-level domian

local name server= 회사 기업 학교 이름
Authoritative name server=  내가 원하는 IP address, Host 변환해줌

Recursive resolution= IP address 얻는 과정으로 root 까지 올라가 정보를 알아냄 but 하지만 root에 부담이 많이감

그래서 -> Iterative resolution= 각각 올라가면서 서로 물어봄

DNS CACHE=그전에 가봤던 주소를 일정 기간동안 저장 하는 캐시

Web (application)= 파일 이미지등 다양한 정보를 내컴퓨터에서 볼수 있게해줌
Http (application protocol)
web caches= 거리가먼 서버를 중간에서 받아 중재해줘 도움을 주는 기능
MQTT =구독 서비스 느낌

8장
Bluetooth
Beacon= 앱에서 자기정보를 보내어 서버에서 정보를 찾아냄
RFID=바코드나 신용카드 처럼 저장된 데이터 정보를 주파수로 읽어냄
NFC= RFID 랑 비슷함 ex)버스 카드
vlc=조명+ 통신= 불빛을 통해 정보 전달

Gps=위성에서 보낸는 수신 수신해 사용자 현재 위치 계산

Fingenrprinting(지자개 방식) 와이파이를 통해 위치 파악
proximity= beacon
ips(지자개 방식)

# data[].attributes.body
7장 application protocol

1. application layer protocol

(1) 애플리케이션은 전체를 의미하는 거고 app-layer은 인터넷을 쓸 수 있도록 도와주는 프로토콜

(2) user agent - 유저한테 보이는 웹브라우저 같은 것

(3) application layer protocol - DNS HTTP 등

2. DNS - 통신을 하게 만들어주는 가장 중요한 것

(1) 분산을 하는 이유 – 한 곳에서 고장 날 경우, 트래픽

(2) ROOT는 전세계 13개가 있음

(3) 기존 도메인 – com, net. Org >>>>>>> 달라진 도메인 - 엄청 많다

(4) 나라마다 선호하는 도메인에도 차이가 있다. Ex 한국-kr

(5) generic domains/country domains ex) net/kr

(6) Name servers

(7) Recursive resolution 잘 사용 안함

(8) iterative resolution

(9) DNS cache

3. Web and HTTP

(1) HTTP

(2) Web caches (proxy server) - 웹서버로 직접적으로 연결되면 트래픽과 요금 증가의 단점이 있음 그래서 프록시 서버에서 원하는 데이터를 보여줌으로써 웹서버의 트래픽을 줄임

4. MQTT & CoAP

8장 Interesting Research Topics

1. Bluethooth

(1) 최대 10미터 이내의 사람들과 통신할 수 있는 팬 기술 중 하나

(2) 이어폰 마우스 키보드 등등

2. 블루투스 종류

(1) BLE - 저전력 소모, 블루투스 4.0부터 적용

3. BLE Beachon

(1) 다중 이용 시설의 벽같은 곳에 주로 붙어있음, 근처에 가게 되면 신호를 읽고, 정보를 제공함

(2) 원리 - 백화점앱에 비콘이 아이디를 보내면 서버를 통해 데이터를 받아 앱을 통해 볼 수 있다.

4. RFID

(1) 리더를 통해 신호를 보내면 회로가 잠시 충전되면서 시그널을 보내고 컴퓨터가 데이터를 불러옴

5. NFC

(1) 정보를 전달할 때 많이 사용되는 기술 ( 버스탈 때 등)

6. VLC

(1) 가시광선 영역을 사용, 와이파이를 대체, 불빛을 통해 정보를 전달한다

7. GNSS

(1) 예로 GPS가 있음

(2) 여러대의 인공위성을 향해 쏜 신호를 통해 파악함(9대정도?)

(3) 벽을 통과하지 못해서 실내에선 사용 불가

8. Indoor Positioning

(1) Fingerprint 방식 - 여러대의 기지국(와이파이)을 통해 위치를 파악

9. Proximity – beacon

10. Geomagnetic IPS - 지자계 방식

# data[].attributes.body
Chapter 7. Application Layer

<Application layer protocol>
보낼메시지와 syntax(포맷) 결정
애플리케이션 : 전체 <-> 애플리케이션 레이어 프로토콜 : 애플리케이션을 인터넷에서 쓸 수 있도록 도와줌
ex) 웹 애플리케이션의 표현 HTML, 웹브라우저, 웹서버 -> 실제 전송이 일어나게 하는 프로토콜 http
user agent : 크롬 등
1) DNS(Domain Name System)
IP address(32 비트), name(www.postech.ac.kr) -> name으로 접근할 수 있는것은 dns 덕분
distributed, hierarchical : root domain, top-level domains, second-level domains
- root name servers : 전세계에 13개
- top-level domains : com, edu, gov, mil, net, org, int, country-level(.us, .jp, .kr)
- name servers : local name servers(회사, 대학), authoritative name server
recursive resolution : root 부담 커짐
iterative resolution : root로 올라가기보다는 각각 물어봄 => 2가지를 혼합한 경우 많음
DNS cache : 캐시에 일정시간 저장 (검색 : ipconfig, displaydns)
2) Web and HTTP
파일, 오디오, 이미지, 웹페이지 등
http : tcp 사용
web caches(proxy server) : 직접 웹서버에 접근(너무 많은 접근, 멈) -> 프록시 서버로 당겨옴(웹서버와 동일한 내용 유지)
IoT application : mqtt(미리 subcsribe하고 보내는 방식과 유사, 브로커는 미리 가입받고 정보 받자마자 뿌림), CoAP(http의 슬림 버전, 게이트웨이 거치지 않음) -> mqtt와 동작 같이 할수도
3) Electromic Mail
4) Telnet
5) ftp

Chapter 8. Interesting Research Topics

<Bluetooth>
PAN, IEEE 802.15.1
1994, Erisson에서 개발 -> 1999 표준 만들기 시작 블루투스 1.0
블루투스 4.0부터 저전력소모(BLE) 적용
5.0 커버리지 넓어짐
1) BLE beacon : 비콘 -> 앱에 자기 정보 보냄 -> 서버는 db에서 정보 찾아서 보냄
2) RFID : 지나가면서 epc 회로를 충전시켜서 안의 정보를 읽어냄
passive tag, active tag
3) NFC : RFID의 서브 기술
4) VLC(Visible Light Communication) : 가시광선 영역 -> 통신

<IoT Application>
1) GPS : 위성에서 지상으로 신호와 보내는 시간을 보냄
받은 시간 - 보내는 시간 = 걸린시간 -> 위성으로부터 거리 측정(동심원)
시간의 소수점 -> 몇 m가 왔다갔다함 -> 보정
위성신호는 벽을 통과하지 않음
Indoor positioning : 무선통신으로 기지국이 마치 위성인 것 처럼
- fingerprint-based pattern matching : 기지국이 여러곳 - 미리 측정한 빨간점의 신호값 -> DB로 앱을 띄움 -> 나중에 측정한값이 어느 값에 매핑이 되나 -> 위치
Proximity
geomagnetic IPS
dead reckoning : 상대 위치 수정

# data[].attributes.body
1. 배운점
- LAN, WLAN의 정의, 특징 및 차이점에 대해 자세하게 알 수 있었습니다.
- ....................

2. 질문 (궁금한 점이 있는 경우 게시)