Network

모두의 네트워크 4장. 데이터 링크 계층, 랜에서 데이터 전송하기

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

이더넷이란?

랜에서 데이터를 주고 받기 위해서는 데이터 링크 계층의 기술이 필요하다. 데이터 링크 계층은 네트워크 장비 간에 신호를 주고받는 규칙을 정하는 계층으로, 랜에서 데이터를 정상적으로 주고받기 위해 필요한 계층이다. 그리고 이 규칙 중 가장 많이 사용되는 규칙이 이더넷이다.

즉, 이더넷은 랜에서 적용되는 규칙이다.

앞서 허브에서는 연결된 모든 포트로 데이터를 보낸다고 했었다. 따라서 이런 경우를 위해 보내려는 데이터에 목적지 정보를 추가해서 보내고 목적지 이외의 컴퓨터는 데이터를 받더라도 무시하게 되어있다.

또한 허브는 앞서 말했든 들어온 데이터를 모든 포트에 그대로 보내기만 하기에 PC 여러대가 동시에 데이터를 보내면 데이터가 충돌할 수 있다. 이를 방지하기 위해 데이터가 동시에 케이블을 지나가면 시점을 늦춘다. 이를 CSMA/CD라고 한다.

CS는 데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 아닌지를 확인한다는 규칙이다. 그리고 MA는 케이블에 데이터가 흐르고 있지 않다면 데이터를 보내도 좋다는 규칙이다. CD는 충돌이 발생하고 있는지를 확인하는 규칙이다.

즉, 특정 PC가 데이터를 송신하는 경우 케이블이 사용되고 있다면 다른 PC는 잠시 대기한다.

MAC 주소의 구조

랜카드에는 MAC 주소라는 번호가 정해져 있다. 제조 시 새겨지기에 물리 주소라고도 부르는데, 전 세계에서 유일한 번호로 할당되어 있다. MAC 주소는 48비트 숫자로 구성되어있다. 앞 24비트는 랜카드를 만든 제조사 번호, 뒤 24비트는 제조사가 랜 카드에 붙인 일련번호이다.

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

이더넷 유형에는 이더넷으로 전송되는 상위 계층 프로토콜을 나타낸다. 즉, 프로토콜의 종류를 식별하는 번호가 들어간다.

ex. IPv4 0800, ARP 0806 등

트레일러는 FCS(Frame Check Sequence)라고도 하는데, 데이터 전송 도중에 오류가 발생하는지 확인하는 용도로 사용한다. 이렇게 이더넷 헤더 + 트레일러가 붙은 데이터를 프레임이라고 부른다.

즉, 데이터 링크 계층에서는 네트워크를 통해 프레임이 전송된다.

스위치의 구조

스위치는 데이터링크 계층에서 동작하고 Layer 2 Switch 혹은 Switching Hub라고 불린다. 스위치 내부에는 MAC 주소 테이블이라는 것이 있다. MAC 주소 테이블은 스위치의 포트 번호와 해당 포트에 연결되어있는 컴퓨터의 MAC 주소가 등록되는 데이터베이스이다.

컴퓨터에서 목적지 MAC 주소가 추가된 프레임이 전송되면, MAC 주소 테이블을 확인하고 등록되어있지 않은 경우에는 추가한다. 이를 MAC 주소 학습 기능이라 한다. 하지만 첫 요청의 경우 목적지의 MAC 주소가 등록되어있지 않기 때문에 모든 포트에 프레임이 전송되는데 이를 플러딩(flooding)이라고 한다.

만약 MAC 주소가 등록되어있다면 MAC 주소를 기준으로 목적지를 선택하는데, 이를 MAC 주소 필터링이라 한다.

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

전이중 통신 방식

데이터의 송수신을 동시에 통신하는 방식

데이터를 동시에 전송해도 충돌이 발생하지 않는다.

PC1, PC2를 연결한다고 할 때, 케이블 선을 8개 즉 4쌍을 사용한다. 랜케이블은 크로스 케이블로 이루어져 수신과 송신 케이블이 분리되어있기 때문에 데이터를 동시에 전송해도 문제가 없다. (스위치)

반이중 통신 방식

회선 하나로 송신과 수신을 번갈아가며 통신하는 방식

회선 하나를 송신과 수신이 번갈아가면서 사용하기에 데이터를 동시에 전송하면 충돌이 발생한다. (허브)

충돌 도메인이란?

반이중 통신 방식으로 데이터를 동시에 전송하면 충돌이 일어난다. 충돌이 발생할 때 그 영향이 미치는 범위를 충돌 도메인(collison domain)이라고 한다. 허브는 허브의 포트에 연결된 모든 컴퓨터가 하나의 충돌 도메인이 된다.

하지만 스위치는 데이터를 동시에 송수신할 수 있는 전이중 통신 방식이기에 충돌하지 않고, 충돌 도메인의 범위도 각 PC로 좁다.

  • cf. ARP 프로토콜이란?
    • 목적지 컴퓨터의 IP 주소를 이용해 MAC 주소를 찾기 위한 프로토콜이다. 출발지 컴퓨터가 목적지 주소를 모르면 MAC 주소를 알아내기 위해 네트워크에 브로드캐스트를 하는데 이를 ARP 요청이라고 한다. 이 요청에 대해 지정된 IP 주소가 아닌 PC는 응답하지 않고, 지정된 IP 주소의 PC는 MAC 주소를 응답한다. 이를 ARP 응답이라고 한다.
    • 출발지 PC에서는 MAC 주소를 얻은 후에 MAC 주소와 IP 주소의 매핑 정보를 메모리에 보관한다. 이를 ARP 테이블이라고 한다. 이후의 데이터 통신은 이 테이블을 참조해 전송된다. 하지만 변경이 발생할 수 있기에 보존 기간을 ARP 캐시로 지정하고 일정 시간이 지나면 삭제한다.
    • arp -a 명령어를 통해 확인할 수 있다.

 

모두의 네트워크 정리하기