2022. 4. 28. 16:22ㆍ강의 내용 정리/컴퓨터 네트워크
MAC/DLC
1. Ethernet
1) Ethernet이란?
- 초고속 인터넷 서비스와 같은 것들을 유선으로 연결할 때 사용하는 것
- local area network를 위해 만들어짐, MAN을 만들 때에도 확장이 됨
- WAN에서도 이더넷이 사용됨
- 이더넷이라는 기술은 local area networks 중 하나였는데 MAN, WAN까지 확장됨
- 제록스라는 회사에서 만든 사적인 기술이었지만 1983년도에 IEEE에서 국제표준으로 인정함
-> 싸고 고속으로 끌어올리기에 굉장한 장점으로 전세계에서 가장 많이 사용하는 무선통신 기술이 됨
- 10BASE5로 10Mbit/s를 지원했는데 광섬유와 같은 고속의 선을 사용하면서 physical layer가 바뀌더라도 MAC layer가 바뀌지 않아도 되고, 심플하게 사용할 수 있어서 3계층은 속도가 증가한 효과를 누림
- 구리와 광케이블 모두 지원이 가능하지만 2계층은 거의 동일하게 유지되고 점점 속도가 향상되고 있음
- 표준으로서 CSMA/CD를 상용화하고 있고 phisical layer와 MAC layer, data control과 유사한 기능을 사용하고 있음
- OSI 7 layer에서 1, 2계층을 지원하기에 CSMA/CD의 MAC과 LLC(DLC는 미약해서 LLC로 불림)로 불림
- 프레임을 만들고, 헤더에 대한 정보를 소스 어드레스나 데스티네이션 어드레스로 구성하고 프레임 체크 및 에러 검출 시 재전송을 조금 함. -> 막강한 에러검출 및 흐름 복구 제어는 거의 없음
- 2계층 이상에서는 영향을 많이 바뀌지 않기에 상단의 layer에서는 변화가 없으면서 phsical layer의 발전의 이점을 취할 수 있었음
2) IEEE 802.3 Standard
- IEEE 표준 기술에는 다른 기술도 존재했는데 connection less 방식으로 해서 상대방과 우리쪽을 인식할 정도의 어드레스만 프레이밍하는 정도임 -> 에러 검출 등은 사용 x
- 1, 2계층은 한번에 표준화하는 경우가 많음
3) IEEE 802.3 Frame Format
- 데이터는 46 bytes이상 들어가야하기에 이보다 작으면 의미없는 값으로 고려함
- 최신 이더넷의 payload length는 더 늘어남(약 9000)
- CRC: 메세지가 변질되었는지 아닌지 체크함
- SFD: flag라고 불리고 frame delimiter임
4) Topology
- 이더넷은 처음에 버스 토폴로지를 많이 사용함
- contents based이기에 고속으로 사용하기에는 무리가 있었지만 초기에는 데이터가 그리 많지 않아서 CSMA/CD로 사용
- 싸지만 줄이 끊기면 모두 나가기에 단점
- 이후 스타 토폴로지를 사용하여 컴퓨터 속도가 빨랐지만 허브가 고장나면 통신 전체가 두절되고, 가격도 살짝 비싸짐
- LAN은 버스에서 스타 토폴로지로 넘어가면서 고속화되면서 충돌이 발생하지 않기에 CSMA/CD를 할 이유가 없어짐
- 최근 이더넷은 고속의 피지컬에 프레임 포맷을 만드는 2계층으로 변질됨
5) Bridging
- 과거의 CSMA/CD는 충돌을 보고 현재 상황을 멈추고 재시도하는 등의 contents based한 방법을 사용함
- 이러한 경우에 충돌이 자주 발생할 수 있기에 이를 줄이고자 Bridge를 중간에 두어 충돌에 참여하는 노드의 개수를 줄이고자 함
6) Bridging for Collision Reduction
- 브릿지가 나와서 줄을 끊음 -> 이후 모든 컴퓨터마다 줄이 생기면 허브나 스위치의 이름으로 스타(트리) 토폴로지가 됨
- 브릿지는 줄에 참여하는 노드의 개수를 줄이는게 요지임
- 버스와 트리(스타) 토폴로지의 하이브리딩 기법이 만들어짐
- 버스는 저가로 근거리에 있는 것을 연결할 때 좋은 기술임
7) Ethernet Speed Roadmap
- 1980년대 10M -> 2000년대 10Gb -> 사회적 수요와 기술적 한계가 존재해 2010년에는 40Gb -> 지금은 400Gb/s로 속도의 향상을 이룸
- 초고속 인터넷은 바로 옆에 있는 컴퓨터 서버를 연결하기 위해 사용함 -> 대부분의 경우에는 cpu가 더 느리기에 네트워크에서의 성능 저하를 느끼기 어려움
8) 사용 기기
다양한 기기에도 유선으로 통신하는 경우에는 이더넷을 매우 많이 사용함
(1) cctv
- 이더넷의 기술이 진화해서 통신 + 전원공급을 위한 기술이 나와 둘을 한번에 지원함
ex) 이와 비슷한 기술: 유선전화, usb cable
- 전자 기기 중 관측장비, 센서 등에서 power of Ethernet이 많이 쓰임
(2) GPS
- GPS의 시간을 네트워크 장치와 동기화하는 것이 상당히 어려운 기술임
- IEEE 1588기기: GPS의 신호를 수신하는 장치 -> 빠르게 IEEE 1588 장치에 보냄 -> 실시간으로 시간이 맞아야하는 장치에서 수신함
2. WiFi
1) WIFI란?
- 무선랜: local area network을 대상으로하는 wireless 기술군
- WiFi는 표준 제품들간의 상호 운영성을 지원하는 제품들이 잘 팔리길 바라는 단체(Alliance)
- Alliance로서 801.11 표준 기술을 가지고 제품과 서비스를 판매하고자하는 단체를 의미했었음
- IEEE 802.11이라는 표준 기술에 해당하며 Data link area에 해당하는 에러검출 및 복구는 없음
- LLC, 무선랜을 사용하는 경우에는 안정성이 보장안되는 경우가 많음
- local area를 무선으로 제공
- 가장 많이 사용하는 것이 2.4GHz, 고속은 5GHz, 초고속이지만 근거리인 경우에는 60GHz의 주파수를 지원하기도 함
- 무선랜은 노트북, 기타장치 등등에서 많이 사용되고 앞으로도 많이 사용될 것으로 예상
- 1997년에 최초 표준이 나와서 주파수와 같은 기능이 추가되고, 802.11에서는 contents based이기에 품질 보장하는 서비스는 지원이 어렵지만 이를 지원하는 기능도 추가됨
- 전파적 특성을 반영해 MAC layer가 개선되고 기능이 추가됨 -> 계속 발전 중
- IEEE 802.11은 CSMA/CA를 기반으로 만들어짐
2) 토폴로지
- Ad hoc은 host 간에 별도의 주파수를 보내서 통신하는 형태임
ex) 드론이 군집비행을 하면 드론 간의 통신을 할 때 이를 Ad hoc network라고 함
- Access Point(AP): network를 연결하기 위해 Ad hoc 장치의 무선랜 신호를 받아 그들의 트래픽을 인터넷으로 보내기 위한 장치
- 무선랜을 받는 장치에 대한 용어가 AP(유무선 공유기)임
3) Layers
- 802.11 DCF는 CSMA/CA로 간주하면 됨 -> 어떤 대상도 존재하지 않고 각자가 충돌방지를 하고자 함
- AP를 통해 인터넷으로부터 오는 트래픽을 받아서 무선 노드에게 주고, 음성 전화가 무선랜 방식에서도 가능하게 함
- 유선에서 온 것을 늦지 않게 무선 노드에게 주고, 필요시에는 누군가가 controled 방식으로 하고 싶을 때 PCF를 올림
- PCF가 올라가면 유무선 공유기의 역할을 수행하고, contention이 없도록 최대한 노력하고 control based access와 같은 스킴을 소프트웨어적으로 구현하는 역할을 수행해서 스케줄링 등과 같은 동작을 할 수 있음
4) AP Repetition
- 처음 AP가 Beacon frame을 보냄 -> 이는 본인의 무선 정보와 이름을 뿌림
- 이후 AP가 Polled station에게 call 메세지를 보냄 -> polled station은 ACK와 함께 데이터를 보냄.
- 이 작업을 다른 노드들에게도 진행함 -> 이는 contention free에 해당하는 작업 -> controled access 스킴을 흉내낼 수 있음 -> 다른 노드는 못들어오도록 막음(NAV)
- 딱 하나의 기술만 사용하는 것이 아닌, CSMA/CA에 충실한 컬리전 베이스드에 대한 동작을 기반으로 했지만 소프트웨어적으로 PCF를 올리고 controlled access 스킴도 사용하고, polling 매커니즘을 구동하는 것도 실제 상용 기술인 와이파이 통해 확인할 수 있음
5) IEEE 802.11 Speed Roadmap
중요한 내용
- 위의 내용을 지원하는지 확인이 필요함
- 주파수 밴드가 낮으면 멀리가고 rate가 높으면 고속임
ex) 802.11b: 멀리가면서 저속 // 802.11a: 짧게가는 대신 빠름 -> 집이 넓으면 안될수도 있음 등등0
- 무선랜의 피지컬은 전파적 특징에 의한 거리와 속도가 다양해질 수 있음
- 속도가 빨라지는 것은 Channel BW에 의한 것임
- 고속화, 근거리화되고 있음
3. Bluetooth
1) Bluetooth란?
- continous하게 전달되는 통상적인 의미의 블루투스
- 와이파이는 802.11이라는 단체에서 표준을 만들고, 프로덕트는 와이파이 alliance임
- 반면 블루투스는 SIG 그룹이라는 곳에서 표준과 프로덕트를 한 곳에서 처리함 -> 시장의 니즈 반영이 빠름
- 와이파이와 같은 무선 주파수 대역을 사용함 -> 와이파이와 블루투스가 많은 공간에서는 서로 간섭이 있을 수 있음
- 블루투스는 유선으로 사용했던 RS-232를 대신해 끊임없이 흘러가는 것을 무선 줄로 바꾸는데 만들어진 기술
2) 블루투스의 특징
- SIG 그룹에서 블루투스를 표준화하고 있음
- 기존에는 해당 기술을 IEEE 802.11에서 표준화를 진행했지만 지금은 SIG에서 만들고 개선함
- 또한 와이파이 얼라이언스의 역할을 같이 하고 있음
- 굉장히 빠르게 시장에 대응할 수 있음
3) Bluetooth Speed Roadmap
처음에는 유선줄을 대체했기에 키보드나 마우스에서 사용했기에 저속이었음 -> 이후 헤드셋 시장의 발전에 따라 어마어마하게 커짐 -> 이후 스피커 시장에 도입되면서 점점 data rate가 증가함
- 음질 또한 점점 발전할 수 있음
- 속도 및 거리 등등의 발전이 꾸준히 이루어지고 있음
4) Bluetooth Layer Stack
- 피지컬 레이어의 상단인 베이스 밴드에서 오디오가 연결됨 -> OSI Physical layer를 따르진 않는 것처럼 보이지만 HDLC 위에 바로 어플리케이션을 올리는 구조
- 위와 같이 스택을 쌓으면 블루투스에서 IP를 통신할 수 있음
5) Bluetooth application
블루투스는 시장의 니즈를 봤을 때 음성이 성공을 이끄는 요인이 되었고, 사람의 말소리를 전달하는 것이 주요한 어플리케이션이었음
- 고품질의 오디오 정보를 전달하는 것이 주요함
- 블루투스는 끊임없이 날라가는 정보들에 강한 기술임
4. Bluetooth Low Energy(BLE)
1) Bluetooth Low Energy란?
- 에너지를 적게 사용하는 블루투스
- 원래 타겟한 키보드, 마우스나, 컴퓨터를 대상으로 하는 센서와 같은 컴퓨터 디바이스에 맞게 개량하여 굉장히 오래가도록 기술을 만듦 -> 배터리가 떨어지면 버림
- 드문드문 데이터를 보내는 것이기에 통신에서의 전력소모를 최소화함
2) Bluetooth와 BLE
- 메세지를 보낼 때 걸리는 시간은 블루투스가 더 오래걸리지만 BLE는 복잡한 것을 설정하지 않기에 동작이 빠름
- 블루투스는 음성을 할 수 있고, BLE는 못함
- BLE의 전력 소모 또한 블루투스를 1로 기준을 두면 0.01에서 0.5 정도의 전력소모임
- BLE는 기타 컴퓨터가 들어가는 장치를 타켓으로 만들어진 장치임
3) BLE Layer Stack
- 2계층:LL, L2CAP 등등
- 블루투스는 SIG 그룹은 어플리케이션까지 표준화를 하기에 다른 이더넷이나 무선랜의 경우와 다름.(이들은 서비스를 얘기하지 않음) -> 이에 따라 블루투스를 지원하는 각각의 다른 기기(삼성 노트북, LG 키보드)는 상호 호환이 가능
- 블루투스로 만들어진 제품은 OSI 7 layer에서 1부터 7까지 대부분 있음
- 어플리케이션 마저 표준화가 되어있기에 블루투스를 사용한 제품은 호환성 제공이 되고, 필요한 서비스에 대한 분야를 만들어주니 시장 확장성이 매우 빠름
- 와이파이의 alliance는 layer 1, 2의 상호호환성을 얘기하지만 블루투스는 어플리케이션 layer까지 올라감
- 블루투스 자체는 layer 1, 2이긴 함
4) BLE Network
- 블루투스는 pairing 방식임
- 이더넷이나 와이파이는 broadcasting방식임
- 블루투스는 아니지만 BLE 간에는 pairing, broadcasting, mesh 모두 가능하기에 네트워크가 가능함
5) BLE Application
- 집 안의 많은 장치들을 보면 여러 제품에서 블루투스를 사용함
- 음성은 블루투스, 음성이 아닌 경우에는 블루투스와 BLE를 섞어서 사용함
- 전구 안에 들어가도 될 정도로 비용이 매우 저렴하기도 함
- 블루투스와 BLE는 자동차에도 매우 많은 관심을 가지기에 시장이 급 성장하는 중
- 심지어 타이어에도 장착되어있음
- 블루투스는 와이파이보다 더 많은 어플리케이션을 만들고 있음
- 헬스 시장에 대한 개발도 점차 진행중임
6) 블루투스와 BLE의 Software Stack
- BLE에서 사용하는 네트워크
- sensor는 자연계에 있는 데이터를 수집하기 위한 장치
- actuator는 어떤 동작을 함
- 왼쪽은 통신 및 동작을 위한 end-device임
- Mesh node는 sensor나 actuator로부터 정보를 주고 받음
- mesh gateway는 mesh node를 통해 인터넷으로 연결함
-> 통신에서 네트워킹을 할 때는 보통 세개의 장치가 필요함
7) 계단 전구 예제
- 계단을 올라갈 때마다 전구의 불빛을 켜고 전구들 간에 연결되어 어떤 일련의 동작을 진행함
- 이때 n개 이상의 전구를 서로 연결한 것은 mesh networking이라 얘기하고 서로 정보를 주고 받음
- 스마트홈 Iot로서의 활용
- 가전 안에서 BLE를 사용하면 저렴한 비용으로 쉽게 제어할 수 있음
- 스위치가 왼쪽 끝에 있을 때의 BLE Mesh
- 왼쪽에서부터 차근차근 주변에 있는 전구를 켬
- broadcast를 동작 가능하고, 이를 활용해 mesh 방식을 구현할 수 있음
- rate가 낮을지라도 데이터를 주고받는 별도의 네트워킹 장치를 사용하지 않고도 네트워크를 만들 수 있다는 큰 장점이 있음
5. LoRa (Long Range)
1) LoRa란?
- 블루투스와 와이파이는 가시적인 거리에 있어야지 할 수 있지만 LoRa는 이동통신 커버리지로 최대 10km까지 전송 가능하고 ISM 밴드로서 주파수에 돈을 내지 않고 사용 가능
- 최근에 만들어져서 많은 관심을 가지고 있음
- cycleo를 Semtech에서 인수하면서 주로 이용됨
- 주파수가 낮아서 멀리 퍼져나갈 수 있음
- 하지만 저전력이기에 전송속도가 빠르지는 않음 -> 사람을 위한 것이 아닌 sensor와 같은 기계에 사용됨
- LoRa: physical layer + 약간의 MAC
- LoRa WAN: 살짝 다름
- 멀리 떨어진 것을 통신해야하는 예시) 광산 -> 오염 여부 등 체크 / 신재생에너지 모니터링 / 천연 자원 등
- 통신사에 돈을 주지 않고, 간헐적으로 멀리 떨어진 것과 통신해야할 때 많이 사용함
(1) LoRa alliance
- 표준도 직접 만들고, 프로모션도 함(블루투스와 동일)
- Wide Area임
- Target application이 IoT로 정해져있음(센서나 액츄에이터, 모터 등을 타겟함)
2) Protocol Layer
- LoRa의 layer 아키텍쳐
- physical layer이며 위에 MAC이 있음
Class A는 간단한 것, Class B 주기적인 무언가를 할 때, Class C 주기적으로 무언가를 할 때
- 간헐적으로 데이터 송수신하기에 Application도 만들 수 있음
- 이 모든 것을 LoRa Alliance에서 처리함
6. LoRaWAN
1) LoRaWAN이란?
- 블루투스를 기술적으로 흉내낸 뒤, 타겟팅은 이동통신임
- 블루투스 매쉬 네트워킹과 이동통신의 차이점은 블루투스를 지원하는 기기들간에 대한 네트워킹과 인터넷 너머에 있는 누군가와 통신하는 것이 중요함 -> 이를 이동통신에 초점을 맞춰 만들어서 LoRaWAN이라고 함
- SK telecom이 LoRa WAN 이동통신 비슷한 사업을 하는데 우리가 비용을 지급하는 것은 주파수에 대한 비용을 지불하는 것이 아니라 장치 설치 비용을 지불하는 것임
- 비인가 주파수인 ISM 밴드로 사업을 하는 사업자가 얼마나 있는지에 대한 정보
- 100개 이상의 국가가 해당 기술을 사용함
- 국내에서는 공공 목적의 무선통신을 제공하는 경우가 많음
- LoRa 기술을 사실 상 네트워킹 소프트웨어를 일부 넣어서 이동통신 사업으로 확장함
- 최근 만들어진 기술은 OSI의 계층을 파괴하는 경우가 많음
- LPWAN: low power Wide Area Network의 약자로 저전력으로 wide area하고자 하지만 대부분 실패함 -> LoRaWAN은 성공한 케이스
- 2015년에 표준을 만들고, 이때를 시작으로 알려지기 시작해서 new wifi로 알려지고 있음
- 최근에 알려진 가장 핫한 기술 중 하나
2) LoRaWAN의 Protocol layers
- 통신 프로토콜, OSI 7 layer에서 physical과 Data link를 지원함
- 데이터를 주고받는 layer 2의 기능을 충실히하고, 네트워킹이 가능하게 하기 위한 gateway, server 등과 같은 소프트웨어를 추가하고 오픈소스의 특징도 있음
- 자기에게 맞는 용도에 맞춰서 표준을 따를 필요가 없다고 생각해 OSI 7 layer를 따르지 않는 경우가 많아지고 있음
- 어플리케이션 서버가 있음
- LoRa WAN은 mac에 존재하지만 physical layer는 동일하고 그 위에서 LoRa MAC을 일부 바꾸고 어플리케이션을 올림
3) LoRaWAN의 Network Architecture
- 이동통신은 다양한 기기 간에 상호작용이 가능해야함
- 다양한 기기는 LoRa의 피지컬과 LoRaWAN의 MAC을 통해서 gateway나 LoRa 노드들과 통신을 진행함
* gateway: 왼쪽에 있는 것을 모아 오른쪽으로 보내거나 오른쪽에 있는 것을 모아 왼쪽으로 보내는 역할
- gateway에서 정보를 받아서 이동통신, 이더넷, 유선, 무선 등의 방식으로 네트워크로 연결해서 어딘가로 보냄
- BLE는 BLE끼리만 있고, WIFi도 Ad hoc도 WiFi끼리만 있었다가 AP가 있어서 이를 활용해 연결이 가능했음
- 사용자 장치(end- deviece)와 서버, gateway 등을 묶음으로 만듦
- GateWay는 표준에 상응하는 오픈 소스 소프트웨어가 굉장히 많음
- 결국 OSI 1, 2로 무선하는 것은 표준이지만 gateway 이후에는 표준이 아니기에 능력이 되면 필요할 때 만들어서 구현함
- 이 과정을 통해 이동통신스럽게 스마트폰이 존재하고 sk telecom 내에 서버들이 존재하는 것처럼 형상을 만듦, 넓은 지역에 대해 중앙집중형으로 처리할 수 있도록 한 그림
4) Protocol Stack
맨 왼쪽이 센서, 가운데가 gateway, 오른쪽이 어플리케이션 서버라고 하면 LoRa를 지원하는 센서가 가운데 있는 장치와 통신을 함, IP 패킷은 통해서 서버로 전달함. OSI 7 layer 상 어플리케이션은 동일하기에 필요한 정보는 주고 받음.
무선은 LoRa WAN, LoRa 표준을 따르며 오른쪽에서 IP 위에서 주고받는 것은 필요한만큼 짜면 되는 오픈소스 개방형임
7. LoRa/LoRaWAN Implementation
LoRa와 LoRaWAN을 어떻게 구현할 것인가.
1) OPEN
- MAC layer 마저 표준에 있지만 오픈소스를 스스로 만들어서 공개함 -> 와이파이나 블루투스의 MAC과는 다르게 이론상 본인이 필요하면 바꿀 수 있음. 내가 만들어서 내 장비간에 통신할 경우에는 불법적인 요소없이 사용할 때 LoRaWAN 사용할 수 있음
- hardware, software, standard(가이드 라인), spectrum의 종류 등이 있음
2) OPEN이 가능한 이유
- Semtech의 특허는 physical layer의 가장 밑 바닥에 두어, 가장 왼쪽의 chipset에 대해서만 특허를 가지고 있음. 표준은 존재하지만 반드시 지켜야하는 것을 제외한 나머지는 상관없음 -> LoRa를 기준으로 한 환경을 형성함
- chipset을 포함한 모듈도 만들어지고, device도 만들어지고 분석도 하고, 어플리케이션 서버가 등장하는 등등 LoRa를 기반으로 한 환경이 형성됨
- 이동통신이 아닌 LoRAWAN은 굉장히 다양한 사업이 진행되고 있음
- 아두이노, 라즈베리파이를 통해 기본적으로 만들 수 있음
'강의 내용 정리 > 컴퓨터 네트워크' 카테고리의 다른 글
컴퓨터 네트워크 (6), Network Layer 2 (0) | 2022.04.28 |
---|---|
컴퓨터 네트워크 (5), Network Layer 1 (0) | 2022.04.28 |
컴퓨터 네트워크(3), DLC Layer (0) | 2022.04.28 |
컴퓨터 네트워크(2-2), MAC Layer (0) | 2022.04.14 |
컴퓨터 네트워크(2-1), Basic Terminologies (0) | 2022.04.14 |