목차
MAC 계층과 IEEE 802 시리즈
원거리에 있는 호스트를 연결하는 WAN과 달리 LAN 환경은 근거리에 분포된 호스트를 연결 한다.
➡ LAN 환경에서는 WAN 환경에서보다 효율적인 전송 관리를 통해 네트워크의 이용 효율을 극대화필요.
➡ 네트워크 전송 효율: 주로 전송 매체의 성능에 좌우되지만, 연결 방식이나 전송 방법에도 영향을 많이 받음
이 절에서는 LAN 환경의 계층 2 기능에 대한 표준안을 다루는 IEEE 802 시리즈를 알아본다.
IEEE 802 시리즈는 LLC 계층뿐 아니라 MAC 계층에 대한 다양한 표준안을 정의하고 있음.
MAC 계층의 이해
LAN 환경에서는 네트워크 자원을 효율적으로 활용하기 위해,
데이터 링크 계층의 기능을 LLC 계층과 MAC 계층으로 나누어 처리함.
- LLC 계층: OSI 7계층 모델에서 정의한 데이터 링크 계층의 기본 기능을 주로 다룸
- MAC 계층: 물리적인 전송 선로의 특징과 매체 간의 연결 방식에 따른 제어 부분을 다룸
WAN 환경과 비교해서 보면,
LAN의 LLC 계층이 WAN의 데이터 링크 계층과 역할이 비슷하기 때문에 LAN 환경에 MAC 계층이 추가된 것으로 볼 수 있다.
MAC 계층
= MAC Medium Access Control 계층
이 계층은 전송 선로의 물리적인 특성을 반영하므로 LAN의 종류에 따라 특성이 구분된다.
LAN 환경을 위한 MAC 계층은 종류가 다양한데, 공유 버스 방식을 지원 하는 이더넷과 링 구조를 지원하는 토큰 링 방식이 대표적인 예이다.
[이더넷 Ethernet]
- 컴퓨터 네트워크에서 가장 많이 사용
- 공유 버스를 이용해 호스트를 연결
- 이더넷에서는 데이터를 전송하기 전에 전송 선로를 먼저 확인해 다른 호스트가 데이터를 전송 중인지 여부를 파악해야 함.
➡ 다른 호스트가 전송 선로를 사용하지 않으면 데이터 프레임을 전송할 수 있지만,
➡ 사용하고 있다면 정해진 정책에 따라 나중에 다시 시도해야 함
➡ 둘 이상의 호스트에서 동시에 데이터 프레임 전송을 시도하면 충돌 Collision 이 발생한다.
➡ 충돌이 생기면 호스트는 이를 감지하고, 일정 시점이 지난 후에 재전송해야 한다.
[토큰 링 Token Ring]
- 토큰 Token 이라는 특정 패턴의 제어 데이터가 링을 순환함.
- 데이터 프레임을 전송하려면 먼저 토큰을 확보해야 하며, 전송을 완료하자마자 토큰을 링에 내놓아야 한다.
- 토큰 링 방식에서는 각 호스트에 전송 우선순위 Priority 를 부여할 수 있다.
LLC 계층
LAN 환경에서 LLC Logical Link Control 계층은 WAN 환경의 데이터 링크 계층과 기능이 거의 유사하다.
그러나 LAN 종류에 따라 MAC 계층의 설계 형태가 영향을 받는 것처럼, LLC 계층도 LAN의 특성에 부분적으로 영향을 받을 수 있다.
그러므로 이더넷에서 사용하는 LLC와 토큰 링에서 사용하는 LLC는 약간 다를 수 있다.
[이더넷 Ethernet]
- 이더넷의 LLC 계층은 프레임을 전송하는 과정에서 슬라이딩 윈도우 프로토콜을 사용한다.
[토큰 링 Token Ring, 토큰 버스]
- 송신 호스트가 수신 호스트의 도움 없이, 보낸 프레임의 전송 오류를 검출하고 재전송하는 기능을 수행할 수 있어 슬라이딩 윈도우 프로토콜이 불필요하다.
이는 추후 포스트에 자세하게 설명할 것이다.
IEEE 802 시리즈
IEEE: 국제 표준화 단체
➡ 이 단체에서 데이터 링크 계층과 관련된 다양한 LAN 표준안 연구 결과를 IEEE 802 시리즈로 발표함
- IEEE 802.1: 표준안 전체를 소개하고 인터페이스 프리미티브에 대한 정의를 다룸
- IEEE 802.2: 데이터 링크 계층의 상위 부분인 LLC 프로토 콜의 정의를 다룸
- IEEE 802.3: 표준안부터는 물리 계층과 MAC 계층에 대한 내용을 주로 다룸(이더넷으로 알려진 CSMA/CD 방식)
- IEEE 802.4: 토큰 버스 방식에 관한 내용을 규정
- IEEE 802.5: 토큰 링 방식에 관한 내용을 규정
[계층 구조 모델]
이를 통해,
➡ LLC 계층과 MAC 계층의 관계를 설명 가능
➡ IEEE 표준안에 정의된 계층의 역할을 보여줌
네트워크 계층과 LLC 계층: 이 계층의 기능은 LAN 종류에 큰 영향을 받지 않으므로 공통의 프로토콜인 IEEE 802.2 표준안을 사용함 MAC 계층: 물리 계층의 종류에 따라서 다양하게 사용될 수 있으므로, 각각에 대하여 별도의 표준안이 정의되어 있음
CSMA/CD
다중 접근 채널 Multiple Access Channel 방식을 이용하여 공유 매체에 프레임을 전송하는 방식에서는 데이터 충돌 가능성이 항상 존재함
[충돌 문제를 해결 방법]
- 충돌 허용
- 충돌이 발생한 후에 문제를 해결: 다수의 호스트가 송신한 프레임이 공유 매체에서 충돌하는 현상을 허용하는 방식
- 대표적인 예는 이더넷으로 더 많이 알려진 CSMA/CD Carrier Sense Multiple Access/Collision Detection
- 충돌 회피
- 충돌이 발생할 가능성을 원천적으로 차단 하는 방식
[충돌 허용 방식]
- 충돌로 깨진 프레임을 복구하는 작업이 필요
➡ 프레임을 송신한 호스트에서 충돌을 감지하는 기능이 반드시 필요 - CSMA/CD 방식에서 충돌이 자주 발생하면 오류 복구 과정에 따라 재전송도 많이 이뤄짐
➡ 이는 동일한 프레임을 여러 번 재전송하는 과정을 반복하므로 네트워크의 전체 성능이 떨어진다.
일반적으로 공유 매체의 길이가 길수록 프레임의 전송 지연이 증가하여 충돌이 발생할 가능성도 높아진다.
[충돌 회피 방식]
- 충돌 회피 방식은 종류가 다양하다.
- 가장 간단한 방법은 각 송신 호스트에 서로 다른 전송 시간대를 지정하는 타임슬롯 Time Slot 을 배정하는 방법이다.
하나의 공유 버스에 호스트 5개가 연결된 LAN 환경을 가정하여 CSMA/CD 방식에서 데이터를 전송하는 원리를 보자.
[전송 과정]
예를 들어, 호스트 5가 호스트 1에 프레임을 전송한다고 가정하면
1️⃣ 프레임을 전송하기 전에 먼저 다른 호스트가 공유 버스를 사용하고 있는지 확인해야 한다.
2️⃣ 버스를 사용하고 있지 않으면 전송 프레임을 공유 버스에 보냄으로써, (b) 와 같이 모든 호스트에 프레임을 전송할 수 있다.
➡ 전송 프레임은 버스 구조에 연결된 모든 호스트에 전송되기 때문에 (b)와 같이 프레임의 목적 지가 아닌 호스트 2, 3, 4에도 도착
3️⃣ 호스트 5의 프레임 전송 과정에서 다른 호스트가 동시에 프레임을 전송하면 충돌이 발생하므로 이 부분을 처리하는 기능이 필요하다.
4️⃣ 호스트 1을 제외한 나머지 호스트는 이 프레임을 수신할 이유가 없으므로 버려야 한다.
➡ 이 기능을 지원하려고 각 호스트에는 고유 주소가 할당되는데, 전송 프레임에는 (a)와 같이 목적지 주소를 호스트 1로 지정한 후 프레임을 전송해야 한다.
➡ 호스트 1을 제외한 호스트에서는 프레임의 목적지 주소가 자신의 주소와 일치하지 않으므로 프레임을 무시할 수 있다.
➡ 호스트 1은 목적지 주소가 자신이므로 프레임을 수신하고, 결과적으로 그림 (c)와 같이 호스트 5에서 호스트 1까지 프레임을 올바르게 전송할 수 있다.
토큰 버스
토큰 버스 Token Bus 방식은 물리적인 버스 구조(점선)로 연결되지만,
논리적인 프레임 전달은 링 구조(실선)이다.
이 방식은 프레임을 전송하기 전에 버스 신호를 감지하는 CSMA/CD 방식과 다른 형식의 전송 메커니즘을 사용한다.
즉, 데이터 프레임 전송이 호스트 사이에 순차적으로 이루어지도록 토큰 Token 이라는 제어 프레임을 사용한다.
[전송 과정]
1️⃣ 프레임을 전송하려면 반드시 토큰을 확보해야 한다.
2️⃣ 프레임 전송을 원하는 호스트는 토큰이 도착할 때까지 기다려서 도착한 토큰을 획득한 뒤 프레임을 전송한다.
3️⃣프레임 전송을 완료하면 이웃 호스트에 토큰을 넘겨준다.
4️⃣ 호스트가 이웃하는 순서는 물리적인 순서가 아닌 각 호스트의 고유 번호와 관련 있다.
5️⃣ 높은 번호부터 네트워크에 연결되고, 토큰 전달도 먼저 이루어진다.
토큰 링
순환 구조의 전송 매체와 연결되는 링 인터페이스의 동작은 대기 모드와 전송 모드로 구분된다.
- 대기 모드: 입력단으로 들어온 비트를 출력단으로 즉시 내보낸다.
- 따라서 호스트가 다운되거나 기타 장애가 발생하면 대기 모드가 되어 네트워크의 동작에 영향을 주지 않는다.
- 대기 모드에서 호스트는 링 네트워크를 유지하는 역할만 수행한다.
- 전송 모드
- 호스트가 토큰을 획득해 프레임을 전송할 수 있는 권한을 보유한 상태이다.
- 이때는 네트워크의 입력단과 출력단의 논리적인 연결이 끊어지는 대신 네트워크가 호스트의 중개를 거쳐서 연결된다.
- 호스트는 전송하고자 하는 프레임을 출력단을 통해 링으로 내보낼 수 있다.
토큰 링 Token Ring 방식에서는 송신 호스트가 전송한 프레임이 링을 한 바퀴 돈 후 송신 호스트에 되돌아오도록 설계된다.
[전송 과정]
1️⃣ 프레임의 목적지 주소가 자신의 주소와 동일한 호스트는 해당 프레임을 수신
2️⃣ 프레임 내부의 특정 위치에 올바로 수신했다고 표시
3️⃣ 송신 호스트는 자신에게 되돌아온 프레임의 특정 위치 값을 확인하여 프레임이 올바로 전송되었음을 확인한 뒤, 데이터 프레임을 회수
4️⃣ 토큰 프레임을 링에 반환