취미가 좋다
네트워크 4 : 데이터 링크 계층 본문
OSI 7 Layer의 2 계층인 데이터 링크 계층에 대해 알아보자.
데이터 링크 계층(Data Link Layer)은 네트워크 기기 간에 데이터를 전송하고 물리 주소를 결정한다.
그리고 네트워크 장비 간에 신호를 주고받는 규칙을 정한다.
이더넷(Ethernet) 이란?
랜에서 데이터를 주고받기 위한 규칙으로, 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고받을 때 사용한다.
일반적으로 사용되는 랜에서 가장 많이 활용되는 기술 규격이다.
만약 허브에 연결된 컴퓨터들이 동시에 데이터를 보낸다면 충돌(collision)이 발생할 수도 있다.
CSMA/CD
이더넷은 CSMA/CD라는 데이터 전송 시점을 늦추는 방법을 사용하여 충돌을 방지한다.
- CS : 데이터를 보내려고 하는 컴퓨터가 케이블에 데이터가 흐르고 있는지 확인하는 규칙
- MA : 케이블에 데이터가 흐르고 있지 않으면 데이터를 보내도 된다는 규칙
- CD : 충돌이 발생하고 있는지 확인하는 규칙
하지만 최근에는 스위치(switch)라는 장비를 사용하면서 CSMA/CD를 사용하지 않는다.
MAC 주소란?
랜카드에 할당된 전 세계에서 유일한 번호로 물리 주소라고도 불린다.
MAC 주소는 48비트 숫자로 구성되어 있다.
앞 24비트는 랜 카드를 만든 제조사 번호이다.
뒤 24비트는 제조사가 랜 카드에 붙인 일련번호이다.
MAC 주소를 사용한 통신으로, 데이터 링크 계층에서 이더넷 헤더와 트레일러를 붙인다.
이더넷 헤더
이더넷 헤더는 목적지의 MAC 주소(6 bytes), 출발지 MAC 주소(6 bytes), 유형(2 bytes)으로 총 14 bytes로 구성된다.
목적지 MAC 주소 6 바이트 |
출발지 MAC 주소 6 바이트 |
유형 2 바이트 |
이더넷 유형은 이더넷으로 전송되는 상위 계층 프로토콜의 종류를 식별하는 번호를 나타낸다.
유형 번호 | 프로토콜 |
0800 | IPv4 |
0806 | ARP |
8035 | RARP |
814C | SNMP over Ethernet |
86DD | IPv6 |
트레일러
데이터 뒤에 붙고, FCS(Frame Check Sequence)라고 부르기도 한다.
데이터 전송 도중 오류가 발생하는지 확인하는데 사용된다.
프레임
데이터 링크 계층에서 이더넷 헤더와 트레일러가 추가된 데이터이다.
지금까지의 데이터 전송 과정
1. 데이터 링크 계층에서 데이터에 이더넷 헤더와 트레일러를 추가하여 프레임을 만든다.
2. 물리 계층에서 이 프레임 비트열을 전기 신호로 변환하여 네트워크를 통해 전송한다.
3. 허브에 연결된 모든 컴퓨터는 데이터를 받고, 역캡슐화로 이더넷 헤더와 트레일러를 분리한다.
4. 목적지 MAC 주소와 자신의 MAC 주소를 비교하고 다르면 데이터를 파기한다.
만약 여러 컴퓨터가 같은 컴퓨터에 데이터를 전송한다면 CSMA/CD 방식을 사용하여 충돌을 방지한다.
스위치(Switch)란?
랜을 구성할 때 사용하는 단말기 간 스위칭 기능이 있는 통신망 중계 장치이다.
데이터 링크 계층에서 동작하고 스위칭 허브라고도 불린다.
생김새는 허브와 비슷하다.
이 스위치 안에는 MAC 주소 테이블이 있다.
MAC 주소 테이블 (MAC address table)
스위치의 포트 번호와 해당 포트에 연결되어 있는 컴퓨터의 MAC 주소가 저장된 데이터베이스이다.
스위치에 연결된 컴퓨터가 프레임(데이터)을 전송하면 MAC 주소 테이블을 확인하고 해당 포트로 전송한다.
만약 테이블에 저장되지 않는 주소라면, MAC 주소와 포트 번호를 데이터베이스에 정보를 저장한다.
이를 MAC 주소 학습 기능이라고 하고, 허브에는 없는 기능이다.
플러딩 (flooding)
MAC 주소 테이블에 등록되어 있지 않은 MAC 주소가 들어오면, 송신 포트를 제외한 모든 포트에 데이터를 전송한다.
MAC 주소 필터링
주소를 저장한 이후 해당 포트에만 프레임을 전송하기 위해, MAC 주소를 기준으로 목적지를 선택하는 것이다.
이를 통해, 불필요한 데이트 전송을 막을 수 있다.
데이터 통신 방식에는 2가지가 있다.
전이중 통신 방식 (full-duplex communication)
데이터의 송수신을 동시에 통신하는 방식이다.
반이중 통신 방식
회선 하나로 송신과 수신을 번갈아가며 통신하는 방식이다.
컴퓨터 두 대를 직접 랜 케이블로 연결한다면 4 쌍의 선을 이용하기 때문에, 전이중 통신 방식을 사용한다.
허브에는 송수신이 나눠지지 않아서 동시에 데이터를 전송하면 충돌이 발생하기 때문에, 반이중 통신 방식을 사용한다.
스위치는 충돌이 일어나지 않는 구조로 되어 있기 때문에, 전이중 통신 방식을 사용한다.
따라서 효율이 높은 스위치를 사용하는 것이 표준이다.
충돌 도메인 (collision domain)
충돌이 발생할 때 그 영향이 미치는 범위이다.
허브는 연결된 모든 컴퓨터가 하나의 충돌 도메인이 된다.
스위치는 컴퓨터와 연결된 포트만이 충돌 도메인이 된다.
따라서 스위치가 더 효율이 좋고 네트워크가 지연되는 경우가 더 적다.
ARP (Address Resolution Protocol)
목적지 컴퓨터의 IP 주소를 이용하여 MAC 주소를 찾기 위한 프로토콜이다.
네트워크 계층 주소와 데이터 링크 계층 주소 사이의 변환을 담당한다.
IP 주소를 물리 주소인 MAC 주소로 변환한다.
ARP 요청 (request)
출발지 컴퓨터가 목적지 주소를 모르면 MAC 주소를 알아내기 위해 네트워크에 브로드캐스트를 한다.
ARP 응답 (reply)
지정된 IP 주소를 가진 컴퓨터는 MAC 주소를 응답으로 보낸다.
이를 통해 출발지 컴퓨터는 이더넷 프레임을 만들 수 있다.
ARP 테이블
출발지 컴퓨터에서는 MAC 주소와 IP 주소의 매핑 정보를 메모리에 보관한다.
이후 데이터 통신을 할 때 테이블을 참겨하여 데이터를 전송한다.
IP 주소가 변경되면 MAC 주소도 함께 변하기 때문에, 정보를 일정 시간이 지나면 삭제하고 다시 ARP 요청을 한다.
이더넷 규격
규격 이름 | 통신 속도 | 케이블 | 케이블 최대 길이 | 표준화 연도 |
10BASE5 | 10 Mbps | 동축케이블 | 500m | 1982 |
10BASE2 | 10 Mbps | 동축케이블 | 185m | 1988 |
10BASE-T | 10 Mbps | UTP케이블(Cat3 이상) | 100m | 1990 |
100BASE-TX | 100 Mbps | UTP케이블(Cat5 이상) | 100m | 1995 |
1000BASE-T | 1000 Mbps | UTP케이블(Cat5 이상) | 100m | 1999 |
10GBASE-T | 10 Gbps | UTP케이블(Cat6a 이상) | 100m | 2006 |
규격 이름은 ( 통신 속도 + 전송 방식 + 케이블 종류 )로 결정한다.
점점 속도가 빨라지고 있다.
본 글은 책 [모두의 네트워크 - 미즈구치 카츠야] 을 참고하여 작성되었습니다.
'Computer Science > 네트워크' 카테고리의 다른 글
네트워크 6 : 전송 계층 - Transport Layer (0) | 2021.09.17 |
---|---|
네트워크 5 : 네트워크 계층 (0) | 2021.09.15 |
네트워크 3 : 물리 계층 (0) | 2021.01.27 |
네트워크 2 : 프로토콜 (0) | 2021.01.27 |
네트워크 1 : 기초 (0) | 2021.01.22 |