네트워크

[비전공자의 네트워크 공부📝]네트워크 모르는 단어, 개념 정리

여러가지 공부를 하고 있습니다. 2025. 2. 9. 17:57

네트워크와 드라이버 개념 정리

강의 들으면서 모르는 개념이나 갑자기 궁금해진 개념들을 정리하는 게시글 입니다. 


1. 인터넷과 네트워크의 개념

인터넷은 라우터의 집합체

  • 인터넷은 라우터들의 연결망으로 구성된 거대한 논리 네트워크이다.
  • 데이터를 주고받기 위해 여러 개의 라우터를 거쳐 목적지까지 이동한다.

Router vs L3 Switch

구분Router (라우터)L3 Switch (L3 스위치)

역할 네트워크 간 데이터를 전달 같은 네트워크 내부에서 데이터 전달
작동 방식 IP 주소 기반 라우팅 IP 주소 기반 스위칭
속도 상대적으로 느림 더 빠른 속도로 내부 데이터 처리
사용 사례 인터넷 연결, 네트워크 간 데이터 전달 대기업 네트워크 내부 관리
  • 라우터는 택배 기사처럼 패킷을 목적지로 보내는 역할을 한다.
  • L3 스위치는 같은 네트워크 안에서 데이터를 빠르게 전달한다.

2. 패킷이 네트워크를 통해 이동하는 과정

패킷이 이동하는 경로

  1. 보내는 컴퓨터 (송신자)
    • 응용 프로그램에서 데이터를 생성 (예: 웹 브라우저에서 HTTP 요청).
    • 데이터를 패킷으로 변환하여 전송.
  2. 네트워크 인터페이스 카드(NIC)
    • 랜카드, Wi-Fi 어댑터가 패킷을 **물리적인 신호(전기, 무선 등)**로 변환.
    • 드라이버(Driver)가 운영체제에 전달.
  3. 라우터 & 네트워크
    • 여러 개의 라우터를 거치며 패킷이 이동.
    • 최적의 경로를 찾고 목적지까지 전달.
  4. 수신 컴퓨터 (목적지)
    • 운영체제 네트워크 스택(Network Stack)에서 패킷을 확인.
    • 해당 패킷을 필요한 응용 프로그램(웹 브라우저, 서버 등)으로 전달.

3. 패킷 손실과 TTL (Time To Live)

패킷이 목적지까지 도달하지 못하는 경우

  • 패킷이 도착하지 못하면 **좀비 패킷(네트워크에 떠돌아다님)**이 된다.
  • 좀비 패킷이 많아지면 네트워크 트래픽 과부하가 발생하고, 네트워크 전체가 다운될 수도 있음.

TTL(Time To Live)

  • 패킷이 네트워크를 지나칠 때마다 TTL 값이 1씩 감소한다.
  • TTL 값이 0이 되면 패킷은 폐기되며, 더 이상 이동하지 않는다.
  • 이는 네트워크가 무한 루프에 빠지는 것을 방지하는 역할을 한다.

TTL 동작 예시

  1. 패킷이 출발 시 TTL = 128
  2. 1번 라우터 통과 → TTL = 127
  3. 2번 라우터 통과 → TTL = 126
  4. … 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 동작 과정

  1. 프로그램 A가 127.0.0.1:8000으로 요청 보냄.
  2. 운영체제는 네트워크를 거치지 않고 바로 프로그램 B(8000 포트)로 데이터 전달.
  3. 프로그램 B가 응답을 보내면, 다시 프로그램 A로 전달.

6. Broadcast와 네트워크 부하

Broadcast란?

  • 네트워크의 모든 장치에 동시에 메시지를 보내는 방식.
  • IP 주소가 192.168.0.255 같은 형태이면, 해당 네트워크의 모든 장치가 패킷을 받음.

Broadcast의 문제점

  • 네트워크 부하 증가 → 모든 장비가 패킷을 처리해야 하므로 트래픽이 많아짐.
  • 대규모 네트워크에서 비효율적 → 장비가 많을수록 부하가 커짐.

Broadcast 방지 방법

  • 멀티캐스트(Multicast) 또는 유니캐스트(Unicast) 사용.
  • 네트워크 서브넷을 분할하여 불필요한 브로드캐스트를 줄임.

7. Driver(드라이버)와 네트워크 드라이버

Driver란?

  • 운영체제(OS)와 하드웨어 장치 간의 통신을 담당하는 소프트웨어.
  • 운영체제는 하드웨어(키보드, 마우스, 네트워크 카드 등)를 직접 제어할 수 없으므로, 각 하드웨어에 맞는 드라이버가 필요함.

Driver의 역할

  1. 운영체제가 하드웨어를 사용할 수 있도록 API 제공.
  2. 하드웨어 기능을 최적화하여 성능 개선.
  3. 소프트웨어와 하드웨어 간의 인터페이스 역할.

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는 하드웨어를 직접 제어하는 반도체 칩이다.