CHAPTER 02 · ADDRESS, PORT & PROTOCOL

난 어디 사는
누구인가?

이름과 주소가 정확해야 상대가 나를 찾을 수 있습니다.
네트워크에서도 예외는 없습니다.

읽는 시간 약 10분IP · Netplan · Port · Protocol2026. 07. 12
마포 꿀주먹 캐릭터 소개 장면
IDENTITY 이름, 소속, 주소까지 말할 수 있어야 비로소 나를 소개할 수 있다.

01

이제 나를 소개할 수 있다

1장에서 명령어를 배웠다면, 이제 내가 누구인지, 어디에 있고, 어디에 소속되어 있으며, 어디가 출입구인지 확인할 수 있습니다.

나는 누구?IP Address
어디 소속?Subnet
출입구는?Gateway
이름 찾기는?DNS

이 정보들은 서로 독립적이지 않습니다. 하나라도 잘못 입력하면 통신이 실패하거나 엉뚱한 목적지로 향합니다. 사람의 소개에서 이름과 주소가 중요한 것처럼, 네트워크 설정에서도 정확성이 가장 중요합니다.

02

자신의 이름을 잘못 입력한 경우

상대가 내 이름을 다르게 알고 있다면 나를 제대로 찾을 수 없습니다. 네트워크에서는 잘못된 호스트 이름이나 DNS 정보가 이와 비슷한 혼란을 만듭니다.

누구라고 묻는 장면
유재석 씨라고 답하는 장면
데프콘에게도 묻는 장면
데프콘이라고 잘못 부르는 장면
NETWORK LESSON

이름이 틀리면 상대를 식별하지 못한다. DNS는 도메인 이름과 IP 주소를 연결하며, hostname은 장비를 사람이 구분하기 쉽게 만든다.

03

자신의 주소를 잘못 입력한 경우

주소가 잘못되면 이름을 정확히 알아도 목적지에 도착할 수 없습니다. IP 주소, 서브넷, 게이트웨이 중 하나만 틀려도 통신은 예상치 못한 방향으로 흘러갑니다.

실버버튼을 시켰다는 장면
영어로 주소를 입력하라는 장면주소를 입력해야 한다는 장면
주소를 입력했다는 장면남한과 북한 국가번호 선택 장면
북한으로 갔으면 어떡하냐는 장면
핵심 포인트

주소는 비슷한 값이 아니라 정확한 값이어야 한다

IP 주소는 내 위치, 서브넷 마스크는 같은 동네의 범위, 기본 게이트웨이는 다른 동네로 나가는 출입구입니다. DNS는 목적지의 이름을 주소로 번역합니다.

04

Netplan에 정확히 기록하기

Ubuntu에서는 /etc/netplan/*.yaml 파일에 네트워크 설정을 기록합니다. YAML은 들여쓰기가 문법이므로 탭 대신 공백을 사용하고 정렬을 정확하게 맞춰야 합니다.

고정 IP가 설정된 Netplan YAML
dhcp4: false
DHCP 자동 할당을 끄고 직접 주소를 지정합니다.
addresses
192.168.0.30/24처럼 IP와 네트워크 범위를 설정합니다.
routes / via
기본 경로와 게이트웨이 주소를 지정합니다.
nameservers
도메인 이름을 해석할 DNS 서버를 지정합니다.
설정 확인과 적용
$ sudo netplan try
$ sudo netplan apply
$ ip addr
$ ip route
$ resolvectl status

netplan try를 먼저 사용하면 안전합니다. 일정 시간 안에 확인하지 못하면 설정을 되돌리므로, 원격 서버에서 잘못된 설정 때문에 접속이 끊기는 위험을 줄일 수 있습니다.

05

IP가 집이라면 포트는 방이다

IP 주소만으로는 컴퓨터 안의 어떤 프로그램과 대화할지 알 수 없습니다. 포트 번호는 한 장비 안에서 실행 중인 여러 서비스 중 목적지를 구분하는 번호입니다.

여러 방으로 구성된 집의 평면도
집 주소가 IP 주소라면 각 방은 포트입니다. 같은 집 안에서도 침실, 거실, 주방의 역할이 다르듯 하나의 컴퓨터에서도 포트마다 서로 다른 서비스가 기다리고 있습니다.
:22SSH 원격 접속
:80HTTP 웹 서비스
:443HTTPS 보안 웹

택배가 집 주소에 도착한 뒤 정확한 방을 찾아가듯, 패킷은 IP 주소에 도착한 뒤 포트 번호로 서비스를 찾습니다. 포트 번호는 0부터 65535까지 사용하며, 실제로 열려 있는 포트는 ss -tuln으로 확인할 수 있습니다.

자주 사용하는 포트와 프로토콜

포트전송서비스주요 용도
20·21TCPFTP파일 전송과 제어에 사용합니다. 암호화되지 않으므로 실무에서는 SFTP를 주로 사용합니다.
22TCPSSH / SFTP서버 원격 접속, 명령 실행과 안전한 파일 전송에 사용합니다.
23TCPTelnet원격 접속용이지만 평문 통신이므로 보안상 사용을 피해야 합니다.
25TCPSMTP메일 서버 사이에서 이메일을 전송합니다.
53UDP / TCPDNS도메인을 IP로 변환합니다. 일반 질의는 UDP, 큰 응답이나 영역 전송은 TCP도 사용합니다.
67·68UDPDHCP서버가 클라이언트에 IP, 게이트웨이, DNS 정보를 자동 할당합니다.
80TCPHTTP암호화되지 않은 웹 페이지 요청과 응답에 사용합니다.
110TCPPOP3메일 서버에서 이메일을 내려받습니다.
123UDPNTP컴퓨터와 서버의 시스템 시간을 동기화합니다.
143TCPIMAP메일을 서버에 보관하면서 여러 장치에서 동기화합니다.
161·162UDPSNMP네트워크 장비 상태를 조회하고 장애 알림을 전달합니다.
389TCP / UDPLDAP사용자와 조직 정보 등 디렉터리 서비스를 조회합니다.
443TCPHTTPSTLS로 암호화된 안전한 웹 통신에 사용합니다.
445TCPSMBWindows 환경의 파일·프린터 공유에 사용합니다.
3306TCPMySQLMySQL·MariaDB 데이터베이스 접속에 사용합니다.
3389TCP / UDPRDPWindows 원격 데스크톱 화면 접속에 사용합니다.
5432TCPPostgreSQLPostgreSQL 데이터베이스 접속에 사용합니다.

06

프로토콜은 대화의 약속이다

같은 주소와 방을 찾아가도 서로 다른 언어를 쓰면 대화할 수 없습니다. 프로토콜은 데이터를 어떤 형식과 순서로 주고받을지 정한 약속입니다.

TCP

정확성과 신뢰성이 중요한 전송
  • 통신 전에 연결을 맺습니다.
  • 데이터의 도착 여부와 순서를 확인합니다.
  • 손실되면 다시 전송하여 빠진 데이터를 복구합니다.
  • 웹, SSH, 이메일, 파일 전송 등에 적합합니다.

UDP

속도와 실시간성이 중요한 전송
  • 연결 확인 없이 바로 데이터를 보냅니다.
  • 도착 확인과 재전송을 기본적으로 하지 않습니다.
  • 빠르지만 손실·순서 변경이 발생해도 자체 복구를 보장하지 않습니다.
  • 실시간 영상·음성, 게임, DNS 등에 적합합니다.

정확히 이해하기: TCP라고 물리적인 데이터 손실 자체가 없는 것은 아닙니다. 전송 도중 손실을 감지하면 재전송해 애플리케이션에는 빠짐없이 전달합니다. UDP도 항상 손실되는 것은 아니지만, 손실 여부를 확인하거나 자동으로 복구해 주지 않습니다.

HTTP / HTTPS웹에서 요청과 응답을 주고받는 응용 계층 프로토콜입니다.
DNS도메인 이름을 IP 주소로 변환하는 프로토콜입니다.
SSH원격 장비에 암호화하여 접속하는 프로토콜입니다.
FTP / SFTP장비 사이에서 파일을 전송합니다. SFTP는 SSH로 보호됩니다.
SMTP / IMAP이메일을 보내고 서버의 메일을 동기화합니다.
ICMP오류와 네트워크 상태를 알립니다. ping이 대표적입니다.
누가출발지 IP
어디로목적지 IP
어느 방에Port
어떤 규칙으로Protocol
CHAPTER REVIEW

네트워크에서 나를 정확히 소개하려면 IP·서브넷·게이트웨이·DNS가 필요하다. 서비스를 찾아가려면 포트가, 서로 대화하려면 프로토콜이 필요하다.