본문 바로가기
컴퓨터 네트워크

컴퓨터 네트워크 14장 - 이더넷 -

by ChocoPeanut 2017. 4. 19.

컴퓨터 네트워크 14

- 이더넷 -

 

앞장에서 봤던 IEEE 802 시리즈 중 802.31-persistent CSMA/CD 방식의 LAN 환경에서의 표준안이고 이더넷은 802.3에 있는 제품이다. 공유 버스 구조에서 호스트 간의 프레임 충돌을 방지하기 위해서는 프레임을 전소하기 전에 다른 호스트가 공유 버스를 사용하고 있는지를 확인해야한다. 이는 전송 선로에 흐르는 신호를 감지하는 것으로 구현할 수 있는데 이러한 기능을 수행하는 것이 신호 감지 프로토콜이다.


1-persistent CSMA는 프레임을 전송하기 전에 채널 사용 여부를 확인하는 신호 감지 프로토콜의 형태 중 하나이다. 호스트는 채널이 사용 중이면 유휴 상태가 될 때까지 기다리다 유휴 상태가 변경되면 무조건 프레임을 전송한다. 하지만 다중접근이 가능한 채널에서 둘 이상의 호스트가 전송 채널을 유휴 상태로 판단하면 프레임 전송 과정에서 충돌이 발생할 수 있다.


Non-persistent CSMA는 채널이 사용 중이라고 판단하면 더는 채널의 유휴 상태를 확인하지 않고 임의의 시간 동안 대기한 후 다시 채널을 감지하는 방식으로 충돌의 발생될 확률을 줄인다.


p-persistent CSMA는 슬롯 채널 방식에서 주로 사용하는 방식이다. 프레임을 전송하기 전에 채널 사용 여부를 확인하는데 사용 중이면 다음 슬롯까지 대기 후 다시 채널을 감지한다. 채널이 유휴 상태면 p의 확률로 프레임을 전송한다.


이더넷이라고 불리는 CSMA/CD는 충돌 감지 기능을 더욱 향상시킨 방식이다. 이더넷 방식을 이용하는 고전적인 LAN 접속 방식을 보면 트랜시버와 리피터를 활용한 방식이다. 트랜시버는 호스틀 전송 케이블에 연결하기 위한 송수신 장치로, 전송 선로의 신호를 감지하는 기능과 함께 충돌 현상을 감지하는 기능을 제공한다. 리피터는 케이블의 길이가 길어져 신호가 감쇄하는 현상을 보안하기 위해 신호를 증폭시켜주는 기능을 수행한다.


이더넷 방식에서 트랜시버를 이용해 전송 케이블에 호스트를 연결하는 방식은 더 이상 사용하지 않는다. 공유 버스에 문제가 생길 때 통신 장애가 쉽게 발생할 수 있기 때문이다. 대신 허브라는 박스 형태의 장비에 잭을 사용해 호스트를 연결한다. 허브의 성능 문제를 개선한 스위치 허브도 많이 사용되고 있다. 허브는 박스 형태의 장비에 호스트를 연결하는 다수의 포트를 지원하므로 외형상 허브에 스타형 구조로 연결된다. 하지만 내부 동작은 버스형 구조이므로 임의의 호스트에서 전송한 프레임을 허브에 연결된 모든 호스트에 전달한다. 스위치 허브는 일반 허브와 형태가 동일하지만 스위치 기능이 있어 임의의 호스트로부터 수신한 프레임을 모든 호스트에 전송하지 않고 해당 프레임의 목적지로 지정한 호스트에만 전송할 수 있다. 따라서 이들 사이에 프레임 전송이 진행되고 있어도 다른 호스트끼리 충돌 없이 프레임 전송을 할 수 있다. 따라서 전체 전송 용량이 증가하는 효과가 생긴다.



상위 계층인 LLC에서 내려온 프레임을 상대 호스트에게 전송하려면 MAC 계층에서 정의된 프레임 구조를 맞게 포장해야한다. MAC 계층 프로토콜에 정의한 MAC 프레임MAC 헤더와 LLC 프레임과 MAC 트레일러로 구성된 형태이다. LLC 프레임은 LLC 계층이 MAC 계층에게 전송하도록 요청한 데이터의 형태이다. MAC 헤더에는 프리엠블, 시작 구분자, 송신호스트/수신호스트 주소, 길이와 종류가 속해있고 트레일러에는 체크섬이 포함되어 있다. 프리엠블은 수신 호스트가 송신 호스트의 클록 동기를 맞추기 위한 용도이고 시작 구분자는 프레임의 시작 위치를 구분해주는 역할을 한다. 길이는 데이터 필드에 포함된 가변 길이의 전송 데이터 크기를 의미한다. 체크섬의 경우에는 오류 발생 여부를 수신 호스트가 확인할 수 있도록 하는 값으로 CRC값이 대표적이다.




계층 3에서 만들어진 패킷이 LLC 계층에 와서 LLC 헤더가 붙게 되면 LLC 프레임이 완성된다. 그 후 MAC 계층으로 오게 되면 MAC 헤더와 트레일러를 붙여 MAC 프레임이 완성된다. 패킷은 3계층에서 사용하는 데이터의 단위이고 프레임은 2계층에서 사용하는 데이터의 단위이다