thumbnail
혼자 공부하는 네트워크 - 물리 계층 및 데이터 링크 계층
Jul 14, 2024

혼공단 12기 2주차 학습 기록

physical layer and data link layer

물리 계층(Physical Layer)과 데이터 링크 계층(Data Link Layer)에서 주로 사용되는 기술에 대해 알아보자.

이더넷(Ethernet)

이더넷은 네트워크 장치들이 데이터를 송수신할 수 있도록 통신 방식을 정의하는 기술이다. 현대의 LAN 환경은 대부분 이더넷을 기반으로 구성된다.

IEEE(Institute of Electrical and Electronics Engineers)에서는 국제적인 이더넷 관련 기술을 IEEE 802.3이라는 이름으로 표준화했다.

통신 매체 표기

이더넷 표준은 계속해서 발전하고 있고, 표준 규격에 따라 지원되는 전송 속도, 네트워크 장비, 통신 매체 종류 등이 달라질 수 있다. 특성을 한눈에 파악하기 쉽도록 아래와 같이 표기한다.

이더넷 통신 매체 표기 형태

전송 속도(Data rate)

BASE 앞에는 전송 속도를 표기한다. Mbps 속도라면 숫자로만 표기하고 Gbps 속도라면 숫자 뒤에 G를 붙여 표기한다.

표기 속도 표기 속도
10 10Mbps 5G 5Gbps
100 100Mbps 10G 10Gbps
1000 1000Mbps(1Gbps) 40G 40Gbps
2.5G 2.5Gbps 100G 100Gbps

e.g.

  • 1000BASE-SX: 1000Mbps 속도를 지원하는 케이블
  • 10GBASE-T: 10Gbps 속도를 지원하는 케이블

BASE

BASE는 BASEband의 약자로, 비트 데이터를 통신 매체로 전송하는 방법인 변조 타입(modulation type)을 의미한다.


추가 특성(additional distinction)

BASE 뒤에 붙는 추가 특성은 통신 매체 특성의 종류를 의미한다. -2, -5와 같이 전송 가능한 최대 거리나 -X와 같이 비트 신호로 변환되는 방식인 물리 계층 인코딩 방식 등을 명시할 수 있다.

표기 케이블 종류
C 동축 케이블
T 트위스티드 페어 케이블
S 단파장 광섬유 케이블
L 장파장 광섬유 케이블

e.g.

  • 1000BASE-SX: 1000Mbps 속도를 지원하는 단파장 광섬유 케이블
  • 2.5GBASE-T: 2.5Gbps 속도를 지원하는 트위스티드 페어 케이블

이더넷 프레임(Ethernet frame)

데이터 링크 계층에서 주고받는 이더넷 프레임은 상위 계층으로부터 전달된 정보에 헤더와 트레일러를 추가하는 캡슐화 과정을 통해 생성된다. 이더넷 프레임의 헤더와 페이로드, 트레일러는 아래와 같이 구성된다.

Ethernet frame

프리앰블(preamble)

프리앰블은 8바이트 크기의 이더넷 프레임 시작 정보이다.

첫 7바이트는 10101010 패턴이 반복된다. 이 패턴은 수신 장치가 전송 신호의 시작을 인식하고 송수신 장치 간의 타이밍을 동기화하는 데 도움을 준다.

마지막 1바이트 10101011로 고정되어 있으며, 프레임의 실제 시작을 알리는 역할을 한다. 수신 장치가 10101011 패턴을 인식하면, 다음부터 오는 데이터가 유효한 이더넷 프레임의 시작임을 알게 된다.


수신지와 송신지 MAC 주소

MAC 주소는 네트워크 인터페이스마다 부여되는 6바이트 크기의 주소로, LAN 내 송수신지를 특정할 수 있다. 일반적으로 고유하고 변경되지 않는다.


타입/길이

2바이트의 필드로, 필드에 명시된 크기가 1500 이하인 경우에는 프레임의 길이를 나타내고 1536 이상인 경우에는 프레임에 포함된 데이터의 타입을 나타낸다.


데이터

최소 46바이트 ~ 최대 1500바이트까지의 실제 데이터가 포함된다. 46바이트보다 짧을 경우, 패딩을 추가하여 최소 길이를 충족시킨다.


FCS(Frame Check Sequence)

수신한 이더넷 프레임에 오류가 있는지 검출하기 위해 송수신지의 CRC(Cyclic Redundancy Check) 값을 계산하여 비교한다.


허브(Hub)

물리 계층에서 메시지를 송수신하기 위해 거치는 대표적인 장비에는 허브가 있다. 허브는 여러 네트워크 장치를 연결하여 데이터를 전송하는 역할을 한다.

Hub

허브의 특징

허브의 주요 특징으로는 두 가지가 있다. 첫 번째로는 수신한 데이터를 다른 모든 포트로 전송한다는 것이다.

물리 계층은 7계층 중, 유일하게 주소 개념이 존재하지 않는다. 때문에 송수신되는 정보에 대한 어떠한 조작이나 판단을 하지 않는다.


물리 계층에 속한 허브는 이러한 특징으로 인해 수신지를 특정할 수 없어 연결된 모든 호스트에게 데이터를 전달한다. 데이터를 받은 호스트는 데이터 링크 계층에서 MAC 주소를 이용해 관련 없는 주소는 폐기하는 과정을 거친다.

hub 특징 1

두 번째 특징은 반이중 모드로 통신한다는 것이다. 반이중(half duplex) 모드란, 데이터를 한 번에 한 방향으로만 전송할 수 있는 통신 방식이다. 즉, A가 B에게 송신하는 동안에는 B는 A에게 송신할 수 없다.

*반대로 전이중(full duple) 모드는 송수신을 양방향으로 할 수 있다.

hub 특징 2

동시에 허브에 신호를 송신하게 되면 충돌(collision)이 발생하게 된다. 허브에 연결된 모든 호스트는 충돌이 발생할 수 있는 영역에 속하게 되고, 이 영역을 콜리전 도메인(collision domain)이라고 한다.

collision domain

CSMA/CD

반이중 모드로 통신하여 발생하는 충돌 문제를 해결하기 위해 CSMA/CD 프로토콜을 사용한다.

  • CS(Carrier Sense)는 메시지를 보내기 전에 현재 네트워크상에서 전송 중인 데이터가 있는지 확인하는 것을 의미한다.

  • MA(Multiple Access)는 두 개 이상의 호스트가 동시에 네트워크에 접근하는 상황을 의미한다.

  • CD(Collision Detection)은 충돌이 발생하는 것을 검출하는 것을 의미한다.


통합하면, 반이중 이더넷 네트워크에서 CSMA/CD 프로토콜을 사용하면 호스트들이 메시지를 전송하기 전에 전송 가능한 상태를 확인하고 충돌이 발생하면 임의의 시간 동안 대기 후 재전송하는 과정을 거친다는 것을 알 수 있다.


스위치(Switch)

스위치는 데이터 링크 계층에서 메시지를 송수신하는 네트워크 장비로, 2계층에서 사용한다고 하여 L2 스위치라고도 부른다. 허브를 사용했을 때의 충돌 문제를 해결하고 더 효율적인 데이터 전송을 제공하기 때문에 현대 네트워크에서는 허브보다 스위치가 더 선호된다.

Switch

스위치도 허브와 같이 여러 포트에 호스트를 연결할 수 있지만, MAC 주소를 이용해 특정 호스트에만 데이터를 전달할 수 있고 전이중 모드 통신을 지원하므로 허브보다 효율적이라는 장점이 있다.

MAC 주소 학습

스위치는 특정 포트와 연결된 호스트의 MAC 주소를 기억해 원하는 호스트에만 프레임을 전달할 수 있는데, 이러한 기능을 MAC 주소 학습(MAC address learning)이라고 한다. 또한, 포트와 연결된 MAC 주소 간의 연관 관계를 메모리에 표 형태로 기억하며, 이를 MAC 주소 테이블(MAC address table)이라고 부른다.


호스트 A, B, C, D가 스위치에 연결되어 있고 A가 D로 프레임을 전송한다고 가정해 보자.

처음에는 호스트들의 MAC 주소와 연결된 포트와의 관계를 알지 못한다. A가 프레임을 송신하면, MAC 주소 테이블에는 A의 MAC 주소가 저장된다. 그리고 수신지의 MAC 주소를 알아내기 위해 일단 A를 제외한 모든 포트로 프레임을 전송한다. 이러한 동작을 플러딩(flooding)이라고 한다.

flooding

호스트 B와 C는 관련 없는 프레임을 전송받았기 때문에 정보를 폐기하고 D는 스위치로 응답 프레임을 전송한다. 이 과정에서 D의 MAC 주소가 MAC 주소 테이블에 저장된다. 테이블에 호스트 A와 D의 MAC 주소가 기록되었으므로 이후 두 호스트가 프레임을 주고받을 때는 플러딩을 하지 않아도 된다.

switch response

플러딩과 응답 과정을 거친 뒤에는 A가 프레임을 송신할 때마다 B와 C에는 전달되지 않도록 필터링(filtering)하고 D에는 전달하는 포워딩(forwarding) 과정을 반복한다.

filtering and forwarding

만약 MAC 주소 테이블에 등록된 포트에서 일정 시간 동안 프레임을 전송받지 못하면 항목은 삭제된다. 이는 에이징(aging)이라고 한다.

VLAN(Virtual LAN)

VLAN은 이름 그대로 가상의 LAN을 구성하는 것이다. 스위치에 연결된 호스트 중에서 메시지를 주고받을 일이 적어 같은 LAN에 속할 필요가 없는 경우에 논리적인 단위로 LAN을 분리할 수 있다.

VLAN

포트 기반 VLAN(port based VLAN)

VLAN을 구성하는 가장 대중적인 방식으로 포트 기반 VLAN이 있다. 사전에 특정 포트별로 VLAN을 할당한 후, 같은 VLAN에 포함시키고 싶은 호스트끼리 해당 포트에 연결하는 방식이다.

한 대의 스위치만으로 여러 개의 VLAN을 구성하려면 포트의 낭비가 생길 수 있어 최대한 효율적으로 활용하기 위해 VLAN 트렁킹(VLAN Trunking) 방식을 사용하기도 한다.

VLAN Trunking

스위치 간 트렁크 포트(trunk port)를 서로 연결하여 같은 스위치에 연결되어 있지 않아도 같은 VLAN에 속하도록 할 수 있다.


MAC 기반 VLAN(MAC based VLAN)

MAC 기반 VLAN은 사전에 설정된 MAC 주소에 따라 호스트가 속할 VLAN이 결정되는 방식이다. 호스트 A의 MAC 주소가 VLAN2에 속해 있다면 해당 호스트가 어떤 포트에 연결되어 있더라도 VLAN2로 동작한다.

MAC based VLAN

기본 미션

MISSION 1

기본 미션 1

정답: (ㄱ) 프리앰블 (ㄴ) 송신지 MAC 주소 (ㄷ) FCS

MISSION 2

기본 미션 2

정답: (1) - 캐리어 감지 (2) - 다중 접근 (3) - 충돌 검출


References

[📚book] 혼자 공부하는 네트워크

Table Of Contents
nxnaxx blog © 2022-2024 Powered By Gatsby.