[Network] #6 이더넷(Ethernet)
[혼자 공부하는 네트워크↗️], 컴퓨터 네트워킹: 하향식 접근 (제8판)을 바탕으로 정리한 글입니다.
1. 이더넷(Ethernet)
아래는 컴퓨터 설정에서 네트워크 및 인터넷을 클릭했을 때 나오는 화면이다. 인터넷도 아니고 이더넷이 뭘까? 알아보자.
거리 통신망(LAN, Local Area Network)에서 데이터를 전송하기 위한 기술 표준으로, 유선 LAN에서 가장 널리 사용되는 통신 기술이다.
- 인터넷이 글로벌 네트워킹에 대한 것이라면, 이더넷은 근거리 네트워킹에 대한 것이다.
- 다양한 통신 매체의 규격, 송수신되는 프레임의 형태, 프레임을 주고받는 방법 등이 정의되어있다.
- 물리 계층에서 사용되는 케이블은 이더넷 규격을 따르며, 데이터 링크 계층에서 주고받는 프레임은 이더넷 프레임의 형식을 따른다.
- 이것이 물리 계층와 데이터 링크 계층이 밀접하게 연관된 이유이다.
2. 이더넷과 통신 매체(물리 계층 관련)
2.1 국제 표준으로서의 이더넷
통신 매체는 물리 계층 관련 이더넷 기술이다.
- 오늘날 LAN 환경은 거의 이더넷 기술을 기반으로 구현이 된다.
- 따라서 이더넷은
IEEE 802.3
이라는 이름으로 국제 표준이 되었다. (IEEE는 I triple E로 발음) - 다양한 물리 계층과 데이터 링크 계층의 장비는(허브, 스위치, NIC, 케이블 등)은 모두 특정 이더넷 표준을 준수한다.
802.3
뒤 버전을 나타내는 알파벳으로 이더넷 특정 표준을 표현한다.(e.g.,802.3u
,802.3ab
)- 이더넷 표준에 따라 지원되는 네트워크 장비, 통신 매체의 종류, 전송 속도 등이 달라진다.
2.2 특정 이더넷 케이블 표기 방법
아래처럼 표준 규격을 통해 특정 케이블을 지칭하는 것보다, 이더넷 케이블 표기법을 통해 특정 케이블을 지칭하기 좋을 것이다.
특정 이더넷 케이블은 전송속도BASE-추가특성
과 같이 표기한다. (ex. 1000BASE-SX
, 2.5GBASE-T
)
2.2.1 전송속도
- 숫자만 표기:
Mbps
속도 - 숫자 뒤에 G가 붙는 경우:
Gbps
속도 - ex.
1000BASE-T
케이블은 100Mbps 속도 지원,10GBASE-T
는 10Gbps 속도 지원
전송 속도 표기 | 의미 |
---|---|
10 | 10Mbps |
100 | 100Mbps |
1000 | 1Gbps (Gigabit per second) |
2.5G | 2.5Gbps |
5G | 5Gbps |
10G | 10Gbps |
40G | 40Gbps |
100G | 100Gbps |
2.2.2 BASE
BASE는 베이스밴드(BASEband)의 약자로, 변조타입을 의미한다.
- 변조타입이란 비트 신호로 변환된 데이터를 통신 매체로 전송하는 방법이다.
- (개발과는 다소 거리가 있는 내용)
2.2.3 추가 특성
통신 매체의 특성을 명시한다. 다양한 특성이 명시될 수 있다.
- 전송 가능한 최대 거리 - ex.
10BASE-2
,10BASE-5
- 물리 계층 인코딩 방식 - 데이터가 비트 신호로 변환되는 방식
- 레인 수 - 비트 신호를 옮길 수 있는 전송로 수
- 등등
가장 중요한 추가 특성은 통신 매체의 종류이다.
추가 특성 표기(통신 매체의 종류) | 케이블 종류 |
---|---|
C | 동축 케이블 |
T | 트위스티드 페어 케이블 |
S | 단파장 광섬유 케이블 |
L | 장파장 광섬유 케이블 |
예시
10BASE-T
케이블: 10Mbps 속도를 지원하는 트위스티드 페어 케이블1000BASE-SX
케이블: 1000Mbps 속도를 지원하는 단파장 광섬유 케이블1000BASE-LX
케이블: 1000Mbps 속도를 지원하는 장파장 광섬유 케이블
2.3 속도에 따른 이더넷의 분류
지원되는 속도에 따라 유형을 분류를 하기도 한다.
- 이는 이더넷이 오늘날에도 지속적으로 발전하는 기술인 만큼 지원되는 속도로 빨라지고 있기 때문이다.
- 모두 IEEE 802.3 표준에 기반하며, 동일한 이더넷 프레임 구조를 사용한다.
- 고속 이더넷(Fast Ethernet)
100Mbps
가량의 속도를 지원하는 표준 (e.g.,100BASE-TX
)- 전송 거리 단축(네트워크 최대 크기 축소 -> 충돌 도메인의 크기를 줄임), 전이중 지원
- 기기비트 이더넷(Gigabit Ethernet)
1Gbps
가량의 속도를 지원하는 표준 (e.g.,1000BASE-T
)
- 10기기비트 이더넷(10 Gigabit Ethernet)
10Gbps
가량의 속도를 지원하는 표준 (e.g.,10BASE-T
)- 전이중, 반이중 지원
3. 이더넷 프레임(데이터 링크 관련)
3.1 이더넷 프레임이란?
이더넷 프레임은 데이터 링크 관련 이더넷 기술이다.
- 데이터 링크 계층에서 주고받는 메시지의 단위는 프레임이라고 부른다.
- 그리고 이더넷 프레임은 이더넷 네트워크에서 주고받는 프레임을 의미한다.
송신 과정
- 캡슐화를 거쳐 송신된다 (
상위 계층 정보 + 헤더 + 트레일러
)- 헤더: 프리앰블, 수신지 MAC 주소, 송신지 MAC 주소, 타입/길이
수신 과정
-
역캡슐화를 거쳐 수신된다.
- 헤더, 트레일러 제거 후 상위 계층으로 올려보낸다.
이더넷 프레임의 송/수신 과정에 대해 자세히 알아보자.
3.2 이더넷 프레임 구조 및 송신 과정
이더넷은 데이터를 디지털 신호로 변환해 케이블로 전송한다. 이 과정에서 데이터가 어디에서 왔는지, 어디로 가는지, 데이터가 어떤 종류인지를 나타내는 정보가 필요한데, 이를 포함하는 것이 바로 프레임 헤더이다.
3.2.1 프리앰블(preamble) 필드
이더넷 프레임의 시작을 알리는 8바이트(64비트) 크기의 정보이다. 즉, 송수신 간의 동기화를 위해 사용되는 정보이다.
- 첫 7바이트는
10101010
값을 가지고, 마지막 바이트는10101011
값을 가진다. - 프리앰블의 첫 7바이트는 수신 어댑터를 깨우고, 수신자의 클록을 송신자의 클록과 동기화하는 역할을 한다.
- 데이터는 전기 신호로 전송되며, 신호의 0과 1을 정확히 해석하기 위해 송신자와 수신자의 클록 속도가 일치해야 한다.
- 송신자는 특정 속도로 데이터를 전송하지만, 수신자는 이 속도에 정확히 맞추지 않으면 데이터를 제대로 해석하지 못한다.
- 프리앰블의 “10101010” 반복 패턴을 읽으면서 수신 장치가 송신 장치의 전송 속도(클록)와 맞출 수 있다.
- 프리앰블이 끝난 후, 8번째 바이트(1 바이트)인 SFD(Start Frame Delimiter)는 수신 장치에게 “지금부터 실제 데이터 프레임이 시작된다”고 알려준다.
💡 즉, 수신지 입장에서 프리앰블이라는 정해져 있는 비트 열을 송신받게 되면, 이더넷 프레임이 오고 있는 것을 알 수 있는 것이다.
3.2.2 수신지 MAC 주소와 송신지 MAC 주소 필드
MAC 주소는 네트워크 인터페이스마다 부여되는 6바이트(48비트) 길이의 주소를 의미한다. (네트워크 인터페이스: host가 통신 매체와 연결되는 지점)
- MAC 주소는 일반적으로 고유하고 일반적으로 변경되지 않는 주소이기 때문에 물리적 주소라고도 불린다.
- MAC 주소는 LAN 내에서 송수신지를 특정하는 데 사용된다.
- 일반적으로 NIC(Network Interface Controller) 장치가 네트워크 인터페이스 역할을 담당한다.
- 한 컴퓨터에 MAC 주소도 여러 개 있을 수 있다.
- 실제로 링크 계층 주소를 가진 것은 호스트나 라우터가 아닌 호스트나 라우터의 어댑터(네트워크 인터페이스)다.
- 링크 계층 스위치는 호스트와 라우터 간에 데이터그램을 전달하는 일을 하기 때문에 호스트나 라우터를 연결해주는 인터페이스에 링크 계층 주소를 할당받지 않는다.
내 컴퓨터의 MAC 주소를 확인해보자!
- window
- cmd 열고
getmac/v
oripconfig/all
입력
- cmd 열고
- 맥OS or 리눅스
- 터미널 열고
ifconfig
- 터미널 열고
3.2.3 타입/길이 필드
타입/길이 필드에는 숫자가 명시가 되는데, 이 숫자는 타입(type) 혹은 길이(length)를 뜻한다.
- 이더넷이 인터넷 프로토콜(IP) 이외의 다양한 네트워크 계층 프로토콜을 지원할 수 있게 허용한다.
- 이더넷 프레임에서 “길이”와 “프로토콜 타입”은 상호 배타적으로 사용되며, 이 필드에 들어갈 수 있는 값은 두 가지 의미 중 하나만을 가진다.
- 필드에 명시된 크기가 1500(16진수 05DC) 이하일 경우: 이 필드는 프레임의 크기(길이)
- 필드에 명시된 크기가 1536(16진수 0600) 이상일 경우: 이 필드는 타입
타입이란?
- 이더타입(ethertype)이라고도 불리며 “어떤 정보를 캡슐화했는지”를 나타내는 정보이다.
- 대표적으로 상위 계층에서 사용된 프로토콜이 명시된다.
타입 | 프로토콜 |
---|---|
0800 | IPv4 |
86DD | IPv6 |
0806 | ARP |
3.2.4 데이터 필드
IP 데이터그램을 운반한다. 즉, 상위 계층에서 전달받거나 전달해야 할 내용이 데이터 필드에 명시가 된다.
- 최대 크기: 1500바이트
- 독점적인 사용 위해 최대 크기 제한
- 캡슐화 할 수 있는 최대 바이트 크기를 MTU라고 부른다.
- 최소 크기: 46바이트
- 충돌 발생을 피하기 위해 최소 크기 제한
- 46바이트보다 작다면 크기 맞추기 용 데이터인 패딩(padding)이 채워진다. (보통 0으로 채워짐)
- 채운 부분을 제거하기 위해 IP 데이터그램 헤더의 길이 필드를 사용한다.
- 1500바이트를 초과하면 호스트가 단편화해야한다는 것을 의미한다.
- 46바이트보다 작으면 데이터 필드를 채워서 46바이트로 만들어야 한다.
3.2.5 FCS(Frame Check Sequence) 필드
수신한 이더넷 프레임에 오류가 있는지 확인하기 위한 필드이다.
- 즉, 오류를 검출하기 위한 정보이다.
- 이 필드에는 [CRC(Cyclic Redundancy Check)↗️]라는 오류 검출용 값이 명시된다.
- CRC는 순환 중복 검사로, 데이터 전송 시 발생할 수 있는 오류를 검출하는 수학적 알고리즘이다.
4. 이더넷의 비연결형, 비신뢰적인 서비스
4.1 이더넷의 특징
이더넷은 비연결형(Connectionless) 및 비신뢰적인(Unreliable) 서비스 방식을 제공한다. 이는 데이터 전송에 있어 다음과 같은 특징을 가진다.
- 송신 어댑터의 동작
- 핸드셰이킹 없음: 송신자는 데이터를 전송할 때 핸드셰이킹 절차 없이 바로 이더넷 프레임에 캡슐화하여 전송
- 이더넷 프레임: 송신자는 데이터를 이더넷 프레임으로 캡슐화하여 랜(LAN) 네트워크를 통해 전송
- 수신 어댑터의 동작
- CRC 검사: 수신 어댑터는 CRC 검사를 통해 수신된 프레임에 오류가 있는지 확인하지만, 오류에 대한 확인 응답 또는 부정 응답을 전송하지 않음
- 오류 처리: 오류가 발견되면 프레임을 폐기하고 더 이상의 조치를 취하지 않음
- 데이터그램의 손실 여부
- UDP: 애플리케이션이 UDP를 사용할 경우, 데이터그램의 손실 여부를 알 수 없음
- TCP: 애플리케이션이 TCP를 사용할 경우, 손실된 데이터는 재전송
- 재전송 여부
- 이더넷은 재전송된 데이터그램인지, 새로운 데이터그램인지 구분할 수 없으며, 재전송 여부는 상위 계층 프로토콜(e.g., TCP)이 처리
4.2 이더넷 기술
이더넷은 수년간의 발전을 거쳐 현재까지 사용되고 있으며, 초기의 동축 케이블을 사용하는 버스 토폴로지에서 점대점 연결을 통해 스위치 기반 네트워크로 발전
- 현재는 꼬임쌍선(Twisted Pair)이나 광섬유 케이블을 사용하여 스위치에 연결
- 이더넷 프레임 형식은 진화했지만 여전히 유지되고 있으며, 현재의 스위치 기반 네트워크에서는 충돌이 발생하지 않음
4.3 충돌 처리 및 MAC 프로토콜
- 초기 버스 토폴로지와 허브 기반 스타 토폴로지에서는 CSMA/CD(Carrier Sense Multiple Access with Collision Detection) 프로토콜을 사용하여 프레임 충돌을 처리. 이는 동시에 여러 노드가 전송할 때 충돌을 방지하기 위한 방식.
- 그러나 스위치 기반 이더넷에서는 저장-후-전달 방식으로 패킷 교환이 이루어지므로, 충돌이 발생하지 않음. 따라서, 현대의 스위치 기반 이더넷 랜에서는 더 이상 MAC 프로토콜이 필요하지 않음.
정리
- 이더넷은 비연결형 및 비신뢰적 서비스를 제공하여, 데이터 전송 중 오류 검사를 하지만 재전송 여부는 상위 계층에서 처리
- 초기 버스 토폴로지와 허브 기반 네트워크에서는 CSMA/CD로 충돌을 처리했으나, 현대의 스위치 기반 네트워크에서는 충돌이 발생하지 않아 MAC 프로토콜이 더 이상 필요하지 않음
5. 이더넷 외의 기술
RAN을 구성하는 기술 중에 사실상 거의 대부분 이더넷이 사용된다. 이더넷 외의 기술에 대해 알아보자.
5.1 토큰 링(token ring)
토큰 링 네트워크에서는 호스트들이 링(고리) 형태로 연결되어 있으며, 호스트 끼리 돌아가며 토큰(token)이라는 특별한 정보를 교환한다.
네트워크 내 다른 호스트에게 메시지를 송신하려면 반드시 이 토큰을 가지고 있어야 한다.
댓글남기기