## 1. LAN 개요 ![[Data Link Layer - Figure 4.1. IEEE standard for LAN's.png|center|400]] - Data Link 계층의 기술 - <span style="color:rgb(186, 186, 186)">IEEE 802 섹션에 정의되어 있음</span> - LAN의 하부 계층은 <mark style="background: #FFF3A3A6;">**논리 연결 제어(LLC)**와 **매체 접근 제어(MAC)**</mark> 계층으로 나눌 수 있음 ![[Data Link Layer - Figure 7-2 IEEE 802에 규정된 LLC와 MAC.png|center|500]] <br> ### LLC 계층 - Logical Link Control 계층 : 두 노드를 논리적으로 연결하는 계층 - 프레임을 송수신하는 방식을 정함 - 상위 계층(네트워크 계층) 프로토콜과의 인터페이스를 제공함 - <mark style="background: #FFF3A3A6;">프레임을 에러 없이 전달하면서도 프레임 전송률을 높이는 것이 중요한 목표</mark> - 사용되는 프로토콜에 따라 3가지 종류로 나뉨 ![[Data Link Layer - Table 7-2 LLC 타입과 특징.png]] <br> ### MAC 계층 - Media Access Control 계층 : 여러 종류 LAN의 연결형태, 데이터 전송방법, 헤더를 정의하는 계층 - MAC에 대한 설명은 대부분 **Ethernet**을 기준으로 함 - Ethernet은 star topology + CSMA/CD 프로토콜로 정의 - <mark style="background: #FFF3A3A6;">**MAC 주소**</mark>, 6 bytes(48 bits) - IP 주소는 사용자가 변경할 수 있는 값이지만, MAC 주소는 통신기기가 만들어질 때 제조사가 임의로 부여한 값으로 변경 불가함 <mark style="background: #FFF3A3A6;">**= physical address**</mark> - 모든 통신기기는 MAC 주소와 IP 주소를 같이 가지고 있음 <br><br> <br> ## 2. ETHERNET ### 이더넷 개요 ![[Data Link Layer - Figure 7-4 이더넷 연결 형태.png|center|500]] - **일반적으로 LAN에서 가장 많이 활용되는 기술 규격** - 초기에는 bus topology로 구성되었으며, 현재는 **star topology**로 구성됨 - <span style="color:rgb(186, 186, 186)">IEEE 802.3 참고</span> - 유선의 경우 허브 사용, 무선은 와이파이 사용 - Hub: Ethernet에서 각 호스트를 유선으로 연결하는 장치 - WiFi: 무선으로 연결할 수 있는 장치의 규격 (무선 공유기) - **특징** : **비신뢰성 및 비연결성** - Ethernet은 connectionless 프로토콜로, 송신 및 수신 간의 핸드셰이킹 없이 데이터를 전송함 - unreliable 특성으로 인해 손실된 데이터는 상위 계층 프로토콜 (예: TCP)을 통해서만 복구됨 - Ethernet의 MAC 프로토콜은 **unslotted** CSMA/CD with binary backoff 를 사용함 - **802.3 Ethernet 표준: 링크 및 물리 계층** - 다양한 속도와 물리 계층 매체를 지원하는 여러 Ethernet 표준이 존재함 - 공통 MAC 프로토콜과 프레임 형식을 유지하면서 다양한 네트워크 환경에 적응함 <br> ### 이더넷의 발전 > 발전과정 스근하게 보고 넘어감. Standard Ethernet만 그나마 열심히 알려주심 <br> ![[Data Link Layer - Figure 4.2 Ethernet evolution through four generations.png|center|500]] #### Standard Ethernet - **10Mbps**의 data rate를 가짐 - Standard Ethernet의 기본적인 기술 요소는 대부분 현재도 그대로임 <br> **Connectionless and Unreliable Service** - ACK 없음, 보내고 나면 알아서 잘 갔겠지~ 라고 생각함 - 프레임이 독립적으로 전송됨 <br> **Frame 포맷** ![[Data Link Layer - Figure 4.3 Ethernet frame.png|center|500]] - **Preamble**(7 bytes) : 신호가 잘 들어오고 있는지 체크하는 역할(프레임 동기화), 싱크를 맞추는 데 사용됨 - **SFD**(1 byte) : start frame delimiter, 10101011(0xAB)로 프레임의 시작을 알림 - **Address**(각 6 bytes) : 프레임을 수신할 장치의 MAC 주소, 프레임을 전송하는 장치의 MAC 주소 - **Type**(2 bytes) : 프레임의 데이터 필드가 어떤 프로토콜을 사용하는지 - <span style="color:rgb(186, 186, 186)">0x0800은 IPv4, 0x0806은 ARP, 0x86DD는 IPv6를 의미함</span> - **Data and padding**(46~1500 bytes) : 실제 전송 데이터 - 데이터가 최소 프레임 크기인 64 바이트를 만족하도록 padding(0 bit)을 추가함 - **CRC**(4 bytes) : error detection, correction 용도로 쓰이는 비트 <br> **Frame 길이** - <span style="color:rgb(186, 186, 186)">CSMA/CD에서 잘 동작하기 위해</span> 최소·최대 길이 제한을 두고 있음 - 프레임의 최소·최대 길이는 64~1518 bytes (preamble 및 SFD 포함 안 함) - 최대 payload(데이터)는 1500 bytes <br> **Addressing** - 이더넷 네트워크에 있는 스테이션(PC, 프린터 등)은 고유한 NIC(network interface card)를 가지고 있음 - NIC는 link-layer 주소를 제공함 - 이더넷 MAC 주소는 6bytes(48bits)이며, 일반적으로 16진수로 표기하고 바이트는 콜론으로 구분함 - <span style="color:rgb(186, 186, 186)">e.g. 4A:30:10:21:10:1A</span> <br> **주소 비트 전송 방법** ![[Data Link Layer - Ethernet Example 4.1.png|center|500]] - 16진수 표기법으로 주소를 작성할 때와는 다르게, 실제 전송할 때는 특정한 규칙에 따라 비트를 전송함 - 주소는 왼쪽에서 오른쪽으로, 바이트 단위로 전송됨 - 그러나 각 바이트 내에서는 최하위 비트(LSB, Least Significant Bit)가 먼저 전송됨 - 16진수를 2진수로 바꾼 후에, 비트의 순서를 뒤집으면 됨 - <mark style="background: #FFF3A3A6;">**즉 전송은 left to right, byte to byte로 이루어지지만, 각 byte는 right to left로 전송됨**</mark> <br> **Unicast, Multicast, and Broadcast Addresses** ![[Data Link Layer - Figure 4.4 Unicast and multicast addresses.png|center|400]] - 앞선 방법처럼 주소를 뒤집으면 첫번째 비트만 보고도 Unicast, Multicast, Broadcast Addresses 를 바로 구분할 수 있음 - unicast(특정 하나의 수신자에게 전송)는 짝수, multicast(특정 그룹에게 전송)는 홀수, 모두 F면 broadcast(네트워크 상의 모든 장치에 전송) ![[Data Link Layer - Example 4.2.png|center|400]] <br> **Implementation** ![[Data Link Layer - Table 4.1 Summary of Standard Ethernet implementations.png|center|500]] > **CSMA/CD의 기본 개념** > - **CSMA (Carrier Sense Multiple Access)**: 모든 장치는 네트워크에서 데이터를 전송하기 전에 채널을 감지하여 다른 장치가 데이터를 전송 중인지 확인함 > - **CD (Collision Detection)**: 두 개 이상의 장치가 동시에 데이터를 전송하려고 할 때 발생하는 충돌을 감지함 > - 최소 프레임 크기는 송신 장치가 프레임을 전송하면서 충돌 신호를 수신하기에 충분히 길어야 함 > > **프레임의 최소 크기와 네트워크의 최대 길이** > CSMA/CD 프로토콜에서 충돌 감지 메커니즘이 제대로 작동하려면, 프레임의 최소 크기와 네트워크의 최대 길이 간의 균형을 유지하는 것이 중요. 전송 속도가 증가하면 충돌 감지 시간이 줄어들어야 하므로, 네트워크의 최대 길이를 줄여야 함. 이를 통해 충돌이 발생했을 때 신속하게 감지하고 대응할 수 있음 <br><br> #### Fast Ethernet - **100Mbps**의 data rate를 가짐 - Standard Ethernet에서 전송 속도만 빨라지고 나머진 거의 안 바뀜 - Standard Ethernet과 함께 쓰기 위해 MAC 계층은 그대로 뒀음 - 전송 속도와 관련 있는 기능들은 수정이 필요했음 - **Access Method** - CSMA/CD는 전송 속도, 프레임의 최소 크기, 네트워크의 최대 길이에 따라 달라짐 - 프레임의 최소 크기를 유지하려면, 네트워크의 최대 길이를 변경해야 함 - 즉, 최소 프레임 크기가 여전히 512비트이고, 10배 더 빠르게 전송된다면 충돌을 10배 더 빨리 감지해야 하는데, 이는 네트워크의 최대 길이가 10배 더 짧아야 한다는 것을 의미함 (전파 속도는 변화 없음) - **<mark style="background: #FFF3A3A6;">결국 프레임 사이즈를 유지하고 싶으면 네트워크 거리를 줄여야 함</mark>** - <span style="color:rgb(186, 186, 186)">**Auto-negotiation**</span> - <span style="color:rgb(186, 186, 186)">두 노드 간의 협상을 해서 속도를 조절하는 등의 기능 </span> - <span style="color:rgb(186, 186, 186)">**Physical Layer**</span> - <span style="color:rgb(186, 186, 186)">이 전송 속도를 감당하려면 pysical layer에서 획기적인 발전이 있어야 함</span> ![[Data Link Layer - Table 4.2 Summary of Fast Ethernet implementations.png|center|500]] - medium length가 짧아진 걸 확인할 수 있음 <br><br> #### Gigabit Ethernet - **1000Mbps(1Gbps)**의 data rate를 가짐 - MAC 계층은 그대로 두는 게 목표였지만, 전송 속도를 더 높이기 위해서는 건들 수 밖에 없었음 - 여기서부터는 거의 full-duplex mode로 통신함 - central switch에 모든 컴퓨터가 연결된 형태 - 이 형태에서는 충돌이 없음 ![[Data Link Layer - Table 4.3 Summary of Gigabit Ethernet implementations.png|center|500]] <br> #### 이후 키워드 - MAN (metropolitan area network) - 10 Gigabit Ethernet (Standard 802.3ae) - CSMA/CD 사용 안 함 <br><br><span style="color:rgb(186, 186, 186)"></span> <br> ## 3. WiFi <br> **무선 네트워크 개요** - **현대 무선 및 이동 네트워크 상황** - 무선 및 모바일 네트워크 사용자가 증가하고 있으며, 4G/5G 셀룰러 네트워크가 인터넷 프로토콜 스택을 수용하고 있으며, SDN을 포함함 - 도전 과제 : 무선 링크를 통한 통신, 네트워크 연결 지점을 변경하는 이동 사용자 처리 - **무선 네트워크의 요소** - **무선 호스트**: 애플리케이션을 실행하는 장치 (노트북, 스마트폰, IoT 등) - **기지국(base station)**: 유선 네트워크와 무선 호스트 간의 패킷을 중계함 - **무선 링크**: 다양한 전송 속도와 거리를 가지며, 다중 접속 프로토콜로 접근을 조정함 - 이동 장치를 기지국에 연결, 백본 링크로 사용됨 - **무선 네트워크 분류** - 싱글 홉 네트워크: 인프라 유무에 따라 와이파이, 셀룰러 / 블루투스, 애드혹 네트워크로 분류됨 - 멀티 홉 네트워크: 인프라 유무에 따라 메시 네트워크 / MANET, VANET 등으로 분류됨 <br> **무선 연결의 특징** - **유선 링크와의 차이점** - **신호 강도 감소**: 라디오 신호는 물질을 통해 전파되면서 감쇠됨 (path loss) - **간섭**: 무선 네트워크 주파수 (예: 2.4 GHz)는 많은 장치(WiFi, 셀룰러, 모터 등)에 의해 공유됨 - **다중 경로 전파**: 라디오 신호가 물체나 지면에서 반사되어 목적지에 약간 다른 시간에 도착함 - **SNR (Signal-to-Noise Ratio)** - SNR이 클수록 잡음에서 신호를 추출하기 쉬움 (좋은 현상) - **SNR 과 BER (Bit Error Rate) tradeoff** 를 통해 신호 품질을 유지해야 함 - 주어진 물리 계층에서 전력을 증가시키면 -> SNR 증가 -> BER 감소 - 주어진 SNR에서, BER 요구 사항을 충족시키고 최대 처리량을 제공하는 물리 계층 선택 - SNR은 이동성과 함께 변할 수 있으므로 물리 계층(변조 기술, 속도)을 동적으로 적응시킴 <br> **와이파이** - WiFi는 WiFi Alliance의 인증을 받은 Wireless LAN임 - CSMA/CA를 사용하여 다중 접근을 관리하고, 기지국 기반 네트워크와 ad hoc 네트워크 버전이 있음 - 무선 호스트는 기지국(AP)과 통신함 - BSS(Basic Service Set)는 무선 호스트와 AP(기지국 역할)를 포함함 - ad hoc mode에서는 호스트만 포함함 - 다양한 암호화 기술을 사용하고 있음 - <span style="color:rgb(186, 186, 186)">초기에는 WEP(Wired Equivalent Privacy)을 사용했으나 쉽게 뚫리는 단점이 있어 추후 WPA, WPA2 등의 암호화방식이 추가되었음</span> <br> ### Architecture **이더넷의 기본 요소 : BSS와 ESS** ![[Data Link Layer - Figure 4.7 Basic service sets (BSSs).png|center|500]] - **BSS(Basic Service Set) : 무선 LAN의 가장 기본적인 구성 요소** - 여러 스테이션이 포함된 무선 네트워크 그룹 - 2가지 타입의 BSS가 있는데, Infrastructure BSS가 압도적으로 많음 - Ad-hoc BSS : AP 없이 두 개 이상의 스테이션이 직접 통신하는 방식 - Infrastructure BSS : 하나 이상의 스테이션이 AP를 통해 통신하는 방식, AP는 중앙 허브 역할을 하며, 모든 통신은 AP를 통해 이루어짐 - **AP(Access Point)** : 무선 네트워크의 중앙 허브 역할을 하며, 스테이션 간의 통신을 중계하고 유선 네트워크와의 연결을 제공함 ![[Data Link Layer - Figure 4.8 Extended service set (ESS).png|center|400]] - **ESS(Extended Service Set) : BSS를 여러개 묶어놓은 것** - 그림의 distribution system은 라우터라고 생각하면 됨 <br> **이동성으로 구분하는 3가지 station 유형** - **no-transition** : 고정되어 있거나(이동이 없거나) BSS 내부에서만 이동하는 스테이션 - **BSS-transition** : BSS 간 이동할 수는 있지만, 이동이 한 ESS 내에 국한된 스테이션 - **ESS-transition** : ESS 간 이동할 수 있는 스테이션 <br> - **채널 및 연결** - 주파수에 따라 채널이 분할되며, AP 관리자가 주파수를 선택함 - 간섭 가능성 있음: 인접 AP와 같은 채널을 선택할 수 있음 - ISM 주파수 : 이 주파수는 마음대로 쓰시오 (2.4GHz, 5GHz) , 파워는 제한되어있음 - 호스트는 AP와 연결되기 위해 채널을 스캔하고, 선택한 AP와 연결하여 IP 주소를 받음 - 채널을 스캔하여 **AP로부터** AP의 이름(SSID)과 MAC 주소가 포함된 **비콘 프레임**을 수신함 - 혹은 호스트가 요청 프레임을 브로드캐스트하면 AP가 응답 프레임을 전송함 (능동 스캐닝) - 호스트는 선택한 AP에 연결 요청을 하고 필요 시 인증을 수행함 - 일반적으로 DHCP를 실행하여 AP의 서브넷에서 IP 주소를 받음 <br><br> ### MAC sublayer > **CSMA/CA의 기본 개념** > - **채널 감지**: 스테이션이 데이터를 전송하기 전에 채널이 사용 중인지 감지함. 만약 채널이 사용 중이면 대기함 > - **백오프 타이머**: 채널이 사용 중이 아닐 때는 무작위 백오프 타이머를 설정하고 대기함 타이머가 0이 되면 데이터 전송을 시작함 > - **충돌 회피**: 데이터를 전송하기 전에 충돌을 피하기 위한 절차를 진행해서 충돌 가능성을 최소화 함 ![[Data Link Layer - Figure 4.9 MAC layers in IEEE 802.11 standard.png|center|500]] <br> <mark style="background: #FFF3A3A6;">**Distribution Coordination Function (DCF)**</mark> ![[Data Link Layer - 무선 네트워크에서 발생하는 hidden terminal problem.png|center|500]] - 무선 네트워크에서는 호스트 간 다른 통신 범위로 인해 **<mark style="background: #FFF3A3A6;">Hidden terminal problem</mark>**이 발생할 수 있음 - = hidden node problem - <span style="color:rgb(186, 186, 186)">무선 네트워크에서 각 호스트(예: A, D)는 서로 다른 통신 범위를 가집니다. 이는 일부 스테이션이 다른 스테이션의 신호를 감지하지 못하게 합니다. 호스트 A와 D가 서로의 존재를 모르고 동시에 데이터를 전송하면, 데이터 충돌이 발생할 수 있습니다. 충돌이 발생하면 데이터가 손실되고 재전송이 필요하게 되어 네트워크 성능이 저하됩니다.</span> ![[Data Link Layer - Figure 4.10-1 CSMA.CA and NAV.png|center|600]] - DCF는 **CSMA/CA 매커니즘**을 사용해서 무선 네트워크에서의 데이터 전송을 관리함 - hidden terminal problem을 해결하기 위해 **<mark style="background: #FFF3A3A6;">RTS/CTS 프로토콜</mark>**을 사용함 - <mark style="background: #FFF3A3A6;">**Frame 교환 타임라인**</mark> 1. **캐리어 센싱** - 데이터 프레임을 전송하기 전에 송신 스테이션은 채널의 에너지 레벨을 확인해서 매체를 감지함 - 채널은 백오프를 사용하여 채널이 비어 있을 때(idle)까지 대기함 2. **RTS 전송** - 송신 스테이션은 채널이 idle한 걸 확인한 후, **<mark style="background: #FFF3A3A6;">DIFS(DCF interframe space)</mark>** 라는 시간 동안 대기한 다음, **<mark style="background: #FFF3A3A6;">RTS(Request to Send)</mark>**라는 제어 프레임을 전송함 - A로부터의 RTS 메시지는 B에게 도달하지만, C와 D에게는 도달하지 않음 3. **CTS 응답** - RTS를 수신한 수신 스테이션은 <mark style="background: #FFF3A3A6;">**SIFS(Short Interframe Space)**</mark> 라는 시간 동안 대기한 후, **<mark style="background: #FFF3A3A6;">CTS(Clear to Send)</mark>**라는 제어 프레임을 송신 스테이션에게 전송함 - 이때 **<mark style="background: #FFF3A3A6;">CTS는 이를 수신할 수 있는 모든 스테이션에게 전송됨</mark>** - hidden terminal problem을 해결하고, 네트워크 내의 다른 스테이션들이 채널을 사용하지 않도록 하기 위해서 - CTS는 수신 스테이션이 데이터를 받을 준비가 되어 있음을 나타냄 - SIFS는 데이터 처리, CTS 생성, ACK 프레임 전송 등 프로세싱을 위한 짧은 시간임 - A, C, D 모두 B의 범위 내에 있어서 CTS 메세지는 C와 D에게도 도달함 - 스테이션 C, D는 숨겨진 스테이션이 채널을 사용 중임을 알고, 해당 지속 시간이 끝날 때까지 전송을 중단하고 대기함 4. **데이터 전송** - 송신 스테이션은 SIFS 시간 동안 대기한 후 데이터를 전송함 5. **ACK 수신** - 데이터를 수신한 수신 스테이션은 SIFS 시간 동안 대기한 후 **<mark style="background: #FFF3A3A6;">ACK</mark>을 송신 스테이션에게 전송하여 프레임이 정상적으로 수신되었음을 알림** ![[Data Link Layer - Figure 4.10-2 CSMA.CA and NAV.png|center|500]] - **Network Allocation Vector (NAV)** = 쉬는 시간 - RTS 프레임의 헤더에는 해당 전송에 걸리는 시간을 나타내는 'duration' 필드가 포함되어 있음 - 이 전송에 영향을 받는 스테이션들은 해당 필드를 참고해서 NAV라는 타이머를 만들어서 만듦 - NAV 타이머가 동작하는 동안에는 캐리어 센싱도 안 함 - NAV가 끝나고 나면 채널이 idle인지 체크함 - **Handshaking 도중(RTS, CTS 교환 중) 충돌이 발생하는 경우** - 두 개 이상의 스테이션이 동시에 RTS 프레임을 전송하고 해당 프레임끼리 충돌하는 경우가 발생할 수 있음 - 무선 네트워크에서는 유선 네트워크와 달리 충돌을 직접 감지할 수 있는 메커니즘이 없음 - 송신자는 수신자로부터 응답이 없으면 충돌이 발생했다고 가정함 - RTS 송신 시 CTS 응답이 없으면 충돌이 발생했다고 가정 - 충돌이 발생하면 송신자는 **백오프(backoff) 전략**을 사용함 - 백오프 전략 : 충돌을 피하기 위해 송신자가 일정 랜덤 시간 동안 대기한 후 다시 시도하는 방식 <br><br> **Point Coordination Function (PCF)** ![[Data Link Layer - Figure 4.11 Example of repetition interval.png]] -  PCF는 필수적인 기능이 아니며, 필요에 따라 인프라 네트워크에 추가될 수 있음 - AP(Access Point)가 있는 인프라스트럭처 모드에서만 PCF를 사용할 수 있음 - **DCF보다 우선권을 가지며, 네트워크 접근의 우선순위를 관리함** - PCF가 네트워크 접근을 조정할 때, DCF보다 먼저 채널을 점유할 수 있음 - 네트워크는 비콘(beacon)이라는 신호를 주기적으로 방송하는데, 이 비콘 간격 동안 PCF와 DCF는 네트워크 접근을 조정함 - **PCF 동작 방식** 1. **비콘 프레임** - AP는 주기적으로 비콘 프레임을 전송하여 네트워크의 동기화를 유지하고, PCF와 DCF의 repetition interval을 알림 - PCF와 DCF의 repetition interval을 설정해서 두 가지 접근 방식을 조정함 2. **PCF 기간, 폴링 메커니즘** - 비콘 프레임이 전송된 후, 일정 기간 동안 PCF가 채널을 점유하고, 폴링 메커니즘을 통해 스테이션에게 데이터를 전송할 기회를 줌 - 이를 위해 <mark style="background: #FFF3A3A6;">**PIFS(PCF interframe space) 는 SIFS보다 길고 DIFS보다는 짧음**</mark> 3. **DCF 기간** - PCF 기간이 끝나면, 나머지 비콘 간격 동안 DCF가 네트워크 접근을 조정함 - 이 기간 동안 스테이션들은 CSMA/CA 메커니즘을 사용하여 데이터를 전송함 <br> > **AP, DCF, PCF 다시 정리** > - **AP(Access Point)**: 무선 네트워크의 중심 역할을 하는 장치. AP는 네트워크에 연결된 모든 장치(스테이션)와 통신하며, 데이터를 주고받는 중계 역할을 맡음 > - **DCF(Distributed Coordination Function)**: 기본적인 무선 네트워크 접근 방식으로, 모든 장치가 네트워크를 공평하게 사용할 수 있도록 하는 방식. 장치들이 데이터를 전송하기 전에 채널이 비어 있는지 확인하고, 채널이 비어 있으면 데이터를 전송함. 충돌을 피하기 위해 CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance) 메커니즘을 사용 > - 대부분의 시간 동안, 네트워크는 DCF 모드로 작동함 > - **PCF(Point Coordination Function)**: 선택적인 무선 네트워크 접근 방식으로, AP가 네트워크 접근을 중앙에서 관리함. AP가 각 장치를 차례로 호출(polling)하여 데이터를 전송할 기회를 줌. 이 방식은 주로 실시간 트래픽(예: 음성, 비디오) 처리를 위해 사용됨 > - AP는 특정 시간 간격(비콘 간격)마다 PCF 모드로 전환됨 <br><br> **Fragmentation** - 무선 환경은 노이즈가 매우 많아서 프레임이 자주 손상됨 - 손상된 프레임은 재전송해야 함 - 이때문에 큰 프레임을 작게 쪼개서 보내는 걸 추천함 (=fragmentation) - 수신 측에서 채널 상태가 안 좋으니까 짧게 짧게 보내라고 이야기할 수 있음 <br><br> **Frame Format** ![[Data Link Layer - Figure 4.12 Frame format.png]] - **Frame Control**(2 bytes) : 프레임의 종류, 제어 정보 등등 - Protocol Version(2 bits) - Type(2 bits) : 프레임 유형 - 무선 랜의 프레임은 management frame(00), control frame(01), data frame(10)으로 나뉨 - Subtype(4 bits) : RTS(1011), CTS(1100), ACK(1101) - To DS, From DS(각 1 bit) - More flag(1 bit) : 1로 세팅되면 fragmentation 된 것을 나타냄 - Retry(1 bit) : 1로 세팅되면 재전송된 프레임임을 의미함 - Pwr mgt(1 bit) : 1로 세팅되면 스테이션이 power management mode임을 의미함 (신호 세기 조절) - More data(1 bit) : 1로 세팅되면 아직 스테이션이 보낼 데이터가 남았음을 의미함 - <span style="color:rgb(186, 186, 186)">WEP(1 bit) : Wired equivalent privacy (encryption implemented)</span> - Rsvd(1 bit) - **Duration** : 전송에 걸리는 시간, NAV 세팅용 <br><br> ### Addressing 방법 <br> **IEEE 802.11 addressing mechanism** ![[Data Link Layer - Figure 4.14 Addressing mechanisms.png|center|600]] - FC 필드의 To DS, From DS 플래그에 따라 주소를 읽는 방법이 4가지 종류로 나뉨 - 00 : source to destination - 01 : sending AP to destination - 10 : source to receiving AP - 11 : sending AP to receiving AP - 프레임 각 Address 필드의 의미 - Address 1 : 프레임이 다음으로 방문할 디바이스의 주소 - Address 2 : 프레임이 마지막으로 떠난 디바이스의 주소 - Address 3 : 주소 1이 최종 목적지가 아닌 경우 최종 목적지의 주소 / 주소 2가 원래 송신자가 아닌 경우 원래 송신자의 주소 - Address 4 : DS(분산 시스템)가 무선일 때 원래 송신자의 주소 <br><br> **Exposed Station Problem** ![[Data Link Layer - Figure 4.15 Exposed station problem.png|center|600]] - 무선 스테이션이 채널을 사용할 수 있음에도 불구하고 불필요하게 사용을 피하는 상황 - A와 B의 통신으로 인해 C 스테이션에 NAV가 설정됨으로써, 전송 범위 밖에 있는 D에게는 데이터를 보낼 수 있는 상황임에도 불구하고 채널을 사용하지 않은 채 가만히 있는 상태 (채널 용량이 낭비됨) - 효율성과 관련된 문제, 치명적이지는 않음 <br><br> ### Physical Layer - ISM(Industrial, Scientific, and Medical band) 밴드는 산업, 과학, 의료용 장비가 무선 통신을 위해 사용할 수 있도록 국제적으로 할당된 비면허 주파수 대역을 의미함 - 이 대역은 상업적 무선 통신뿐만 아니라 다양한 비통신용 애플리케이션에서도 자유롭게 사용할 수 있도록 설계됨 - **2.4 GHz 대역**: 가장 널리 사용되는 ISM 대역. Wi-Fi(802.11b/g/n), 블루투스, 무선 전화기, 무선 키보드 및 마우스 등에서 사용됨 - **5.8 GHz 대역**: Wi-Fi(802.11a/n/ac) 및 일부 무선 비디오 전송 시스템에서 사용됨 - **915 MHz 대역**: 북미 지역에서 무선 센서 네트워크 및 일부 RFID 시스템에서 사용됨 <br><br> <br> ## 4. Bluetooth - **서로 가까운 거리에 있는** 다양한 기능을 가진 장치들을 연결하기 위해 설계된 무선 LAN 기술 - ad hoc network임 - 네트워크가 필요에 따라 즉각적으로 구성되고, 별도의 설정이나 관리 없이 장치들이 서로를 찾아 자동으로 네트워크를 형성함 - 장치들(가젯, **gadgets**이라고도 불림)이 서로를 찾아서 피코넷(**piconet**)이라고 불리는 네트워크를 만듦 - 블루투스 LAN은 가젯 중 하나가 인터넷에 연결할 수 있는 기능을 가지고 있다면, 인터넷에 연결될 수도 있음 - <span style="color:rgb(186, 186, 186)">블루투스는 IEEE 802.15 WPAN(wireless personal area network) 표준에 포함됨</span> <br> ### Architecture <br> ![[Data Link Layer - piconet and scatternet.png]] <br> **블루투스 네트워크의 종류** - **피코넷 (Piconet)** - 블루투스 네트워크는 피코넷이라고 불림. 이는 소규모 네트워크를 의미함 - 최대 8개의 스테이션을 가질 수 있으며(primary 1 - secondaries 7), 이 중 하나는 primary라고 불리고 나머지는 secondary라고 불림 - 피코넷은 최대 7개의 secondary 스테이션을 가질 수 있지만, 별도의 더 많은 secondary 스테이션이 - **<mark style="background: #FFF3A3A6;">parked 상태</mark>** (active/parked state)에 있을 수 있음 - **스캐터넷 (Scatternet)** - 피코넷들을 결합하여 스캐터넷을 만들 수 있음 - 피코넷의 secondary 스테이션이 다른 피코넷에서는 primary 스테이션이 될 수 있음 <br> **블루투스 장치** - 블루투스 장치는 내장된 단거리 라디오 송신기를 가지고 있음 - 데이터 전송 속도는 1 Mbps이며, 2.4 GHz 대역폭을 사용함 - IEEE 802.11b 무선 LAN과 블루투스 LAN 간에 간섭이 발생할 가능성이 있음 <br><br> ### 블루투스의 Layer ![[Data Link Layer - Figure 4.22 Bluetooth layers.png|center|400]] ![[Data Link Layer - Figure 4.23 L2CAP data packet format.png|center|500]] <br> **L2CAP (Logical Link Control and Adaptation Protocol) Layer** - LAN의 LLC 서브레이어와 유사함 - 2 bytes(16 bits) length 필드가 상위 계층에서 오는 데이터의 크기를 바이트 단위로 정의함 - 데이터의 최대 크기는 65,535 바이트 (가변 길이) - <span style="color:rgb(186, 186, 186)">Channal ID는 이 계층에서 생성된 가상 채널의 고유 식별자를 정의함</span> <br> ![[Data Link Layer - TDMA Single-secondary communication.png|center|500]] ![[Data Link Layer - TDMA Multiple-secondary communication.png|center|480]] <br> **Baseband Layer** - LAN의 MAC 서브레이어와 유사함 - **<mark style="background: #FFF3A3A6;">TDMA(Time Division Multiple Access)</mark>** 접근 방식을 사용함 - TDMA = 여러 사용자가 동일한 주파수 채널을 공유하지만 서로 다른 시간 슬롯에서 데이터를 전송하도록 하는 통신 기술 - primary 스테이션과 secondary 스테이션은 타임 슬롯을 사용하여 서로 통신함 - 타임 슬롯의 길이는 정확히 625 μs로, 이는 Dwell Time과 동일함 - dwell time = 특정 주파수 채널에 머무르는 시간 - **TDD-TDMA(time-division duplex TDMA)** 방식 사용 - **half-duplex** 통신으로, 송신자와 수신자가 동시에 데이터를 송수신하지는 않지만, 각각의 방향으로 통신은 다른 hop을 사용함 - **hop** = 통신 장치는 일정한 시간 간격마다 주파수를 변경하면서 데이터를 전송하는데, 이때 주파수를 변경하는 각각의 단계를 hop이라고 함 - **Single-secondary 통신** (첫번째 그림) - 피코넷에 하나의 secondary 스테이션만 있는 경우 TDMA 동작은 매우 단순함 - 625 μs로 시간을 나눠서 primary 스테이션은 짝수 슬롯을, secondary는 홀수 슬롯을 사용함\ - **Multiple-secondary 통신** (두번째 그림) - 피코넷에 둘 이상의 secondary 스테이션이 있는 경우 복잡해짐 - primary 스테이션은 짝수 슬롯을 사용하지만, secondary 스테이션은 이전 슬롯 패킷의 주소가 자신에게 지정된 경우에만 다음 홀수 슬롯을 사용함 - 모든 secondary 스테이션은 짝수 슬롯에서 primary 스테이션의 데이터를 수신하기 위해 청취(listening)하고 있지만, 홀수 슬롯에서는 primary 스테이션의 지시에 따라 특정한 하나의 secondary 스테이션만 데이터를 전송함 ![[Data Link Layer - Bluetooth Basdband layer frame format.png|center|400]] - **Frame 포맷** - slot의 길이는 625 μs - 3가지 유형으로 나뉨 : 1-slot, 3-slot, or 5-slot - 1-slot 프레임 - 259 μs가 호핑과 제어 메커니즘에 필요함 = 프레임이 625 – 259 = 366 μs만 지속됨 - 대역폭이 1 MHz이고 1 bit/Hz이므로, 1-slot 프레임의 크기는 366 비트 - 3-slot 프레임 - 프레임 길이: 3 × 625 – 259 = 1616 μs 또는 1616 bits - 3-slot 프레임을 사용하는 장치는 3-slot 동안 동일한 hop에 머뭄 - 5-slot 프레임 - 프레임 길이: 5 × 625 – 259 = 2866 μs 또는 2866 bits <br> **Radio Layer** - 블루투스는 2.4 GHz ISM 대역을 사용하며, 각 1 MHz의 79개 채널로 나뉨 - FHSS (Frequency-hopping spread spectrum) - 블루투스는 물리 계층에서 FHSS 방법을 사용하여 다른 장치나 네트워크와의 간섭을 피함 - 블루투스는 초당 1600번 도약하므로, 각 장치는 초당 1600번 주파수를 변경함 - 한 주파수를 625 μs(1/1600초) 동안만 사용하고, 그 후 다른 주파수로 도약함 - <span style="color:rgb(186, 186, 186)">Modulation</span> - <span style="color:rgb(186, 186, 186)">블루투스는 비트를 신호로 변환하기 위해 GFSK(Gaussian FSK)라는 정교한 버전의 FSK를 사용함</span> - **첫 번째 채널은 캐리어 주파수 2402 MHz(2.402 GHz)를 사용하고, 두 번째 채널은 캐리어 주파수 2403 MHz(2.403 GHz)를 사용함** - $f_c = 2402 + n \text{MHz}, n = 0,1,2,...,78$ <br><br><br> <br>