TIL

모두의 네트워크를 읽고 요약 및 정리한 글 입니다.

4장: 데이터 링크 계층 - 랜에서 데이터 전송하기

12 데이터 링크 계층의 역할과 이더넷

OSI 모델 중에서 랜에서 데이터를 주고받으려면 두 번째 계층인 데이터 링크 계층의 기술이 필요하다. 데이터 링크 계층은 네트워크 장비 간에 신호를 주고 받는 규칙을 정하는 계층이다. 랜에서 데이터를 정상적으로 주고받기 위해 필요한 계층이다. 그리고 그 규칙들 중 일반적으로 가장 많이 사용되는 규칙이 이더넷(Ethernet)이다. 이더넷은 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고받을 때 사용한다.

앞서 살펴보았듯이 허브를 통해 전송된 전기 신호는 나머지 모든 포트에게 전송된다. 하지만 다른 컴퓨터들이 해당 내용을 보지 못하도록 확실한 규칙이 정해져 있고, 그 규칙에 따라 보내려는 데이터에 목적지 정보를 추가해서 보내고 목적지 이외의 컴퓨터는 데이터를 받더라도 무시하게 되어있다.

또한, 허브는 들어온 데이터를 그대로 모든 포트에 보내기만 한다. 따라서 컴퓨터 여러 대가 동시에 데이터를 보내면 데이터들이 서로 부딪힐 수도 있다. 이것을 충돌(collision)이라고 한다. 따라서 이더넷은 여러 컴퓨터가 동시에 데이터를 전송해도 충돌이 일어나지 않는 구조로 되어 있다. 예를 들어 데이터가 동시에 케이블을 지나가면 충돌이 발생할 수 밖에 없다. 그래서 데이터가 케이블을 타고 지나가고 있으면, 다른 컴퓨터에서는 데이터를 보내는 시점을 늦추게 된다. 이처럼 이더넷에서 시점을 늦추는 방법을 CSMA/CD라고 한다.

CSMA/CD에서 CS는 ‘데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 아닌지를 확인한다’는 규칙이다. 그리고 MA는 ‘케이블에 데이터가 흐르고 있지 않다면 데이터를 보내도 좋다’는 규칙이고, CD는 ‘충돌이 발생하고 있는지를 확인한다’는 규칙이다. 하지만 현재는 효율이 좋지 않다는 이유로 CSMA/CD는 거의 사용하지 않고 스위치(switch)라는 장비를 대신 사용한다.

13 MAC 주소의 구조

랜 카드는 비트열을 전기 신호로 변환한다고 했다. 이러한 랜 카드에는 MAC 주소라는 번호가 정해져 있다. 제조할 때 새겨지기 때문에 물리주소라고도 부르는데 전 세계에서 유일한 번호로 할당되어 있다.

OSI 모델의 데이터 링크 계층에서는 이더넷 헤더트레일러를 붙인다. 이더넷 헤더는 아래와 같이 목적지의 MAC 주소(6바이트), 출발지 MAC 주소(6바이트), 유형(2바이트) 이렇게 총 14바이트로 구성되어 있다.

이더넷 헤더 (출처: Ethernet, IP, TCP/UDP 헤더 소개)

이더넷 유형(Ethernet type)은 이더넷으로 전송되는 상위 계층 프로토콜의 종류를 나타낸다. 즉, 이더넷 유형에는 프로토콜 종류를 식별하는 번호가 들어간다. 그리고 데이터 뒤에 추가하는 트레일러는 FCS(Frame Check Sequence)라고도 하는데, 데이터 전송 도중에 오류가 발생하는지 확인하는 용도로 사용한다.

이처럼 이더넷 헤더와 트레일러가 추가된 데이터를 프레임이라고 한다. 그리고 네트워크를 통해 프레임이 전송된다. 즉, 컴퓨터 A에서 컴퓨터 B로 데이터를 보내려고 한다면 컴퓨터 A의 데이터 링크 계층에서 컴퓨터 B의 MAC 주소(목적지), 컴퓨터 A의 MAC 주소(출발지) 그리고 이더넷 유형 정보를 이더넷 헤더에 넣고 데이터를 전송한다. 이렇게 데이터에 이더넷 헤더와 트레일러를 붙이는 캡슐화 과정을 통해 프레임을 만들고, 물리 계층에서 이 프레임 비트열을 전기 신호로 변환하여 네트워크를 통해 전송한다.

만일 MAC 주소가 다른 컴퓨터가 해당 데이터를 수신 받았을 경우 이더넷 헤더에 있는 목적지의 MAC 주소와 자신의 MAC 주소가 다르기 때문에 데이터를 파기한다. 만일 컴퓨터 B가 해당 데이터를 수신 받으면 역캡슐화 과정을 거쳐서 이더넷 헤더와 트레일러를 분리한다.

14 스위치의 구조

스위치는 데이터 링크 계층에서 동작하고 레이어 2 스위치 또는 스위칭 허브라고도 불린다. 스위치 내부에는 MAC 주소 테이블(MAC address table)이라는 것이 있다. MAC 주소 테이블은 스위치의 포트 번호와 해당 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되는 데이터베이스이다.

스위치의 전원을 켠 상태에서는 아직 MAC 주소 테이블에 아무것도 등록되어 있지 않다. 하지만 컴퓨터에서 목적지 MAC 주소가 추가된 프레임이라는 데이터가 전송되면, MAC 주소 테이블을 확인하고 출발지 MAC 주소가 등록되어 있지 않으면 MAC 주소를 포트와 함께 등록한다. 이를 MAC 주소 학습 기능이라고 한다. 하지만 데이터를 전송한 시점에서는 아직 목적지의 MAC 주소가 MAC 주소 테이블에 등록되어 있지 않아서 송신 포트 이외의 다른 포트에게 데이터가 전송되는데 이러한 데이터의 전송을 플러딩(flooding)이라고 한다. 만일 MAC 주소 테이블에 목적지의 MAC 주소가 등록되어 있다면 플러딩이 일어나지 않고 해당 컴퓨터에만 데이터가 전송된다.

이처럼 MAC 주소를 기준으로 목적지를 선택하는 것을 MAC 주소 필터링이라고 한다. 이것으로 불필요한 데이터를 네트워크에 전송하지 않게 된다.

15 데이터가 케이블에서 충돌하지 않는 구조

먼저 통신 방식에는 전이중 통신 방식반이중 통신 방식이 있다. 전이중 통신 방식은 데이터의 송수신을 동시에 통신하는 방식이고, 반이중 통신 방식은 회선 하나로 송신과 수신을 번갈아 가면서 통신하는 방식이다.

예를 들어 컴퓨터끼리 직접 랜 케이블로 연결한다면 앞서 살펴보았던 크로스 케이블을 사용해야 하고, 구리선 네 쌍을 사용하기 때문에 전이중 통신 방식이 된다. 반면 허브 내부에는 송수신이 나누어져 있지 않기 때문에 컴퓨터를 허브를 통해 연결하면 동시에 데이터를 보낼 때 충돌이 일어난다. 이처럼 허브를 사용하면 회선 하나를 송신과 수신이 번갈아 가면서 사용하는 반이중 통신 방식을 사용하게 된다. 하지만 스위치는 충돌이 일어나지 않는 구조로 되어 있기 때문에 전이중 통신 방식으로 데이터를 주고받을 수 있다.


허브는 반이중 통신 방식으로 동시에 데이터를 전송하면 충돌이 일어난다. 충돌이 발생할 때 그 영향이 미치는 범위를 충돌 도메인(collision domain)이라고 한다. 허브는 연결 되어 있는 컴퓨터 전체가 하나의 충돌 도메인이 된다. 스위치는 데이터를 동시에 송·수신할 수 있는 전이중 통신 방식이기 때문에 충돌이 일어나지 않고 충돌 도메인의 범위도 좁다.

용어 정리

  • 데이터 링크 계층(data link layer): 네트워크 기기 간에 데이터를 전송하고 물리 주소를 결정한다.
  • 이더넷(Ethernet): 컴퓨터 네트워크 기술 중 하나로 전 세계의 사무실이나 가정에서 일반적으로 사용되는 랜에서 가장 많이 활용되는 기술 규격이다.
  • 충돌(collision): 데이터를 한 번에 하나만 전송할 수 있는 채널에 전송 장치 두 개가 같은 시점에 패킷을 보낼 때 일어나는 데이터 충돌을 말한다.
  • MAC 주소(Medium Access Control address): 랜에 사용되는 네트워크 모델인 이더넷의 물리적인 주소로 컴퓨터 네트워크에서 각각의 기기를 구분하기 위해 사용하는 주소다.
  • 스위치(switch, 스위칭 허브): 랜을 구성할 때 사용하는 단말기 간 스위칭 기능이 있는 통신망 중계 장치다. 컴퓨터(호스트)에서 특정한 다른 단말기로 패킷을 보낼 수 있는 기능이 있어 통신 효율이 향상된다.
  • 전이중 통신 방식(full-duplex communication): 전화 회선과 같이 송신과 수신이 양쪽에서 동시에 이루어지는 양방향 통신이다. 서로 다른 회선이나 주파수를 이용하여 데이터 신호가 충돌되는 상황을 방지한다. 스위칭 허브를 사용하면 랜 카드와 허브 간의 동시 송수신이 가능해진다.
  • ARP(Address Resolution Protocol, 주소 변환 프로토콜): 네트워크 계층 주소와 데이터 링크 계층 주소 사이의 변환을 담당하는 프로토콜이다. IP 주소를 물리 주소인 MAC 주소로 변환하는 데 사용한다.
  • ARP 캐시(ARP cache): 가장 최근에 변환한 ‘IP 대 하드웨어 주소’를 보관하고 있는 램(RAM)의 한 영역이다.
  • ARP 요청(ARP request): IP 주소를 대치할 수 있는 물리 주소인 MAC 주소를 찾아내기 위해 보내는 브로드캐스트 패킷 요청이다.
  • ARP 응답(ARP reply): ARP 요청(request)에 대한 응답으로 요청한 IP 주소에 대한 물리 주소인 MAC 주소가 실려 있다.

Leave a comment