[CS] 물리 계층 / 데이터 링크 계층

눈치없어·2025년 3월 19일

이더넷

물리 계층과 데이터 링크 계층에는 LAN 내의 호스트들이 올바르게 정보를 주고받을 수 있게 해주는 다양한 기술들이 포함되어 있는데, 대표적으로 이더넷이 있음

이더넷: 통신 매체를 통해 신호를 송수신하는 방법, 데이터 링크 계층에서 주고받는 데이터(프레임) 형식 등이 정의된 기술
현대 대부분의 (유선)LAN은 이더넷을 기반으로 구현되어 있음

이더넷 표준

이더넷은 IEEE 802.3이라는 이름으로 국제 표준화된 기술
서로 다른 제조사의 네트워크 장비라 하더라도 LAN 내의 모든 컴퓨터가 해당 네트워크 장비와 문제없이 호환되는 이유는 네트워크 장비들이 관련 표준을 준수하여 제작되었기 때문

IEEE 802.3은 엄밀히 말해 "이더넷과 관련된 다양한 표준들의 모음"에 가까움
IEEE 802.3u, IEEE 802.3ab 등 여러 버전이 지속적으로 만들어지고 있음

개발자 입장에서 기억할 2가지 사항

  • 현대 (유선)LAN 대부분이 이더넷 표준을 따르기 때문에 대다수의 LAN 장비들이 특정 이더넷 표준을 따른다.
  • 이더넷 표준이 달라지면 통신 매체의 종류를 비롯한 신호 송수신 방법, 나아가 최대 지원 속도도 달라질 수 있다.

최신 이더넷 표준을 준수하는 네트워크 장비는 일반적으로 최대 지원 속도가 빠른 경우가 많음


이더넷 프레임

이더넷 기반의 네트워크에서 주고받는 프레임
현대 주로 사용되는 이더넷 프레임은 Ethernet II 프레임이라고도 부름
현대 (유선)LAN은 대부분 이더넷을 기반으로 구현되고 있기 때문에 사실상 '프레임'이 이더넷 프레임을 지칭한다고 봐도 무방

📌 프레임을 구성하는 5가지 정보

1️⃣ 프리앰블 (Preamble)

  • 송수신지 동기화를 위해 사용되는 8바이트(64비트) 크기의 정보
  • 프리앰블의 첫 7바이트는 10101010이라는 값을 가지고, 마지막 바이트는 10101011 값을 가짐
  • 수신지에서는 이 프리앰블을 통해 현재 이더넷 프레임이 수신되고 있다는 사실을 인식

2️⃣ 송수신지 MAC 주소 (Destination and Source MAC Address)

  • 이더넷 프레임에서 송신지와 수신지의 물리적 주소를 식별
  • 각 MAC 주소는 6바이트(48비트) 크기. 예시: ab:cd:ab:cd:00:01
  • MAC 주소는 네트워크 인터페이스마다 하나씩 부여되는 물리적 주소
  • 따라서 NIC가 여러 개인 상황처럼 네트워크 인터페이스가 여럿이라면 한 호스트가 여러 개의 MAC 주소를 가질 수 있음
  • 네트워크 인터페이스: 네트워크를 향하는 통로, 연결 매체와의 연결 지점을 의미

3️⃣ 타입/길이 (Type/Length)

  • 필드에 명시된 크기가 1500 이하면 길이, 1536 이상이면 타입을 나타냄
  • 타입은 캡슐화된 상의 계층의 정보를 의미하기 때문에 타입을 통해 어떤 상위 계층 프로토콜이 캡슐화 되었는지 알 수 있음
  • 예시로 IP(IPv4)가 캡슐화된 정보를 운반한다면 타입에는 16진수 0800이 명시되고, ARP 프롵토콜이 캡슐화된 정보를 운반한다면 타입에서 16진수 0806이 명시됨

4️⃣ 데이터 (Data)

  • 페이로드, 즉 상위 계층으로 전달하거나 전달받을 데이터가 명시됨
  • 데이터 필드의 최대 크기는 1500바이트. 이 크기를 초과하는 데이터는 여러 패킷으로 나누어 보내야 함
  • 이 1500바이트를 MTU (Maximum Transmission Unit)라고 함
  • 점보 프레임: MTU가 1500바이트를 초과할 수 있는 특수한 프레임

5️⃣ FCS (Frame Check Sequence)

  • 트레일러이며 프레임의 오류가 있는지의 여부를 확인하기 위한 필드로 CRC 라는 오류 검출용 값이 명시됨
  • 송신지에서 전송할 데이터와 함께 전송할 데이터에 대한 CRC 값을 계산하여 보내면 수신지에서는 전달받은 데이터에 대한 CRC 값을 계산하여 그 값을 전달받은 CRC 값과 대조. 전송된 CRC 값과 비교하여 데이터에 오류가 없는지 확인

예시: 실제 이더넷 프레임
송신지 MAC 주소: 12:00:00:01:01:01
수신지 MAC 주소: f2:00:00:02:02:02
타입: 0x0800 (IPv4)
이 프레임은 12:00:00:01:01:01이라는 송신지의 MAC 주소에서 f2:00:00:02:02:02라는 수신지의 MAC 주소로 IPv4 프로토콜이 캡슐화된 데이터를 보내는 이더넷 프레임



유무선 통신 매체

케이블과 같은 통신 매체는 개발자 입장에서 크게 신경 쓸 필요가 없다고 생각할 수 있지만,
통신 매체는 의외로 모든 성능의 기본이 되는 경우가 많음

유선 매체 - 트위스티드 페어 케이블

트위스티드 페어 케이블: 구리선을 통해 전기적으로 신호를 주고받는 통신 매체
두 가닥(pair)씩 꼬아져 있는(twisted) 구리선

📌 트위스티드 페어 케이블 카테고리

  • 트위스티드 페어 케이블의 성능은 카테고리로 구분. 각 카테고리에 따라 지원되는 이더넷 표준이나 최대 지원 속도가 다름
  • 예시로 카테고리 7 (Cat7) 이나 카테고리 8 (Cat8)로 표기

📌 트위스티드 페어 케이블 노이즈

  • 구리선을 통해 전기적인 신호를 주고받기 때문에 전기 신호에 왜곡을 줄 수 있는 주변 잡음(노이즈)에 취약함
  • 차폐를 통해 방지하는 방법이 많이 사용됨

📌 차폐 방식

  • 구리선 주변을 보호해 노이즈를 감소시키는 방식
  • 차폐에 사용된 그물 모양의 철사와 포일은 각각 브레이드 실드와 포일 실드라고 함
  • 브레이드 실드 (Braided Shield): 그물 모양의 철사로 감싸서 노이즈를 감소시키는 방식
    - 이를 적용한 케이블은 STP (Shielded Twisted Pair) 케이블이라고 함
  • 포일 실드 (Foil Shield): 포일로 감싸서 노이즈를 감소시키는 방식
    - 이를 적용한 케이블은 FTP (Foiled Twisted Pair) 케이블이라고 함
  • UTP (Unshielded Twisted Pair): 아무것도 감싸지 않아 구리선만 있는 케이블

📌 실드의 상세 표기

트위스티드 페어 케이블은 기본적으로 실드의 사용 여부 혹은 사용된 실드의 종류에 따라 STP, FTP, UTP로 나누지만, 최근에는 더 상세하게 다음과 같은 형식으로 실드를 표기

[ㅤㅤ]/[ㅤㅤ] TP

첫 번째와 두 번째 괄호 안에 U, S, F를 명시할 수 있음

U: 실드 없음
S: 브레이드 실드
F: 포일 실드
첫 번째 괄호에는 케이블 외부를 감싸는 실드 종류를 명시
두 번째 괄호에는 꼬아 놓은 구리선을 감싸는 실드 종류를 명시

S/FTP 케이블: 브레이드 실드로 케이블 외부를 보호하고, 포일 실드로 꼬아 놓은 구리선을 감싼 케이블
F/FTP 케이블: 케이블 외부와 꼬아 놓은 구리선을 모두 포일 실드로 감싼 케이블
SF/FTP 케이블: 케이블 외부는 브레이드 실드와 포일 실드로 감싸고, 각각의 구리선은 포일 실드로 감싼 케이블
U/UTP: 아무것도 감싸지 않은 케이블



무선 매체 - 전파와 WiFi

📌 전파

  • 약 3kHz부터 3THz 사이의 진동수를 갖는 전자기파를 의미
  • 개발자 입장에서 진동수 2.4GHz와 5GHz 정도는 알아 두는 것이 좋음
  • 두 진동수는 모두 3kHz부터 3THz 사이에 속한 진동수로 와이파이를 사용할 때 주로 활용됨

📌 WiFi (무선 LAN)

  • WiFi는 IEEE 802.11 표준을 따르는 무선 LAN 기술
  • 802.11 뒤에 붙는 알파벳(예: 802.11ac, 802.11ax)은 표준 규격을 구분하며, 표준에 따라 최대 속도나 주파수 대역이 달라짐
  • WiFi 세대는 WiFi 4, WiFi 5와 같이 구분되며, 세대에 따라 지원 속도와 주파수가 달라짐

📌 주파수 대역 / 신호 간섭

  • 전파 통신을 주고받을 때 주파수 대역이 겹치면 신호의 간섭이 발생할 수 있음
  • 따라서 별개의 무선 네트워크는 같은 주파수 대역을 사용하더라도 서로의 신호에 간섭하지 않아야 함
  • 채널: 주파수 대역 내에서 전파를 전송하는 하위 주파수 대역. 채널은 주파수 대역을 세분화하여, 다수의 무선 네트워크가 동일한 대역에서 간섭 없이 통신할 수 있도록 함

그림에서 2.4GHz 대역의 채널을 살펴보면 1, 6, 11번 채널의 주파수는 서로 중첩되지 않음
따라서 1, 6, 11번 채널을 사용하는 무선 네트워크는 아무리 많은 통신이 이루어지더라도 신호 간섭으로 인한 성능 저하가 발생하지 않음.
반면, 1, 2, 3번 채널을 사용하는 무선 네트워크는 신호가 중첩될 여지가 많아 자주 발생하는 신호 간섭으로 인해 성능이 현저히 저하될 수 있음

한 줄 요약
전파는 3kHz ~ 3THz 범위의 전자기파, WiFi에서 주로 2.4GHz와 5GHz 주파수를 사용
WiFi는 IEEE 802.11 표준을 따르며, 세대별로 속도와 주파수가 달라짐
주파수 간섭을 피하기 위해서는 겹치지 않는 채널을 사용해야 하며, 이를 통해 무선 네트워크의 성능을 최적화할 수 있음

📌 AP / SSID

  • AP: 여러 무선 통신 기기를 연결해 무선 네트워크를 구성하는 장비
    - 무선 공유기가 AP의 역할을 담당하는 대표적인 네트워크 장비
  • 서비스 셋: AP를 중심으로 구성된 무선 네트워크
  • SSID: 서비스 셋을 식별하는 정보로 "서비스 셋 식별자" 줄임말
    - 와이파이 이름으로 사용되는 정보가 SSID


네트워크 인터페이스: NIC

네트워크 인터페이스노드와 통신 매체가 연결되는 지점을 의미하며, 네트워크에서 정보를 송수신하는 통로 역할을 함. 네트워크 인터페이스는 MAC 주소라는 물리적 주소를 가지고 있으며, NIC라는 하드웨어가 그 역할을 담당

📌 NIC

네트워크 인터페이스 카드, 네트워크 어뎁터, LAN 카드, 네트워크 카드, (이더넷 네트워크의 경우)이더넷 카드 등 다양한 명칭으로 불리는 하드웨어
다양한 형태로 제공되며, 이더넷 카드, USB 연결, 메인보드 내장형 등이 있음

NIC 역할

  • 프레임 변환: 통신 매체의 신호를 호스트가 이해하는 프레임으로 변환하거나, 호스트가 이해하는 프레임을 통신 매체의 신호로 변환
  • 패킷 검증: 때로는 MAC 주소를 기반으로 잘못 전송된 패킷이 없는지 확인

NIC 동작

  • 입출력 장치처럼 동작하며, 인터럽트와 DMA를 사용하여 효율적으로 작업을 처리
  • 속도가 네트워크 성능에 큰 영향을 미치며, 필요에 따라 고속 NIC를 추가할 수 있음

📌 티밍 / 본딩

  • 여러 물리적 NIC를 결합하여 고속 NIC처럼 구성하는 방법
  • 티밍은 Windows, 본딩은 Linux에서 주로 사용
  • RAID처럼 여러 장치를 결합하여 더 나은 성능과 안정성을 추구하는 방식


허브와 스위치

허브와 스위치는 물리 계층과 데이터 링크 계층의 중간 노드

물리 계층의 허브

허브는 물리 계층의 대표적인 네트워크 장비로, 여러 대의 호스트를 연결하는 장치
리피터 허브라고 부르기도 하고, 이더넷 네트워크 허브는 이더넷 허브 라고 부르기도 함
허브에서 케이블의 커넥터가 꽂히는 부분. 통신 매체를 연결하는 지점은 포트라고 함

📌 허브 2가지 특징

  • 전달받은 신호를 모든 포트로 내보냄
    - 허브는 신호를 전달받으면 해당 신호에 대한 어떠한 조작이나 판단도 하지 않고, 모든 포트에 단순하게 신호를 내보냄
  • 반이중 모드로 통신
    - 반이중 통신은 반이중 모드로 송수신하는 것

반이중 모드: 송신 또는 수신을 번갈아 가면서 수행해야 하는 통신 방식을 의미
동시 송수신이 불가능한 상태.(무전기와 같이 어느 한 쪽이 송신할 때 다른 쪽은 송신이 불가능)
전이중 통신: 반이중 통신과 대비되는 통신으로 전이중 모드로 송수신하는 것
전이중 모드: 동시 송수신이 가능한 상태를 의미(전화기처럼 양방향 송수신이 가능한 상태)

📌 충돌과 충돌 도메인

허브는 반이중 모드로 통신하기 때문에 어느 한 호스트가 허브를 향해 정보를 전달하면 다른 호스트는 정보를 전송할 수 없음
만약 허브를 향해 동시에 메시지를 보내면 충돌이라는 문제가 발생하고, 충돌이 발생할 수 있는 영역을 콜리전(충돌) 도메인이라고 함


데이터 링크 계층의 스위치

스위치는 허브의 한계를 보완하기 위한 네트워크 장비
스위치는 허브와 달리 전달받은 신호를 목적지 호스트가 연결된 포트로만 내보내고, 전이중 모드를 지원하므로 허브와 비교해 콜리전 도메인이 좁음

📌 MAC 주소 학습

  • 스위치는 데이터링크 계층에 속하는 장비로, 프레임 헤더에 포함된 MAC 주소를 기반으로 네트워크 내에서 어떤 포트에 어떤 MAC 주소를 가진 호스트가 연결되어 있는지 파악
  • 스위치는 전달받은 프레임의 MAC 주소를 이용해, 포트와 MAC 주소의 대응 관계를 MAC 주소 테이블에 저장. 이 테이블을 통해, 스위치는 목적지 호스트가 연결된 포트로만 신호를 내보낼 수 있음

📌 VLAN (Virtual LAN)

  • VLAN은 가상 LAN을 의미하며, 이 기능은 대표적으로 같은 스위치에 연결된 모든 호스트를 하나의 네트워크로 간주하고 싶지 않을 때, 여러 논리적인 네트워크로 나누고 싶을 때 사용됨

그림과 같이 연결된 호스트 A~I를 2개의 VLAN으로 나누는 경우
호스트 A~D와 호스트 E~I는 서로 다른 VLAN에 속해 있으므로 서로 다른 네트워크로 간주되며,
브로드캐스트 도메인도 겹치지 않아 VLAN1의 브로드캐스트 메시지가 VLAN2에 도달하지 않음
호스트 A~D와 호스트 E~I가 서로 통신을 주고받으려면 네트워크 계층 이상의 장비가 필요함




참고: 북스터디 - 이것이 취업을 위한 컴퓨터 과학이다 (Chapter 5-2)

profile
dock 사이즈 다르잖아

0개의 댓글