-
[네트워크] MAC 계층Study/Network 2022. 5. 8. 20:12
MAC계층과 IEEE 802 시리즈
MAC계층의 이해
- LAN 환경에서 계층 2 기능을 MAC과 LLC 계층으로 분리
- MAC 계층 : 물리 계층 기능
- 물리적 특성 반영
- 이더넷 : 공유 버스 방식 지원, 둘 이상의 호스트에서 동시에 데이터 프레임 전송을 시도하면 충돌 발생
- 토큰 링 방식 : 링 구조 지원. 토큰이라는 특정 패턴의 제어 데이터가 링을 순환.
토큰을 확보하여 전송 후 토큰은 링에 내려놔야함. 각 호스트에 전송 우선순위 부여 가능.
- LLC 계층 : 데이터 링크 계층의 기본 기능
- WAN 환경의 데이터링크 계층과 기능을 수행.
- IEEE 802.1 : 표준안 전체를 소개
- IEEE 802.2 : LLC 계층을 소개
- IEEE 802.3 부터 : 다양한 환경의 MAC 계층을 소개
CSMA/CD
- 공유 매체에서의 충돌 문제 해결
- 충돌 허용 방식 : CSMA/CD
- 충돌 회피 방식 : 전송 시간대를 달리하는 타임 슬롯 방식
- CSMA/CD
- 충돌 감지 기능이 필수적으로 요구됨
- 충돌 감지 후, 재전송 기능으로 오류 복구
- 공유 매체의 길이가 길수록 전송 지연이 증가하여 충돌 가능성이 높아짐.
- 데이터 전송 원리 : 호스트가 데이터 전송 시 전송 프레임에 목적지 주소를 기록하여 수신 호스트 지정.
목적지 주소를 보고 내꺼 아니면 그냥 보냄.
- 토큰 버스
- 물리적인 버스 구조(점선)로 연결되지만 논리적인 프레임 전달은 링 구조.
- 토큰이라는 제어 프레임을 사용, 반드시 토큰을 확보해야 함.
- 토큰 링
- 물리적으로 링 구조 지원
- 호스트의 동작 방식 : 대기 모드, 전송 모드
- 대기 모드 : 입력단으로 들어온 데이터를 바로 출력단으로 보냄.
호스트가 다운되거나 기타 장애가 발생해도 네트워크에 영항을 주지 않기 위함.
- 전송 모드 : 토큰을 확보해 데이터를 전송할 수 있는 권한을 보유한 상태.
호스트가 중개 기능을 수행하며, 출력단을 통해 데이터를 전송할 수 있읍.
- 송신 호스트가 전송한 프레임이 링을 한 바퀴 돈 후 송신 호스트에 되돌아옴.
- 프레임이 올바르게 전송되면 데이터 프레임을 회수하고 토큰 프레임을 링에 반환.
이더넷
이터넷과 신호 감지 기능
- 신호 감지 프로토콜
- 전송 매체의 신호를 감지해 프레임의 전송 여부 결정.
- 1-presistent CSMA
- 프레임을 전송하기 전에 채널 사용 여부를 확인
- 재널이 사용 중이면 유휴 상태가 될 떄까지 대기
- 채널이 유휴 상태가 되면 확률 1의 조건으로 프레임을 전송
- Non-persistene CSMA
- 프레임을 전송하기 전에 채널 사용 여부를 확인
- 채널이 사용 중이면 더 이상 유휴 상태를 확인하지 않음
- 대신 임의의 시간 동안 대기 후 다시 채널 감지를 시작
- 1-persistent 방식보다 충돌 확률을 줄일 수 있음
- p-persistent CSMA
- 슬롯 채널 방식에서 많이 사용
- 채널이 유휴 상태이면 p의 확률로 프레임을 전송, 채널이 사용 중이면 다음 슬롯을 기다리고 앞의 과정 반복
- CSMA/CD
- 둘 이상의 호스트에서 채널이 유휴 상태라고 판단할 수 있음
- 이런 경우 프레임 전송 과정에서 충돌이 발생
- 따라서 충돌 감지 기능이 필수적으로 요구됨
- 충돌이 감지되면 진행중인 프레임의 전송을 중지
- 이더넷의 연결
- 굵고 긴 전송케이블로 된 전송 매체에 트랜시버 장비로 보조선을 연결해 각 호스트를 연결
- 트랜시버는 호스트를 전송 케이블에 연결하기 위한 송수신 장치
- 트랜시버는 충돌이 발생했음을 알려줌으로써 무의미한 프레임 전송을 억제
- 리피터는 단순히 신호를 증폭하여 이웃하는 케이블로 넘겨주는 기능
- 왼쪽 케이블에서 전송되는 신호는 리피터를 통해 오른쪽으로 전달, 반대 방향으로도 신호를 증폭해 전달
- 프레임 구조
- MAC 프레임 : MAC 계층 프로토콜에 정의된 MAC 헤더와 트레일로 정보를 추가한 것.
- MAC 프레임은 LLC 계층에서 보낸 정보를 전송 데이터로 취급, 데이터 앞에는 헤더가, 뒤에는 트레일러가.
- 이더넷 프레임 구조
- 필드의 단위는 바이트
- 출발지 주소와 도착지 주소 필드 : 6바이트의 MAC 주소 사용
- Data와 Padding 필드 : 가변 길이를 지원
- Data 필드 왼쪽에 위치한 필드들은 헤더, 오른쪽은 트레일러에 속함
LLC 프레임 캡슐화
- 이더넷 프레임에서 Data 필드를 제외한 필드들이 MAC 계층에서 추가하는 정보
허브와 스위치
- 허브 : 박스 형태의 장비에 잭을 연결해서 이더텟 네트워크를 구성
- 각 호스트는 외형상 허브에 스타형 구조로 연결
- 허브의 내부 동작은 공유 버스 방식
- 스위치 허브 : 허브의 성능을 향상시킨 장비
- 모든 호스트에게 프레임을 전송하지 않음
- 목적지로 지정된 호스트에게만 프레임 전송
- 따라서 동시에 여러 호스트가 데이터를 전송할 수 있음
프레임 구조
- LLC 계층에서 내려온 LLC 프레임을 수신 호스트에 전달하려면 토큰 버스 프레임을 만들어야 함
- 토큰 버스 프레임의 구조 : 데이터프레임과 토킅 프레임을 구분하기 위한 Frame Control 필드가 추가됨
- 헤더와 트레일러에 정의된 필드의 기능
- 시작 구분자/끝 구분자 : 프레임의 시작과 끝을 의미하는 경계를 표시
- 프리엠블/송신호스트 주소/수신호스트 주소/체크섬 : 이더넷 프레임과 기능이 동일
- 프레임 제어 : 데이터 프레임과 제어 프레임을 구분
LLC 프레임 캡슐화
- LLC 프레임의 좌우에 토큰 버스 프레임의 헤더와 트레일러 정보가 채워지면 물리 계층이 수신 호스트로 전송
- 수신 호스트의 MAC 계층은 토큰 버스 프레임의 헤더와 트레일러 정보를 떼어내고,
상위 계층인 LLC 프로토콜에는 LLC 프레임 정보만 올림.
프레임 구조
- 토큰 링 프레임
- 토큰 프레임 : SD, AC, ED 필드
- 데이터 프레임
- 모니터 : 특별하 기능을 수행하는 관리 호스트
프레임 필드의 의미
- Start Delimiter/End Delimiter
- 프레임의 시작과 끝을 구분
- End Delimiter 필드 : I 비트는 데이터프레임을 여러 개로 나누어 전송하는 경우에 사용
E 비트는 오류 검출용
- Access Control
- 우선순위 비트 : 토큰의 우선순위보다 높은 프레임을 전송 가능
- 토큰 비트 : 토큰 프레임과 일반 프레임을 구분, 토큰 프레임은 값이 0
- 모니터 비트 : 오류 발생 시 링 주위를 무한정 순환을 막기 위해 특정 호스트를 모니터로 지정,
모니터 호스트는 이 프레임을 링에서 제거함
- Frame Control
- LLC 계층에서 목적지 호스트로 전송해줄 것을 요청한 LLC 프레임과 토큰 링 프로토콜에서 사용하는
제어용 프레임을 구분하는 데 사용
- TT 비트=00 : 제어 기능을 수행하는 프레임을 위해 정의, CCCCCC 비트의 코드값으로 제어 명령 종 류 구분
- TT 비트=01 : 상위 계층인 LLC 계층에서 전송을 요구한 LLC 프레임을 의미
- Frame Status
- 토큰 링 프레임의 맨 마지막에 위치, 프레임의 수신 호스트가 송신 호스트에 응답할 수 있도록 함
- 두 개의 플래그 비트 A, C 필드로 정의
(한 쌍의 값이 동일한 경우에만 유효한 응답으로 정의, 다르면 0으로 처리되어 무시)
- A 비트 : 수신 호스트가 접근했다는 표시로 1 지정
- C 비트 : 수신 호스트가 자신의 내부 버퍼에 보관했다는 표시로 1 지정'Study > Network' 카테고리의 다른 글
[네트워크] 전송 계층 (0) 2022.06.04 [네트워크] 데이터링크 계층 (0) 2022.05.15 [네트워크] 데이터 전송 - 오류 제어, 프레임 (0) 2022.05.03 [네트워크] 데이터 전송 방식 (0) 2022.05.02 [네트워크] 네트워크 기술 (0) 2022.03.25