데이터 링크 계층
Last updated
Last updated
데이터 링크 계층은 네트워크 장비 간에 신호를 주고받는 규칙을 정하는 계층으로, 랜에서 데이터를 주고 받기 위해 필요한 계층이다.
이더넷은 랜에서 적용되는 규칙으로, 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고 받을 때 사용한다. 허브를 사용하는 랜 환경에서는 특정한 컴퓨터 한 대에 데이터를 보내려고 해도 다른 모든 컴퓨터에 전기 신호가 전달된다. 이때, 데이터에 목적지 정보를 추가해서 보내, 목적지 이외의 컴퓨터는 데이터를 받더라도 무시하도록 규칙이 정해져있다. 컴퓨터 여러대가 동시에 데이터를 보내면, 데이터들이 서로 충돌(collision) 할 수 있어, 이더넷은 여러 컴퓨터가 동시에 데이터를 전송해도 충돌이 되지 않는 구조로 되어있다.
데이터가 동시에 케이블을 지나가면 충돌이 발생하므로, 이더넷에서 데이터를 보내는 시점을 늦추는 방법
CS : 데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 아닌지 확인
MA : 케이블에 데이터가 흐르고 있지 않다면, 데이터를 보내도 좋다.
CD : 충돌이 발생하고 있는지 확인한다.
현재는 효율이 좋지 않다는 이유로 거의 사용하지 않음
Media Access Control Adderess의 줄임말
랜 카드에는 MAC주소가 정해져있다. MAC주소는 제조할 때 새겨지므로 물리 주소라 불리며, 전 세계에서 유일한 번호로 할당된다.
16진수 48비트로 구성
앞 24비트 : 랜 카드를 만든 제조사 번호
뒤 24비트 : 제조사가 랜 카드에 붙인 일련번호
데이터 링크 계층(네트워크 계층)에서 이더넷 헤더와 트레일러를 붙인다.
목적지 MAC 주소(6 byte)
출발지 MAC주소(6 byte)
유형(2 byte) : 이더넷으로 전송되는 상위 계층 프로토콜의 종류를 나타낸다. ( 유형번호를 기억할 필요는 없으며, 프로토콜 종류를 식별하는 번호가 들어간다는 것은 알고 있어야한다.)
유형번호 | 프로토콜 |
0800 | IPv4 |
0806 | ARP |
8035 | RARP |
814C | SNMP over Ethernet |
86DD | IPv6 |
FCS : Frame Check Sequence
데이터 전송 도중에 오류가 발생하는지 확인하ㅣ는 용도
이더넷 헤더와 트레일러가 추가된 데이터
데이터 링크 계층에서 데이터에 이더넷 헤더와 트레일러를 추가해 프레임을 만들고(캡슐화), 물리 계층에서 이 프레임 비트열을 전기신호로 변환해 네트워크를 통해 전송한다.헤더에 목적지 MAC주소가 있으므로, MAC주소가 다른 컴퓨터에서는 데이터를 파기하고, 목적지 MAC주소에 해당하는 컴퓨터만 데이터를 수신한다. 목적지 데이터 링크 계층에서는 이더넷 헤더와 트레일러를 분리하는 작업(역캡슐화)을 해준다.
데이터 링크 계층에서 동작하며, 레이어 2 스위치, 스위칭 허브라고 불린다.
스위치 내부에 MAC 주소 테이블(MAC address table)이 존재
스위치의 포트 번호와 해당 포트에 연결되어 있는 컴퓨터의 MAC주소가 등록되는 데이터 베이스
MAC 주소 테이블에 주소가 등록되는 과정
컴퓨터 A : AA-AA-AA-AA-AA-AA 컴퓨터 B : BB-BB-BB-BB-BB-BB 컴퓨터 C : CC-CC-CC-CC-CC-CC 컴퓨터 D : DD-DD-DD-DD-DD-DD 컴퓨터 E : EE-EE-EE-EE-EE-EE
컴퓨터A에서 컴퓨터C로 데이터 전송
포트 | MAC주소 |
1 | AA-AA-AA-AA-AA-AA |
2 | |
3 | |
4 | |
5 |
목적지 컴퓨터 C의 주소가 테이블에 등록되어 있지 않아, 송신 포트(1)외의 다른 포트(2~5)에 데이터 프레임을 전송 이렇게 수신 포트 이외의 모든 포트에 데이터를 보내는 것을 플러딩(flooding)이라 한다.
서로 통신이 이루어지고 나면, MAC Address에 주소가 등록된다.
포트 | MAC주소 |
1 | AA-AA-AA-AA-AA-AA |
2 | |
3 | CC-CC-CC-CC-CC-CC |
4 | |
5 |
만약 이미 목적지 MAC주소가 등록되어있다면, 목적지 컴퓨터에만 데이터가 전송된다.
MAC 주소 필터링 : MAC주소를 기준으로 목적지를 선택하는 것을 말하며, 즉, 불필요한 데이터를 네트워크에 전송하지 않게 된다.
데이터 송수신을 동시에 통신하는 방식
데이터를 동시에 전송해도 충돌이 발생하지 않음
컴퓨터 간 랜케이블로 직접 연결시 크로스 케이블을 사용하며, 이때 전이중 통신 방식을 사용한다.
스위치는 충돌이 이루어지지 않는 구조로 되어있어, 전이중 통신 방식으로 데이터를 주고 받을 수 있다.
허브 사용시 충돌로 인한 네트워크 지연이 발생하므로, 스위치를 사용하는 것이 표준
회선 하나로 송신과 수신을 번갈아가면서 통신하는 방식
데이터를 동시에 전송하면 충돌 발생
허브를 사용하면 회선 하나를 송신과 수신이 번갈아가면서 사용하는 반이중 통신 방식을 사용한다.
충돌이 발생할 때, 그 영향이 미치는 범위를 충돌 도메인(collision domain)이라 한다.
허브는 왼쪽 그림과 같이 연결되어 있는 컴퓨터 전체가 하나의 충돌 도메인이 된다.
허브는 반이중 통신 방식으로, 동시에 데이터를 전송하면 충돌이 발생한다.
스위치는 오른쪽 그림과 같이 충돌 도메인이 좁다.
전이중 통신 방식이므로, 충돌이 발생되지 않는다.
접속되어있는 모든 컴퓨터에 영향을 미치지 않는다.
충돌 도메인의 범위가 넓을수록 네트워키가 지연되므로, 네트워크를 지연시키지 않기 위해서라도 충돌 도메인의 범위를 좁히는 것이 매우 중요하다.
ARP(Address Resolution Protocol)
목적지 컴퓨터의 IP주소를 이용해 MAC주소를 찾기 위한 프로토콜이다. 즉, 네트워크 계층 주소와 데이터 링크 계층 주소 사이의 변환을 담당
ARP 요청 : 출발지 컴퓨터가 목적지 주소를 모르는 경우 MAC주소를 알아내기 위해 네트워크에 브로드캐스트
ARP 응답 : 요청에 대해 지정된 IP주소를 가진 컴퓨터는 MAC 주소를 응답하고, 아닌 컴퓨터는 응답하지 않는다.
ARP 테이블 : 출발지 컴퓨터에서 MAC주소를 얻은 후 MAC주소와 IP 주소의 매핑 정보를 메모리에 보관
이후 데이터 통신은 ARP 테이블을 참고해 전송
IP 주소 변경시 해당 MAC주소도 함께 변경되므로, ARP 테이블에서는 보존기간을 캐시로 지정하고, 일정 기간이 지나면 삭제하고, 다시 ARP 요청을 한다.
이더넷은 케이블 종류, 통신 속도에 따라 다양한 규격으로 분류된다.
규격 이름 | 통신속도 | 케이블 | 케이블 최대 길이 | 표준화 연도 |
10BASE5 | 10Mbps | 동축케이블 | 500m | 1982년 |
10BASE2 | 10Mbps | 동축케이블 | 185m | 1988년 |
10BASE-T | 10Mbps | UTP 케이블(Cat3이상) | 100m | 1990년 |
100BASE-TX | 100Mbps | UTP 케이블(Cat5이상) | 100m | 1995년 |
1000BASE-T | 1000Mbps | UTP 케이블(Cat5이상) | 100m | 1999년 |
10GBASE-T | 10Gbps | UTP 케이블(Cat6a이상) | 100m | 2006년 |
앞의 숫자 : 통신속도
BASE : 전송방식
마지막 문자 : 케이블