네트워크와 드라이버 개념 정리
강의 들으면서 모르는 개념이나 갑자기 궁금해진 개념들을 정리하는 게시글 입니다.
1. 인터넷과 네트워크의 개념
인터넷은 라우터의 집합체
- 인터넷은 라우터들의 연결망으로 구성된 거대한 논리 네트워크이다.
- 데이터를 주고받기 위해 여러 개의 라우터를 거쳐 목적지까지 이동한다.
Router vs L3 Switch
구분Router (라우터)L3 Switch (L3 스위치)
역할 | 네트워크 간 데이터를 전달 | 같은 네트워크 내부에서 데이터 전달 |
작동 방식 | IP 주소 기반 라우팅 | IP 주소 기반 스위칭 |
속도 | 상대적으로 느림 | 더 빠른 속도로 내부 데이터 처리 |
사용 사례 | 인터넷 연결, 네트워크 간 데이터 전달 | 대기업 네트워크 내부 관리 |
- 라우터는 택배 기사처럼 패킷을 목적지로 보내는 역할을 한다.
- L3 스위치는 같은 네트워크 안에서 데이터를 빠르게 전달한다.
2. 패킷이 네트워크를 통해 이동하는 과정
패킷이 이동하는 경로
- 보내는 컴퓨터 (송신자)
- 응용 프로그램에서 데이터를 생성 (예: 웹 브라우저에서 HTTP 요청).
- 데이터를 패킷으로 변환하여 전송.
- 네트워크 인터페이스 카드(NIC)
- 랜카드, Wi-Fi 어댑터가 패킷을 **물리적인 신호(전기, 무선 등)**로 변환.
- 드라이버(Driver)가 운영체제에 전달.
- 라우터 & 네트워크
- 여러 개의 라우터를 거치며 패킷이 이동.
- 최적의 경로를 찾고 목적지까지 전달.
- 수신 컴퓨터 (목적지)
- 운영체제 네트워크 스택(Network Stack)에서 패킷을 확인.
- 해당 패킷을 필요한 응용 프로그램(웹 브라우저, 서버 등)으로 전달.
3. 패킷 손실과 TTL (Time To Live)
패킷이 목적지까지 도달하지 못하는 경우
- 패킷이 도착하지 못하면 **좀비 패킷(네트워크에 떠돌아다님)**이 된다.
- 좀비 패킷이 많아지면 네트워크 트래픽 과부하가 발생하고, 네트워크 전체가 다운될 수도 있음.
TTL(Time To Live)
- 패킷이 네트워크를 지나칠 때마다 TTL 값이 1씩 감소한다.
- TTL 값이 0이 되면 패킷은 폐기되며, 더 이상 이동하지 않는다.
- 이는 네트워크가 무한 루프에 빠지는 것을 방지하는 역할을 한다.
TTL 동작 예시
- 패킷이 출발 시 TTL = 128
- 1번 라우터 통과 → TTL = 127
- 2번 라우터 통과 → TTL = 126
- … 128번째 라우터 통과 → TTL = 0 → 패킷 폐기
4. 단편화(Fragmentation)
단편화란?
- 네트워크 장비마다 MTU (Maximum Transmission Unit) 크기가 다를 수 있음.
- 만약 큰 패킷이 작은 MTU를 가진 네트워크를 통과해야 하면 패킷을 잘게 나누는 과정이 필요함 → 이것이 단편화(Fragmentation).
단편화 과정 예시
- 3번 라우터에서 4번 라우터로 패킷 이동할 때:
- 3번 라우터 MTU = 1500바이트
- 4번 라우터 MTU = 1400바이트
→ 1500바이트 패킷을 1400 + 100 바이트로 분할 (단편화 발생)
- 단편화 후 문제점
- 수신 측(서버)에서 분할된 패킷을 다시 조립해야 함.
- 조립 실패 시 데이터 손실 가능성 있음.
단편화를 피하는 방법
- 애초에 작은 패킷 크기로 맞춰서 전송 (하향 평준화).
- DF(Don't Fragment) 플래그 사용 → 단편화가 필요하면 패킷을 폐기하고 오류 메시지 전송.
- Path MTU Discovery (PMTUD) 사용 → 최적의 MTU 값을 자동으로 탐색.
5. 로컬 통신과 Loopback Address
Loopback Address (127.0.0.1)
- 내 컴퓨터 내에서 내 프로세스와 다른 프로세스가 통신할 때 사용.
- 예: 웹 서버 개발 시 localhost (127.0.0.1)를 사용하여 내 PC에서 테스트 가능.
Loopback 동작 과정
- 프로그램 A가 127.0.0.1:8000으로 요청 보냄.
- 운영체제는 네트워크를 거치지 않고 바로 프로그램 B(8000 포트)로 데이터 전달.
- 프로그램 B가 응답을 보내면, 다시 프로그램 A로 전달.
6. Broadcast와 네트워크 부하
Broadcast란?
- 네트워크의 모든 장치에 동시에 메시지를 보내는 방식.
- IP 주소가 192.168.0.255 같은 형태이면, 해당 네트워크의 모든 장치가 패킷을 받음.
Broadcast의 문제점
- 네트워크 부하 증가 → 모든 장비가 패킷을 처리해야 하므로 트래픽이 많아짐.
- 대규모 네트워크에서 비효율적 → 장비가 많을수록 부하가 커짐.
Broadcast 방지 방법
- 멀티캐스트(Multicast) 또는 유니캐스트(Unicast) 사용.
- 네트워크 서브넷을 분할하여 불필요한 브로드캐스트를 줄임.
7. Driver(드라이버)와 네트워크 드라이버
Driver란?
- 운영체제(OS)와 하드웨어 장치 간의 통신을 담당하는 소프트웨어.
- 운영체제는 하드웨어(키보드, 마우스, 네트워크 카드 등)를 직접 제어할 수 없으므로, 각 하드웨어에 맞는 드라이버가 필요함.
Driver의 역할
- 운영체제가 하드웨어를 사용할 수 있도록 API 제공.
- 하드웨어 기능을 최적화하여 성능 개선.
- 소프트웨어와 하드웨어 간의 인터페이스 역할.
8. Driver IC란?
- **Driver IC(Integrated Circuit)**는 전자 장치에서 특정 하드웨어를 제어하는 반도체 칩.
- 소프트웨어에서 말하는 Driver(드라이버)와 개념이 다름.
Driver IC의 역할
- 모터, LED, 디스플레이, 센서 등의 전자 부품을 제어.
- 작은 신호(마이크로컨트롤러, CPU 등)로 큰 전압, 전류를 증폭하여 제어.
- 하드웨어에서 신호 증폭, 전압 조절, 스위칭 역할 수행.
마무리 정리
✔ 인터넷은 라우터들의 집합체이며, 라우터를 거쳐 패킷이 이동한다.
✔ 패킷이 네트워크 장비(NIC, 라우터, OS)를 통해 목적지까지 이동한다.
✔ TTL은 패킷의 생명주기를 관리하며, 목적지에 도달하지 못하면 폐기된다.
✔ MTU 차이로 인해 단편화(Fragmentation)가 발생할 수 있으며, 피하는 것이 좋다.
✔ Loopback 주소(127.0.0.1)는 내부 프로세스 간 통신을 위해 사용된다.
✔ 드라이버는 하드웨어와 OS를 연결하는 소프트웨어이며, Driver IC는 하드웨어를 직접 제어하는 반도체 칩이다.
'네트워크' 카테고리의 다른 글
[네트워크] 네트워크 용어들 정리 (0) | 2025.01.27 |
---|---|
[네트워크] TCP/IP 송수신 구조 (0) | 2025.01.12 |
[공부] 네트워크 - L4수준에서 외워야 할 것들 (0) | 2024.12.17 |
[공부] 네트워크 - L2 수준에서 외울 것 (0) | 2024.12.13 |