컴퓨터 네트워크 - 물리 계층과 데이터 링크 계층

Raccoon·2025년 3월 11일
post-thumbnail

물리 계층과 데이터 링크 계층은 서로 밀접하게 연관되어 있다. 그 이유는 바로 이더넷 이라는 공통된 기술이 사용되기 때문이다.

이더넷

  • 현대 LAN, 특히 유선 LAN 환경에서 가장 대중적으로 사용되는 기술이다.
  • 이더넷은 다양한 통신 매체의 규격들과 송수신되는 프레임의 형태, 프레임을 주고받는 방법 등이 정의된 네트워크 기술이다.

이더넷 프레임

데이터 링크 계층에서 주고받는 프레임 형식은 정해져있는데, 이에 대해 살펴보자.
기본 구조는 아래와 같다.

프리앰블(preamble)

  • 이더넷 프레임의 시작을 알리는 8바이트(64비트) 크기의 정보
  • 첫바이트는 10101010 값을 가지고, 마지막 바이트는 10101011 값을 가짐
  • 수신자는 이 프리앰블을 통해 이더넷 프레임이 오고 있음을 알아차림 즉, 송수신지 간의 동기화를 위해 사용되는 정보

수신지 MAC 주소와 송신지 MAC 주소

  • MAC 주소 : 네트워크 인터페이스마다 부여되는 6바이트(48비트) 길이의 주소로, 일반적으로 고유하고 따라서 LAN 내의 수신지와 송신지를 특정할 수 있음
  • 일반적으로 변경되지 않는 주소지만, 변경이 가능한 경우도 많고, 실제로 고유하지 않을 수도 있음 다만, 동일 네트워크 내에서 동작하는 기기의 MAC 주소가 우연히 같을 확률은 매우 낮다.

타입/길이

  • 타입 : 이더넷 프레임이 어떤 정보를 캡슐화했는지를 나타냄. 대표적으로 상위 계층에서 사용된 프로토콜의 이름이 명시된다.
타입 프로토콜
0800 IPv4
86DD IPv6
0806 ARP

데이터

  • 상위 계층에서 전달받거나 상위 계층으로 전달해야 할 내용
  • 네트워크 계층의 데이터와 헤더를 합친 PDU가 이곳에 포함됨
  • 반드시 일정 크기(46바이트 이상)이어야 함. 그 이하의 데이터라면 패딩이라는 정보가 채워지고 46바이트 이상이 될 때까지 0으로 채워짐

FCS(Frame Check Sequence)

  • 수신한 이더넷 프레임에 오류가 있는지 확인하기 위한 필드
  • CRC(Cyclic Redundancy Check, 순환 중복 검사) 라고 불리는 오류 검출용 값이 들어감.
  • 송신지는 프리앰블을 제외한 나머지 필드 값으로 CRC 값을 계산, FCS 필드에 명시
    -> 수신지에서 똑같은 방법으로 CRC 값을 계산한 뒤 두 값을 대조
    -> 비교 값이 일치하지 않으면 프레임에 오류가 있다고 판단, 해당 프레임 폐기

NIC와 케이블

물리 계층과 데이터 링크 계층에서의 통신 매체와 관련된 장비를 살펴보자.

NIC(Network Interface Controller)

  • NIC는 호스트와 통신 매체를 연결하고 MAC 주소가 부여되는 네트워크 장비
  • 통신 매체에 흐르는 신호를 호스트가 이해하는 프레임으로 변환하거나 반대로 호스트가 이해하는 프레임을 통신 매체에 흐르는 신호로 변환하는 역할을 함
  • 어떤 프레임이 자신에게 도달했을 때 자신과는 관련 없는 수신지 MAC 주소가 명시된 프레임이라면 폐기할 수 있음
  • USB로 연결하는 형태, 마더보드(메인보드)에 내장된 형태 등 다양한 형태가 존재

케이블에는 대표적으로 트위스티드 페어 케이블광섬유 케이블이 존재한다.

트위스티드 페어 케이블

  • 구리 선으로 전기 신호를 주고받는 통신 매체
  • 케이블 본체와 커넥터(RJ-45)로 이루어짐

  • 케이블 본체는 구리 선이 두 가닥씩 꼬여있는 형태
  • 노이즈 : 본체가 구리 선으로 이루어져 있어, 전기 신호를 주고받을 때 신호를 왜곡시키는 간섭을 의미
  • 차폐 : 구리 선 주변을 감싸 노이즈를 감소시키는 방식. 브레이드 실드포일 실드 방식이 존재

광섬유 케이블

  • 빛(광신호)를 이용해 정보를 주고받는 케이블
  • 전기 신호를 이요하는 케이블에 속도가 빠르고 먼 거리 전송에 유리함. 따라서 대륙 간 네트워크 연결에도 사용됨
  • 역시나 케이블 본체와 커넥터로 이루어짐.
  • 광섬유 한 가닥을 확대하여 관찰하면, 광섬유의 중심에 코어가 있고, 코어를 둘러싸는 클래딩이 있음. 코어는 빛이 실질적으로 흐르는 부분, 클래딩은 코어와 클래딩 간의 굴절률 차이를 통해 빛이 코어 안에서만 흐르도록 빛을 가두는 역할을 함
  • 코어의 지름에 따라 싱글 모드 광섬유 케이블(SMF)멀티 모드 광섬유 케이블 로 나뉨
광섬유 케이블 본체 내부 광섬유 한 가닥

싱글 모드 광섬유 케이블(SMF)

  • 코어의 지름이 8 ~ 10μm (여담으로, 머리카락 평균 두께는 50 ~ 150μm)
  • 코어의 지름이 작아 빛의 이동 경로가 하나 이상을 갖기 어렵고, 이를 두고 모드가 하나라고 표현함
  • 신호 손실이 작아 장거리 전송에 적합하지만, 비용이 높음

멀티 모드 광섬유 케이블(MMF)

  • 코어의 지름이 50 ~ 62.5μm
  • 코어의 지름이 커 빛이 여러 경로로 이동할 수 있고, 이를 두고 모드가 여러 개라고 표현함
  • 신호 손실이 커 장거리 전송에 부적합. 따라서 비교적 근거리를 연결하는 데 주로 사용

허브

통신 매체를 통해 송수신되는 메시지는 다른 호스트에게 전달되는 과정에서 네트워크 장비를 거칠 수 있다. 대표적인 네트워크 장비로 물리 계층에는 허브 데이터 링크 계층에는 스위치가 있다.
허브를 소개하기 전, 물리 계층의 중요한 특징에 대해 알아야 할 사실이 있다.
그건 바로, 물리 계층에는 주소의 개념이 없다 는 점이다. 그렇기 때문에, 물리 계층의 네트워크 장비는 송수신되는 정보에 대한 어떠한 조작(송수신 내용 변경)이나 판단을 하지 않는다.
반면에, 물리 계층 이상의 장비들은 송수신지 특정이 가능하고, 주소를 바탕으로 송수신되는 정보에 대한 정보에 대한 조작과 판단이 가능하다는 점을 알아두자.

  • 허브는 여러대의 호스트를 연결하는 장치이다.
  • 신호를 전달받으면 어떠한 조작이나 판단을 하지 않고, 송신지를 제외한 모든 포트에 그저 내보내기만 한다.
  • 반이중 모드로 통신한다.

반이중과 전이중

반이중

  • 반이중 모드는 무전기처럼 송수신을 번갈아 가면서 하는 통신 방식이다.
  • 호스트 A가 B에게 메시지를 송신할 때, 호스트 B는 A에게 송신할 수 없다.

전이중

  • 전이중 모드는 송수신을 동시에 양방향으로 할 수 있는 통신 방식이다.

리피터

  • 전기 신호가 감소하거나 왜곡되는 것을 방지하기 위해 전기 신호를 증폭시켜 주는 장비
  • 물리 계층의 장비이므로 신호를 증폭만 시킴
  • 허브는 이러한 리피터의 기능을 포함하는 경우가 많음
  • 매우 긴 트위스티드 페어 케이블이 있다고 가정했을 때, 전송 거리가 길어질수록 전기 신호가 감소하므로, 이런 상황에 필요함.

콜리전 도메인

  • 동시에 허브에 신호를 송신하면 충돌(collision, 콜리전)이 발생
  • 이렇게 충돌이 발생할 수 있는 영역을 콜리전 도메인 이라고 부름 -> 허브에 연결된 모든 호스트는 같은 콜리전 도메인에 속함
  • 콜리전 도메인이 작을수록 충돌 가능성이 낮기에 좋음
  • 콜리전 도메인 문제를 해결하기 위해 CSMA/CD 프로토콜을 사용하거나, 스위치 장비를 사용할 수 있음

CSMA/CD

  • 반이중 이더넷 네트워크에서 충돌을 방지하는 대표적인 프로토콜
  • Carrier Sense  
    Multiple Access  
    with   Collision Detection   의 약자  

Carrier Sense

  • 캐리어 감지를 의미
  • 캐리어 감지 란 메시지를 보내기 전에 현재 네트워크상에서 전송 중인 것이 있는지를 확인하는 절차

Multiple Access

  • 다중 접근을 의미
  • 다중 접근 이란 캐리어 감지를 하는 데도 두 개 이상의 호스트가 부득이하게 동시에 네트워크를 사용하려 할 때를 의미. 이 때, 충돌이 발생

Collision Detection

  • 충돌 검출을 의미
  • 충돌을 감지하면 전송이 중단되고, 잼 신호라는 특별한 신호를 보낸 뒤, 임의의 시간 동안 기다린 뒤에 다시 전송한다.

정리하면,
1. 전송 가능 상태인지 확인
2. 다른 호스트가 전송 중이지 않을 때 메시지를 전송
3. 부득이하게 다중 접근이 발생했다면 임의의 시간만큼 대기한 후 다시 전송

스위치(L2 스위치)

  • MAC 주소 테이블을 통해 같은 네트워크에 있는 단말의 포트간 프레임 패킷 전송을 함
  • 스위치 는 전달받은 신호를 수신지 호스트가 연결된 포트로만 내보내고, 전이중 모드로 통신하는 기능을 제공
  • CSMA/CD를 통해 충돌 문제를 어느정도 완화할 수는 있지만, 이 방법이 더 근본적인 해결방법에 해당함. -> CSMA/CD 프로토콜의 대기 시간이 없어져 성능 향상
  • 2계층에서 사용한다 하여 L2 스위치 라고도 부름
  • MAC 주소 학습이 가능하고, MAC 주소 테이블을 가짐
  • MAC 주소 학습 : 특정 포트와 해당 포트에 연결된 호스트의 MAC 주소와의 관계를 기억하고 이를 통해 원하는 호스트에만 프레임을 전달하는 기능
  • MAC 주소 테이블 : 스위치의 포트와 연결된 호스트의 MAC 주소 연관 관계를 나타내는 표 형태의 정보

스위치의 MAC 주소 학습 방법

MAC 주소 학습은, 스위치의 세 가지 기능을 통해 이루어진다.

1. 플러딩
2. 포워딩과 필터링
3. 에이징

스위치는 처음에 호스트들의 MAC 주소와 연결된 포트의 연관 관계를 알지 못하기 때문에,
MAC 주소 테이블은 아래와 같이 비어있을 것이다.

호스트 A가 호스트 C로 프레임을 전송한다고 가정해보자.
그럼 다음과 같은 과정이 발생한다.

  1. 스위치가 호스트 A에서 프레임을 수신
  2. 수신한 프레임 내 송신지 MAC 주소 정보를 바탕으로 호스트 A의 MAC 주소와 연결된 포트를 MAC 주소 테이블에 저장

플러딩

위 상황에서 스위치는 마치 허브 처럼 송신지 포트를 제외한 모든 포트로 프레임을 전송 한다.
이 동작을 플러딩 이라 한다.

그 중에서, 호스트 B와 D는 자신과 관련이 없는 프레임을 전송받았기에 이를 폐기한다.
호스트 C는 스위치에 응답 프레임을 전송하고, 스위치는 다시 정보를 MAC 주소 테이블에 기록하게 된다.

필터링/포워딩

필터링 이란 전달받은 프레임을 어디로 내보내고 어디로 내보내지 않을지 결정하는 기능이다.
포워딩 이란 프레임이 전송될 포트에 실제로 프레임을 내보내는 것을 의미한다.

만약 송수신지 MAC 주소를 알고 있다면, 플러딩이 발생하지 않고 바로 유니캐스트 포워딩이 발생한다.
이 때, A->B, A->D로 보내지 않는 것도 필터링이라고 볼 수 있고, 플러딩시 자신과 관련이 없는 프레임을 폐기하는 것도 필터링이라고 볼 수 있다.

에이징

에이징 이란 MAC 주소 테이블에 등록된 항목이 일정 시간 동안 송신지로 지정되지 않으면 삭제되는 과정을 의미한다.
스위치는 MAC 주소 테이블을 유지하면서 각 MAC 주소마다 특정 시간(에이징 타이머) 을 설정한다.
만약, A가 프레임을 전송하면 에이징 타이머가 초기화된다.
단, 수신지로 지정되는 것은 에이징 타이머를 초기화시키지 않는다.
MAC 주소가 시간이 지나 유효하지 않을 수 있고, MAC 주소 테이블의 크기를 효율적으로 관리하기 위함이라고 한다.

VLAN

  • 한 대의 스위치로 가상의 LAN을 만드는 방법
  • 스위치의 또 다른 중요한 기능 중 하나
  • 서로 메시지를 주고받을 일이 적거나, 브로드캐스트 메시지를 받을 필요가 없다면 네트워크 상 불필요한 트래픽이 늘어나기 때문에 같은 네트워크에 속하지 않는 것이 좋음.
    이 때, VLAN은 새로운 스위치 장비를 구비하지 않고도 이 문제를 해결할 수 있게 해줌.
  • 즉, 호스트의 물리적 위치와 관계없이 논리적인 LAN을 구성할 수 있게 됨.
  • 포트 기반 VLANMAC 기반 VLAN이 존재

포트 기반 VLAN

  • 스위치의 포트가 VLAN을 결정하는 방식
  • 포트 수가 부족해질 수도 있다는 문제점 존재
  • 만약, 포트 수가 부족해진다면, VLAN 스위치 여러 대를 구비해 같은 VLAN 포트끼리 연결하여 확장하는 방법이 존재하지만, 이 또한 포트의 낭비 -> VLAN 트렁킹을 통해 해결

  • VLAN 트렁킹 : 두 대 이상의 VLAN 스위치를 효율적으로 연결하여 확장하는 방법.
    스위치간의 통신을 위한 특별한 포트인 트렁크 포트에 VLAN 스위치를 서로 연결하는 방식
  • 트렁크 포트를 통해 스위치들을 연결하여 같은 스위치에 연결되어 있지 않아도 같은 LAN에 속하게 네트워크를 구성할 수 있음
  • 트렁크 포트로 전달받은 프레임이 어떤 VLAN에 속하는지 파악하기 위해, 아래와 같이 해당 정보가 추가된 이더넷 프레임을 사용한다.

MAC 기반 VLAN

  • 사전에 설정된 MAC 주소에 따라 VLAN이 결정
  • 송수신하는 프레임 속 MAC 주소가 호스트가 속할 VLAN을 결정하는 방식
  • 테이블에 추가 메모리를 요구한다는 단점이 존재

브리지

  • 스위치와 유사한 장비
  • MAC 주소 테이블을 통해 같은 네트워크에 있는 단말의 포트간 프레임 패킷 전송을 함
  • 콜리전 도메인을 나누거나 네트워크를 확장하는 용도
  • 최근 스위치의 기능이 브리지의 기능을 포함하고, 프레임 처리 성능 면에서도 우수해 단일 장비로서의 사용 빈도가 줄어드는 추세

NIC와 리피터 대해서 설명해주세요.
NIC와 리피터는 물리 계층에서 동작하는 네트워크 기기입니다.
NIC는 호스트와 통신 매체를 연결하고 MAC 주소가 부여되는 네트워크 장비이고,
통신 매체에 흐르는 신호를 호스트가 이해하는 프레임으로 변환하거나 반대로 호스트가 이해하는 프레임을 통신 매체에 흐르는 신호로 변환하는 역할을 함

리피터는 전송 거리가 길어질수록 전기 신호가 감소하거나 왜곡될 수 있기 때문에, 이를 방지하기 위해 전기 신호를 증폭시켜 주는 장비입니다.

브리지에 대해서 설명해주세요.
브리지는 스위치와 유사한 장비로, 데이터 링크 계층에서 동작하는 네트워크 기기입니다.
브리지는 MAC 주소 테이블을 통해 같은 네트워크에 있는 단말의 포트간에 프레임 패킷을 전송하며, 콜리전 도메인을 나누거나 네트워크를 확장하는 용도로 사용됩니다.
다만, 최근 스위치의 기능이 브리지의 기능을 포함하고, 프레임 처리 성능 면에서도 우수해 단일 장비로서의 사용 빈도는 줄어드는 추세입니다.

L2 스위치에 대해서 설명해주세요.
L2 스위치는 데이터링크 계층에서 동작하는 네트워크 기기입니다.
MAC 주소 테이블을 통해 같은 네트워크에 있는 단말의 포트간에 프레임 패킷 전송을 합니다.

profile
꾸준함을 목표로 합니다.

0개의 댓글