네트워크 스터디 2주차

msgo·2025년 9월 24일

1. 이더넷이란 무엇인가?

우리가 컴퓨터로 인터넷을 쓰거나, 사무실에서 여러 컴퓨터를 연결해 파일을 주고받을 때 가장 흔하게 사용되는 네트워크 기술이 바로 이더넷.

정의: 이더넷은 물리 계층(Physical Layer)데이터 링크 계층(Data Link Layer)에서 사용되는 기술 규격의 한 종류.

역할: 컴퓨터 같은 네트워크 장치들이 케이블을 통해 서로 정보를 주고받을 때, 데이터(프레임)를 어떤 형태로 보내고, 어떻게 통신할지 등에 대한 규칙을 정해놓은 것.

주요 사용 환경: 주로 LAN(Local Area Network) 환경에서 압도적으로 많이 사용.

쉽게 말해, 이더넷은 컴퓨터들이 서로 '대화'할 수 있도록 만들어진 일종의 '언어와 규칙'이라고 생각하면 됨.

2. 이더넷의 표준: IEEE 802.3

모든 기술에는 표준이 있듯이, 이더넷과 관련된 모든 기술은 IEEE 802.3이라는 표준으로 정의. 이 표준 덕분에 A회사에서 만든 랜카드와 B회사에서 만든 공유기가 서로 문제없이 통신할 수 있는 것.

이 표준에서는 통신 매체(케이블 등)를 표기하는 방식도 정해져 있음.

[전송 속도][BASE] - [추가 특성]

전송 속도: 10, 100, 1000 (Mbps) 또는 10G, 40G (Gbps) 등 데이터가 얼마나 빨리 전송되는지를 나타냄.

BASE: 베이스밴드(Baseband)의 약자로, 디지털 신호를 변조하지 않고 그대로 전송하는 방식을 의미. 현재 우리가 사용하는 대부분의 이더넷은 이 방식을 사용.

추가 특성: 케이블의 종류, 전송 가능한 최대 거리, 물리 계층의 인코딩 방식 등이 명시됨. (예: -T는 트위스티드 페어 케이블, -SR은 단파장 광섬유를 의미)

통신 매체의 종류는 다음과 같이 다양.

동축 케이블 (Coaxial Cable): 초기의 이더넷에서 사용되었으나 현재는 거의 사용되지 않음.

why?
동축 케이블은 버스(Bus) 토폴로지 구조로 네트워크를 구성했습니다. 이는 하나의 긴 케이블에 모든 컴퓨터(호스트)가 T자형 커넥터로 연결되는 방식입니다.

단일 장애점 (Single Point of Failure): 이 구조의 가장 치명적인 단점입니다. 케이블의 한 부분이라도 끊어지거나, T자형 커넥터 하나에 문제가 생기면 전체 네트워크가 마비됩니다. 네트워크 전체가 하나의 생명줄에 의존하는 것과 같습니다.

터미네이터(Terminator) 문제: 버스 구조의 양쪽 끝은 '터미네이터'라는 50옴(Ω) 저항을 반드시 연결해야 신호가 반사되지 않습니다. 이 터미네이터가 없거나 고장 나도 전체 네트워크 장애의 원인이 됩니다.

2. 성능 문제: 거대한 충돌 도메인

반이중 통신 및 충돌: 케이블이 하나뿐이므로 두 대 이상의 컴퓨터가 동시에 데이터를 보내면 반드시 충돌이 발생합니다. (반이중 통신)

성능 저하: 네트워크에 연결된 컴퓨터 수가 늘어날수록 충돌 확률이 기하급수적으로 증가하며, 이는 네트워크 전체의 성능 저하로 이어집니다. CSMA/CD 프로토콜이 충돌을 해결하긴 하지만, 충돌이 잦아지면 데이터 전송 시도와 대기를 반복하느라 실제 데이터 처리량은 급격히 떨어집니다.

3. 설치 및 유지보수의 어려움
물리적 특성: 동축 케이블은 UTP 케이블보다 훨씬 굵고 뻣뻣해서 설치가 까다롭고, 사무실 환경에 맞게 구부리거나 배치하기가 어렵습니다.

장애 지점 파악의 어려움: 네트워크에 장애가 발생했을 때, 수많은 연결 지점과 긴 케이블 중 정확히 어디가 문제인지 찾아내는 것이 매우 힘듭니다. 반면, 현재의 스타 토폴로지는 특정 컴퓨터나 케이블의 문제로 장애 범위가 한정되고, 스위치의 포트 상태를 통해 문제 지점을 찾기도 쉽습니다.

낮은 확장성: 새로운 컴퓨터를 한 대 추가하려면, 네트워크가 동작하는 중에 메인 케이블을 자르고 T자형 커넥터를 설치해야 했습니다. 이는 전체 네트워크를 잠시 중단시켜야 하는 큰 작업이었습니다.


트위스티드 페어 케이블 (Twisted Pair Cable, UTP/STP): 우리가 흔히 '랜선'이라고 부르는 바로 그 케이블. 가장 대중적으로 사용.

광섬유 케이블 (Fiber-Optic Cable): 빛을 이용하여 데이터를 전송하며, 장거리 및 고속 통신에 사용. (단파장/장파장)

100Mbps 이상의 속도를 내는 이더넷부터는 고속 이더넷(Fast Ethernet)이라 부르며, 기술의 발전 덕분에 기가비트(Gigabit), 텐기가비트(10-Gigabit) 등 속도는 계속해서 빨라지고 있음.

3. 이더넷의 핵심: 이더넷 프레임 구조 파헤치기

유선 LAN 환경에서 컴퓨터(호스트)가 데이터를 주고받을 때는 이더넷 프레임(Ethernet Frame)이라는 정해진 형식에 맞춰 데이터를 보냄. 택배 보낼 때 송장(받는 사람, 보내는 사람, 내용물 등)을 붙이는 것과 비슷.

이더넷 프레임은 크게 헤더, 데이터, FCS로 구성됨. 각 필드를 자세히 살펴봄.

프리앰블 수신지 MAC 주소 송신지 MAC 주소 타입/길이 데이터 (Payload) FCS
8 바이트 6 바이트 6 바이트 2 바이트 46 ~ 1500 바이트 4 바이트

1) 프리앰블 (Preamble) & SFD
역할: "지금부터 프레임 시작함! 동기화 준비!"라고 수신 측에 알리는 신호.

구조: 총 8바이트로 구성.

Preamble (7바이트): 10101010 패턴이 7번 반복. 이 반복적인 신호를 통해 수신 측은 비트 동기화를 맞출 수 있음.

7바이트는 다음과 같은 점들을 고려한 공학적인 '스위트 스폿(Sweet Spot)'입니다.

신뢰성: 당시 하드웨어가 어떤 조건에서도 안정적으로 클럭 동기화를 마칠 수 있는 충분한 시간.

효율성: 동기화에 필요한 시간을 넘어서는 불필요한 대역폭 낭비를 최소화하는 길이.

호환성: 다양한 제조사의 장비들이 모두 안정적으로 통신할 수 있도록 보장하는 표준.

현대의 하드웨어는 훨씬 뛰어나서 사실 1~2바이트만으로도 동기화가 가능하지만, 수십억 개의 장비가 이미 사용 중인 **'표준'과 '하위 호환성'**을 지키기 위해 이 7바이트 규칙은 오늘날까지도 그대로 이어지고 있습니다.

SFD (Start Frame Delimiter, 1바이트): 10101011 패턴으로, "진짜 프레임은 바로 다음부터 시작이야!"라고 알려주는 역할을 함.

2) 수신지 및 송신지 MAC 주소 (Destination & Source MAC Address)
MAC 주소 (Media Access Control Address): '물리적 주소'라고 불리며, 네트워크 인터페이스 카드(NIC, 우리가 흔히 '랜카드'라고 부르는 장치)마다 부여되는 고유한 식별 번호.

역할: 같은 LAN 내에서 데이터를 보낼 때, 누가(송신지) 누구에게(수신지) 보내는지 정확히 특정하는 역할을 함. 주민등록번호처럼 전 세계에서 유일한 값으로 할당되는 것이 일반적.

참고: 컴퓨터에 랜카드가 여러 개 있다면, 그 컴퓨터는 여러 개의 MAC 주소를 가질 수 있음.

3) 타입/길이 (Type/Length)
이 2바이트 필드는 두 가지 의미로 사용될 수 있어 헷갈릴 수 있음.

값이 1500 이하일 경우: 길이(Length)를 의미. 뒤따라오는 데이터 필드의 실제 크기(바이트 단위)를 나타냄.

값이 1536 이상일 경우: 타입(Type)을 의미. 데이터 필드에 어떤 상위 계층 프로토콜의 정보가 담겨 있는지(캡슐화되었는지)를 나타냄. 예를 들어, 값이 0x0800이면 'IP 프로토콜 데이터가 들어있어요' 라는 뜻. (이를 EtherType 이라고도 함.)

4) 데이터 (Data / Payload)
역할: 실제로 우리가 전송하고 싶은 알맹이 데이터가 담기는 부분. (예: 웹페이지 요청 정보, 채팅 메시지 등)

크기:

최소 46바이트: 이더넷 프레임은 최소 크기 제한이 있음. 만약 보내려는 데이터가 46바이트보다 작다면, 부족한 부분을 의미 없는 데이터(패딩, Padding)로 채워서 최소 크기를 맞춰야 함.

최대 1500바이트: 한 번에 보낼 수 있는 데이터의 최대 크기. 이를 MTU(Maximum Transmission Unit) 라고 함.

  • 이더넷 기술이 처음 표준화되던 1980년대 초의 기술적 한계(메모리 비용, 오류율)와 네트워크의 공정성을 고려한 최적의 타협점
  • 데이터를 1500바이트로 잘게 쪼개 보내면, 각 프레임마다 헤더(이더넷 헤더, IP 헤더 등 약 40바이트 이상)가 붙기 때문에 오버헤드가 커지기 때문입니다.

점보 프레임(Jumbo Frame)
정의: MTU를 1500바이트 이상(일반적으로 9000바이트)으로 설정하여 한 번에 더 많은 데이터를 담아 보내는 기술입니다.

장점: 헤더의 비율이 줄어들어 전송 효율이 높아지고, CPU의 부하가 감소하여 전체적인 네트워크 처리량(Throughput)이 향상됩니다.

한계: 네트워크 경로상의 모든 장비(서버, 스위치, 라우터 등)가 점보 프레임을 지원해야만 사용이 가능합니다. 중간에 하나라도 표준 MTU(1500) 장비가 있다면 프레임이 폐기되거나 단편화(Fragmentation)되어 오히려 성능이 저하될 수 있습니다.

주 사용처: 이런 이유로 점보 프레임은 장비 통제가 가능한 내부 데이터 센터, 스토리지 네트워크(SAN), 고성능 컴퓨팅 환경 등에서 제한적으로 사용되며, 전 세계의 수많은 장비로 이루어진 인터넷에서는 여전히 1500바이트가 표준 MTU로 사용됩니다.

FCS (Frame Check Sequence)
역할: "데이터가 전송 중에 깨지거나 변조되지 않았을까?"를 확인하는 오류 검출용 필드.

방식: CRC(Cyclic Redundancy Check, 순환 중복 검사) 라는 알고리즘을 사용.

약속 정하기: 먼저, 송신자와 수신자는 똑같은 **'나눗수'**를 사용하기로 약속합니다. 이 나눗수를 **생성 다항식(Generator Polynomial)**이라고 합니다. 이 값은 CRC-32, CRC-16 등 표준으로 정해져 있습니다. (예: 1011 같은 이진수)

데이터 준비: 보낼 데이터(이더넷 프레임의 헤더+데이터) 뒤에, 약속된 나눗수의 길이만큼 0을 덧붙여서 계산할 숫자를 준비합니다.

나눗셈 수행: 준비된 데이터를 약속된 '나눗수(생성 다항식)'로 나눕니다. 이때 사용하는 나눗셈은 우리가 아는 일반 나눗셈이 아닌, **XOR 연산을 사용하는 특별한 이진 나눗셈(Modulo-2 Division)**입니다.

'나머지' 구하기: 나눗셈을 하고 남은 **'나머지'**가 바로 CRC 값입니다. 이 CRC 값을 이더넷 프레임의 맨 끝에 있는 FCS(Frame Check Sequence) 필드에 적어서 함께 전송합니다.

송신 측: 프레임 내용(MAC 주소, 타입, 데이터 등)을 기반으로 복잡한 수학적 계산을 통해 4바이트짜리 CRC 값을 만들어 FCS 필드에 담아 보냄.

수신 측: 프레임을 수신하면, 동일한 CRC 계산을 수행. 그리고 자신이 계산한 CRC 값과 프레임에 담겨온 FCS 필드의 값을 비교.

결과: 두 값이 일치하면 데이터에 오류가 없다고 판단하고 처리. 만약 값이 다르면 전송 중 오류가 발생했다고 판단하여 해당 프레임을 폐기.

4. 이더넷 외 기술과 핵심 구성 요소: NIC와 케이블

1) 다른 LAN 기술도 존재
이더넷이 LAN 기술의 표준처럼 쓰이지만, 다른 기술도 존재. 대표적인 예가 토큰 링(Token Ring).

작동 방식: 네트워크에 연결된 호스트끼리 '토큰'이라는 특별한 정보를 순서대로 주고받는 구조. 데이터를 전송하고 싶은 호스트는 반드시 이 토큰을 가지고 있어야만 송신이 가능함.

2) NIC (Network Interface Card)
NIC는 호스트(컴퓨터)와 통신 매체(케이블)를 연결하고, 고유한 MAC 주소가 부여되는 핵심 네트워크 장비. '네트워크 어댑터', '랜카드' 등 여러 이름으로 불림.

핵심 역할 (신호 변환): 컴퓨터가 이해하는 디지털 정보와 케이블을 통해 흐르는 물리적 신호(전기 신호, 빛 신호 등)를 서로 변환해주는 역할을 담당. 네트워크 통신에서의 귀와 입 같은 존재.

물리적 형태: 과거에는 별도의 카드 형태가 많았지만, 요즘에는 메인보드에 기본적으로 내장된 경우가 많고, USB 형태로 연결하는 방식도 있음.

인터페이스 기능: 네트워크를 통해 송수신되는 모든 정보는 NIC를 거침. 즉, 네트워크 인터페이스 역할을 수행. 이 과정에서 수신지 MAC 주소가 자신이 아닌 프레임은 폐기하고, FCS 필드를 검사해 오류가 있는 프레임 또한 스스로 걸러낼 수 있음.

성능: NIC마다 지원하는 통신 속도(1Gbps, 10Gbps 등)가 다름. 케이블이나 다른 네트워크 장비가 고속을 지원하더라도 NIC의 성능이 낮으면 전체 네트워크 속도 역시 그에 맞춰 제한됨.

3) 케이블 (Cable)
NIC에 연결되어 신호를 전달하는 물리적인 유선 통신 매체. 대표적으로 트위스티드 페어 케이블과 광섬유 케이블이 있음.

가. 트위스티드 페어 케이블 (Twisted Pair Cable)

우리가 가장 흔하게 '랜선'이라고 부르는 케이블.

원리: 구리선을 이용해 전기 신호를 주고받는 통신 매체. 케이블 본체와 RJ-45라는 커넥터로 구성.

구조와 노이즈: 내부에 두 가닥씩 꼬여있는 여러 쌍의 구리선이 들어있음. 선을 꼬아놓은 이유는 외부에서 발생하는 전자적 간섭, 즉 노이즈(Noise)를 상쇄시키기 위함.

차폐(Shield): 노이즈를 더 효과적으로 막기 위해 보호막을 추가하기도 함.

UTP (Unshielded TP): 별도의 차폐 처리 없이 구리선만 있는 가장 일반적인 케이블.

FTP (Foiled TP) / STP (Shielded TP): 은박 포일(FTP)이나 엮은 철사 형태의 브레이드 실드(STP) 등으로 내부를 감싸 노이즈를 막는 방식. 케이블 명칭은 보통 이런 외부/내부 차폐 방식에 따라 표기됨.

성능 구분 (카테고리): Cat.N 형태로 성능을 구분. N의 값이 높을수록 더 높은 대역폭과 통신 속도를 지원하는 고성능 케이블. (예: Cat.5e, Cat.6, Cat.7)

나. 광섬유 케이블 (Fiber-Optic Cable)

원리: 전기 신호 대신 빛(Light)을 이용해 통신.

장점: 속도가 매우 빠르고, 전기적 노이즈의 영향을 받지 않으며, 신호 감쇠가 적어 아주 먼 거리까지 데이터 전송이 가능. 이 때문에 대륙 간 해저 케이블 등에 주로 사용됨.

구조: 케이블 본체와 전용 커넥터로 구성. 내부는 머리카락처럼 가느다란 유리 섬유로 이루어져 있으며, 빛이 지나가는 중심 통로인 코어(Core)와 빛을 코어 내부에 가두는 클래딩(Cladding)으로 구성된 이중 구조.

종류: 코어의 지름에 따라 두 가지로 나뉨.

싱글 모드 (Single-mode): 코어 지름이 8~10µm로 매우 작음. 빛이 거의 직진에 가깝게 나아가므로 신호 손실이 적어 장거리 전송에 유리.

멀티 모드 (Multi-mode): 코어 지름이 50~62.5µm로 상대적으로 큼. 여러 빛이 동시에 지나갈 수 있어 대역폭 확보에 유리하지만, 신호 손실이 커 단거리 통신에 주로 사용.

구분: 일반적으로 케이블 본체의 색상으로 싱글 모드(주로 노란색)와 멀티 모드(주로 주황색, 하늘색 등)를 구분할 수 있음.

5. 네트워크 장비 (1): 허브와 리피터 (물리 계층)

통신 매체를 통해 송수신되는 메시지는 반드시 네트워크 장비를 거침. 이번에는 그중 가장 기본적인 물리 계층과 데이터 링크 계층의 장비를 알아봄.

물리 계층 (Physical Layer): 주소 개념이 없음. 단지 들어온 신호를 재생성해 전달하는 송수신 기능만 수행. 신호에 대한 어떠한 조작이나 판단을 하지 않음.

데이터 링크 계층 (Data Link Layer): MAC 주소라는 주소 개념이 존재. 이를 통해 송신지와 수신지를 특정할 수 있으며, 주소를 보고 데이터를 처리할지 버릴지 조작과 판단이 가능.

1) 허브 (Hub)
허브는 물리 계층에서 동작하며 여러 대의 호스트를 서로 연결하는 장치. 지금은 거의 사용되지 않음.

포트(Port): 허브에 케이블을 연결할 수 있는 커넥터 지점.

동작 방식 (Flooding): 허브는 특정 포트로 신호를 전달받으면, 신호가 들어온 포트를 제외한 나머지 모든 포트로 받은 신호를 그대로 복제하여 전송.

호스트의 역할: 허브에 연결된 모든 호스트는 일단 신호를 받음. 이후 자신의 데이터 링크 계층(NIC)에서 프레임의 수신지 MAC 주소를 확인하고, 자신의 주소와 다르면 해당 프레임을 폐기.

통신 방식 (반이중 모드): 허브는 반이중(Half-duplex) 통신 방식을 사용. 이는 마치 무전기처럼 송신과 수신을 동시에 할 수 없는 방식. 이와 반대되는 개념은 송신과 수신을 동시에 하는 전이중(Full-duplex) 방식.

반이중 모드의 장점은?
구현의 단순함: 반이중 통신은 송신과 수신에 하나의 통신 채널(회선)만 사용합니다. 반면, 전이중 통신은 송신용 채널과 수신용 채널, 즉 두 개의 분리된 채널이 필요합니다. 따라서 반이중 방식을 구현하는 하드웨어 회로는 훨씬 더 단순하고 저렴합니다.
모든 통신이 항상 양방향으로 데이터를 주고받아야 하는 것은 아닙니다. '요청과 응답(Request-Response)' 구조처럼 작동하는 많은 프로토콜에서는 반이중 방식이 더 효율적일 수 있습니다.

리피터(Repeater): 허브 외의 대표적인 물리 계층 장비. 장거리 통신 시 약해지거나 왜곡된 전기 신호를 원래대로 증폭하고 재생성해주는 장치. 허브는 리피터에 포트가 여러 개 달린 장비라고도 볼 수 있음.

2) 충돌과 CSMA/CD 프로토콜
허브는 반이중 통신을 하므로 두 개 이상의 호스트가 동시에 신호를 보내면 충돌(Collision)이 발생하며 데이터가 깨짐. 허브에 연결된 모든 호스트는 하나의 커다란 묶음으로 취급되는데, 이를 동일 콜리전 도메인(Collision Domain)에 속한다고 표현.

이러한 충돌 문제를 해결하기 위해 이더넷 환경에서는 CSMA/CD라는 프로토콜을 사용.

CSMA/CD (Carrier Sense Multiple Access / Collision Detection)
매체 감지 다중 접속 / 충돌 감지

CS (Carrier Sense, 매체 감지): 데이터를 보내기 전, 현재 통신하려는 매체(케이블)에 다른 신호가 흐르고 있는지(누가 사용 중인지) 먼저 확인.

MA (Multiple Access, 다중 접속): 여러 호스트가 하나의 매체를 공유하며 접근.

CD (Collision Detection, 충돌 감지): 매체가 비어있어 전송을 시작했더라도, 전송하는 동안 충돌 발생 여부를 계속 감시. 만약 충돌이 감지되면 즉시 전송을 중단하고, 연결된 모든 호스트에 충돌이 발생했음을 알림.

충돌이 발생하면, 각 호스트는 임의의 시간 동안 대기한 후 다시 1번(CS) 단계부터 송신을 시도. 이 대기 시간이 호스트마다 다르기 때문에 재충돌을 피할 수 있음.

0개의 댓글