MAC 계층
IEEE 802 시리즈
- WAN 환경과는 다르게 LAN 환경에서는 데이터 링크 계층이 다르다. 이러한 차이를 IEEE 802 시리즈에서 다루고 있다.
- 데이터 링크 계층의 상위 부분인 LLC 계층은 LAN 종류의 큰 영향을 받지 않아 802.2 단일 표준안을 사용하지만
- 하위 부분인 MAC 계층은 LAN에 따라 다양하여 각각의 표준안이 정의되어 있다.
MAC과 LLC 계층
- LAN 환경에서는 OSI 7계층 모델에서 정의한 데이터 링크 계층의 기본 기능은 LLC에서 다루고, 물리적 특징과 연결 방식은 MAC 계층에서 처리한다.
MAC 계층
- MAC 계층은 전송 선로의 물리적인 특성을 반영하기 때문에 LAN 종류에 따라서 특성이 구분된다.
- 전송 방식, 호스트의 연결 구조, 유무선 환경 등의 차이점을 MAC 계층에서 처리하여 전송 효율을 높여준다.
- MAC 계층의 종류는 CSMA/CD과 토큰 링 방식이 있다.
- CSMA/CD은 데이터를 전송하기 전 전송 선로를 확인하고, 다른 호스트의 전송 여부를 파악하여 충돌을 피하기 위한 규칙을 정의하고 있다.
- 토큰 링 방식은 점대점 순환 구조에서 토큰을 이용하여 데이터 프레임을 전송하게 된다. 토큰 프레임은 1개만 사용되기 때문에 충돌현상이 발생하지 않으며 링을 한 바퀴 순환하여 돌아오기 때문에 브로드 캐스팅 방식을 지원한다.
LLC 계층
- LAN의 종류에 따라 LLC 계층도 영향을 받게 된다. CSMA/CD 방식에서는 프레임을 슬라이딩 윈도우 프로토콜을 사용하여전송하지만, 토큰 링이나 토큰 버스 구조에서는 송신 호스트가 직접 프레임의 전송 오류를 검출하고 재전송 하기 때문에 슬라이딩 윈도우 프레임 프로토콜이 불필요하다.
CSMA/CD
- 다중 접근 채널 방식을 이용하여 공유 매체에 프레임을 전송하는 방식에서는 데이터 충돌에 따른 해결책이 필요하다.
- 이중 CSMA/CD는 충돌을 허용하고 충돌이 발생했을때 이를 해결하는 방식을 취하고 있다.
- CSMA/CD 방식에서는 프레임을 송신한 호스트에서 충돌을 감지하고 재전송을 한다.
- 이러한 방식은 공유 매체의 길이가 길수록 프레임의 전송 지연이 증가하여 충돌이 발생할 가능성을 높이고 여러번 재전송을 하게 되어 네트워크의 전체 성능이 떨어지는 단점이 있다.
- 신호 감지 기능
- 공유 버스 구조에서 호스트간 프레임의 충돌을 방지하려면 프레임을 전송하기 전에 다른 호스트가 공유 버스를 사용하고 있는지 확인해야 한다.
- 전송 선로에 흐르는 신호를 감지하여 다른 호스트가 사용할 경우 일정 시간을 기다렸다 다시 시도하고 유휴일 경우 프레임을 전송하게 된다.
- 1-persistent CSMA : 전송 채널을 다른 호스트가 사용시 유휴 상태로 변경되면 확률 1(데이터를 전송하려고 시도하는 확률 1) 로 전송하게 된다.
- Non-persistent CSMA : 전송 채널이 사용중이면 더 이상 확인하지 않고 임의의 시간동안 기다린 후 다시 채널 감지를 시작하기 때문에 1-persistent 방식보다 충돌이 발생할 확률을 줄일 수 있다.
- p-persistent CSMA : 채널이 유휴 상태이면 p의 확률로 프레임을 전송하고 사용중이면 다음 슬롯을 기다리며 반복한다.
- 충돌 방지
- CSMA 방식은 둘 이상의 호스트에서 동시에 채널의 유휴 상태를 확인할 가능성이 있어 충돌 가능성이 있다.
- 충돌이 발생하면 프레임이 변형되기 떄문에 CSMA/CD에서는 충돌이 감지되면 프레임의 전송을 중지한다.
- 전송 케이블에 트랜시버를 연결하여 충돌이 발생함을 알려 프레임의 전송을 중지하게 된다.
- IEEE 802.3은 케이블의 최대 길이를 제한하여 신호 감쇄 현상을 줄이고 호스트간 간격이 너무 좁아지지 않게 규정하고 있다.
- 리피티는 신호를 증폭시켜 이웃 케이블에 넘겨주는 역할을 하며 다수의 리티퍼를 사용하면 많은 수의 호스트를 수용할 수 있다.
- 프레임 구조
- 상위 계층인 LLC에서 내려온 프레임을 상대 호스트에게 전송하기 위해서는 MAC 계층에서 정의된 프레임 구조에 맞게 포장해야 한다.
- MAC 프레임은 LLC 계층에서 보낸 모든 정보를 전송 데이터로 취급하며 데이터의 앞에는 헤더가, 뒤에는 트레일러가 위치한다.
- 이더넷 프레임의 구조
- Preamble : 7바이트의 크기로 수신 호스트가 송신 호스트의 클록과 동기를 맞출 수 있도록 시간 여유를 제공하는것이 목적이며 각 바이트는 10101010비트 패턴을 포함한다.
- Start Delimiter : 프레임이 시작된다는 의미로 사용되며 Preamble 필드와 구분하기 위해 10101011의 값을 갖는다.
- Source Address / Destination Address : MAC 계층에서는 호스트를 구분하기 위해서 고유의 MAC 주소를 사용하며 MAC 주소는 LAN 카드에 내장되어 제공된다. 수신 호스트의 최상위 비트가 1이면 그룹 주소를 의미하고 0이면 일반 주소를 의미한다. 그룹 주소에는 특정 그룹에 속한 호스트에 프레임을 전송하는 멀티캐스팅과 네트워크의 연결된 모든 호스트에 프레임을 전송하는 브로드캐스팅이 있다.
- Length / Type: 필드 값이 1,500 이하이면 Data 필드의 데이터 크기를 의미하는 Length로 해석하고, 그렇지 않으면 Type으로 해석한다.
- Length : Data 필드에 포함된 가변 길이의 전송 데이터 크기를 나타내며, 최댓값은 1,500이다. IP 패킷의 크기가 이 값을 초과하면 먼저 분할 과정이 이루어져서, 여러 MAC 프레임으로 나누어져 전송된다. Data와 Padding을 합한 데이터의 최소 크기는 46바이트이며 만약 Length 값이 46보다 작다면 Padding 필드에 해당하는 크기만큼 0으로 채운다.
- Type : 이더넷 프레임에 캡슐화된 상위 프로토콜의 패킷 종류를 구분한다.
- Checksum : 데이터 전송 과정에서 데이터 변형 오류의 발생 여부를 수신 호스트가 확인할 수 있도록 송신 호스트가 값을 기록해준다. Preamble, Start Delimiter, Checksum 을 제외한 나머지 필드에 대한 오류 검출 코드이다.
- LLC 프레임 캡슐화
- OSI 7계층 모델에서는 데이터 전송시 7계층에서 시작하여 각 계층을 거칠때마다 헤더 정보가 계속 추가된다.
- 네트워크 계층에서 내려온 패킷은 LLC 헤더 정보를 추가하여 LLC 프레임이 되고 MAC 계층으로 내려온 LLC 프레임은 MAC 헤더와 트레일러 정보를 추가하여 물리 계층을 사용하여 수신 호스트에 전송한다. 물리 계층은 헤더 정보가 없으며 전송 선로를 통하여 데이터를 물리적으로 전송하게 된다.
- 허브와 스위치
- CSMA/CD 방식에서 트랜시버는 더이상 사용되지 않고, 허브를 사용하여 LAN 케이블의 구성을 간단하게 만들고 이러한 허브의 성능 문제를 개선한 스위치 허브를 사용하기도 한다.
- 허브는 외형상 스타형 구조로 연결되지만 내부의 동작은 버스형 구조를 지원하기 때문에 임의의 호스트에서 전송한 프레임이 허브에 연결된 모든 호스트에 전달된다.
- 허브의 내부 동작은 공유 버스 방식으로 이루어지므로 충돌이 발생할 수 있다.
- 스위치는 임의의 호스트로부터 수신한 프레임을 수신 호스트에게만 전송하기 때문에 브로드캐스팅 되지 않아 네트워크 성능을 개선한다. 또한 동시에 프레임을 전송할 수 있어 전체 전송 욜양이 증가하는 효과가 생긴다.
토큰 버스
- 토큰 버스와 토큰 링은 공유 매체에 프레임을 전송할때 데이터 충돌의 가능성을 원천적으로 차단한다.
- 데이터 프레임을 전송하려면 전송 권한을 의미하는 토큰이 있어야 한다.
- 데이터 전송을 원하는 호스트는 토큰이 도착할때까지 기다리고 토큰을 획득하면 데이터를 전송하고 전송이 완료되면 이웃 호스트에게 토큰을 넘겨준다.
- 네트워크 내부에서는 토큰 프레임이 1개만 존재하기 때문에 충돌 발생이 원천적으로 차단된다.
- 프레임 구조
- LLC 계층에서 내려온 LLC 프레임을 토큰 버스 프레임으로 만든다.
- 이더넷 프레임과 토큰 버스 프레임은 유사하지만 토큰 버스 프레임에는 Frame Control 필드가 추가되어 있다.
- Start Delimiter / End Delimiter : 프레임의 시작과 끝을 의미하는 경계를 표시한다. 이더넷 프레임에는 Length 필드가 있어서 프레임의 전체 크기를 가늠하지만, 토큰 버스에서는 Start Dimiter와 End Ddimiter 필드를 이용해 프레임의 크기가 결정 된다.
- Frame Control : 데이터 프레임과 제어 프레임을 구분해준다. 데이터 프레임에서는 프레임 우선순위와 수신 호스트의 응답 확인이 필요할 때 사용하고, 제어 프레임에서는 토큰의 전달, 링 관리와 같은 용도로 사용한다.
토큰 링
- 토큰링은 순환 구조의 전송 매체와 점대점 방식으로 이루어지며 이를 링 인터페이스라 한다.
- 링 인터페이스는 대기 모드와 전송 모드로 구분되는데 대기 모드에서는 입력단으로 들어온 비트를 출력단으로 즉시 내보낸다. 따라서 호스트의 장애가 발생해도 네트워크의 동작에 영향을 주지 않으며 링 네트워크를 유지하는 역할만 수행한다.
- 전송 모드는 호스트가 토큰을 획득해 프레임을 전송할 수 있는 권한을 보유한 상태이다.
- 전송 모드에서는 토큰을 획득한 호스트가 프레임을 출력단을 통해 링으로 내보내고 프레임은 링을 한 바퀴 순환하게 된다.
- 토큰 링 방식에서는 프레임이 수신 호스트를 거쳐 송신 호스트로 되돌아 오기 때문에 송신 호스트는 프레임이 올바르게 전송 되었는지 알 수 있다.
- 프레임 구조
- 토큰 링 프레임은 데이터 프레임과 토큰 프레임으로 구분할 수 있다.
- 링에 연결된 호스트 중에는 다른 호스트와 구별되는 특별한 기능을 수행하는 관리 호스트가 존재하는데 이를 모니터 호스트라 부른다. 모니터 호스트는 네트워크의 정상 동작을 방해하는 오류를 복구한다.
Q & A
본 도서의 내용을 정리한 것이 아닌 학습 스터디를 위해 제가 작성한 질답입니다.
사실과 다른 내용이 있다면 지적 부탁드립니다 :)
Q1 : 이더넷이 무엇인가요?
A : 이더넷 (Ethernet)은 컴퓨터 네트워크의 기술 표준입니다. 이더넷은 데이터 링크 계층에서 사용하는 프레임 (Frame) 형식, 주소 체계 (MAC 주소), 그리고 매체 접근 제어 (Media Access Control) 방식을 정의합니다.
Q2 : CSMA/CD 방식은 무엇인가요?
A : CSMA/CD 방식은 이더넷의 매체 접근 제어 방식입니다.초기 이더넷에서 많이 사용되었으며 네트워크에 여러 디바이스가 함께 연결될 때, 이들 디바이스들이 데이터를 전송하기 위해 네트워크를 감지하고 충돌을 피하기 위한 규칙을 정의합니다.
출처 : 박기현, 쉽게 배우는 데이터 통신과 네트워크 3판, 한빛아카데미(2022)
'Network' 카테고리의 다른 글
[쉽게 배우는 데이터 통신과 네트워크] Chapter 6 - 데이터 링크 계층 (0) | 2023.09.01 |
---|