Search

    혼자 공부하는 네트워크 - 물리 계층 및 데이터 링크 계층
    2024.07.14 14 min read

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

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

    이더넷(Ethernet)

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

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

    통신 매체 표기

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

    이더넷 통신 매체 표기 형태

    전송 속도(Data rate)

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

    표기속도표기속도
    1010Mbps5G5Gbps
    100100Mbps10G10Gbps
    10001000Mbps(1Gbps)40G40Gbps
    2.5G2.5Gbps100G100Gbps

    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 스위치라고도 부릅니다. 허브를 사용했을 때의 충돌 문제를 해결하고 더 효율적인 데이터 전송을 제공하기 때문에 현대 네트워크에서는 허브보다 스위치가 더 선호됩니다.

    스위치도 허브와 같이 여러 포트에 호스트를 연결할 수 있지만, 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] 혼자 공부하는 네트워크

    TAGS

    Network
    혼공
    혼공네트