network 21

Network Series를 마치며

이 글의 목적네트워크 기초 본편 20편을 마쳤다. 이 글은 시리즈 전체를 압축·연결하고 다음에 어디로 갈지 짚는 에필로그다.20편 동안 본 개념을 한 장 지도로 다시 본다네트워크에서 뻗어 나가는 주제와 블로그 내 다른 시리즈를 연결한다네트워크 지식이 어떤 직업·역할과 맞닿는지 정리한다손으로 확인하는 방법과 읽을거리를 남긴다1. 20편이 만든 큰 그림네트워크는 한 프로토콜이 아니라 Top-Down 계층 위에 쌓인 협력 규칙이다.Part핵심 질문기억할 키워드0~1 오리엔테이션·구조왜 계층이 필요하고 인터넷은 어떻게 묶이나지연·손실·순서, ISP, 캡슐화2 애플리케이션앱이 무엇을 주고받나HTTP, TLS, DNS, 소켓 API3 전송프로세스 간 어떻게 연결되나포트, UDP, TCP handshake·혼잡4 네..

네트워크 기초 2026.07.08

네트워크 트러블슈팅

학습 목표Top-Down 순서로 연결 실패 지점을 좁혀 갈 수 있다.curl·dig·ss·openssl 출력에서 어느 계층에서 멈췄는지 읽을 수 있다.DNS, TLS, 방화벽이 각각 만드는 전형적 증상을 구분할 수 있다.ping OK와 서비스 OK가 다름을 설명할 수 있다.문제 상황ping 8.8.8.8은 되는데 curl https://api.example.com은 타임아웃ICMP과 TCP 443은 다른 경로·규칙일 수 있음curl만 Could not resolve host — 앱 로그에는 connection error 한 줄브라우저는 되는데 서버에서 curl localhost는 되고 외부에서만 실패방화벽·바인드 주소·Ingress 차이인증서 갱신 후 SSL certificate problem — 네트워..

네트워크 기초 2026.07.07

소켓 프로그래밍 기초

학습 목표TCP echo 서버·클라이언트를 소켓 API로 구현할 수 있다.서버 bind → listen → accept 와 클라이언트 connect 흐름을 설명할 수 있다.listen 소켓과 연결 소켓(connected) 의 차이를 설명할 수 있다.소켓 호출이 시스템 콜을 통해 커널 TCP 스택과 연결됨을 설명할 수 있다.문제 상황curl은 되는데 직접 TCP 서버를 짜면 Address already in use가 난다bind·SO_REUSEADDR·프로세스 재시작 타이밍서버 코드에 accept가 있는데 클라이언트는 connect만 한다 — 역할이 다르다recv가 0바이트를 반환하면 무한 루프에 빠진다상대가 연결을 닫음 — close/FIN 처리 필요connect·sendall을 호출했는데 커널·와이어에..

네트워크 기초 2026.07.06

Wireshark로 HTTP/TCP 보기

학습 목표Wireshark로 패킷 캡처·프로토콜 디코딩을 할 수 있다.캡처 필터와 표시 필터 차이를 설명할 수 있다.패킷 목록·상세 트리에서 HTTP/TCP 필드를 읽을 수 있다.TCP 스트림·시퀀스 관점으로 요청/응답 흐름을 추적할 수 있다.문제 상황curl은 되는데 어디서 끊기는지 모른다 — 로그만으로는 패킷이 안 보인다Wireshark를 켜면 수만 줄 — HTTP 한 번 보려다 노이즈에 묻힌다tcp.port == 80과 http 필터를 섞어 쓰다 결과가 이상하다HTTPS는 캡처해도 Application Data만 보인다 — TLS 안이라 평문 HTTP가 안 보임TCP 3-way handshake는 외웠는데, 실제 pcap에서 어느 줄인지 모르겠다계층·프로토콜을 이론으로 쌓았다. 이제 와이어 위 바이..

네트워크 기초 2026.07.05

물리 계층과 매체

학습 목표물리 계층이 비트·신호를 전송 매체 위로 올리는 역할을 설명할 수 있다.대역폭(bandwidth)·전송 지연·전파 지연을 구분하고 크기를 추정할 수 있다.처리량(throughput) 이 경로상 병목 링크에 의해 제한됨을 설명할 수 있다.유선·무선 전송 매체의 특성을 비교할 수 있다.문제 상황회사 LAN은 1 Gbps인데 speedtest는 100 Mbps다링크 속도와 엔드투엔드 처리량은 다르다서버는 서울, 클라이언트는 미국 — ping RTT는 150ms인데 파일 전송은 더 느리다전파 지연 + 전송 지연 + 큐잉이 합쳐진다Wi‑Fi 신호는 좋은데 영상이 끊긴다물리 계층 SNR·간섭·공유 매체 — 이더넷과 다른 제약ethtool eth0에 Speed: 1000Mb/s — 이게 앱이 받는 속도는 아..

네트워크 기초 2026.07.04

이더넷과 MAC

학습 목표링크 계층이 같은 링크(홉) 위에서 프레임을 MAC 주소로 전달함을 설명할 수 있다.이더넷 프레임의 주요 필드(dst/src MAC, EtherType, payload, FCS)를 설명할 수 있다.ARP가 같은 서브넷에서 IP → MAC을 해석하는 방식을 설명할 수 있다.허브와 스위치의 전달 범위·충돌 도메인 차이를 설명할 수 있다.문제 상황ping 192.168.1.50은 되는데 Wireshark에는 MAC 주소만 보이고 IP는 같은 서브넷 안에서만 의미 있다네트워크 계층(IP) 과 링크 계층(MAC) 은 다른 식별자처음 통신할 때 ARP 패킷이 잠깐 튄다“왜 IP만 알면 되지 않나?” — 프레임은 MAC으로 보낸다옛날 허브와 지금 스위치 — 둘 다 “연결 장치”인데 대역폭·보안이 다르다ip ..

네트워크 기초 2026.07.03

NAT와 IPv6 개요

학습 목표IPv4 주소 고갈과 RFC 1918 사설 IP가 왜 쓰이는지 설명할 수 있다.NAT / NAPT가 출발지 IP·포트를 바꿔 여러 내부 호스트가 공인 IP 하나로 나가게 하는 방식을 설명할 수 있다.NAT의 한계(수신 연결, P2P, end-to-end)를 설명할 수 있다.IPv6의 128비트 주소·표기·듀얼 스택 전환 배경을 설명할 수 있다.문제 상황집·회사 PC는 192.168.x.x인데, whatismyip는 전혀 다른 공인 IP다사설 주소와 NAT를 모르면 “같은 IP를 전 세계가 쓰나?” 혼란로컬에서 띄운 서버(localhost:8080)를 외부에서 접속하게 하려면 포트 포워딩이 필요하다NAT는 기본적으로 아웃바운드 위주 — 인바운드는 규칙 추가kubectl port-forward·Lo..

네트워크 기초 2026.07.02

ICMP과 진단

학습 목표ICMP(Internet Control Message Protocol) 가 IP와 함께 오류·진단 메시지를 전달하는 역할을 설명할 수 있다.ping이 Echo Request/Reply로 도달성·RTT를 확인하는 방식을 설명할 수 있다.traceroute가 TTL과 ICMP Time Exceeded로 경로를 추적하는 원리를 설명할 수 있다.Path MTU 와 Packet Too Big 의 의미를 설명할 수 있다.문제 상황ping 8.8.8.8은 되는데 curl은 타임아웃이다IP까지 가는지와 TCP/앱 문제는 다르다 — ping만으로 “서비스 OK”는 아님ping RTT는 10ms인데 TCP는 100ms처럼 느리다ICMP ping RTT ≠ TLS·HTTP 전체 지연traceroute api.exa..

네트워크 기초 2026.07.01

IP와 라우팅

학습 목표네트워크 계층(IP) 이 호스트 간 패킷 전달을 담당함을 설명할 수 있다.IPv4 주소·CIDR·서브넷 마스크로 네트워크·호스트 구분을 설명할 수 있다.라우터가 포워딩 테이블로 다음 홉을 고르는 방식을 설명할 수 있다.ip route, ip addr로 로컬 라우팅을 확인할 수 있다.문제 상황ping 192.168.1.50은 되는데 ping 10.0.1.20은 Network unreachable같은 LAN인지 다른 서브넷인지 모른다서버에 IP를 192.168.1.10/24로 잡았는데 게이트웨이를 비웠다외부(8.8.8.8)로 나갈 경로가 없다kubectl·Terraform에 /16, /24가 나온다몇 개 호스트까지인지 감이 안 온다TCP는 포트까지 봤다 — 그 전에 패킷이 어느 호스트로 가는지는 I..

네트워크 기초 2026.06.30

TCP 심화

학습 목표흐름 제어(flow control) 와 혼잡 제어(congestion control) 의 목적 차이를 설명할 수 있다.수신 윈도(rwnd) · 슬라이딩 윈도 로 수신 측 버퍼를 보호하는 방식을 설명할 수 있다.slow start·congestion avoidance 와 cwnd 변화의 개념을 설명할 수 있다.RTT·RTO 추정이 재전송 타이밍에 쓰이는 이유를 설명할 수 있다.문제 상황빠른 서버가 느린 클라이언트에 대용량을 쏟아붓으면 버퍼가 넘친다흐름 제어 없으면 수신 측 드롭 — TCP가 막아야 한다링크가 포화인데 송신자가 계속 빠르게 보낸다혼잡 제어 — 네트워크 전체를 보호 (수신 버퍼와 다른 문제)같은 API인데 처음엔 빠르다가 점점 느려진다cwnd가 올랐다 혼잡 이벤트 후 줄었을 수 있다W..

네트워크 기초 2026.06.29