본문 바로가기
CS/Network

[Network] 04. 데이터 링크 계층 : 랜에서 데이터 전송하기

by 원만사 2021. 11. 30.
반응형

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

이더넷이란

 랜에서 데이터를 주고받으려면 OSI 7계층의 두 번째 계층인 데이터 링크 계층의 기술이 필요하다.

 

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

 

 허브는 이전 포스팅에서 살펴본 것과 같이 데이터를 주고 받는 컴퓨터 외에도 허브에 연결된 다른 컴퓨터에게도 데이터가 전송된다. 이를 위해 데이터에 목적지 정보를 추가해서 보내고 목적지 이외의 컴퓨터는 데이터를 받더라도 무시하게 되어 있다.

 

 허브는 들어온 데이터를 그래도 모든 포트에 보내기만 한다. 그래서 컴퓨터 여러 대가 동시에 데이터를 보내면 데이터들이 충돌하는 현상이 나타날 수 있다. 그래서 이더넷은 여러 컴퓨터가 동시에 데이터를 전송해도 충돌이 일어나지 않는 구조로 되어 있다. 데이터가 동시에 케이블을 지나가지 않도록 데이터를 보내는 시점을 늦추는 CSMA/CD 방법을 사용한다. 하지만 지금은 효율이 좋지 않다는 이유로 CSMA/CD는 거의 사용하지 않는다. 최근에는 스위치(switch)라는 네트워크 장비를 사용하여 충돌을 방지한다.

 

[CSMA/CD]
- CS : '데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 아닌지를 확인한다'는 규칙
- MA : '케이블에 데이터가 흐르고 있지 않다면 데이터를 보내도 좋다'는 규칙
- CD : '충돌이 발생하고 있는지를 확인한다'는 규칙
- 이더넷은 랜에서 데이터를 정상적으로 주고받기 위한 규칙이다.
- 이더넷은 데이터 충돌을 막기 위한 규칙으로 CSMA/CD 방식을 사용한다.

MAC 주소의 구조

 비트열을 전기 신호로 변환하는 랜 카드에는 MAC 주소라는 번호가 정해져 있다. 이는 물리 주소라고도 부르는데 중복되지 않도록 규칙이 명확하게 정해져 있다. 48비트 숫자로 구성되어 있으며, 앞쪽 24비트는 랜 카드를 만든 제조사 번호이고 뒤쪽 24비트는 제조사가 랜 카드에 붙인 일련번호이다.

 

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

이더넷 헤더

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

 

 트레일러는 FCS(Frame Check Sequence)라고도 하는데, 데이터 전송 도중에 오류가 발생하는지 확인하는 용도로 사용한다. 

 

 이처럼 이더넷 헤더와 트레일러가 추가된 데이터를 프레임이라고 한다. 네트워크를 통해 이러한 프레임이 전송되는 것이다. 

 

- MAC 주소는 48비트 숫자로 구성되어 있다. 앞쪽 24비트는 랜 카드를 만든 제조사 번호고 뒤쪽 24비트는 제조사가 랜 카드에 붙인 일련번호다.
- 이더넷 헤더는 목적지 MAC 주소(6 바이트), 출발지 MAC 주소(6 바이트), 유형(2 바이트)으로 총 14바이트로 구성된다.
- 데이터 링크 계층에서 데이터 뒤에 추가하는 것을 트레일러라고 한다.

 


스위치의 구조

MAC 주소 테이블이란

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

 

 스위치의 전원을 켠 상태에서는 아직 MAC 주소 테이블에 아무것도 등록되어 있지 않다. 컴퓨터에서 목적지 MAC 주소가 추가 된 프레임이라는 데이터가 전송되면 MAC 주소 테이블을 확인하고 출발지 MAC 주소가 등록되어 있지 않으면 MAC 주소를 포트와 함께 등록한다. 이를 MAC 주소 학습 기능이라고 한다.

 

 만약 목적지 MAC 주소가 MAC 주소 테이블에 등록되어 있지 않는다면 송신 포트 이외의 포트에 데이터(프레임)가 전송되는데 이러한 데이터(프레임) 전송을 플러딩(flooding)이라고 부른다. 만약 목적지 MAC 주소가 MAC 주소 테이블에 등록되어 있다면 해당 컴퓨터에게만 데이터가 전송된다. 이처럼 MAC 주소를 기준으로 목적지를 선택하는 것을 MAC 주소 필터링이라고 한다. 

 

- 스위치는 데이터 링크 계층에서 동작하며, 레이어 2 스위치 또는 스위칭 허브라고도 부른다.
- 스위치에는 MAC 주소 테이블이 있다.
- MAC 주소 테이블은 스위치의 포트 번호와 그 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되는 데이터베이스다.
- 스위치가 수신 포트 이외의 모든 포트에서 데이터를 송신하는 것을 플러딩이라고 한다.
- 스위치에서 MAC 주소를 기준으로 목적지를 선택하는 것을 MAC 주소 필터링이라고 한다.

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

전이중 통신과 반이중 통신

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

 * 반이중 통신 방식 : 회선 하나로 송신과 수신을 번갈아가면서 통신하는 방식

 

 전이중 통신 방식은 데이터를 동시에 전송해도 충돌이 발생하지 않지만, 반이중 통신 방식은 데이터를 동시에 전송하면 충돌이 발생한다. 컴퓨터를 직접 랜 케이블로 연결한다면 전이중 통신 방식이 되고, 허브로 연결하면 허브의 내부에는 송수신이 나누어져 있지 않기 때문에 회선 하나를 송신과 수신이 번갈아가면서 사용하는 반이중 통신 방식을 사용하게 된다. 

 

 스위치는 충돌이 일어나지 않는 구조로 되어 있기 때문에 전이중 통신 방식으로도 데이터를 주고받을 수 있다. 허브를 사용하면 충돌이 생기면서 네트워크 지연이 발생하기 때문에 최근에는 네트워크로 스위치를 사용하는 것이 표준이다. 또한 스위치는 전송하면서 동시에 수신도 가능해서 허브를 사용하는 것에 비해 효율이 높다. 

 

충돌 도메인이란?

 충돌이 발생할 때 그 영향이 미치는 범위를 충돌 도메인(collision domain)이라고 한다. 허브는 연결 되어 있는 컴퓨터 전체가 하나의 충돌 도메인이 된다. 즉, 허브는 충돌의 영향이 모든 컴퓨터에 미치는 것이다. 

 

 스위치는 전이중 통신 방식이기 때문에 충돌 도메인의 범위도 허브에 비해 한정되어 있다. 충돌 도메인의 범위가 넓을수록 네트워크가 지연되기 때문에 네트워크 지연을 방지하기 위해 충돌 도메인의 범위를 좁히는 것이 매우 중요하다. 이러한 이유로 허브보다 스위치를 사용하는 것이 통신 효율이 더 좋다는 것을 알 수 있다.

 

ARP(Address Resolution Protocol) : ARP는 목적지 컴퓨터의 IP 주소를 이용하여 MAC 주소를 찾기 위한 프로토콜이다. 

 

- 전이중 통신 방식이란 데이터의 송신과 수신을 동시에 수행하는 통신 방식이다.
- 반이중 통신 방식은 회선 한 개로 송신과 수신을 번갈아가며 수행하는 통신 방식이다.
- 데이터 충돌이 발생하고 그 충돌 영향이 미치는 범위를 충돌 도메인이라고 한다.

 

참고

- 「모두의 네트워크」

반응형

댓글