이더넷 (Ethernet)
- IEEE 802.3 는 LAN환경의 MAC계층 가운데 CSMA/CD에 대해 규정한 표준안.
- 이더넷은 원래 IEEE 802.3 표준안을 실제로 구현한 제품이지만, 현재는 더 일반화된 용어로 사용됨.
이더넷과 신호 감지 기능
신호 감지(Carrier Sense) 프로토콜
공유 버스 구조에서 호스트 간의 프레임 충돌을 방지하려면 프레임을 전송하기 전에 다른 호스트가 공유 버스를 사용하고 있는지 확인해야 함. 이는 전송 선로에 흐르는 신호를 감지하는 기능으로 구현할 수 있음. 전송 매체의 신호를 감지해 프레임의 전송 여부를 결정하는 포로토콜을 신호 감지(Carrier Sense) 프로토콜이라고 함. 신호 감지 프로토콜에서는 선로의 전달 지연이 성능에 영향을 많이 줌.
1-persistent CSMA
- 프레임을 전송하기 전에 채널 사용 여부를 확인
- 채널이 사용 중이면 유휴 상태가 될 때까지 대기
- 채널이 유휴 상태가 되면 확률 1(100%)의 조건으로 프레임을 전송하기 때문에 1-persistent CSMA라고 함
Non-persistent CSMA
- 프레임을 전송하기 전에 채널 사용 여부를 확인
- 채널이 사용 중이면 더 이상 유휴 상태를 확인하지 않음
- 대신 임의의 시간동안 대기 후 다시 채널 감지를 시작
- 1-persistent 방식보다 충돌 확률을 줄일 수 있음
p-persistent CSMA
- 슬롯 채널 방식에서 많이 사용
- 채널이 유휴 상태이면 p의 확률로 프레임을 전송, 채널이 사용 중이면 다음 슬롯을 기다린 후 앞의 과정을 반복
CSMA / CD
- Carrier Sense: 신호 감지, Multiple Access: 다중접속, Collision Detection: 충돌감지. 즉, 하나의 채널에 여러 호스트가
접속하며 공유
- 둘 이상의 호스트에서 채널이 유휴 상태라고 판단할 수 있음. 따라서 여러 호스트가 동시에 채널을 사용할 수 있다고
판단할 수 있으며, 이런 경우 프레임 전송 과정에서 충돌이 발생
- 따라서 충돌 감지 기능이 필수적으로 요구됨
- 충돌이 감지되면 진행중인 프레임의 전송을 중지
이더넷의 연결
- 굵고 긴 전송케이블로 된 전송 매체에 트랜시버 장비로 보조선을 연결해 각 호스트를 연결
- 트랜시버는 호스트를 전송 케이블에 연결하기 위한 송수신 장치
- 트랜시버는 충돌이 발생했음을 알려줌으로써 무의미한 프레임 전송을 억제
- 리피터는 단순히 신호를 증폭하여 이웃하는 케이블로 넘겨주는 기능
- 왼쪽 케이블에서 전송되는 신호는 리피터를 통해 오른쪽으로 전달, 반대 방향으로도 신호를 증폭해 전달
프레임 구조
MAC 프레임
- MAC계층 프로토콜에 정의된 MAC헤더와 트레일러 정보를 추가한 것
- MAC프레임은 LLC계층에서 보낸 정보를 전송 데이터로 취급, 데이터 앞에서는 헤더가, 뒤에는 트레일러가 위치
이더넷 프레임 구조
- 모든 필드는 바이트 단위로 구성
Preamble
- 7바이트 크기. 수신 호스트가 송신 호스트의 클록과 동기를 맞출 수 있도록 시간 여유 제공이 목적. 10101010 비트 패
턴을 포함
Start Delimiter
- 프레임이 시작된다는 의미로 사용. Preamble 필드와 구분하기위해 10101011의 값을 갖음.
Source Address와 Destination Address
- 6바이트 MAC주소를 사용
- 수신지의 MSB(최상위 비트)가 1이이면 그룹주소, 0이면 일반주소를 의미.
- 그룹주소에는 멀티캐스팅과 브로드캐스팅이 있는데 브로드캐스팅은 모든 주소부가 1임.
Length/Type
- 필드값이 1500이하이면 Data 필드의 데이터 크기를 의미하는 Length로 해석하고, 그렇지 않으면 Type로 해석
Data+Padding 필드
- Data 필드에 포함된 가변 길이의 전송 데이터 크기를 나타냄. 최대값은 1500.
- IP 패킷의 크기가 이 값을 초과하면 먼저 분할 과정이 이루어져야, MAC프레임의 내부에 캡슐화 가능
- Data와 Padding 을 합한 데이터의 최소 크기는 46바이트.
- Length 값이 46보다 작으면 Padding 필드에 해당하는 크기만큼 0으로 채움
Data와 Padding 필드 : 가변 길이를 지원
- Data필드 왼쪽에 위치한 필드들은 헤더 오른쪽은 트레일러에 속함
Checksum
- 데이터 오류 발생 여부를 수신 호스트가 확인할 수 있도록 송신 호스트가 값을 기록해줌.
- 필드가 4 바이트이면. CRC-32오류 검출코드 사용.
- 필드가 2 바이트이면. CRC-16오류 검출코드 사용.
LLC 프레임 캡슐화
- 이더넷 프레임에서 Data필드를 제외한 필드들이 MAC계층에서 추가하는 정보
1. 패킷은(Layer 3), LLC프레임과 이더넷프레임은(Layer 2)
2. 상위계층 전송단위(PDU)인 패킷이 LLC프레임의 Data영역에 추가되며 LLC프레임의 헤더가 붙어 LLC프레임이 됨.
3. LLC프레임은 다시 MAC계층으로 내려와 MAC계층의 Data로 들어가며 MAC헤더와 트레일러를 추가.
4. 이후 MAC계층에서는 MAC프레임을 물리 계층을 사용하여 수신 호스트에 전송.
허브와 스위치
허브
- 박스 형태의 장비에 호스트를 연결하는 다수 포트를 지원하므로, 각 호스트는 외형상 허브에 스타형 구조로 연결됨.
- 그러나, 내부적인 동작 원리는 버스형 구조를 지원하기 때문에, 임의의 호스트에서 전송한 프레임 모든 호스트에 전달.
- 내부적인 동작방식이 공유버스 형식이기 때문에, 동시에 프레임을 전송하면 충돌이 발생할 수 있음.
- 전체 전송 용량이 각 호스트를 연결하는 전송 선로 용량의 제한을 받음. 그림에서 최대 전송용량은 100Mbps로 제한.
스위치
- 허브의 성능이 계속 떨어져 성능을 향상시킨 장비.
- 중앙에 위치한 허브에 스위칭 기능이 있어 임의의 호스트에서 수신한 프레임을 목적지 호스트에만 전송할 수 있음.
- 따라서, 호스트 1,2 사이에 프레임 전송이 진행되고 있어도, 다른 호스트끼리 프레임을 전송할 수 있음. 이는 전체 전송
용량이 증가하는 효과가 생김.
- 스위치 허브가 자신에게 연결된 호스트를 모두 수용할 수 있는 충분한 전송 용량을 지원하면 각 호스트는 할당된 LAN
전송 용량을 모두 사용할 수 있음
- 일반 허브를 스위치 허브로 교체하는 과정에서 연결된 호스트는 하드웨어나 소프트웨어를 교체할 필요가 없음.
'Network > Computer Science' 카테고리의 다른 글
[Network] 토큰 링 (Token Ring) (0) | 2021.11.17 |
---|---|
[Network] 토큰 버스 (Token Bus) (0) | 2021.11.17 |
[Network] MAC계층과 IEEE 802 (0) | 2021.11.08 |
[Network] 다항 코드 (0) | 2021.11.08 |
[Network] 프레임 (0) | 2021.11.08 |