개념
도메인 이름은 진짜 주소가 아니다
www.example.com을 브라우저에 입력하면, 실제로는 그 서버의 IP
주소(예: 93.184.216.34)로 연결된다. 사람이 외우기 쉬운 도메인
이름을 실제 IP 주소로 바꿔주는 시스템이 DNS(Domain Name
System) 다.
www.example.com 입력
→ DNS 서버에게 "이 도메인의 IP 주소가 뭐야?" 질의
→ IP 주소 응답 받음
→ 그 IP 주소로 실제 연결"사이트에 접속이 안 된다"는 문제가 DNS 설정 문제(도메인이 엉뚱한 IP를 가리킴)인 경우가 있다 — 이땐 서버 자체는 멀쩡히 잘 돌고 있어도 사용자는 접속할 수 없다.
TCP/IP — 데이터가 실제로 전달되는 방식
IP 주소를 알았다고 끝이 아니다. 데이터가 인터넷을 거쳐 실제로 전달되려면 규칙이 필요한데, 이게 TCP/IP다. TCP는 데이터를 조각내서 순서대로, 빠짐없이 전달되도록 보장하는 역할을 한다. 이 강의에서는 "TCP/IP가 인터넷 통신의 기본 규약"이라는 정도만 알면 충분하다 — 세부 동작은 네트워크 엔지니어의 영역이다.
포트(Port) — 같은 주소 안의 여러 창구
한 서버(하나의 IP 주소) 안에서도 여러 서비스가 동시에 돌 수 있다. 웹 서버는 보통 80번(HTTP)이나 443번(HTTPS) 포트를, 데이터베이스는 따로 다른 포트(예: PostgreSQL은 5432번)를 쓴다. 포트는 "같은 건물 안의 여러 개 문"이라고 생각하면 된다.
개발 환경에서
localhost:3100처럼 URL 뒤에 콜론과 숫자가 붙는 것을 본 적이 있을 것이다 —3100이 바로 포트 번호다.
방화벽(Firewall)
특정 포트로 들어오는 연결을 허용하거나 차단하는 장치·설정이다. "스테이징 서버에서는 API가 되는데, 외부에서는 접속이 안 된다"는 문제가 방화벽이 그 포트를 막고 있어서인 경우가 흔하다 — 이건 코드나 애플리케이션 문제가 아니라 네트워크 인프라 설정 문제다.
"연결할 수 없습니다" 오류의 원인 후보
| 증상 | 가능한 원인 |
|---|---|
| 도메인 자체가 안 열림 | DNS 설정 문제 |
| 도메인은 열리는데 특정 기능(API)만 실패 | 특정 포트가 방화벽에 막힘 |
| 사내망에서는 되는데 외부에서는 안 됨 | 방화벽이 특정 네트워크만 허용 |
| 며칠간 잘 되다가 갑자기 접속 불가 | DNS 설정이 바뀌었거나 서버 자체가 죽음(레슨 4의 프로세스 문제) |
실무에서 왜 필요한가
"연결이 안 됩니다"라는 한 문장짜리 증상 뒤에는 DNS, 포트, 방화벽, 서버 프로세스(레슨 4)까지 여러 계층의 원인이 있을 수 있다. 이 계층을 구분할 수 있는 QA는, 결함 리포트에 "DNS는 정상 응답하나 443 포트로의 연결이 타임아웃됨"처럼 훨씬 구체적인 정보를 담을 수 있고, 이건 인프라 담당자가 원인을 훨씬 빠르게 찾도록 돕는다. 모듈 5(레슨 9)에서 배운 생태계·신뢰 경계 개념도 결국 이 네트워크 연결 위에서 이뤄진다.