목차
이더넷 의미
- 이더넷 Ethernet 은 원래 IEEE 802.3 표준안을 실제로 구현한 제품이지만, 현재는 더 일반화된 용어로 사용함
- IEEE 802.3은 1-persistent CSMA/CD 방식의 LAN 환경에 관해 규정한 표준안
- 공유 버스로 연결한 호스트 간의 데이터 전송에 관한 사항을 다룸.
이더넷과 신호 감지 기능
공유 버스 구조에서 호스트 간의 프레임 충돌을 방지하려면 프레임을 전송하기 전에 다른 호스트가 공유 버스를 사용하고 있는지 확인해야 한다.
➡ 전송 선로에 흐르는 신호를 감지하는 기능으로 구현 가능.
➡ 전송 매체의 신호를 감지해 프레임의 전송 여부를 결정하는 프로토콜을 신호 감지 Carrier Sense 프로토콜이라 한다.
➡ 신호 감지 프로토콜에서는 선로의 전달 지연이 성능에 영향을 많이 준다.
1-persistent CSMA
신호 감지 프로토콜 중에서 가장 간단한 형태
유휴 상태일 때 확률 1로 무조건 전송이라 이름이 1-persistent CSMA
[작동 방식]
1) 일반 신호 감지 프로토콜처럼 프레임을 전송하기 전에 전송 채널이 사용 중인지 확인
2) 다른 호스트에서 채널을 사용 중이라고 판단하면 유휴 상태가 될 때까지 대기
3) 그러다가 임의의 순간에 채널이 유휴 상태로 변경되면 확률 1의 조건으로 프레임을 무조건 전송
[충돌 발생]
4) 둘 이상의 호스트에서 동시에 전송 채널을 유휴 상태로 판단하면 프레임 전송 과정에서 충돌 발생 가능
5) 충돌이 발생하면 임의의 시간 동안 대기한 후에 전송 채널을 감지하는 과정을 다시 반복한다.
➡ 여러 호스트가 채널이 유휴 상태가 되기를 기다리다가 동시에 프레임을 전송할 수 있기 때문에 충돌이 발생할 가능성이 높다.
Non-persistent CSMA
전송 채널의 신호를 감지해 채널이 사용 중이라고 판단하면 더는 채널의 유휴 상태를 확인하지 않음
1-persistent 방식보다 충돌이 발생할 확률을 줄일 수 있다.
[작동 방식]
1) 일반 신호 감지 프로토콜처럼 프레임을 전송하기 전에 전송 채널이 사용 중인지 확인
2) 다른 호스트에서 채널을 사용 중이라고 판단하면 임의의 시간 동안 대기
3) 대기 후 다시 채널 감지를 시작
p-persistent CSMA
슬롯 채널 방식에서 많이 사용한다.
채널이 유휴 상태이면 p의 확률로 프레임을 전송하고, 채널이 사용 중이면 다음 슬롯을 기다린 후 앞의 과정을 반복.
CSMA/CD
[기존 CSMA 방식의 문제점]
CSMA 방식은 기본적으로 둘 이상의 호스트에서 동시에 채널의 유휴 상태를 확인할 가능성이 있다.
따라서 여러 호스트가 동시에 채널을 사용할 수 있다고 판단할 수 있으며, 이런 상황이 자주 발생하면 프레임 전송 과정에서 충돌이 발생할 가능성도 커진다.
공유 버스에서 충돌이 발생하면 해당 프레임의 내용이 깨지고, 각 호스트에서 전송한 프레임의 내용이 변형되므로 프레임을 더 전송하는 것이 의미가 없다.
[충돌 감지 Collision Detection 기능]
- 따라서 향상된 방식인 CSMA/CD에서는 이 기능을 사용해 충돌 여부를 확인한다.
- 일단 호스트가 충돌을 감지하면 진행 중인 프레임의 전송을 중지한다.
- 트랜시버 Transceiver
- 호스트를 전송 케이블에 연결하기 위한 송수신 장치로, 전송 선로의 신호를 감지 하는 기능과 함께 충돌 현상을 감지하는 기능도 제공
- 임의의 트랜시버가 충돌을 감지하면 이를 특정 신호의 형태로 변환해 전송 케이블에 다시 전송해야 함.
- 이처럼 트랜시버는 충돌이 발생했음을 알려줌으로써 무의미한 프레임 전송을 억제한다.
[이더넷 방식을 이용하는 고전적인 LAN 접속]
- 굵고 긴 전송 케이블로 된 전송 매체에 트랜시버 장비로 보조선을 연결해 각 호스트를 연결함
- 이더넷 케이블 하나에 연결되는 호스트 수가 증가하면 케이블을 두 개로 나누어 리피터 Repeater 로 연결해야 한다.
- 리피터: 단순히 신호를 증폭하여 이웃하는 케이블로 넘겨주는 기능을 한다.
- 예를 들어, 아래의 왼쪽 케이블에서 전송되는 신호는 리피터를 통해 오른쪽으로 전달되고, 반대 방향으로도 신호를 증폭해 전달한다.
[IEEE 802.3 표준안]
- 전송 케이블의 최대 길이를 일정 범위 이내로 제한: 이는 케이블의 길이가 너무 길면 신호 감쇄 현상에 의해 오류가 발생할 가능성이 높아지기 때문이다.
- 호스트 간 간격 규정: 케이블에 연결되는 호스트 간 간격이 너무 좁아지지 않도록 일정 간격 이상으로 규정하고 있다.
프레임 구조
상위 계층인 LLC에서 내려온 프레임을 상대 호스트에 전송하려면 MAC 계층에서 정의된 프레임 구조에 맞게 포장해야 한다.
- MAC Frame: MAC 계층 프로토콜에 정의된 MAC 헤더와 트레일러 정보를 추가한 것
- MAC 프레임은 LLC 계층에서 보낸 모든 정보를 전송 데이터로 취급하며, 데이터 앞에는 헤더가, 뒤에는 트레일러가 위치한다.
- 이더넷 프레임: 이더넷 프로토콜에서 정의된 MAC 헤더와 트레일러 정보를 추가한 것
필드의 단위는 바이트로
Source Address와 Destination Address 필드: 6바이트의 MAC 주소를 사용
Data와 Padding 필드: 가변 길이를 지원
이더넷 프레임의 Data 필드 왼쪽에 위치한 필드들은 헤더에 속하고, 오른쪽은 트레일러에 속한다.
헤더와 트레일러에서 정의한 필드의 의미는 다음과 같다.
[Preamble(프리엠블)]
- 7바이트 크기로
- 수신 호스트가 송신 호스트의 클록과 동기를 맞출 수 있도록 시간 여유를 제공하는 것이 목적이다.
- 각 바이트는 10101010 비트 패턴을 포함한다.
[Start Delimiter(시작 구분자)]
- 프레임이 시작된다는 의미로 사용되며, Preamble 필드와 구분하기 위해 10101011의 값을 갖는다.
- Preamble 패턴의 마지막 2비트는 10이지만, Start Delimiter의 값은 11로 끝난다.
[Source Address/Destination Address(송신 호스트 주소/수신 호스트 주소)]
- MAC 계층 에서는 호스트를 구분하는 고유의 MAC 주소를 사용한다.
- MAC 주소 값은 일반적으로 LAN 카드에 내장되어 제공된다.
- 두 필드는 전송되는 프레임의 송신 호스트와 수신 호스트 주소를 표현한다.
- 수신 호스트 주소는 최상위 비트가 1이면 그룹 주소를 의미하고, 0이면 일반 주소이다.
- 1: 그룹 주소에는 특정 그룹에 속한 호스트에 프레임을 전송하는 멀티캐스팅과 네트워크에 연결된 모든 호스트에 전송하는 브로드캐스팅이 있다. 브로드캐스팅에서는 주소부의 모든 비트가 1이다.
[Length/Type]
- 필드 값이 1,500 이하: Data 필드의 데이터 크기를 의미하는 Length로 해석
- 필드 값이 1,500 초과: Type으로 해석
- Length(길이)
- Data 필드에 포함된 가변 길이의 전송 데이터 크기를 나타내며, 최댓값은 1,500
- IP 패킷의 크기가 이 값을 초과하면 먼저 분할 과정이 이루어져야, MAC 프레임의 내부에 캡슐화될 수 있음
- Data와 Padding을 합한 데이터의 최소 크기는 46바이트이다.
- Length 값이 46보다 작으면 Padding 필드에 해당하는 크기만큼 0으로 채운다.
- Type(종류)
- 이더넷 프레임에 캡슐화된 상위 프로토콜의 패킷 종류를 구분한다.
- Length(길이)
[Checksum(체크섬)]
- 데이터 전송 과정에서 데이터 변형 오류의 발생 여부를 수신 호스트가 확인할 수 있도록 송신 호스트가 값을 기록해줌.
- Preamble, Start Delimiter, Checksum 을 제외한 나머지 필드에 대한 CRC 값이다.
- 더 알아보기
LLC 프레임 캡슐화
OSI 7계층 모델에서는 데이터 전송시, 최상위 계층인 응용 계층에서 시작해 물리 계층까지 내려오는 과정에서 각 계층의 프로토콜이 정의한 헤더 정보를 계속 추가한다.
아래 그림은 이더넷 프레임에서 Data 필드를 제외한 필드들이 MAC 계층에서 추가하는 정보이다.
1) 네트워크 계층에서 전송을 요구한 패킷은 LLC 계층으로 내려오면서, LLC 헤더 정보를 추가해 LLC 프레임이 된다.
2) LLC 프레임은 다시 MAC 계층으로 내려오는데, 이 과정에서 MAC 헤더와 MAC 트레일러 정보를 추가한다.
3) 이때 LLC 계층에서 보낸 LLC 헤더와 LLC 데이터는 MAC 계층의 데이터로 취급되기 때문에 MAC 프레임의 Data 필드에 기록된다.
4) 이후 MAC 계층에서는 MAC 프레임을 물리 계층을 사용하여 수신 호스트에 전송한다.
허브와 스위치
CSMA/CD 방식에서 트랜시버를 이용해 전송 케이블에 호스트를 연결하는 방식은 더 이상 사용하지 않는다.
대신 허브라는 박스 형태의 장비에 잭을 사용해 호스트를 연결하기 때문에 LAN 케이블의 구성이 이전보다 간단해졌다.
허브의 성능 문제를 개선한 스위치 허브도 많이 보급되는 추세이다.
이더넷 환경에서 사용하는 공유 버스, 일반 허브, 스위치 허브의 차이점을 설명 한다.
[공유 버스]
공유 버스 구조를 사용하는 이더넷의 전형적인 원리를 보여준다.
임의의 호스트 에서 전송한 프레임은 버스에 연결된 모든 호스트에 전송되고, 목적지의 주소에 해당하는 호스트만 프레임을 수신한다.
초기의 CSMA/CD 방식에서는 10Mbps의 전송 속도를 지원했지만, 요즘은 100Mbps, 1Gbps의 이더넷이 주로 사용된다.
허브 hub
박스 형태의 장비에 호스트를 연결하는 다수의 포트를 지원하므로, 각 호스트는 외형상 허브에 스타형 구조로 연결된다.
그러나 내부의 동작 원리는 버스형 구조를 지원하기 때문에 임의의 호스트에서 전송한 프레임을 허브에 연결된 모든 호스트에 전달한다.
허브의 내부 동작은 공유 버스 방식으로 이루어지므로 여러 호스트가 동시에 프레임을 전송 하면 충돌이 발생할 수 있다.
허브 구조의 LAN에서는 전체 전송 용량이 각 호스트를 연결하는 전송 선로 용량의 제한을 받는다. 따라서 그림처럼 허브의 최대 전송 용량은 100Mbps로 제한된다
스위치 허브 Switch Hub
스위치 허브 는 일반 허브와 형태가 동일하지만, 성능 면에서 장점이 있다.
중앙에 위치한 허브에 스위치 기능이 있어 임의의 호스트로부터 수신한 프레임을 모든 호스트에 전송하지 않고 해당 프레임의 목적지로 지정한 호스트에만 전송한다.
➡ 이들 사이에 프레임 전송이 진행되고 있어도, 다른 호스트끼리 프레임을 전송할 수 있다.
➡ 전체 전송 용량이 증가하는 효과가 생긴다.
[스위치 허브의 장점]
• 스위치 허브가 자신에게 연결된 호스트를 모두 수용할 수 있는 충분한 전송 용량을 지원하면 각호스트는 할당된 LAN 전송 용량을 모두 사용할 수 있다.
• 일반 허브를 스위치 허브로 교체하는 과정에서 연결된 호스트는 하드웨어나 소프트웨어를 교체할 필요가 없다.