랜선 밖으로: 내 PC가 인터넷에 나가기까지

HappyLoop·2026년 10월 11일

Network

목록 보기
2/3
post-thumbnail

1. 브로드 캐스트?

예시 대역: 192.168.0.x

주소용도
192.168.0.0네트워크 주소 (대역 식별용)
192.168.0.1게이트웨이 (외부로 나가는 문)
192.168.0.2 ~ 254실제 사용 가능한 호스트 (~253개)
192.168.0.255브로드캐스트 (전체에게 전송)

브로드캐스트는 같은 네트워크의 모든 기기에서 동시에 패킷을 보내는 방식임 편하지만 기기가 많을수록 트래픽이 폭발적으로 늘어남

/24 서브넷 기준으로 쓸 수 있는 호스트는 네트워크 주소와 브로드캐스주소를 뺀 나머지 약 253개정도 입니다.


2. 루프백 주소 (Loopback)?

127.0.0.1 — 항상 "나 자신"을 가리키는 특수 주소 흔히 쓰는 localhost이며 네트워크로 나가지 않고 자신에게 돌아옴

이해하기 쉽게 아래 그림 제공


3. Internet?

인터넷은 라우터의 집합체라고 할 수 있는 논리 네트워크

인터넷 = 라우터 + DNS 의 집합체

  • 라우터와 L3 스위치는 같은 역할

    • 패킷을 목적지까지 전달하는 논리 네트워크
  • TTL(Time To Live)

    • 생물의 텔로미어와 같은 개념 세포가 복제될수록 텔로미어가 짧아지듯 패킷이 라우터를 거칠수록 TTL 값이 1씩 줄어듦

라우터 → 라우터 사이 이동 한 번 =홉 1회 → TTL 1감소 TTL이 0이 되면 패킷을 버림(무한 루프 방지)

  • MTU?
    • 라우터마다 한 번에 보낼 수 있는 최대 패킷 크기

라우터 마다 이 MTU라는게 다른데 MTU보다 큰 패킷이 오면 아래와 같이 대처합니다

  • 패킷 2개로 쪼갬
  • 쪼개진 각각 IP 헤더를 새로 붙임
  • 목적지 서버에서 다시 조립

이것을 단편화라고 부릅니다

  • 목적지 IP까지 찾아가는 과정
    • 같은 네트워크 대역에 목적지 IP가 없을경우
      • 게이트웨이가 라우터를 통해 접근
        • 목적지 근처 라우터가 아는 목적지 IP가 나오면 목적지로 전달
          • 8.8.8.8(구글 DNS 서버) 도착

4.DHCP?

인터넷을 쓰려면 아래 4가지 설정이 필요합니다. 이것을 자동으로 받아오는것을 DHCP 프로토콜이라고 합니다

설정설명
IP 주소내 주소
Subnet mask내가 속한 네트워크 범위
Gateway IP외부로 나가는 문
DNS 주소도메인 → IP 변환 서버

동작 순서를 아래와 같이 정리 했습니다

  1. 기기 전원 on
  2. 브로드캐스트 전송
    1. 이 네트워크에 DHCP 서버는 어디에?
  3. DHCP 서버 응답
    1. IP 드릴게요
  4. 기기가 IP 요청
    1. 이전에 쓰던 IP 또 써도 되는지?
  5. DHCP 서버가 IP 할당
    1. IP + GW + DNS 전달

DHCP 풀(Pool)

DHCP 서버가 나눠줄 수 있는 IP 주소 목록을 가지고 있습니다. 요청이 오면 풀에서 하나 꺼내서 줍니다.


4. ARP?

IP 주소로 MAC 주소를 알아내는 프로토콜

⛅그럼 왜 MAC 주소가 필요한지?

인터넷에 나가려면 게이트웨이를 통해야 함, 실제 데이터를 전송할 때는 IP가 아닌 MAC 주소로 전달함

동작 순서를 요약해보면

  1. PC가 인터넷 접속시도
    • 게이트웨이(192.168.0.1)의 MAC 주소가 필요
  2. ARP Request - 브로드 캐스트
    • 192.168.0.1 쓰는 사람 MAC 주소 알려줘
      • 매번 브로드캐스트르르 날릴순 없으니 ARP 캐시로 저장해둠
  3. 게이트웨이만 응답 ARP Reply
    • MAC
  4. PC가 MAC 주소 휙득
    • L2 프레임에 목적지 MAC = 게이트웨이 MAC으로 세팅

5. Ping & RTT

Ping이란?

네트워크 연결 상태를 확인하는 프로그램입니다. 내부적으로 ICMP 프로토콜을 사용합니다.

RTT (Round Trip Time)

패킷이 갔다가 돌아오는 데 걸리는 시간입니다.


6. L4(컴퓨터 안 프로세스 ) TCP와 UDP

TCP vs UDP 한 줄 비교

TCPUDP
별명배려남나쁜남자
연결연결 수립 후 전송그냥 바로 전송
신뢰성상대가 못 받으면 안 보냄무조건 보내버림
속도느림빠름
활용웹, 파일 전송영상 스트리밍, 게임

패킷은 어떻게 만들어지는가?

클라이언트 측

[사용자 모드]
프로세스(Client)
-> 소켓 생성
-> OS가 임시 포트 3000 할당

[커널 모드]
TCP 계층 : src port 3000 / dst port 80 붙임
IP 계층 :  src IP 192.168.0.10 / dst IP 192.168.0.20 붙임

[하드웨어]
NIC -> 네트워크로 전송 

[네트워크 구간]
홉마다 교체 -> MAC 주소(L2)
끝까지 유지 -> IP 주소(L3)

서버 측

[하드웨어]
NIC가 L2 프레임 수신

[커널 모드]
IP 확인 -> 나한테 온 패킷 확인
TCP 확인 -> dst port 80 → 해당 소켓으로 전달

[사용자 모드]
80 포트 LISTEN 중인 서버 프로세스(nginx,tomcat 등)가 데이터 수신

TCP 연결 과정

3-Way-Handshake(연결수립)

그림으로 이해하기 쉽게 프롬프트를 통해 이미지를 추출했습니다.

profile
A developer who codes with joy, never boring!

0개의 댓글