Search
Duplicate

컴퓨터 네트워크/ 근거리 통신망(Lan: Local Area Network)

LAN의 개요

LAN은 1970년대 초 Xerox사의 PARC(Palo Alto Research Center)에서 로버트 맷칼프에 의해 고안된 후 연구가 이루어지기 시작했으며, 이후 이더넷(Ethernet)이란 이름으로 상용화 되었다.
이러한 LAN은 1985년 IEEE의 LAN 표준화 위원회에서 802 프로젝트를 시작했으며, 이로 인해 LAN 표준이 제정되었다.
그후 이더넷 방식인 CSMA/CD 외에도 토큰 버스(Token Bus), 토큰 링(Token Ring) 등 다양한 매체 접근방식에 대한 표준화 작업이 이루어졌다.

LAN의 정의

IEEE 표준 위원회에서는 LAN을 ‘다수의 독립된 컴퓨터 기기들이 상호 간에 통신이 가능하도록 하는 데이터통신 시스템’으로 정의하고 있다. 즉 짧은 통신 거리에서의 통신 시스템을 말하고 있다.

LAN의 특징

LAN은 비교적 짧은 거리에 있는 정보 기기들을 선로를 이용하여 데이터를 전송하는 방식이므로 전송 에러율이 매우 낮을 뿐만 아니라 패킷을 수신하는데 걸리는 시간이 매우 짧기 때문에 패킷 지연 시간 또한 최소화된다.
또한 공유 매체를 사용하므로 IP 라우팅과 같이 전송 경로에 대한 결정 없이 매체에 연결된 모든 호스트로 데이터를 전송하는 방식이다.
그러나 LAN은 짧은 거리에서의 통신만을 지원하므로 거리를 확장하기 위해서는 리피터, 허브 또는 브리지나 라우터와 같은 네트워킹 장비를 사용하여야만 한다. 또한 매체에 대한 접근 제어 방식으로 CSMA/CD를 사용할 경우에는 한 매체에 연결되는 호스트의 수가 제한적이다.

IEEE 802 표준

IEEE 802 위원회에서는 LAN을 OSI 참조 모델에서의 2계층인 데이터 링크 계층을 LLC(Logical Link Control)와 MAC(Medium Access Control)으로 기능상 구분하였다.
LLC 계층은 상위 부계층으로 IEEE 802.2에 규정되어 있으며 에러제어와 흐름제어를 담당하는 역할을 수행하며,
MAC 계층은 공유매체에 대한 접근 제어를 담당하는 계층으로 구성상 CSMA/CD, 토큰 버스, 토큰 링 및 무선으로 나뉜다.

LLC(Logical Link Control, 논리링크제어)

LLC는 기본적으로 상위 계층인 3계층 네트워크 계층과 같은 2계층 데이터 링크 계층의 MAC 계층을 연결시켜주는 인터페이스 계층으로 IEEE 802.2에 의해 정의되었다.
LLC는 DSAP(Destination Service Access Point)와 SSAP(Source Service Access Point)로 구성된다. 이때 SSAP는 메시지를 송신하는 측의 논리적인 네트워크를 나타내며, DSAP는 메시지를 수신하는 측의 논리적 네트워크를 가리킨다.
다음 표는 각 네트워크 프로토콜에 해당하는 SAP(Service Access Point)의 값들과 그 의미를 나타내고 있다.
SAP
Assignment
00
Null
04
IBM SNA(station operations)
05
IBM SNA(group operations)
06
Internet Protocol(IP of TCP/IP)
80
Xerox Networking Services(XNS)
E0
Novell NetWare
F0
IBM NetBIOS
F4
LAN management(station)
F5
LAN management(group)
F8
IBM Remote Program Load(RPL)
FE
Open System Interconnect(OSI) network layer
FF
Global
SAP의 중요성은 물리적인 LAN을 공유하는 다양한 네트워크 프로토콜들을 수용할 수 있다는 것이며, 이들 프로토콜들은 공존할 수도 있다는 점이다.
특히 시스템이 브로드캐스트 프레임이나 특정한 주소로의 프레임을 수신하였을 때, DSAP 필드를 보고 수신한 프레임을 어떻게 처리할 것인가를 결정한다.
만약 알려지지 않은 SAP 값일 경우에는 메시지를 거절하거나 무시하게 된다. 하지만 만약 알려진 SAP 값이면 해당 SAP를 처리하는 프로그램 혹은 서비스로 메시지를 넘기게 된다.
IEEE 802.3, IEEE 802.5와 IBM의 토큰 링이 이러한 SAP 필드를 사용하는데, 802.3과 프레임 형식이 다른 이더넷은 프레임 내의 TYPE 필드를 통해 네트워크 프로토콜을 구분한다.

MAC(Medium Access Control or Media Access Control, 매체액세스제어)

MAC 계층은 물리 네트워크에 대한 접근 제어를 담당한다. 즉, 하나의 네트워크 상에서 동시에 두 개 혹은 그 이상의 호스트가 데이터를 보내려고 하는 시도를 막는 것이다. 이러한 제어 기능을 수행하기 위해서는 MAC 어드레싱, 프레임 형태 인식, 프레임 제어, 프레임 복사 등의 기능이 필요하다.
MAC 어드레싱은 네트워크에 연결된 각 호스트의 물맂거인 주소를 처리할 수 있는 방법을 의미한다.
그러한 주소는 미리 정의된 호스트의 그룹(그룹 주소) 혹은 모든 호스트(브로드캐스트 주소)로 표현이 가능하다. 이러한 MAC주소를 통하여 프레임의 물리적인 송신자와 수신자를 구분한다.
프레임 형태에 대한 인식은 해당 프레임이 어떤 형식의 프레임인지에 대한 구분을 가능하게 하는 것으로, 미리 정의된 비트열인 프리엠블을 통하여 각각의 프레임을 제어한다. 또한 FCS(Frame Check Sequence)를 통하여 수신한 프레임에 에러가 발생했는지 또는 그렇지 않은지를 판별하게 된다.
우선 프레임이 호스트에 도착하면 목적지 주소가 자신의 주소인지 확인하고 맞을 시에는 해당 프레임을 복사한다. 실제적으로 프레임을 복사하는 동작은 이더넷 카드 내의 버퍼 공간으로 프레임을 옮겨놓는 과정이다. 또한 이더넷 카드에서는 프리엠블과 시작 지시자를 제거한 정보필드를 호스트 내의 메모리로 전송하게 된다.
그림 1-2는 IEEE 802에 정의된 여러 종류의 방식을 나타내고 있다. 이중 대표적인 것은 최근 모든 네트워크의 기본인 이더넷(Ethernet) 방식인 IEEE 802.3 CSMA/CD 방식과 최근 폭 넓게 그리고 다양하게 활용되고 있는 IEEE 802.11 무선랜(Wireless or Wi-Fi) 방식이다.

LAN의 분류

토폴로지(Topology)

LAN의 토폴로지는 네트워크에서 호스트들을 연결하는 케이블의 구조, 방법 혹은 기하학적인 모양을 의미한다. 보통의 데이터 통신 네트워크들과는 달리 다양한 방식으로 구성되는 대부분의 LAN은 특정한 토폴로지를 따르는 호스트간의 연결에 기초하여 구성된다.
이러한 LAN의 토폴로지는 그림 1-3과 같이 성형(Star Topology), 버스형(Bus Topology), 트리형(Tree Topology), 링형(Ring Topology) 등이 있다.

성(Star) 형

각 호스트가 허브(Hub)라고 불리는 중앙 전송 제어 장치와 점대점(Point-to-Point) 링크에 의해 접속되어 있는 형태로 성형 토폴로지의 통신망 처리 능력과 신뢰성은 중앙 전송 제어 장치에 의해 좌우된다. 그러므로 중앙 전송 제어 장치는 교환기능을 포함한 지능화 기능성을 보유하고 있어야 한다.
성형의 장점
고장 발견이 쉽고 유지 보수가 용이하다.
한 호스트의 고장이 전체 네트워크에 영향을 미치지 않는다.
확장이 용이하다.
성형의 단점
중앙 전송 제어 장치가 고장이 나면 네트워크는 동작이 불가능해진다.
설치 시에 케이블링에 많은 노력과 비용이 든다.
호스트의 설치 시 거리에 제한을 받는다.

버스(Bus) 형

버스형 토폴로지는 백본 케이블에 네트워크상의 모든 호스트들을 연결하여 중추 네트워크의 역할을 하는 형태로 탭(Tap)이나 송신기(Transceiver)를 설치하여 노드들(또는 호스트들)을 접속하는 다중점(Multi-Point) 형태이다. 보통 CSMA/CD 방식에서 주로 이용되며, 경우에 따라서는 토큰 버스방식에서도 이용된다.
버스형의 장점
설치하기가 용이하다.
케이블 설치 및 호스트 연결을 위해 소요되는 비용이 최소이다.
버스형의 단점
재구성이나 결합 분리의 어려움이 있다.
탭에서 일어나는 신호의 반사는 신호의 질을 저하시킬 수 있다.
기저대역(Baseband) 전송 방식을 사용할 경우, 거리에 민감하여 거리가 멀어질수록 중계기가 반드시 필요하다.
버스 케이블에 결함이 발생하면 전체 노드들(또는 호스트들)은 모든 전송을 할 수 없게 된다.
호스트의 수가 증가하면 처리 능력은 급격히 감소한다.
네트워크에 부하가 많으면 응답시간이 늦어진다.

트리(Tree) 형

트리형은 성형의 변형으로 트리에 연결된 노드(또는 호스트)는 중앙 전송 제어장치(1차 허브)에 연결되어 있지만 모든 장치가 중앙 전송제어 장치에 연결되어 있지는 않다. 또한 중앙 전송 제어장치는 능동적인 허브로 데이터를 전송하기 전에 받은 신호를 재생 또는 증폭하는 중계기(Repeater)의 역할을 포함하고 있다.
이러한 트리형 토폴로지의 장점과 단점은 성형과 비슷하며, 그림 1-3의 C와 같이 2차 허브를 연결하는 구조로 하여 구성함으로써 다음과 같은 장점을 얻을 수 있다.
하나의 1차 허브에 또 다른 2차, 3차 허브를 연결함으로써 더 많은 노드(또는 호스트)를 하나의 LAN에 연결할 수 있다.
허브가 중계기 역할을 수행함으로써 각 호스트 간의 신호의 이동거리를 증가시킬 수 있다.
2차 허브로 네트워크를 분리하거나 해당 네트워크의 우선순위를 부가할 수 있다.

링(Ring) 형

링형은 닫힌 루프 형태로 각 노드(또는 호스트)가 보낸 신호를 받으면 중계기로 신호를 재생하여 반대편 노드(또는 호스트)에게 전달한다.
링형의 장점
구조가 단순하여 설치와 재구성이 쉽다.
장애가 발생한 호스트를 쉽게 찾을 수 있다.
노드(또는 호스트)의 수가 늘어나도 네트워크의 성능에는 별로 영향을 미치지 않는다.
성형보다 케이블링에 드는 비용이 적다.
단점
링을 제어하기 위한 절차가 복잡하여 기본적인 지연이 있다.
단방향 전송이기 때문에 링에 결함이 발생하면 전체 네트워크를 사용할 수 없게 된다. 이에 대한 해결책으로 이중 링을 구성하여 문제를 해결할 수 있다.
새로 노드(또는 호스트)를 추가하기 위해서는 물리적으로 링을 단절하고 노드(또는 호스트)를 추가해야 한다.

전송 매체

데이터 전송을 위하여 물리적 계층에서는 다양한 전송 매체가 사용된다. 각 매체는 대역폭, 전송 지연 등에서 고유한 특성을 가지고 있다. 이러한 전송 매체로는 그림 1-4와 같이 트위스티드 페어 케이블, 동축 케이블, 광 케이블 등을 사용할 수 있다.

광케이블(Fiber Optic Cable)

광케이블은 데이터 신호가 전송 매체 구간에서 빛(Light)으로 전송되는 방식으로서 전자기파의 간섭에 무관하며, 트위스티드 페어나 동축케이블에서 지원할 수 없는 높은 속도를 제공한다. 또한 전자기파를 방사하지 않으므로 도청이 불가능해 철저한 보안이 요구되는 경우에 사용된다.
이러한 광케이블을 이용하기 위해서는 빛을 전기적 신호로, 또 그 반대로 신호변환을 수행하는 송수신 신호변환기가 필요하다.

트위스티드 페어 케이블(Twisted Pair Cable)

트위스티드 페어 케이블은 두 선을 꼬아서 만든 케이블로 전자파 장애(EMI) 억제 능력이 뛰어나고 다른 매체에 비해 가격이 저렴하며 설치가 용이하다. 종류에는 비차폐 트위스티드 케이블(Unshielded Twisted Pair, UTP)과 차폐 트위스티드 페어(Shieled Twisted Pair, STP) 케이블이 있다.

동축 케이블(Coaxial Cable)

동축 케이블은 트위스티드 페어보다 우수한 주파수 특성을 가지고 있으므로 높은 주파수와 빠른 데이터 전송이 가능하다. 그림 1-7은 이러한 동축 케이블을 보여주고 있는데, 동축 케이블은 일반 통신이나 케이블 TV 망에서 널리 사용되는 케이블로서 기저대역 방식(Baseband)와 광대역 방식(Broadband)으로 구분된다.

전송신호

LAN에서 사용하는 전송매체 중 트위스티드 페어는 디지털 신호에 사용되며, 광케이블은 아날로그 신호에 주로 사용된다. 그리고 동축케이블은 디지털이나 아날로그 신호 양쪽 모두 사용이 가능하다.
그림 1-8에서 (a), (b)는 기저대역 전송방식에서의 TDM 방식을 나타내고 있으며, (c)는 광대역 전송방식에서의 두 호스트 간의 동작을 나타내고 있다.

기저대역(Baseband) 전송방식

데이터를 변조하지 않은 상태, 즉 디지털 신호를 그대로 전송하는 방식으로 10Mbps 혹은 이 보다 높은 전송률을 가지는 하나의 전송 채널을 사용한다.
보통 이진 데이터를 맨체스터 혹은 차등(Differential) 맨체스터 부호화 방식을 사용하여 부호화한 다음에 전송한다. 이 방식은 분기점을 쉽게 통과할 수 없기 때문에 버스 토폴로지에 주로 사용된다.
또한 디지털 신호는 높은 주파수대 신호의 감쇠가 심하므로 최대 1km로 거리에 제한을 둔다. 이러한 이유로 네트워크 확장을 위해서는 신호를 새로 재생시키는 리피터(Repeater)가 사용된다.
또한 이 방식은 데이터 전송 시 하나의 전송 채널을 사용하므로 공유 매체 상에서는 다중점(Multi-point) 혹은 멀티드롭(Multi-drop) 구성상에서 시간 분할 다중화 방식(TDM)을 사용하여 데이터를 전송하며, 또한 두 호스트 간에 점대점(Point-to-Point) 방식으로 연결하여 사용되기도 한다.

광대역(Broadband) 전송방식

광대역 전송방식은 아날로그 신호로 변조하여 전송하는 방식이다. 아날로그 신호는 잡음과 감쇠에 의한 데이터의 변조가 디지털 신호에 비해 훨씬 약하므로 장거리 전소잉 가능하며, 한번에 한 방향으로만 전송이 가능하다.
또한 하나의 전송 매체 상에서 여러 개의 채널을 사용하기 위해 주파수 분할 다중화 방식(FDM)을 사용하며, 이 경우 RF(Radio Frequency) 모뎀을 이용한다.
공유 매체 상에서 각 노드(또는 호스트)는 각기 다른 송신(Outbound) 및 수신(Inbound) 채널을 사용하여 데이터를 전송한다.

매체접근제어방식

LAN은 하나의 노드(또는 호스트)가 데이터를 전송하면, 동일 LAN 상 연결되어 이는 모든 다른 노드(또는 호스트)로 해당 데이터가 전송되는 방송형 네트워크이다.
이러한 방송형 네트워크는 어떠한 채널을 동시에 사용하려 할 때 누가, 언제 사용하도록 하는가를 결정하는 것이 제일 중요하다. 이러한 채널의 할당에 대한 문제를 해결하는 방식을 매체접근제어방식이라 한다.
종류로는 CSMA/CD, 토큰 링(Token Ring), 토큰 버스(Token Bus) 방식 등이 있다.

CSMA/CD(반송파 감지 다중 접속 및 충돌탐지, Carrier Sense multiple Access with Collision Detection)

노드(또는 호스트)가 채널의 상태를 감지해 충돌을 피하는 방식이다. 만일 충돌이 검출되면 일정 시간 대기한 후 다시 채널의 상태를 감지해 충돌을 확인하고, 충돌이 검출되지 않으면 데이터를 전송하는 매체 접근 제어 방식이다.
CSMA/CD 방식은 OSI 참조모델의 2계층에 속하지만, OSI 7계층 모델의 프로토콜은 아니다.

토큰 링(Token Ring)

토큰이라는 짧은 프레임을 사용하여 데이터를 보낼 권리를 정하여 데이터를 전송하는 방식이다. 보낼 데이터가 있는 호스트는 자신의 차례에 즉 토큰을 가지고 있을 때 데이터를 전송하는 방식이다.
이 방식은 1980년대 초반 IBM에 의해 개발되었고 IEEE 802.5로 표준화되었으나 1990년 초반 이더넷의 개발로 그 활용이 감소되어 현재는 거의 사용되지 않고 있다.

토큰 버스(Token Bus)

토큰 링 방식과 이더넷 방식이 결합된 형태로 물리적으로는 버스 형태이지만 논리적으로는 토큰 링 방식을 사용하는 매체접근제어방식이다.

LAN을 구성하기 위한 장비

LAN에서는 매체의 특성에 의한 거리의 제한을 극복하기 위해 리피터 및 같은 물리 계층에서 동작하는 장비와 노드(또는 호스트)간의 연결성, LAN 네트워크 간의 연결성, 트래픽의 분산 등 여러 가지 목적을 위하여 허브, 브리지, 라우터 등과 같은 다양한 종류의 네트워크 장비들이 사용된다.

리피터(Repeater)

리피터는 OSI 모델의 1계층인 물리계층에서 동작하는 장비로 동일 LAN상에서 거리의 연장이나 접속 시스템의 수를 증가시키기 위해 사용하는 장비이다.
리피터는 주로 전자기 또는 광학전송매체 상에서 전송되는 신호가 약해지거나 잡음 등의 원인에 의해 원래의 신호가 훼손되는 것을 막기 위해 전송 신호를 원래의 신호로 재생 또는 증폭하여 이를 다시 전송하는 역할을 한다.

허브(Hub)

허브는 차 바퀴의 중심부분과 같이 각 컴퓨터들의 중앙 연결지점을 제공하는 네트워크 장비이다. 허브는 단순히 하나의 호스트에서 수신한 신호를 정확히 재생하여 연결된 모든 다른 쪽으로 내보내는 장치로 다음과 같이 가능상 구분된다.

더미 허브(Dumb Hub)

더미 허브는 단지 네트워크 상에 연결되어 있는 컴퓨터들 간의 중계 역할만을 담당하는 장비를 말한다.
이 장비는 일반적으로 네트워크의 전체 대역폭을 각 호스트가 분할하여 쓰는 방식으로 허브에 연결된 호스트가 어느 정도 이상 증가하게 되면 네트워크의 심각한 속도 저하가 발생하게 된다. 보통 10대 정도의 소규모 네트워크 환경에서 주로 사용된다.

스위칭 허브(Switching Hub)

장치 내부에 네트워크 스위칭 기능을 가지고 있는 허브로 호스트들을 각각 점대점(Point-to-Point) 방식으로 접속하는 장비이다. 반이중/전이중 방식으로의 선택적 통신이 가능하며, CSMA/CD 방식의 네트워크에서도 충돌이 발생하지 않기 때문에 더미 허브보다 훨씬 우수한 전송 속도 및 여러 가지 기능(2계층/3계층 기능)들을 구현할 수 있다.

스태커블 허브(Stackable Hub)

스태커블 허브는 네트워크의 확장이 필요할 때 허브와 허브 사이를 연결하여 용량을 손쉽게 확장할 수 있게 하는 허브이다. 스태커블 허브에서 허브끼리는 케스케이드(Cascade) 케이블이라고 하는 전용 케이블을 사용하여 확장한다.
허브와 허브를 일반 허브로 연결하는 경우보다 안정적이면서 신뢰성과 고속의 전송 속도를 보장할 수 있는 기능들을 제공한다.

브리지(Bridge)

브리지는 복수의 LAN 또는 서로 다른 목적으로 구축된 LAN 간을 연결하기 위한 장비로 데이터 링크 계층(OSI 참조모델 2계층)에서 동작하는 네트워킹 장비이다. 즉, 두 개 이상의 LAN을 하나의 네트워크로 만드는 장비로 IEEE 802.1에 의해 표준화 되었다.
브리지는 리피터와 달리 전체 프레임을 수신할 때까지 전송하지 않지만 프레임의 내용을 변경하지 않는다는 점은 리피터와 유사하다.
그림 1-11은 브리지로 연결된 네트워크를 나타내고 있다. 그림 1-11에서 A에서 B로 프레임을 전송할 때 브리지는 LAN 2와 LAN 4로 프레임을 전달하지 않으며, 같은 LAN인 LAN 1의 모든 호스트는 A가 보낸 프레임을 수신한다.
만약 A에서 D로 프레임을 전송할 때에는 브리지가 LAN 1의 프레임을 LAN 2로만 중계하게 된다. 이렇게 브리지는 물리 계층에서 작동하는 리피터의 기능과 데이터 링크 계층의 프레임 필터링 기능을 한다고 볼 수 있다.
브리지가 하는 역할을 요약해 보면 다음과 같다.
서로 다른 LAN들을 목적에 따라 서로 연결함으로써 LAN들 간의 상호 작용성을 높일 수 있다.
전체 네트워크에 대한 호스트의 수 혹은 거리를 확장할 수 있다.
네트워크에 연결된 많은 수의 호스트에 의해 야기되는 트래픽 병목현상을 줄일 수 있다.
네트워크를 분산적으로 구성함으로써 보안성을 높일 수 있다.
브리지의 동작과정을 보면 프레임이 브리지에 도착하면 브리지는 먼저 신호를 재생하고, 그 다음 목적지 주소를 검사하여 그 목적지 주소가 속해 있는 해당 LAN으로 재생한 프레임을 전송한다.
이렇게 브리지는 크게 투명 브리지(Transparent Bridge, Spanning Tree Bridge라고도 불림)와 소스 라우팅 브리지(Source Routing Bridge)로 구분된다.
투명 브리지는 비연결형으로 각 프레임을 다른 프레임들로부터 독립적으로 필터링하는 브리지이다. 이 브리지는 설치 초기에 자동적으로 구성되며 별도의 어떻나 네트워크 관리도 필요하지 않다.
이에 반해 소스 라우팅 브리지는 연결형으로 발견 프레임(Discovery Frame)을 근거로 필터링 테이블을 만들고 이 테이블을 이용하여 필터링 기능을 수행한다. 이 방식을 사용하면 각 호스트는 브리지 방식을 완전히 알아야 하며 초기 설치 시 수동적으로 관리자가 설치하여야 한다. 그러나 최적의 필터링을 할 수 있다는 장점이 있다.

라우터(Router)

일반적으로 라우터는 인터넷에서 서로 상이하게 구축된 IP 네트워크들 간을 연결하거나 IP 네트워크와 인터넷 간을 연결하기 위해 사용하는 장비로 네트워크 계층(OSI 참조모델 3계층)에서 동작한다.
라우터를 사용하여 LAN을 구성할 때, 라우터는 이기종 LAN 간의 연결, LAN을 WAN에 연결, 효율적인 경로를 선택하는 라우팅 기능, 에러 패킷에 대한 폐기 등의 기능들을 수행하게 된다. 그림 1-12는 라우터로 연결된 네트워크를 보여주고 있다.
라우터에서 라우팅을 하기 위한 라우팅 테이블의 관리 기법을 다음과 같은 두 가지 방식으로 분류된다. 라우터 상에서 관리자가 수동적인 방법으로 라우팅 테이블을 관리하는 정적 라우팅(Static Routing)과 라우팅 정보의 교환을 통하여 라우팅 테이블을 자동적으로 관리하는 동적 라우팅(Dynamic Routing)으로 구분된다.

CSMA/CD(반송파 감지 다중 접속 및 충돌탐지, Carrier Sense multiple Access with Collision Detection)

개요

LAN과 같이 많은 노드(또는 호스트)의 사용자가 하나의 회선에 동시에 접근하면 신호가 겹쳐서 전송하고자 하는 신호가 손상되거나 신호 자체가 소실될 가능성이 있다. 호스트가 동시에 자주 네트워크에 접속할수록 또는 호스트에서 전송할 데이터가 많아질수록 이러한 충돌 발생 빈도도 증가하게 된다.
이러한 충돌을 피하면서 많은 양의 프레임을 전송하기 위해서는 매체 접근 제어 메커니즘이 필요하다. CSMA/CD는 매체 접근 제어 메커니즘 중의 한 방법으로 IEEE 802.3 표준인 이더넷(Ethernet)이 이를 채용하여 사용하고 있다.

정의

CSMA/CD는 호스트가 채널의 상태를 감지해 충돌을 피하는 매체 접근 방식이다.
초기의 다중접근 방식(MA: Multiple Access)은 두 개 이상의 장치가 동시에 매체에 접근할 확률을 매우 낮은 것으로 보고, 전송하고자 하는 프레임이 다른 것들에 의해 손상되지 않았다는 확인응답을 받은 호스트가 전송에 성공한 것으로 간주하는 방식인 알로하(ALOHA) 방식을 사용했다.
다음에 등장한 CSMA(Carrier Sense Multiple Access) 방식은 호스트가 전송하기 전에 매체의 전압을 점검하여 회선이 사용되지 않은 상태임을 확인하고 전송을 시작한다. CSMA 방식에 충돌을 검출하는 기능을 추가한 것이 바로 CSMA/CD 방식이다. 그림 1-13은 CSMA/CD의 발전과정을 보여주고 있다.

802.2/802.3과 이더넷의 프레임 형식

802.2/802.3 프레임 필드

프리엠블(Preamble)
7바이트 길이의 필드로 프레임의 도착을 알리고, 입력 타이밍을 동기화할 수 있도록 ‘1010101’과 같은 0과 1의 반복으로 구성되어 있다.
시작 프레임 지시자(Start Frame Delimiter; SFD)
프레임의 시작을 의미하는 필드로 수신자에게 다음 필드에 주소와 데이터가 있다는 것을 표시하고 있다.
목적지 주소(Destination Address; DA)
6바이트의 목적지 물리주소를 포함하고 있다. 즉 NIC(Network Interface Card)에 부여된 고유의 주소이다. 다른 네트워크, 즉 다른 LAN으로 전송될 프레임은 해당 프레임의 DA 필드에 현재 LAN의 디폴트 라우터의 MAC 주소가 설정되어야 한다.
송신지 주소(Source Address; SA)
6바이트의 길이로 프레임을 전송하는 송신지 물리주소를 포함하고 있다.
PDU 길이/유형
PDU의 바이트 수를 나타내는 필드로, 그 길이가 고정되어 있다면 프레임의 종류를 나타내고 있는 것이다.
PDU
프레임의 유형이나 정보 필드의 길이에 따라 46~1,500 바이트의 길이를 갖는 802.2 프레임으로 LLC 계층에 의해 생성된다. 만약 이 필드의 길이가 최소길이보다 짧다면 PAD를 덧붙여 차이를 보상한다.
CRC(Cyclic Redundancy Check)
CRC-32와 같은 오류검출 정보가 들어있다.

이더넷 프레임 필드

프리엠블(Preamble)
802.3의 프리엠블 필드와 같다.
시작 프레임 지시자(Start Frame Delimiter; SFD)
802.3의 시작 프레임 지시자 필드와 같다.
목적지 주소(Destination Address; DA)
프레임을 수신하기 위한 6바이트의 목적지 물리주소 혹은 호스트의 그룹주소이다.
송신지 주소(Source Address; SA)
송신 호스트의 6바이트 물리주소이다.
타입(Type)
2바이트로 이루어진 네트워크 프로토콜을 구별하는 식별자이다.
PDU
실제 정보가 들어가는 데이터 필드이다.
CRC(Cyclic Redundancy Check)
802.3의 CRC와 같다.

동작 과정

그림 1-15와 같이 CSMA/CD는 다음과 같은 과정으로 동작하게 된다.
1.
노드(또는 호스트)는 데이터를 전송하기 전에 회선이 사용 중인지 점검한다.
2.
회선이 사용 중이면 임의의 시간만큼 기다린 후 다시 회선의 사용 유무를 점검한다.
3.
회선이 사용되지 않는 것이 확인되면 데이터를 전송한다.
4.
데이터 전송 중 충돌이 검출되면 충돌 발생 사실을 모든 노드(또는 호스트)에 간단한 통보신호(Jam 신호)를 보낸다.
5.
충돌이 발생하면 임의의 시간 동안 대깋나 후 다시 데이터를 전송한다.

충돌 윈도우(Collision Window)

CSMA/CD에서 충돌 윈도우의 개념은 그 크기에 따라 LAN 세그먼트의 길이와 함께 최소 프레임 크기가 정해진다는 점에서 중요한 의미를 갖는다.
즉 두 노드(또는 호스트)가 동시에 데이터 전송을 시도할 때에 충돌이 발생하면 충돌이 발생했다는 사실을 각 노드(또는 호스트)가 반드시 알 수 있어야 하는데 이때 사용되는 개념이 충돌 윈도우이다.
가장 멀리 떨어져 있는 두 노드(또는 호스트) 사이의 신호 전송 시간을 “t”라고 가정하자. 어느 특정한 시점에서 하나의 호스트(A)가 전송을 시작할 때, 이 호스트에서 가장 먼 거리에 있는 다른 호스트(B)가 (A)호스트로부터의 신호를 수신하기 전에 전송을 시작했다면, (B) 호스트는 전송 직후 아주 짧은 순간에 충돌ㅇ르 감지하고 다른 모든 호스트에 jam 신호를 보낼 것이다.
그러나 (A) 호스트는 2t의 시간이 흐른 후에 이러한 충돌 사실을 확인할 수 있다. 즉 (A) 호스트가 아주 짧은 프레임을 약 2t 시간 내에 전송하였다면, (A) 호스트는 프레임이 충돌 없이 전송되었다고 판단할 것이다.
이러한 현상을 방지하기 위해 ‘CSMA/CD에서는 최소 전송 프레임의 길이를 전송 프레임의 첫 비트가 케이블 전체에 전파되는 시간의 최소 두 배 이상이 되어야 한다’라고 정하고 있다.
즉 충돌 윈도우는 각 호스트가 데이터를 전송하고 나서 충돌을 감지하는데까지 걸리는 시간을 의미한다. 따라서 802.3에서는 최대 LAN 세그먼트의 길이가 2,500m로 규정되어 있기 때문에 프레임은 최소한 51us(64bytes)의 전송시간을 가져야 한다.

재전송 알고리즘

프레임 전송 중 충돌이 발생하면 ‘시도 임계치(Attempt Limit)’로 알려진 최대 재전송 시도 횟수만큼 재전송을 시도한다.
반복되는 충돌은 현재 매체의 통신량이 많다는 것을 의미하므로 MAC 개체는 재전송할 때의 대기 시간을 늘려 매체의 통신량을 조절한다.
이것은 슬롯 타임(Slot Time)의 임의의 정수 배만큼 대기한 후 재전송하는 ‘Binary Exponential Backoff 알고리즘’으로 구현한다.
즉 i번의 충돌이 발생했다면 0과 2i12^{i}-1 사이의 임의의 수를 선택하여 그만큼의 슬롯 타임 동안 대기한다. 슬롯 타임은 충돌감지가 가능한 최대 지연 시간으로 다음과 같이 표현할 수 있다.
슬롯타임 = 2 x 전송지연시간 + 여유마진
여기서 전송지연시간은 네트워크 상에서 송신지에서 수신지로 신호를 전송하는데 필요한 최대 시간을 의미한다. 즉 슬롯 타임은 전송지연시간의 두 배에 여유 마진을 더한 값이다.

채널 획득 방법

LAN 상의 한 노드(또는 호스트)가 프레임을 전송 완료한 직후, 다른 노드(또는 호스트)가 프레임을 전송할 준비가 되어 있는 상태이면, 프레임 전송을 위하여 채널의 상태를 검사하여야 한다.
채널의 상태를 검사하여 채널을 획득하는 방법은 그림 1-16과 같이 Non-persistent 방식, 1-persistent 방식, P-persistent 방식이 있다.

Non-Persistent 방식

노드(또는 호스트)는 프레임을 전송하기 전에 채널을 검사한다. 만약 LAN 상의 다른 노드들이 전송을 하고 있지 않으면 스스로 데이터를 전송하기 시작한다. 그러나 호스트는 만약 채널이 이미 누군가에 의해 사용 중이면, 즉 채널이 Busy 상태이면 이전 전송작업의 종료를 확인하기 위해 채널의 상태를 계속적으로 검사하지 않고 임의의 시간이 지난 후 채널의 상태를 검사한다.

1-Persistent 방식

노드(또는 호스트)가 전송할 데이터를 가지고 있을 때, 그 순간 다른 호스트가 전송을 하고 있는지를 확인하기 위해 채널의 상태를 검사한다. 만약 채널이 Busy 상태이면 호스트는 채널이 Idle 상태일 때까지 기다리고 채널이 Idle 상태이면 즉시 프레임을 전송하기 시작한다.
충돌이 발생하면 임의의 시간 동안 대기한 후 다시 채널을 검사한다. 이 방식은 채널이 Idle 상태일 때마다 1의 확률을 가지고 프레임을 전송하기 때문에 1-Persistent 방식이라 한다. 현재 CSMA/CD 매체접근제어방식으로는 대부분 1-Persistent 방식을 사용한다.

P-Persistent 방식

이 방식은 채널이 각 슬롯(Slot)으로 나뉜 슬롯 채널에서 사용된다. 노드(또는 호스트)가 전송할 준비가 되어 있으면 채널의 상태를 검사하며, 만약 채널이 Idle 상태이면 P의 확률을 가지고 전송을 시작한다.
그리고 q=1pq = 1 - p를 가지고 다음 슬롯까지 기다린다. 만약 그후 그 슬롯의 상태가 idle 상태로 변하면 p 혹은 q 확률을 가지고 전송하거나 혹은 기다린다. 이러한 과정은 프레임이 전송되거나 다른 노드(또는 호스트)가 전송을 시작할 때까지 반복된다.
다른 노드(또는 호스트)가 전송을 시작할 때는 마치 충돌이 있었던 것처럼 임의의 시간 동안 대기한 후 다시 전송을 시작한다. 만약 노드(또는 호스트)가 초기에 채널이 Busy 상태임을 감지한다면 다음 슬롯까지 기다린 후 다시 위의 과정을 시작한다.

네트워크 구성

이더넷(Ethernet)과 IEEE 802.3의 구조는 버스형과 트리형 토폴로지의 복합적인 연결로 이루어지게 된다. 대규모의 이더넷 및 IEEE 802.3의 네트워크는 보통 LAN의 백본(Backbone)이라 불리는 중앙의 버스 케이블과 중앙의 백본에서 각 그룹의 시스템이 트리 형태로 연동되어 있다.
이더넷과 노드(또는 호스트)의 연결은 트랜시버(Transceiver)라 불리는 연결장비를 사용하여 이루어진다. 트랜시버는 물리적인 확장 장비로 네트워크 어댑터와 같은 역할을 하는 이더넷 장비이다.
IEEE 802.3에서는 트랜시버와 같은 네트워크 어댑터의 역할을 하는 MAU(Medium Attachment Unit)가 있는데, 트랜시버와 MAU의 주요한 역할은 시스템 내의 디지털 정보를 연결되어 있는 물리매체에 맞는 전기적인 형태로 변환시켜 주는 것이다.
또한 이런 변환된 신호를 송신 및 수신하는 기능, 전송 시 충돌을 감지하는 기능 등을 한다. 또한 네트워크의 확장을 위해서 리피터, 브리지, 라우터 등의 장비를 이용하기도 한다.
최근의 네트워크 구성은 이런 추세의 변화 및 개선된 모습으로 백본 역할의 코어(Core) 영역, 중간의 분배(Distribution) 영역 그리고 실제로 실 사용자들을 연동하는 억세스(Access) 영역 등의 3단계(3-Tier) 구성으로 네트워크의 확장성, 신속성 및 관리/운영성과 편리성 등을 추구한다.

IEEE 802.3과 이더넷의 차이점

IEEE 802.3과 이더넷은 프레임 형식이 동일 LAN 환경에서 동시에 존재 가능할 정도로 유사하지만 차이점이 있다. 네트워크 내의 시스템들은 이러한 이더넷 프레임과 IEEE 802.3 프레임을 명백히 구별할 수 있어야 한다.
두 프레임 형식 사이의 가장 큰 차이점은 프레임, 네트워크, 네트워크 프로토콜 등을 구분하는 이더넷의 타입 필드이다. 아래 표는 이더넷에서 타입 필드 값과 해당 네트워크 프로토콜을 나타낸 것이다.
Type
Assignment
0800
Department of Defense Internet Protocol(IP)
0806
Address Resolution Protocol(ARP)
0807
Xerox XNS network protocol
0BAD
Banyan Systems network protocol
6000-6009
Digital Equipment Corporation protocols
6010-6014
3Com network protocols
8137-8138
Novell network protocols
반대로 IEEE 802.3 프레임은 해당 프레임이 어느 네트워크에서 수신한 프레임인지 혹은 어느 네트워크로 송신할 프레임인지를 구분하는 IEEE 802.2 LLC의 SSAP와 DSAP 필드를 가지고 있다. 그림 1-17은 Ethernet과 IEEE 802.3의 필드 정의 값이다.

IEEE 802.3의 물리적인 규격

IEEE에서는 케이블 유형과 연결 그리고 5가지 이더넷 구현에 사용하는 신호에 대해서 규정하고 있으며 다음과 같이 표기하고 있다.
<데이터 전송속도(Mbps단위)><신호><사용할 수 있는 최대 거리(100m단위)>
예컨대 10BASE5는 10Mbps의 전송속도를 내며 기저대역 신호를 사용하여 그 최대 허용거리는 500m임을 의미한다. 아래 표는 IEEE 802.3에서 제정한 10Mbps 이더넷의 물리 계층에서의 매체 종류별 특성을 보여주고 있다.
10BASE5
10BASE2
10BASE-T
10BROD36
10BASE-FP
전송매체
동축케이블 (50 ohm)
동축케이블 (50 ohm)
비차폐 트위스티드 페어
동축케이블 (50 ohm)
광케이블
신호방식
기저대역(맨체스터)
기저대역(맨체스터)
기저대역(맨체스터)
광대역(DPSK)
맨체스터(ON/OFF)
토폴로지
버스
버스
성형
버스/트리
성형
세그먼트 최대 길이(m)
500
185
100
1800
500
세그먼트 당 노드의 수
100
30
-
-
33

토큰 링(Token Ring)

개요

이더넷에서는 여러 노드(또는 호스트)가 동시에 회선을 확보하기 위해 회선의 사용유무를 확인하는 과정에서 충돌로 인한 지연이 발생한다. 노드(또는 호스트)들의 통신량이 증가하면 이러한 현상은 더욱 심해져 예측하기 힘든 지연이 발생하게 된다.
이에 반해 토큰 링은 각 노드(또는 호스트)가 순서대로 데이터를 보내게 함으로써 이더넷에서 발생하는 지연현상을 극복하고 있으며 IEEE에서는 IEEE 802.5로 표준화 하였다.
1990년대 초반 이더넷의 등장으로 토큰 링의 사용은 하양 곡선을 타기 시작했으며 IBM이 이터넷보다 더 빠르고 안정적이라고 주장했지만 성공하지 못해 결국 사양화 되었다.

정의

토큰 링 네트워크는 여러 노드(또는 호스트)들을 하나의 링 형태로 구성하고, 토큰 패싱 방식을 사용해서 매체를 접근하는 방식이다. 즉 3바이트로 구성된 토큰이라는 짧은 길이의 프레임을 사용하여 데이터를 보낼 수 있는 자격을 한정하며, 노드(또는 호스트)는 자신의 차례가 되어 토큰을 받았을 때만 데이터를 전송할 수 있게 된다.

토큰 패싱

토큰 패싱이란 네트워크에서의 토큰 순환을 조절하는 메커니즘으로 그림 1-18과 같은 과정으로 동작하게 된다.
1.
일반적으로 3바이트 길이를 갖는 토큰은 전송할 데이터를 가지고 있는 호스트를 만날 때까지 링을 순환한다.
2.
보낼 데이터를 가지고 있는 호스트에 ‘free’ 토큰이 도착하면 자신의 NIC에 있는 비트를 설정하고 전송할 데이터 프레임을 보낸다.
3.
각 호스트는 목적지 주소 필드를 검사하여 그 프레임의 목적지 주소가 자신이 아니면 이웃하는 호스트로 전달한다.
4.
프레임 수신국은 잣니의 주소를 확인한 다음 메시지를 복사하고 오류를 확인한다.
5.
수신국은 프레임의 마지막 바이트에 있는 4비트를 변경하여 프레임을 복사했다는 것을 나타낸다.
6.
그 후 프레임은 송신국으로 되돌아올 때까지 링을 따라 계속 순환하다 송신국에서 송신지 주소 부분으로 송신지가 자신임을 확인한다.
7.
주소확인 비트를 검사하여 프레임이 수신되었음을 확인하고 해당 프레임을 버린 후 ‘free’ 토큰을 링으로 보낸다.

특징

토큰 링 네트워크는 4Mbps 혹은 16Mbps로 동작한다. IBM의 초기 토큰 링은 대개 2KB의 프레임을 4Mbps 속도로 전송하였다. 이러한 속도와 프레임 크기는 이더넷의 성능과 비교해 볼 때 토큰 링의 단점으로 볼 수 있다.
이러한 점을 보강하기 위해 프레임의 크기를 늘여 4Mbps의 속도로 4KB의 프레임을 전송하며, 16Mbps에서는 16KB의 프레임을 전송할 수 있도록 하였다.
토큰 링 방식의 장점은 네트워크 내의 모든 호스트에게 전송을 위한 기회를 보장해 준다는 것이다. 게다가 토큰 링은 논리적인 순서에 맞게 데이터 프레임과 토큰 프레임이 네트워크 상을 순환하기 때문에 토큰 링의 동작이 미리 예측 가능하다는 점이다.
그러나 대규모의 토큰 링 네트워크에서는 한 네트워크에 호스트의 수가 많아지면 그 만큼 전송할 기회가 줄어드는 단점이 있다.
(이하 생략)

토큰 버스(Token Bus)

개요 및 정의

토큰 버스(Token Bus, IEEE 802.4)는 이더넷(Ethernet, IEEE 802.3)과 토큰 링(Token Ring, IEEE 802.5) 전송 방식의 특징을 결합한 것으로, 물리적으로는 버스 접속형태이지만 논리적으로는 토큰 패싱 방식을 사용하여 매체를 제어하는 방식이다.
호스트들은 논리적인 링 형태로 구성되며, 토큰은 각 호스트에 차례대로 전달된다. 만약 어떤 호스트가 데이터 전송을 원하면 기다렸다가 토큰을 확보해야 하며, 이더넷처럼 각 호스트는 공통 버스를 통하여 통신하게 된다.
이러한 토큰 버스 방식은 최소 지연 시간 또는 실시간(Real-Time) 처리가 요구되는 공장 자동화(FA: Factory Automation)와 같은 응용에 적용될 수 있는 방식이다.

특징

토큰 버스는 주로 동축케이블을 전송매체로 사용한다. 또한 기저대역 모드나 캐리어 대역 모드(Carrier Band Mode)에서 동작한다.

동작 과정

토큰 버스에서 토큰은 논리적인 링을 따라 하나의 호스트에서 다른 호스트로 짧은 토큰 프레임 형태로 전달된다. 그러므로 각각의 호스트들은 논리적 링에서 다음 호스트(Successor)의 주소만 기억하고 있으면 된다.
만약 호스트가 토큰을 수신할 수 없으면 이전 호스트(Predecessor)는 적절한 복구 절차를 거쳐 토큰의 다음 수신 호스트를 찾는다.
이외에 토큰 버스가 처음 가동될 때, 새로운 호스트가 추가될 떄, 호스트가 링에서 삭제될 때에도 링에서 토큰이 정상적으로 동작하기 위한 절차가 존재한다.