물리계층과 데이터링크 계층은 서로 밀접하게 연결되어 있다고 한다. 두 계층은 이더넷이라는 공통된 기술이 사용되기 때문이다.
이더넷
이더넷은 현대 LAN, 특히 유선 LAN 환경에서 가장 대중적으로 사용된다. 예를 들어, 두대의 PC끼리 정보를 주고받기 위해선 가장 먼저 케이블과 같은 통신 매체가 필요하다. 그리고 그 통신 매체를 활용한 송수신 방법이 정해지게 된다.
이더넷은 다양한 통신 매체의 규격들과 송수신되는 프레임의 형태, 프레임을 주고받는 방법 등의 정의된 네트워크 기술이다.
이더넷 표준
오늘날의 유선 LAN 환경은 대부분 이더넷 기반으로 구성이 된다. 그렇기 때문에 유선 LAN 환경을 구축했다는 말은 물리 계층에서는 이더넷 규격 케이블을 사용하며, 데이터 링크 계층에서 주고 받는 프레임은 이더넷 프레임의 형식을 따라가게 된다.
현재 이더넷은 국제 표준화가 이루워져있다. IEEE 802.3 라는 명칭으로 전기전자공학협회(IEEE)에서 이더넷 관련 기술이라는 의미로 표준화하였다. (= 이더넷 관련 다양한 표준의 모음) 표준화가 이루어져 있기 때문에 서로 다른 제조사의 네트워크 장비를 사용하더라도 서로 통신이 되는 이유는 해당 장비들이 이더넷 표준을 지켜 동일한 프레임 형식을 지키기로 약속했기 때문이다.
이와 같이 물리계층, 데이터링크 계층에서 사용되는 장비들은 이더넷 표준에 따라 네트워크 장비, 통신 매체의 종류과 전송 속도 등이 결정되고 달라질 수 있다.
정리하자면 IEEE 802.3은 이더넷 관련 표준 규격들의 집합으로, 이더넷 표준에 따라 지원되는 네트워크 장비, 통신 매체의 종류과 전송 속도 등이 달라질 수 있다.
IEEE 802.3은 현재 이더넷 표준이며, 새로운 표준에 따라 버전 표기(802.3u) 방식으로도 표현된다.
통신 매체 표기 형태
이더넷 표준에 따라 전송 매체의 종류와 속도가 달라진다고 했다. 다음은 이더넷의 통신 매체 표기 형태이다.
통신 매체의 속도와 특성을 한눈에 파악하기 쉽도록 다음과 같이 표기한다.
[전송속도][BASE]-[추가특성]
1. 전송 속도
숫자만 표기되어 있으면 Mbps 속도, 숫자 뒤에 G가 붙으면 Gbps 속도를 의미한다.
예륻 들어 100BASE-T 케이블은 100 Mbps 속도를 지원하며, 10 GBASE-T는 10 Gbps 속도를 지원한다.
2. BASE
BASE는 베이스밴드(BASEband)의 약자로, 변조 타입(Modulation type)을 의미한다. 여기서 변조타입이란 비트 신호로 변환된 데이터를 통신 매체로 전송하는 방법을 의미한다. (무슨 말이인지 모르면 그냥 그렇다고 이해하면 된다.) 일반적으로 대부분의 LAN 환경은 디지털 신호를 송수신하는 베이스밴드를 이용한다. 그러므로 이더넷의 통신 매체는 BASE를 사용한다고 기억해도 좋다.
3. 추가 특성
추가 특성에는 통신 매체의 특성을 명시한다. 이곳에 명시될 수 있는 특성의 종류는 다양하다. 10BASE-2, 10BASE-5 와 같이 전송 가능한 최대 거리가 명시되기도 하며, 데이터가 비트 신호로 변환되는 방식을 의미하는 물리 계층 인코딩 방식이 명시되기도 한다. 그 외에도 비트 신호를 옮길 수 있는 전송로 수를 의미하는 레인수가 명시되기도 한다.
여기서 x가 인코딩 방식을 의미
1000BASE-Cx
1000BASE-Tx
1000BASE-Sx
R뒤의 수가 전송로(레인) 수를 의미
1000BASE-CR4
사실 해당 추가 특성은 개발자 입장에선 굳이 이해하거나 외울 필요까지는 없다.
통신 매체의 종류
추가 특성을 보면 C, T, S, L이라는 글자가 표기되어 있다. 우린 이것을 알고 있으면 된다.
추가 특성 표기(통신 매체의 종류) | 케이블 종류 |
C | 동축 케이블 |
T | 트위스티드 페어 케이블 |
S | 단파장 광섬유 케이블 |
L | 장파장 광섬유 케이블 |
트위스티드 페어 케이블은 구리 선을 이용하는 케이블, 광섬유 케이블은 빛을 이용하는 케이블의 일종이다.
지금까지 배운 통신 매체 표기 형식의 예이다.
- 10BASE-T 케이블 : 10 Mbps 속도를 지원하는 트위스티드 페어 케이블
- 1000BASE-SX 케이블 : 1000 Mbps 속도를 지원하는 단파장 광섬유 케이블
- 1000BASE-LX 케이블 : 1000 Mbps 속도를 지원하는 장파장 광섬유 케이블
이더넷 프레임
지금까지는 물리계층에 연관된 이더넷 표준과 통신 매체를 알아보았다. 이더넷 프레임은 데이터 링크 계층과 연관된 항목이다.
현대 우선 LAN 환경은 대부분 이더넷을 기반으로 구성된다. 그러므로 호스트가 데이터 링크 계층에서 주고받는 프레임의 형식도 정해져 있다. 즉, 이더넷 네트워크에서 주고받는 프레임인 이더넷 프레임 형식은 정해져 있다.
이더넷 프레임은 상위 계층으로부터 받아들인 정보에 헤더와 트레일러를 추가하는 캡슐화 과정을 통해 만들어진다. 수신지 입장에서는 프레임의 헤더와 트레일러를 제거한 뒤 상위 계층으로 올려 보내는 역캡슐화 과정을 거친다.
이더넷 프레임 헤더는 기본적으로 프리엠블, 수신지 MAC 주소, 송신지 MAC 주소, 타입/길이로 구성되며, 페이로드는 데이터, 트레일러는 FCS로 구성된다.
프리앰블(preamble)
프리앰블은 각 프레임의 맨 앞에 붙이는 영역을 의미한다. 이더넷 프레임에서도 시작을 알리는 8바이트(64비트) 크기의 정보를 나타낸다. 프리앰블은 기본적으로 송수신지 간의 동기화를 위해 사용되는 정보이다.
첫 7바이트를 항상 `10101010` 값을 가지며, 이것은 수신 측에서 전송되는 비트 속도를 일치시키기 위한 비트 동기가 주목적이다(수신지가 이 프리앰블을 통해 이더넷 프레임이 오고 있음을 알아차리는 역할). 프리앰블의 마지막 바이트는 `10101011` 값으로 전달하는 게 되는데 시작 프레임 구분(Start Frame Delimiter, SFD)이라 한다. 이는 프리앰블이 끝났고, 이제 실제 데이터 프레임이 시작된다는 신호이다. 즉, SFD는 프레임의 시작을 명확하게 구분하기 위해 마지막 비트 `1` 로 이전 프리앰블 신호와 구분되는 신호를 사용하게 된다.
수신지 MAC 주소와 송신지 MAC 주소
가장 중요한 부분, `물리적 주소`라고도 불리는 MAC 주소는 데이터 링크 계층의 핵심이다. MAC 주소는 네트워크 인터페이스마다 부여되는 6바이트(48비트) 길이의 주소로, LAN 내의 수신지와 송신지를 특정할 수 있게 해 준다.
MAC 주소는 일반적으로 고유하고, 변경되지 않는 주소를 의미한다. 왜냐하면 같은 네트워크 내에서 동일한 MAC 주소를 가진 기기가 있다면 송수신지를 특정할 수 없기 때문이다.
여기서 언급되는 네트워크 인터페이스는 보통 NIC(Network Interface Controller)라는 장치가 담당한다. 만약 한 컴퓨터에 NIC가 여러 개 있다면 MAC주소도 여러 개 있을 수 있다.
MAC 주소를 확인하는 방법
윈도우 운영체제에서는 명령 프롬프트(CMD)를 열고 `getmac /v` 혹은 `ipconfig /all` 을 입력하면 된다.
맥이나 리눅스 사용자는 `ifconfig`를 입력하면 된다.
타입/길이
타입/길이 필드는 타입(type) 혹은 길이(length)가 올 수 있다. 필드의 명시된 크기에 따라 타입 또는 길이가 되며 크기가 1500(16진수 05DC) 이하인 경우 프레임의 크기(길이)를 나타 내며, 1536(16진수 0600) 이상일 경우에는 타입을 나타내는 데 사용된다.
여기서 타입이란 이더넷 프레임이 어떤 정보를 캡슐화했는지를 나타내는 정보이다. 이더타입(ethertype)이라고 부르기도 한다. 캡슐화의 정보이므로 주로 상위 계층에서 사용된 프로토콜의 이름이 명시된다.
대표적으로 아래와 같이 표기되며, 종류가 매우 많으니 굳이 외울 필요는 없다.
타입 | 프로토콜 |
0800 | IPv4 |
86DD | IPv6 |
0806 | ARP |
데이터
데이터 필드는 상위 계층에서 전달받거나, 상위 계층으로 전달할 내용이다. 네트워크 계층의 데이터와 헤더를 합친 PDU가 이곳에 포함된다. 최대 크기는 1500바이트로, 반드시 일정한 크기(46바이트 이상)여야 한다. 이 이하의 데이터라면 크기를 맞추기 위해 패딩이라는 정보가 내부에 채워지며, 보통 46바이트 이상이 될 때까지 0으로 채워진다.
FCS
FCS는 수신한 이더넷 프레임에 오류가 있는지 확인하기 위한 필드이다. 데이터 링크 계층의 역할 중 오류 검출이 있는데, 여기서 이루어진다.
이 필드에서는 CRC(Cyclic Redundancy Check), 즉 순환 중복 검사라고 불리는 오류 검출용 값이 들어간다.
송신지는 프리앰블은 제외한 나머지 필드 값을 바탕으로 CRC 값을 계산하여, 이 값을 FCS 필드에 명시한다. 그리고 전송받은 수신지에서는 수신한 프레임에서 프리앰블과 FCS 필드를 제외하여 나머지 필드값을 이용해 CRC 값을 계산한 뒤, 이 값을 FCS 필드 값과 비교한다. 이때 비교 값이 일치하지 않으면 프레임에 오류가 있다고 판단하여 해당 프레임을 페기 한다.
참고
혼자 공부하는 네트워크 - 예스24
혼자 해도 충분하다!1:1 과외하듯 배우는 네트워크 자습서『혼자 공부하는 네트워크』는 개발자의 필수 지식인 네트워크를 기본부터 제대로 학습할 수 있도록 돕는 입문서이다. 다수의 네트워
www.yes24.com
'Knowledge > 네트워크' 카테고리의 다른 글
[네크워크] 트래픽과 네트워크 성능 지표 (0) | 2024.05.16 |
---|---|
[네트워크] 캡슐화와 역캡슐화 (0) | 2024.05.16 |
[네크워크] 네트워크 참조 모델(OSI 모델과 TCP/IP 모델) (0) | 2024.05.14 |
[네트워크] 네트워크의 언어, 프로토콜(Protocol) (0) | 2024.05.14 |
[네크워크] 유니캐스트, 멀티캐스트, 브로드캐스트 (0) | 2024.05.10 |