2019년 5월 4일 토요일

[프로젝트]node red 시작하기


라즈베리 파이 (현재 스트레치 버전)를 설치 하면 기본적으로 node-red가 설치 되어있습니다.


이 상태로도 node-red를 실행하여도 무관하지만, node-red의 강력한 기능인 node-red-dashboard를 사용하기 위해서 npm을 설치 해주어야합니다.

sudo apt-get install npm




node-red-start로 node-red를 시작해 줍니다.


브라우져에서 http://<파이 IP>:1880으로 접속하게 되면 다음과 같은 화면이 나타납니다. 


위에서 언급했습니다만 node-red를 사용하는 이유는 좌측에 보이는 아이콘, 팔레트라고 하는 기능을 사용하기 위해서 라고 했습니다. 우리가 사용하고 하는 dashboard를 추가 해봅시다.

cd .node-red
sudo npm install node-red-dashboard


설치 후 
node-red-stop 명령어로 node-red를 잠시 꺼줍니다.
다시 node-red-start 하여 실행을 시키면 


다음과 같이 dashboard가 추가 됨을 볼수 있습니다.



[프로젝트]MQTT 설치 및 메세지 받아보기

MQTT는 통신 프로토콜의 일종으로 경량화된 메시지를 주고 받는 통신 규칙이다.
경량화된 메시지를 주고 받는 점에서 최근 트렌드인 IOT에 적합하다.

- 라즈베리 파이에 설치 해보자.

cd~
wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key

위 명령어를 입력하여 mosquitto 서명키를 가져오자


cd /etc/apt/source.list.d/
 2018-04-18일 이후로 라즈비안을 다운로드후 설치하신 분은 아래 명령어를 입력해야 합니다. sudo wget http://repo.mosquitto.org/debian/mosquitto-stretch.list

위 명령어를 입력하여 mosquitto 저장소 패키지를 등록합니다. 여기서 주의 해야할 사항은

파이 설치 버전과 패키지 버전과 일치 해야합니다. (모르겠다면 파이 os 설치 파일을 확인해주세요)



이제 Mosquitto를 설치 합니다.

sudo apt-get update
 sudo apt-cache search mosquitto
sudo apt-get install mosquitto mosquitto-clients



sudo /etc/init.d/mosquitto start
mosquitto_sub -d -t hello/world


다음과 같이 실행 시켜줍니다.

파이의 터미널 창에서 
mosquitto_pub -d -t hello/world -m "Hi!"
명령어를 입력합니다.




다음과 같이 "Hi!"라는 메세지를 받을 수 있습니다.



[ERROR] Mac에서 ssh 접속시 오류



맥에서 라즈베리파이에 터미널로 접속할 시 "remote host identification has changed"라는 오류가

발생하였다.

이때 ssh-keygen -R<접속할 ip> 명령어를 입력하면 호스트가 업데이트 되고, 파이에 ssh로 접속

할 수 있다.

2019년 4월 23일 화요일

[시험] 네트워크 (6)

하위 계층의 이해 (2)

오류제어, 흐름제어의 원리와 동작 방식을 이해한다.
통신 프로토콜에서 윈도우의 개념과 동작 방식을 이해한다.

  • 프레임
긍정 응답 프레임 : ACK 프레임
전송 데이터가 올바르게 도착했음을 알리는 용도

부정 응답 프레임 : NAK프레임
전송 데이터가 깨져서 도착했음을 알리는 용도
송신단에서 NAK 프레임을 회신 받으면 보내고자 하는 데이터를 재전송하여 오류를 복구한다.

정보 프레임: I 프레임
상위계층이 전송을 요구한 데이터를 송신하는 용도
순서번호, 송수신 호스트 정보등이 포함됨.

  • 프로토콜 기법
- ENQ/ACK 기법
송신단에서 ENQ 프레임을 전송하여 연결의 초기화를 진행 후 데이터를 쭉 전송하고 수신단에서는 데이터 전송이 제대로 되면 ACK신호로 회신한다. 데이터 전송을 마치면 송신단에서 EOT 프레임을 보내어 통신을 종료한다. 

  • 폴링기법
하나의 스테이션을 주 스테이션(여기는 일종의 서버)으로 지정하고 나머지는 종속 스테이션(이쪽이 단말기)으로 구성됨. 

- select 모드에서는 일종의 서버가 되는 메인 스테이션에서 데이터를 전송하고자 할때 사용하는 모드. 즉, 특정한 종속 스테이션으로 데이터를 보낼때 사용하는 모드 
- poll 모드는 메인 스테이션이 다수의 종속 스테이션에게 보낼 데이터가 있는지 여부를 확인 하여 데이터 전송이 이루어지도록 하는 모드이다.
메인에서 폴 프레임을 종속, 단말기로 보내는데 전송할 데이터가 없으면 NAK를 회신 받고, 전송할 데이터가 있으면 ACK를 보낸다. 

  • 오류제어가 없는 프로토콜 - 흐름제어 사용
송신단에서 수신단으로만 데이터를 전송하고, 전송오류가 없는 물리매체를 사용한다고 가정했을때.

정지-대기 프로토콜1
- 수신 버퍼의 갯수가 유한하므로 흐름제어가 필요하다. 즉, 송신단의 전송속도를 제어한다.
- 수신단에서 송신단의 전송 시점을 지정하기 위한 ACK 프레임이 필요하다. 
ACK프레임은 송신단에 긍정 응답을 회신하고, 다음 프레임을 전송하도록 지시하는 흐름제어의 역할도 수행. 
- 데이터 중복 수신 우려가 있고 순서 번호 기능이 필요하다.
-구조가 간단하고 성능이 좋지만 ACK프레임이 수신되어야지만 다음 데이터를 보내기 때문에 효율은 떨어진다. 

  • 오류제어, 흐름제어 모두 사용하는 프로토콜 
송신단에서 수신단으로만 데이터를 전송한다고 가정
- 오류제어와 흐름제어가 모두 필요하고, 프레임 변형 오류를 해결 하기 위한 수신 호스트의 NAK기능이 요구됨, 프레임 분실 오류를 해결하기 위한 송신단의 타임아웃 기능이 필요 

-NAK가 없는 경우 (부정 응답 프레임이 없을때)
정보 프레임을 분실했을때는 타임아웃 기능으로 오류 복구 / ACK신호 분실 시 마찬가지로 타임아웃 기능으로 오류 복구
정보 프레임이 변형 되었을때도 마찬가지로 타임아웃 기능으로 오류를 복구한다.

-NAK가 있을 경우
데이터 프레임 변형의 경우 NAK 응답으로 오류를 복구 
>>부정 응답을 받았다--> 송신단에서 데이터 재전송

  • 슬라이딩 윈도우 프로토콜 
양방향 통신을 지원, 오류제어와 흐름제어 기능을 모두 지원함
- 기본적인 절차는 송신단에서 정보 프레임을 (데이터 + 순서번호 + 오류 검출코드)를 순서 번호에 따라 순차적으로 전송한다. 
일반적으로 수신단에서 위의 정보 프레임을 수신하면 응답으로는 다음에 수신하기를 바라는 순서번호를 회신하게 된다.  송신단에서는 자신이 보낸 데이터를 버퍼에 저장하고있는데 이를 송신 윈도우라고 한다. 이 송신 윈도우에서 '대기'하게 되는데 이 프레임은 아직 ACK를 받지 못한 프레임이다.
수신단에서도 마찬가지로 수신한 정보를 보관하기 위해 내부 버퍼인 수신 윈도우를 유지할수 있다. 이 수신 윈도우의 크기는 프로토콜 동작 방식에 따라 크기가 달라진다.
선택적 재전송 방식에서는 송신 윈도우와 크기가 같다. 선택적 재전송에서는  프레임의 도착이 비 순서적으로 이루어져도 크기가 같기 때문에 송신 윈도우와 크기가 같고, 고백N 방식에서는 크기가 1인데, 바로전에 수신된 데이터 다음의 데이터를 기다리기때문에 크기가 1이다.

- 윈도우라는 것은 송 수신단 양쪽에 만들어진 버퍼의 크기를 말한다. 

- 연속형 전송
ACK 프레임을 받지 않고 여러 프레임을 연속적으로 전송한다. 전송한 데이터 각각에 대해서 ACK 프레임을 받지 않고 전송받은 마지막 데이터에 대해서만 ACK 프레임을 받는다. 이렇게 되면 그 전송 프레임의 하위 프레임들은 제대로 전송한 꼴이 되기 때문이다.
다만 오류가 적은 환경에서 효율적이다. 
오류가 발생했을 때 고백N 방식에서는 오류가 발생한 프레임 이후의 모든 프레임을 재전송하고, 선택적 재전송 방식에서는 오류가 발생한 프레임에 대해서만 재전송을 하게 된다.

  • 오류제어 기법
데이터 링크 계층에서 오류제어 기법은 주로 오류 검출 과정재전송 과정을 포함한다.
ARQ(Automatic Repeat reQuest)라고 하여 데이터 전송시 프레임이 손상 되었거나 분실 되었을 때 재전송이 수행되는 재전송과정이다. 
정지 - 대기 흐름제어에서는 정지 - 대기 ARQ로 구현하고, 슬라이딩 윈도우 흐름제어에서는 GBn ARQ, SR ARQ로 구현한다.

- 정지-대기 ARQ 재전송 절차는 송신단에서 ACK를 받을 때 까지 프레임의 복사본을 유지한다. 식별을 하기 위해 데이터 프레임과 ACK 프레임에 0,1로 번호를 매긴다. 
오류가 발생하면 수신단에서 NAK프레임을 회신하고 송신단에서 버퍼에 저장된 프레임의 복사본을 재전송한다. 또한 송신단에는 타이머가 있어서 정해진 시간에 ACK가 오지 않으면 데이터를 재전송한다. 

- GBn ARQ 절차는 수신단으로 데이터를 쭉 전송하다가 중간에 데이터가 손상된경우 수신단에서 NAK를 보낸다. 수신단에서는 손상이 발생된 이후의 데이터를 폐기한다. NAK를 받은 송신단에서는 손상된 데이터 부터 재전송하게 된다.  
또한 데이터 프레임을 분실한 경우 수신단에서는 분실한 데이터 이후의 데이터를 폐기하고 송신단에서는 분실한 데이터에 대한 NAK를 받는다. 분실된 데이터 부터 재전송을 하게 된다. 
ACK 프레임을 분실한경우에는 ACK 프레임을 받기 전 데이터 부터 재전송을 하게 된다. 

- SR ARQ
손상되거나 잃어 버린 프레임에 대해서만 재전송을 하게된다. 
수신단에서는 비순서적으로 도착한 데이터 프레임을 재정렬한다. 이때 재정렬까지 도착한 프레임들을 저장한 버퍼가 필요하다. 

* 오류제어 기법의 비교 

- 정지대기 ARQ : 구조가 간단하여 구현이 쉬우나 비효율적이어서 활용도가 낮다
- GBn ARQ : 구조가 간단하고 효율성이 향상되어 가장 많이 사용한다. 하지만 데이터 전송 시 중간에 오류가 발생하면 다시 처음 부터 전송을 해야한다.
- SR ARQ : 가장 효율적이나 구조가 복잡하여 유지보수 비용이 증가 따라서 필요한 경우에만 사용. 




[시험] 네트워크 (5)

하위 계층(데이터 링크 계층)의 이해

LAN 환경에서 MAC 계층과 LLC계층의 차이와 역할을 이해한다.
이더넷의 동작 원리와 프레임 구조를 이해한다.
토큰 버스에서 토큰의 역할과 프레임 구조를 이해한다.



  • DATA Link Layer (L2)
물리적으로 연결된 두 호스트 간의 신뢰성 있는 데이터 전송을 지원한다. 오류제어, 흐름제어 같은 기능을 지원하고 전송되는 데이터 단위는 프레임이다. 즉, 오류없이 패킷을 전송하는 기능을 수행하는 계층으로 LLC 계층과 MAC 계층으로 나뉜다.
- MAC(Media Access Control)은 공유 미디어에 대한 접근의 조정기능을 의미하고
LLC(Logical Link Control)은 공유 미디어에 대한 접근 감독 기능을 말한다.

>> 쉽게 말해 Wifi를 예로 들자면 L2에서 802.11(이전포스트 참고)의 정의된 바에 의해 어떤 무선 네트워크에 연결할지, 인증절차를 거치는 것을 말한다.

  • MAC 계층
LAN 종류에 따라 특성이 구분된다.
Ethernet에 경우 공유 버스 구조를 지원하고, 둘 이상의 호스트에서 동시에 데이터를 전송하면 충돌이 발생한다. 따라서 이러한 충돌을 감지하는 기능이 요구된다.
토큰 링에서는 링 구조를 지원하고 토큰이라는 특정 패턴의 제어 데이터가 링을 순환하면서 충돌을 방지 한다. 따라서 토큰 링 방식에서는 데이터간에 충돌이 발생 할 수 없다.


-참고-


(순서가 좀 뒤죽박죽...)



  • LLC 계층
WAN 환경의 데이터 링크 계층 기능을 수행한다. 또한 슬라이딩 윈도우 프로토콜을 사용하여 흐름제어 기능을 지원한다.

-참고-

  • CSMA/CD(Carrier Sense Multiple Access /Collision Detection)
이름에서 뜻을 풀이 하자면 MA : 다수의 호스트가 하나의 공유 매체에 연결됨
CS: 호스트는 공유 매체의 사용가능 여부를 신호 감지로 확인, CD: 공유매체 에서 데이터의 충돌 여부를 확인 802 시리즈의 LAN환경에서 데이터를 전송하는 방식을 말하고 하나의 공유 매체에 연결되어있어 이 공유매체가 비었는지 사용하는지를 확인하고 데이터를 보낸후 데이터끼리 충돌이 있나 없나를 확인하는 방식의 전송 방식이다. (공유매체 >> LAN선) 

- 데이터 전송원리는 broadcasting 방식으로 데이터 프레임에 목적지 주소를 기록하여 수신 호스트를 지정하여 데이터를 전송한다.

- CSMA/CD는 기본적으로 경쟁을 기반으로 하는 전송 방식이다.
공유매체 혹은 전송 채널이 busy 상태라면 얼마 시간 동안 기다렸다가 다시 전송을 시도한다.
데이터 전송후에 수신단에서 ACK 신호를 받을때 까지 기다린다. 데이터를 받았다고 무작정 ACK신호를 보낼게 아니라 채널에 접근하는 시간이 고려 되어야한다.
또한 전파 지연시간 내에 두 개 이상의 스테이션(지국)이 전송을 하는 경우 패킷 간의 충돌이 발생한다. 충돌이 발생하는 이유는 둘 이상의 노드가 동시에 CS프로세스를 수행했을 때 두 노드 모두 전송채널 혹은 공유 매체가 idle 상태라고 판단하여 프레임을 전송했기 때문이다.

- CSMA/CD에서 두 데이터 간의 충돌이 발생하면 전송지연이 발생하게 되어 처리율이 저하된다. 그래서 데이터 전송 중 전송미디어를 검사하여 충돌에 의한 전송지연을 줄이게 된다. 또한 데이터 전송 중에도 충돌 탐지(CD)프로세스를 수행하여 충돌을 신속하게 감지 한다.
충돌이 발생하면 다른 모든 노드에게 알리기 위해 32비트 크기의 임의의 데이터를 전송하는데 이것을 충돌 신호 혹은 재밍 신호라 한다.

- CSMA/CD에서 신호감지 기능
1-presistent CSMA는 프레임 전송 전 채널의 사용 여부를 확인한다. 채널이 사용 중이면 idle 상태까지 대기한다.
Non-presistent CSMA는 프레임을 전송하기 전에 채널 사용 여부를 확인한다. 채널이 사용 중이면 더이상 idle 상태를 확인 하지 않는다. 1-presistent 방식보다 충돌 확률을 줄일 수 있다.
P-presistent CSMA는 슬롯 채널 방식에서 주로 사용한다. 채널 사용여부를 확인하고 채널이 idle상태이면 p의 확률로 프레임을 전송한다.

  • 허브, 스위치, 공유기 비교
hub는 모든 출발지에서 모든 도착지로 데이터를 보낸다. 모든 패킷을 공유하기 때문에 트래픽 부담이 크다.
스위치 허브는 허브의 문제점을 개선함. 목적지에 맞게 전송하므로 트래픽이 적고 대역폭을 효율적으로 사용한다. 스위치를 사용하면 local에 연결된 장비끼리 네트워크가 구성되지만, 외부와는 연결되지 않는 문제점이 있다.
라우터는 각 네트워크간 통신이 가능 하도록 라우팅 기능을 제공하는 장비
공유기의 정확한 명칭은 NAT(Network Address Translation). 공인 ip를 사설 ip로 변경해주는 역할인데 공인 ip의 갯수가 부족하여 사설 ip로 서브네팅을 하여 사용하므로 갯수 부족 문제를 극복.



[시험] 네트워크 (4)

데이터 전송 방식


  • 점대점 방식
링 형은 호스트의 연결이 순환 구조를 이루고, 모든 호스트가 전송과 교환 기능을 수행한다.
링형에서는 '토큰'이 중요한데 토큰이라는 것은 데이터를 전송 할수 있는 권리를 말하며 데이터 전송을 원하는 호스트는 미리 토큰을 확보해야한다. 데이터 전송이 완료되면 토큰을 반납해야한다.

링 형에서 데이터 전송원리는 다음과 같다.

1) 토큰을 링에서 회수하여 확보한 후 , 데이터를 링에 전송한다.
2) 데이터는 링을 한 바퀴 돌고, 다시 송신 호스트로 돌아온다.
3) 이 과정에서 링에 연결된 모든 호스트가 데이터를 수신하게 된다.
4) 자신을 목적지로 하는 호스트만 데이터를 보관하고, 다른 호스트들은 데이터를 취하지 않는다.
5) 송신 호스트는 데이터를 회수한 후에 토큰을 링에 돌려준다.

토큰 링의 프레임 구조는 모니터기능, 토큰 생성기능, 데이터의 무한 순환으로 구성.
토큰을 확보하기 위한 기능으로 토큰을 분실했을 때 이를 감지하여 토큰을 재생성 한다던지(모니터 기능), 송신단에서 전송한 데이터가 링을 한 바퀴 돌고 왔을때 회수 하지 않는 오류가 생기면 데이터를 회수해 토큰을 다시 만들어 준다. 


  • BroadCasting 
네트워크에 연결된 모든 호스트에게 데이터를 전달 하는 방식. LAN 환경에서 사용하고, 버스형과 링 형이 존재한다.

브로드캐스팅은 네트워크에 연결된 모든 호스트에게 데이터를 전송하는 방식이다. 여기서 말하는 동일한 네트워크 환경을 말하고, 네트워크 전체가 아닌 특정 서브넷 내에서 사용한다. 데이터를 전송 할때 수신측에서는 자신을 목적지로 하는 호스트만 데이터를 내부에 저장하고, 다른 수신 호스트들은 데이터를 무시한다.


  • 멀티 포인트 통신
하나의 송신 호스트를 기준으로 유니포인트-하나의 수신호스트와 연결-, 멀티 포인트-다수의 수신 호스트와 연결-가 있다.

송신 호스트가 한번의 전송으로 유니캐스팅-하나의 수신 호스트에 데이터를 전송-, 멀티 캐스팅 -다수의 수신 호스트에 데이터를 전송-

- 멀티 포인트 유니캐스팅은 유니캐스팅 방식을 이용하여 일:다 통신을 지원한다. 
즉, 실질적으로는 1:1 통신이고, 연결만 1:다수로 연결한다. 데이터는 개별적으로 전송함.
다만 수신 호스트의 수가 증가하면 성능에 문제점이 발생한다.

그림과 같이 패킷들을 하나씩 개별적으로 수신 호스트로 보내기 때문에 수신호스트의 수가 증가하면 성능에 문제가 발생한다. 

- 멀티 캐스팅은 1:다 전송기능을 지원한다. 송신 호스트는 한번의 데이터 전송으로 여러 호스트에게 데이터를 전송 할수 있다. 




  • 오류제어
수신 호스트의 응답 프레임은 두가지가 있다. 긍정 응답과 부정응답이다.
긍정응답은 데이터가 정상적으로 도착했을 때 수신 호스트가 송신 호스트에게 회신을 하고,
부정응답은 데이터가 깨져서 도착했을 때, 수신이 송신에게 회신을 하는데 부정응답을 받은 송신단은 재전송 기능으로 오류를 복구 하려고 한다.

- 송신 호스트의 타이머 기능
송신 호스트가 전송한 데이터가 네트워크에서 사라지는 문제를 해결하는 것이다. 데이터를 분실 했을 때 수신 호스트로부터 부정이든 긍정이든 어떠한 응답 프레임을 받을 수가 없다. 이때 송신 호스트는 일정 시간 동안 응답 프레임이 없으면 타임아웃 기능으로 재전송을 시도한다. (타임아웃이 계속되서 재전송을 계속 시도하면 다른 데이터를 전송 할수가 없게 된다.)


- 전송 오류의 유형
프레임이 변형/ 손실/깨지는 형태로 전송된 경우 수신 호스트는 송신단으로 부정 응답 프레임을 보내고 송신단에서 원래의 데이터 프레임을 재전송하므로 오류를 복구하려고 한다.

프레임이 분실된 경우 수신단에서는 어떠한 데이터도 받지 못하였으므로 송신단에 응답을 할 수 없는 상태이다. 송신단에서는 타임아웃 기능으로 원래의 데이터 프레임을 재전송 하여 오류를 복구하려고 한다.

- 순서 번호
데이터의 중복 수신 문제를 해결하기 위해 데이터 프레임에 부여되는 고유 번호이다.
긍정 응답 프레임을 분실하여 송신단에서는 타임아웃으로 인지, 데이터를 재전송 할수가 있다. 이러면 수신단에서는 동일 데이터를 중복 수신하게 된다. (수신단에서는 데이터 구분을 할수가 없다.) 따라서 이러한 문제 때문에 순서 번호가 요구된다.

- 흐름제어
수신단이 감당 할 수 있는 속도로 송신단에서 데이터를 전송하도록 제어하는 방식.
데이터를 너무 빨리 전송하는 경우 수신단의 내부 버퍼에 보관 하지 못한다. 이는 프레임 분실과 동일한 효과를 갖는다. 기본원리는 수신단이 송신단의 전송 시점을 제어하는 원리이다.
대표적인 방법으로 슬라이딩 윈도우 프로토콜이 있다.

[시험] 네트워크 (3-2)

LAN, WAN, MAN


  • LAN (Local Area Network) 

유선을 통해 근거리에서 이루어지는 네트워크, 소규모 지역에 위치하는 호스트로 구성된 네트워크이다. BroadCasting 방식으로 전송한다.

LAN에서 데이터를 전송하는 방식으로는 bus형과 ring형이 있다.

- bus형은 공유버스 하나에 여러 호스트를 직접 연결하는 방식으로 이더넷(Ethernet)에서 사용한다. 데이터간의 충돌(Collision)이 발생하는 것을 허용하는 대신, 충돌 후에 문제를 해결하는 방식이다.

- ring은 전송 호스트의 연결이 순환 구조인 링 형태이다. 전송한 데이터는 링을 한 바퀴 돌아 송신 호스트로 되돌아 온다. 링 형에서는 '토큰'이라는 제어프레임을 사용해 충돌 가능성을 차단한다.


  • MAN(Metropolitan Area Network)
대도시 정도의 넓은 지역을 연결하기 위한 네트워크 구성 형태를 말한다. LAN보다 큰 지역을 지원함.


두 개의 단방향 선로가 존재하여 충돌 문제를 해결함.

  • WAN(Wide Area Network)
국가 이상의 넓은 지역을 지원하는 네트워크 구조이다. 광범위한 지역을 수용하며, 하나의 국가내에서 도시와 도시, 혹은 국가와 국가 간을 연결하려는 목적으로 구성된 광역 네트워크 시스템이다. 점대점으로 연결된 WAN 환경은 전송과 더불어 교환 기능이 반드시 필요하다.
또한 서로 다른 네트워크 환경 연결시에 필요한 환경이다.
LAN,MAN은 전송 호스트가 공유 버스를 이용한 BroadCasting을 지원하기 때문에 교환이 필요 없다.-
- 점 대 점 이라는 것은 위 그림과 같이 호스트 하나가 국가 혹은 광범위한 지역을 말한다.-


Internetworking

Router: 네트워크를 연결하는 장비, L3 기능을 수행. 네트워크 계층 기능을 지원하므로 경로 선택 기능을 제공한다. 임의의 네트워크에서 들어온 데이터를 어느 네트워크로 전달 할 지 판단 할 수 있어야한다. 즉, Router를 통해 최적의 경로로 데이터를 주고 받는다.
경로를 지정함에 있어서 고정 경로 배정과 적응 경로 배정이 있다.

- 고정 경로 배정은 송수신 호스트 사이에 영구 불변의 고정 경로를 배정한다. 간단하고 효율적인 라우팅이 가능하지만, 트래픽에 따른 독정 경로 배정이 불가능하다. 
- 적응 경로 배정은 인터넷 연결 상태가 변하면 이를 전달 경로 배정에 반영하는 식이다. 특정 네트워크나 라우터가 비정상적으로 동작하는 경우, 네트워크의 특정 위치에서 혼잡이 발생하는 경우에 사용한다. 하지만 경로 결정 과정, 라우터 사이에 정보 교환이 자주 발생하는데 이렇게 되면 네트워크 트래픽이 증가되고 결국에는 라우터의 부담이 증가 할 수 밖에 없다. 

GateWay: Router의 ip주소라고 생각하면된다. 서로 다른 네트워크를 연결해 주는 역할.


Bridge: repeater 기능에 데이터 링크 계층의 기능이 추가된 게이트 웨이 이다.


Routing Table (MAC address Table)

LAN이 동작하면서 자동으로 생성된다. 스위치는 처음에 MAC 주소 테이블이 없다. 
스위칭 테이블에 목적지가 없으면 스위치는 허브와 같이 프레임을 모든 포트로 보낸다. 이 과정을 플러딩이라한다. (플러딩이란 포트를 통해 들어온 하나의 패킷을 라우터에 접속된 다른 모든 포트로 보낸다.) 다음은 플러딩 과정이다.



Looping 

플러딩과 이중경로에 의해 루핑이 발생한다. CSMA/CD 특성으로 네트워크가 제대로 동작하지 못한다. looping이 발생하면 STP 알고리즘에 의해 해결한다. STP 알고리즘은 비 순환 구조를 지원하는 알고리즘이다. 쉽게 말하면 임의의 경로를 끊어서 looping을 해결한다.






[시험] 네트워크 (3)

3장

- 회선 교환 시스템과 패킷 교환 시스템의 차이와 원리를 이해
- 가상 회선과 데이터 그램의 차이와 원리를 이해한다.
- LAN,MAN,WAN의 구조를 알아본다.


  • 교환 시스템
데이터를 최종 목적지까지 올바른 경로로 중개하는 교환(Switching) 기능을 제공한다.
데이터가 한 곳으로 집중되지 않고, 효율적인 경로를 선택할 수 있도록 하는 역할.

- 회선 교환 방식
연결형 서비스를 제공, 고정 대역폭의 전송률을 지원, 네트워크의 구조가 단순


- 패킷 교환 방식
비연결형 서비스를 제공, 가변대역의 전송률을 지원해 네트워크 구조가 복잡


- 교환시스템의 종류

# 전용 회선 방식 : 송신, 수신 호스트가 전용 통신 선로로 데이터 전송
# 교환 회선 방식 : 전송 선로 하나를 다수의 사용자가 공유

# 회선 교환 :
데이터 전송 전에 양단 사이의 연결을 설정, 모든 데이터가 같은 경로로 전달, 고정대역의 전송선로를 전용으로 할당 받아 안정적인 데이터 전송률 지원

# 메세지 교환 :
데이터 전송 하기 전에 연결 경로를 미리 설정하지 않고, 전송하는 메시지의 헤더 마다 목적지 주소를 표시 하는 방식. 송신 호스트가 전송하는 전체 데이터가 하나의 단위로 교환 처리된다. 축적 후 전달(Store and Forward)방식.





# 패킷 교환
일정한 데이터 블럭인 패킷을 교환기가 수신측 주소에 따라 적당한 통신경로를 선택하여 전송하는 교환방식. 전송하고자 하는 데이터를 일정한 크기의 패킷으로 나누어 송수신 주소인 헤더를 각각 부가 하여 패킷단위로 전송하는 방식이다.

- 패킷 교환 방식은 축적교환방식의 일종으로 송신 DTE가 보낸 데이터를 교환기에 저장한 다음 수신 DTE에 고속으로 전송하게 되는데 이때, 단말기가 메시지를 패킷으로 분해하고 수신측에서는 이 패킷을 합치는 기능이 있어야한다. 패킷교환 방식에는 가상회선과 데이터 그램 두 가지 방식이있다.

- 패킷 교환 방식의 장점은 전송대역의 효율적 이용, 호스트의 무제한 수용, 패킷에 우선순위를 부여 할수 있다. 다만 단점으로는 패킷의 도착 지연 시간이 가변적이며, 각 패킷들의 지연시간 분포를 의미 하는 지터라고하는 단점이 있다.
&&Jitter : 넓은 의미에서 시간의 이상적인 위치에 대하여 짧은 시간에 나타나는 신호의 차이

- 패킷의 경로를 선택하는 방식은 정적 경로동적 경로가 있다. 정적경로는 호스트 사이의 전송 경로를 미리 고정(설정)하는 것이고, 동적경로는 네트워크 혼잡도 및 주변 상황에 따라 전송 경로를 지속적으로 변경하는 것이다.

- 가상회선 (Virtual Circuit)
연결형 서비스를 지원하기 위한 기능. 연결을 통해 전송되는 모든 패킷의 경로가 동일하고, 패킷 도착 순서가 일정하다.


위 그림과 같이 패킷의 경로가 동일하고 도착순서또한 보낸것과 받는것이 일치 한다.

- 데이터 그램 (DataGram)
비연결형 서비스이다. 패킷을 독립적으로 전송, 네트워크 혼잡도에 따라 서로 다른 경로로 전송된다. 이 방식은 정보량이 작거나 상대적으로 신뢰성이 덜 중요한 환경에서 사용한다.


위 그림과같이 패킷이 같은 경로로 전송되지 않고 수신 호스트에서는 보낼 때와 같은 순서로 받지 않는다


- 교환방식의 비교





# 프레임 릴레이 

동일한 속도의 전송 매체로 고속 데이터 전송을 지원 할 수 있도록 고안된 기술, 데이터 링크 계층의 기능을 단순하게 설계 가능



위 그림과 같이 패킷 교환망에서는 라우터를 지날때 마다 데이터를 잘 받았다는 응답을 받아야한다. 신뢰성이나 안정성에는 좋을지 몰라도 데이터가 많으면 부하가 많이 걸린다. 이 점을 개선하고자 프레임 릴레이망 방식이 등장했다. 데이터를 한번에 쭉 받고 확인 응답을 한번에 보내어 속도 측면에서 개선되었다.



[시험] 네트워크 (2)

2장

- 모듈의 개념을 알아보고, 계층 구조의 필요성을 이해한다.
- 프로토콜 설계 시 고려할 사항을 알아본다.
- OSI 7 Layer 모델의 동작 원리와 데이터 전달 방법을 이해한다.
- TCP/IP의 계층 구조와 관련 프로토콜을 이해한다.



  • 계층적 모듈 구조
복잡한 시스템을 기능별로 모듈화 하면 시스템 구조가 단순해진다.

- 복잡하고 큰 시스템은 기능을 작게 모듈로 나누어 설계가 가능하다
- 전체 시스템을 이해하기 쉽고, 설계 및 구현이 용이
- 모듈간의 표준 인터페이스가 단순하면 모듈의 독립성을 향상 시킬수 있으며, 이는 시스템 구조를 단순화 시키는 장점이 된다.
- 각 계층의 기능 오류를 수정 하거나 향상 시켜야할 때, 전체 시스템을 재 작성하지 않고도 계층의 모듈만 교체하는 것으로 완료 할 수 있다.




  • 프로토콜 설계 시 고려사항
- 주소 표현

주소는 각각의 Device를 구분하는 역할을 한다. 활용도를 높이기 위하여 구조적 정보를 포함한다.  1:다 통신을 지원한다 (Broad casting, MultiCasting)

-오류 제어

오류제어 기능은 통신 프로토콜의 가장 기본적인 기능이다. 전송 결과 유형에는 정상적인 전송, 데이터 변형 오류(데이터가 깨져서 도착함), 데이터 분실 오류(데이터가 도착하지 못함)가 있다.


- 흐름제어

수신 호스트의 버퍼 처리 속도보다 송신 호스트가 데이터를 전송하는 속도가 빠르면 논리적인 데이터 분실 오류가 발생 할 수 있다. 즉, 송신 호스트의 전송 속도를 조절하는 흐름제어 기능이 필요하다.
-수신단에서 데이터 처리 속도가 늦으면 버퍼에 저장하게 되지만 버퍼 용량에 한계가 있어서 용량이 다 차게 되면 송신단에서 데이터의 손실이 발생한다.-

- 데이터 전달 방식

단방향 >> 데이터를 한쪽 방향으로만 전송
전이중(Full Duplex) >> 데이터를 양쪽에서 동시에 전송
반이중(Half Duplex) >> 데이터를 양방향으로 전송이 가능하지만 특정 시점에서는 한쪽 방향으로만 전송이 가능하다. 예) 무전기 

  • OSI Model (Open Systems Interconnection)
OSI 7 계층은 7개의 계층으로 구성된 계층 구조를 갖는 개방형 시스템이다. 이 개방형 시스템은 다양한 표준화와 관련된 기본 골격을 제공하는 것이 목적이고, 특정 시스템에 대한 프로토콜의 의존도를 줄이고 향후 기술 진보에 따른 프로토콜의 확장성 들을 고려하여 보편 적인 개념과 용어를 사용하여 표준화 되었다.

- OSI 7 계층은 서로 다른 계층 간의 통신은 불가하다. 같은 계층 모듈만 통신을 할수가 있다.
송신 호스트는 데이터가 상위에서 하위계층으로 이동할 때마다 데이터 프레임에 헤더가 추가되고, 수신 호스트는 반대로 하위계층에서 상위계층으로 이동 할때마다 헤더가 제거 된다.
이 헤더에는 각 계층에 대한 정보가 있다. 


  • 각 계층 별 기능
- L1 - 물리계층

사용자 데이터를 물리 매체상에서 소통이 가능한 통신 신호로 변환하여 전송하는 역할을 담당한다. 또한 데이터 링크 계층의 데이터 통신 기능을 원활하게 수행하도록 물리적인 연결 설정과 유지 및 해제 기능과 관계되어있다. 데이터 전송 속도, 송수신 호스트 사이의 클럭 동기화 방법, 물리적 연결 형태 등 물리적 인터페이스에 관한 사항과 관계됨.


-L2 - 데이터 링크 계층

물리적인 연결을 통해 보다 신뢰성 있는 데이터 전송 수단을 제공하는 계층이고, L2에서 데이터의 물리적 전송오류를 해결한다. (오류 감지 및 재전송기능)
대표적인 장치로는 스위치가 있다.

- L3 - 네트워크 계층

송신 호스트가 전송한 데이터가 어떤 경로를 통해 수신 호스트에 전달되는지를 결정하는 라우팅 문제를 처리 >> 쉽게 말해 전송하고자하는 데이터의 경로를 정하는 계층(혼잡제어 기능)
이때 호스트 구분을 위한 IP 주소와 같은 주소의 개념이 필요하다.

- L4 - 전송계층

헤더에 송수신지 포트번호를 포함하여 올바르게 전달 될 수 있게 하는 계층 전체 메시지를 종단 대 종단간 제어와 에러를 관리 패킷의 전송이 유효한지 확인, 전송에 실패된 패킷을 재전송 하는 등 신뢰성 있는 통신을 보장 주소 설정, 오류 제어, 흐름제어, 다중화 수행  

  • TCP/IP




OSI 7계층을 4계층으로 간소화함. IP는 사용자 데이터를 전송하는 네트워크 계층 프로토콜 기능을 수행한다. TCP,UDP는 사용자 데이터를 전송하는 전송 계층 프로토콜 기능을 수행한다.
오류 정보를 전송하는 목적으로 ICMP를 사용한다. 


- ARP는 IP 주소를 MAC주소로 변환.
- RARP는 MAC주소를 IP주소로 변환.
- ICMP는 오류메시지를 전송하는 프로토콜.









[시험] 네트워크 (1)

1장

- 네트워크와 관련된 기초 용어를 이해한다.
- OSI 7Layer 모델의 필요설을 이해하고, 각 계층의 기능을 살펴본다.
- 네트워크 프로토콜의 기초 의미와 역할을 이해한다.
- 주소의 역할과 기호로 된 이름의 차이와 필요성을 이해한다.
- 주소와 이름을 변환하는 DNS의 필요성을 이해한다.


  • 데이터통신 (Data Communication)
pc와 같은 통신 기능을 갖고 있는 두 개 이상의 Communication device 사이에서 동선이나 광섬유 혹은 무선 링크 등을 포함하는 전송 미디어를 사용하여 정해진 규칙, 통신 프로토콜에 따라 데이터로 표현되는 정보를 교환하는 과정 

  • 프로토콜(Protocol)
전송 매체를 통해 데이터를 교환 할 때의 임의의 통신 규칙 
- 상호 연동되는 시스템이 전송매체를 통해 데이터를 교환할 때는 특정규칙을 따른다. 프로토콜의 역할은 프로토콜에 정의된 기능을 수행하면서 필요한 정보를 서로 교환 하는 것 (즉, 무엇을 언제 어떻게 통신할 것인가?에 대한것)


  • 노드(Node)
인터넷에 연결된 시스템의 가장 일반적인 용어
  • 호스트(Host)
컴퓨팅 기능이 있는 시스템
  • 클라이언트(Client)
서비스를 요청하는 시스템
  • 서버(Server)
서비스를 제공하는 시스템

  • 인터네트워킹(Internetworking)
서로 다른 종류의 네트워크를 연결시키고 하나의 데이터통신 기준을 둠으로써 다양한 하드웨어 기술의 결합을 가능하게 해주는 기술

- 서로 독립적으로 운영되는 두 네트워크가 연동되어 정보를 교환하려면, 이를 적절히 연결하여 데이터 중개를 할수 있다. 이 인터네트워킹 기능을 수행하는 시스템을 일반적으로 게이트웨이 (Gateway)라고 부른다.

  • IP
IP 주소는 네트워크 계층의 기능을 수행하는 IP 프로토콜이 호스트를 구분 하려고 사용하는 주소체계

IPv4는 32bit 크기의 주소체계를 사용한다. 

예) 211.223.201.30





OSI 7 Layer

L1 - PHY (물리계층) 
물리적으로 데이터를 전송하는 역할을 수행
L2 - Data Link (데이터 링크 계층)
물리적 전송 오류를 해결 (오류감지/재전송 기능)
L3 - Newwork (네트워크 계층)
올바른 전송 경로를 선택 (혼잡제어 기능)
L4 - Transport (전송계층)
송수신 프로세스 사이의 연결 기능을 지원
L5 - Session (세션 계층)
대화 개념을 지원하는 상위의 논리적 연결을 지원
L6 - Presentation (표현 계층)
데이터의 표현 방법 (압축/암호화)
L7 - Application (응용 계층)
다양한 응용 환경을 지원




2019년 4월 22일 월요일

[프로젝트]ESP8266 Spec 요약



- ESP8266이 지원하는 프로토콜은 802.11b/g/n이다

- 2.4Ghz 대역을 지원한다.

- TX power: 사용자가 신호를 보낼때 신호의 세기?를 말하는 것 같다.
802.11b의 경우 +20dBm, 802.11g는 +17dBm, 802.11n은 +14dBm를 지원한다.

-RX sensitivity: 받을때 멀리서 온 무선신호를 받아야하므로 채널을 통과하는 과정에서 간섭과 왜곡으로 인해 신호의 전력이 작아지게 되고 이 작은 신호를 받아야 하므로 RX Sensitivity라고 표현한것 같다.
802.11b의 경우 속도가 11Mbps인데 이는 CCK변조를 할 경우의 속도이고
802.11g는 기본적으로 OFDM으로 다중화를 하기 때문에 54Mbps(이론치)의 속도가 나온다.

- dBm은 무엇인가?



ESP 8266 Block Diagram


 *RF balun은 RF Balance/Unblance를 말한다.

변압기의 개념 balun

들어오는 신호를 받아 ic에 맞는 신호로 증폭/감쇠를 하여 ADC해주는 단으로 넘겨준다.

중간에 스위치는 송/수신을 변환하는 스위치이다.

RF Recive에서는 받은 신호를 기저대역 신호로 복조하는 단계이다.

RF Transmit은 기저대역 신호(Baseband signal)을 2.4Gghz로 Up-Convert시켜준다. CMOS의 출력을 높은 출력으로 증폭시켜 안테나에 태워 전송하게 된다. 출력의 증폭이 선형적으로 더 개선되었고 802.11b는 19.5dBm을, 802.11n은 18dBm의 출력을 낸다.

receive에서는 받은 신호를 검출하기 위해 아날로그 receive를 믹서해서 1/2하고 vco와 pll을 거쳐 수신한 신호를 복원(PLL로 동기검파를 하게된다, 수신단에서 송신할때 주파수와 같은 반송파를 만들어서 수신된 신호에서 위상을 추출하여 신호를 복원)하고, transmit에서는 보내기 위해 아날로그 transmit과 믹서해서 2.4Ghz대역으로 변조하게된다. (아날로그와 믹서를 하는 것은 송수신 할때 일종의 신호를 잘받았다, 이런 신호를 보낼것이다 하고 확인을 하는 헤더?프레임을 덧붙이거나 확인하는 과정인듯하다)


ESP 8266 UART
- ESP 8266의 기본 보레이트는 OSC 26Mhz 기준으로 74880의 보레이트를 갖는다. UART1의 TX로 (UART1의 RX는 flash할때 사용해서 따로 사용할수 없다) 초기 상태의 오실레이터 값과 보레이트 값을 알려준다.
- 최대 115200 보레이트에 한번에 40비트를 보낼 수 있다. 따라서 UART로는 최대 4.5Mbps의 속도가 나온다 (115200*40)

-RF의 소비전력




*https://m.blog.naver.com/PostView.nhn?blogId=mdkd&logNo=20005590405&proxyReferer=https%3A%2F%2Fwww.google.com%2F

[시험] 802.11프로토콜 및 Wifi


출처: https://markspeople.tistory.com/97

OSI 7 Layer에서 802.11은 물리계층(PHY)과 데이터링크(MAC) 계층에 대해서 정의를 해둔 규격임.
물리계층에서는 신호를 검출하여 데이터를 전송하는 기능을 하고 데이터 링크 계층에서는 여러 방법으로 데이터가 정확히 전송되었는지 확인하는 계층이다.

- 물리계층에서는 들어오는 신호를 검출한다. 그리고 무선매체가 사용중인지 아닌지 (busy or idle이라는 표현 사용)를 MAC 부계층에 알려준다. 그 후에 데이터 프레임을 전송하게 된다. (8비트 단위로)


- 데이터 계층은 MAC과 LLC계층으로 나뉘는데 MAC에서는 CSMA/CA 프로토콜이 사용된다.이 CSMA/CA는 무선매체에 접근에 대한 제어를 한다. 그리고 네트워크를 탐색하고 합류, 즉 무선네트워크에 접속을 하게된다. 후에 3단계의 인증 및 보안을 거친다. 

CSMA/CD는 유선환경에서 버스에 연결된 여러 통신 주체들이 동시에 통신을 할때 데이터 간에 충돌을 막기위해 사용되는 프로토콜이다. 유선환경에서는 전송로가 비었는지 확인(Carrier sensing)을 하고 비어있다면 데이터 전송(Multi Access)을 하고, 전송 후 충돌이 있나 없나 검사(Collision Detection)를 한다. 있다면 대기시간(Back off)을 갖게 한다.

CSMA/CA는 무선환경의 CSMA/CD라고 생각하면 되는데 무선환경에서는 충돌여부의 감지가 어려워서 충돌을 회피 하는 방식으로 프로토콜이 구현되어있다. 전송 절차는 일정시간만큼 대기(DIFS)하고 있다가 수신단이 idle상태이면 데이터를 전송한다. 전송후 일정시간 후에 (SIFS)수신단은 송신단으로 ACK신호를 보내 데이터를 잘 받았다라고 알린다.

IFS(Inter-Frame Space)이 있는 이유는 station이 idle상태 처럼 보일지라도 멀리 떨어진 station에서 데이터를 전송했을 지도 모르기 때문이다. 이런경우 IFS시간없이 바로 데이터를 전송하면 충돌이 일어나기 때문에 IFS만큼 일정시간 대기를 한다. 또한 이 IFS를 가지고 우선순위를 정할수있다. IFS를 짧게 줄수록 우선순위가 높은식으로 정할 수 있다.



출처: https://needjarvis.tistory.com/156




MAC계층의 주요 프레임으로는 관리 프레임, 제어프레임, 데이터 프레임이 있다.
관리 프레임은 초기 통신을 확립한다. >> 어떤 와이파이/무선네트워크에 연결할 지에 대한 프레임을 말하는것 같다.
제어 프레임 >>신뢰성있는 데이터 전송을 위해 데이터 프레임에 수신 데이터의 확인,긍정등의 헤더가 붙는 것을 말한다.
데이터 프레임은 전송하고자 하는 데이터를 말한다.

LLC(논리적 링크 제어)는 상위계층과 인터페이스 기능을 제공하고, 오류제어 흐름제어의 기능이 있다. LLC의 프레임은 DASP, SSAP, Control, DATA로 구성되어있다. 즉, 발신지가 어디이고 목적지가 어디인지, 프레임의 종류와 역할이 무엇인지, 보내고자하는 데이터로 프레임이 구성되어있다.

질문거리:(간단하게 말하자면 와이파이에 접속하는 단계를 말하는 것 같은데 내 생각에는 네트워크에 먼저 접속을 하고 데이터를 주고받고 해야하는 것 아닌가 의문이 든다...)>>MAC이라는 것이 매체접근방식(Media Access Control)을 이야기하는 것임

-802.11xx 요약

*802.11b

1. 802.11은 무선 인터넷용 프로토콜임.
2. 2.4GHz ISM대역의 기존 IEEE802.11 규격 무선 LAN의 변복조 기술을 일부 변경하여 11Mbps까지 지원한 것이 IEEE802.11b 표준임.
3. IEEE802 계역 기술은 일련의 LAN 기술집합에 대한 사양임.
4. 모든 802 네트워크는 MAC과 PHY 구성요소를 가짐.
5. MAC은 매체 접근과 데이타 전송방법을 결정하는 집합임.
6. PHY는 전송과 수신에 대한 구체적인 방법을 의미함.
7. 상용화 제품중 주류를 이루고 있으며 CCK 변조방식을 사용하여 최대 11M까지 전송이 가능함.
8. 802.11 표준의 매체 접근 제어계층과 DSSS 물리계층 규격을 그대로 사용하면서 기존 DSSS방식, 장비와 호환성을 유지함.
 9. 802.11b 이전의 FHSS방식과 호환되지 않음. 0. S/N비 요구사항을 충족하기 위해 전송거리가 802.11의 절반 이하로 줄어듬.

802.11g

1. 차세대 무선랜 표준으로 DSSS와 OFDM을 모두 사용하여 전송률은 802.11a와 비슷하며 802.11b 와 호환이 가능함.
2. 무선부분은 802.11a와 802.11b 무선규격의 필수항목을 포함하면서 주파수 채널만 802.11b의     2.4GHz대역을 사용함.
3. 802.11a의 OFDM변조와 802.11b채널과 타이밍을 사용함.
4. 802.11b의 CCK를 이용 5.5M와 11Mbps를 지원함.
5. 802.11a의 6, 9, 12, 24, 36, 48, 54Mbps를 지원하며 6, 12, 24는 필수임.
 6. CCK-OFDM은 선택사양으로 802.11b와 호환성을 보장하기 위한것임.
7. 단일 캐리어로 전송되는 CCK와 다중캐리어로 전송되는 OFDM을 동일대역에서 사용하기 위해서는 동일 패킷의 신호부분 설계가 중요함.
8. CCK로 변조된 동일한 구조의 헤더를 사용하여 연속되어 전송될 변조방식을 구분함.
9. 8bit로 구성된 헤더 부분의 서비스필드에서 데이터가 어떤 변조방식을 사용할 것인지를 알려줌.

802.11n

1. 802.11a, 802.11g의 대역폭을 향상시키고자 내놓은 개정판
2. 기존 20Mhz의 대역폭에서 40Mhz의 대역폭으로 증가, 54Mbps에서 600Mbps로 속도 증가.
3. MIMO 기술의 적용 (하나의 안테나에서 송수신을 하는 것이 아닌 여러개의 안테나로 송수신)
4. 2.4Ghz와 5Ghz대역을 하나의 장비에서 사용가능


OFDM  (Orthogonal Frequency Division Multiplexing)


직교분할 주파수 다중화라고 한다. 데이터를 여러개로 나누어 직교하는 일정 간격의 반송파에 실어 데이터를 병렬로 보내는 방식이다. FDM방식은 데이터를 실어 보내는 반송파에 guard interval이라 하는 보호대역을 두어 데이터를 전송하는데 이러한 방식은 대역폭 효율성이 떨어진다.  OFDM은 직교하는 반송파를 간섭없이 오버랩시켜서 대역폭의 효율성을 극대화 하여 데이터를 전송하는 방식이다. 802.11 뿐만 아니라 LTE에서도 사용하는 방식이다.
OFDM은 효율적인 데이터 전송방식으로 많이 사용하는 기법이다. 우선은 주파수 변조방식이어서 간섭에 강하고, 대역폭을 효율적으로 사용가능한 점, Single Carrier Moudulation(단일 반송파 변조)에서는 채널을 통과하면 왜곡이 심해서 이것을 다시 복원하기 위해 복잡한 이퀄라이징이 필요하지만 OFDM에서는 단순히 gain의 차이 정도로 왜곡이 발생하여 복잡한 이퀄라이징 없이 복원이 쉽게 가능한 것 등의 장점이 있다.

DSSS (Direct Sequence Spread Spectrum )

 디지털 신호를 매우 작은 전력으로 넓은 대역으로 분산하여 동시에 송신하는 것이다.
통신 중에 노이즈가 발생하더라도, 복원 시에 노이즈가 확산되기 때문에 통신에의 영향은 작다. 또한 강한 신호를 발생하지 않기 때문에 좀처럼 다른 통신을 방해하지 않는다.
데이터 비트를 무작위 패턴으로, PN시퀀스와 곱해서 데이터를 해당 대역폭 전체를 차지 하여보내는 방식.

CCK는 DSSS를 코딩하는 방법 중하나로 802.11b에서 사용되는 코딩방법이다. 더 많은 데이터를 TDM방식으로 직렬 전송한다.


*https://blog.naver.com/hts8376/100006806688