07/11 — 네트워크 기초·설정·진단

네트워크는 **“어느 인터페이스에서, 어느 주소와 포트로, 어떤 경로를 통해 통신하는가?”**로 읽는다. 주소는 통신 대상을 식별하고, 경로는 전달 방향을 정하며, 이름 해석은 도메인 이름을 주소 정보에 연결한다.

1. 계층과 데이터 흐름

OSI 계층역할·예대표 단위
7 응용HTTP·DNS·SMTP 같은 서비스데이터
6 표현표현 형식·인코딩·암호화라는 역할데이터
5 세션대화 세션 관리라는 역할데이터
4 전송TCP·UDP, 포트세그먼트·데이터그램
3 네트워크IP·라우팅패킷
2 데이터링크Ethernet·MAC·스위칭프레임
1 물리케이블·전기·광 신호비트

TCP/IP 모델에서는 응용·전송·인터넷·네트워크 접근의 네 층으로 묶어 설명한다. OSI 5~7은 응용 소통의 기능을 나누어 설명하는 모델이며, 실제 프로그램은 여러 기능을 함께 구현할 수 있다. 송신 때 헤더가 붙고 수신 때 해석되어 벗겨지는 캡슐화 흐름을 이해하면 충분하다.

허브·리피터는 물리 신호, 브리지·일반 L2 스위치는 MAC, 라우터는 IP 경로로 연결한다. L3 스위치처럼 여러 역할을 하는 장치도 있다. 스위치는 보통 포트별 충돌 영역을 나누고 VLAN은 브로드캐스트 영역을 논리적으로 나눈다. 공유 매체 Ethernet의 충돌 제어와 전이중 스위치 Ethernet의 동시 송수신을 각 환경에 맞게 연결한다.

UTP의 전통적 10/100BASE-TX는 두 쌍, 1000BASE-T는 네 쌍을 사용한다. T568A/B는 배선 순서이며 같은 규격 양끝은 straight, 서로 다르면 전통적 crossover와 연결한다. 현대 장비의 auto MDI-X 지원과 시험의 전통적 배선 원리는 구별한다.

2. TCP·UDP·포트

TCP는 연결·순서·재전송 등 신뢰성 기능을 제공하는 바이트 스트림이고 UDP는 연결 설정 없이 데이터그램을 전달한다. UDP를 사용하는 응용프로그램은 필요에 따라 순서 확인·재전송 같은 신뢰성 기능을 자체 구현할 수 있다.

TCP 연결 시작은 SYN → SYN/ACK → ACK로 기억한다. ACK는 전송 계층에서 수신을 확인한다. 응용 업무의 처리 결과는 해당 응용 프로토콜의 응답으로 확인한다. TIME_WAIT은 연결 종료 뒤 이전 연결의 지연 패킷과 종료 절차를 처리하기 위해 유지하는 상태다.

포트는 전송 계층의 서비스 구분 번호다. TCP 53과 UDP 53은 다른 소켓 공간이다. 주소·프로토콜·포트 조합을 함께 읽는다. well-known은 01023, registered는 102449151, dynamic/private는 49152~65535라는 등록 구분이 있으나 운영체제의 실제 임시 포트 범위는 별도 설정이다.

서비스대표 포트/전송
SSHTCP 22
DNSUDP·TCP 53
DHCPv4서버 UDP 67, 클라이언트 UDP 68
HTTP / HTTPSTCP 80 / 443, 현대 HTTP/3은 UDP 443 사용 가능
SMTP / 제출TCP 25 / 587
POP3 / IMAPTCP 110 / 143
NTPUDP 123
SNMP주로 UDP 161, 통지 162

표의 포트는 서비스별 대표 기본값이다. 실제 프로그램과 포트의 연결은 서비스 설정과 수신 소켓 정보로 확인한다.

3. IPv4와 서브넷: 비트 계산

IPv4는 32비트를 8비트씩 네 묶음으로 쓴다. /24는 앞 24비트가 네트워크 부분이며 마스크는 255.255.255.0이다. 네트워크 주소는 IP AND 마스크다.

프리픽스마스크 끝부분한 블록 전체 주소 수
/24255.255.255.0256
/25255.255.255.128128
/26255.255.255.19264
/27255.255.255.22432
/28255.255.255.24016
/29255.255.255.2488
/30255.255.255.2524

일반적인 IPv4 브로드캐스트 서브넷에서 사용 가능한 호스트는 2^(32−prefix)−2다. 네트워크 주소와 브로드캐스트를 제외하기 때문이다. /31 점대점과 /32 단일 호스트는 각각의 주소 사용 규칙으로 계산한다.

직접 계산 예제

192.168.10.77/26이라면 블록 크기는 64다. 마지막 옥텟 블록은 063, 64127, 128191, 192255이다. 77은 두 번째에 들어간다.

  • 네트워크: 192.168.10.64
  • 브로드캐스트: 192.168.10.127
  • 일반 호스트: .65~.126
  • 호스트 개수: 62

/24를 같은 크기의 네 서브넷으로 나누면 2비트를 더 빌려 /26 네 개가 된다. 현대 CIDR에서는 실제 프리픽스 길이를 기준으로 네트워크 범위를 판단한다. 전통 클래스는 A 첫 옥텟 1126 기본 /8, B 128191 /16, C 192223 /24, D 224239 멀티캐스트로 비교한다. 0·127 등 특수 범위는 각각 정의된 특수 목적에 따라 사용한다. CIDR

4. 주소의 종류·ARP·게이트웨이

사설 IPv4는 세 묶음이다.

  • 10.0.0.0/8
  • 172.16.0.0/12, 즉 172.16~172.31
  • 192.168.0.0/16

172 계열의 사설 범위는 두 번째 옥텟이 16~31인 주소다. 사설 주소는 조직 내부에서 라우팅하고 서로 다른 사설망에서 재사용할 수 있다. 공용 인터넷 연결에는 NAT 같은 주소 변환 방식을 사용할 수 있다. 사설 주소는 내부 주소 할당, NAT는 주소 변환, 방화벽은 통신 허용 정책, 암호화는 내용 보호를 담당한다. RFC 1918

127.0.0.0/8은 루프백, 대표 주소는 127.0.0.1이다. 169.254.0.0/16은 링크 로컬 주소와 연결한다. 0.0.0.0은 문맥에 따라 미지정 주소·모든 IPv4 인터페이스 바인딩 등의 의미가 있고, 0.0.0.0/0은 기본 경로다.

같은 서브넷의 대상에게 보낼 때는 보통 대상의 MAC을 ARP로 알아낸다. 다른 서브넷이면 최종 목적지 IP는 그대로 두고 다음 홉 게이트웨이의 MAC으로 보낸다. 라우터를 넘을 때 링크 계층 프레임은 바뀌며 NAT가 없다면 최종 IP 주소는 원래 송수신 주소를 유지한다.

라우팅은 더 구체적인 프리픽스가 우선인 longest prefix match가 중심이다. /24 경로와 /0 기본 경로가 모두 맞으면 /24를 선택한다. 같은 구체성에서는 metric·정책 등 추가 기준을 본다. RIP은 거리 벡터·홉 수, OSPF는 링크 상태, BGP는 AS 사이 경로 벡터라는 역할 차이도 알아둔다.

5. IPv6

IPv6는 128비트이며 16진수 네 자리씩 여덟 묶음이다. 각 묶음 선행 0을 생략할 수 있고 연속된 0 묶음은 ::로 압축하되 한 주소에서 한 번만 사용한다.

주소의미
::미지정 주소
::1루프백
fe80::/10링크 로컬
fc00::/7Unique Local 범위
ff00::/8멀티캐스트

IPv6는 그룹 전달에 멀티캐스트를 사용하고, 이웃 탐색은 ICMPv6 기반 NDP로 수행한다. IPv6 주소 유형은 유니캐스트·멀티캐스트·애니캐스트로 구성된다. unicast는 하나, multicast는 그룹, anycast는 같은 주소를 가진 여러 대상 중 라우팅상 선택된 대상으로 이해한다.

SLAAC는 라우터 광고와 주소 자동 구성, DHCPv6는 서버 기반 구성과 연결된다. 기본 라우터 정보는 RA로 알아낸다. IPv6는 주소와 패킷 전달을 담당하고, 통신 내용 보호에는 TLS·IPsec 같은 보안 프로토콜을 적용한다. IPv6 주소 구조

6. 설정 파일과 관리 도구

ip link show
ip address show
ip route show
ip neigh show

각각 인터페이스 링크·주소·경로·이웃 정보다. ip로 직접 바꾼 런타임 설정은 재부팅 후 지속 설정과 다를 수 있다. ip 매뉴얼

현대 도구전통적으로 함께 나오는 도구
ip address / linkifconfig
ip routeroute
ip neigharp
ssnetstat

NetworkManager의 nmcli에서는 device가 실제 장치, connection이 저장된 설정 프로필이다. 한 장치에 여러 프로필이 있을 수 있다. nmcli device status, connection show는 조회이며 connection modify는 저장 구성 변경, connection up은 활성화와 연결한다. nmtui는 텍스트 UI다. NetworkManager nmcli

RHEL 8의 ifcfg-는 /etc/sysconfig/network-scripts/와 연결되는 전통적 형식이고 NetworkManager 프로필 형식도 버전·구성에 따라 다르다. Ubuntu 18.04 이상에서는 /etc/netplan/.yaml이 흔하며 renderer가 NetworkManager 또는 systemd-networkd일 수 있다. 설정 위치와 적용 방식은 배포판·버전·네트워크 관리 도구를 함께 확인해 정한다.

파일·항목역할
/etc/hostname호스트 이름
/etc/hosts로컬 이름·주소 매핑
/etc/resolv.confresolver의 DNS 서버·검색 도메인 등
/etc/nsswitch.confhosts 등 이름 정보의 조회 원천·순서
/etc/services서비스 이름과 포트·프로토콜 매핑

resolv.conf는 NetworkManager·systemd-resolved 등이 관리하는 링크·생성 파일일 수 있어 수동 수정이 유지되지 않을 수 있다. /etc/services는 서비스 이름과 포트 번호를 매핑한다. 서버 실행은 서비스 관리자가, 실제 포트 수신은 실행 중인 서버 프로세스가 담당한다.

7. 통신 장애는 계층별로 좁힌다

웹 접속은 링크 → 주소·경로 → 이름 해석 → 전송 연결 → 응용 응답의 흐름으로 확인한다.

  1. 링크·주소: ip link, ip address.
  2. 경로·다음 홉: ip route, ip neigh.
  3. 이름 해석: getent hosts, dig, host, nslookup.
  4. 소켓: ss -lntup 등으로 실제 대기 주소·포트.
  5. 응용 응답: curl 등으로 HTTP 상태.
  6. 방화벽·SELinux·서비스 로그.

ss -lnt는 대기(-l) TCP(-t)를 숫자(-n)로 출력한다. -u는 UDP, -p는 프로세스 정보인데 권한에 따라 보이지 않을 수 있다. 127.0.0.1:포트에만 듣는 서비스는 외부 인터페이스로 직접 접근할 수 없다. ss 매뉴얼

ping은 ICMP 요청·응답으로 도달성을 살핀다. 응답 여부에는 경로 상태와 ICMP 허용 정책이 함께 관여한다. TCP 443 연결과 HTTPS 응답은 대상 포트 연결·curl 등의 응용 요청으로 확인한다. traceroute·tracepath는 TTL/Hop Limit와 중간 장치의 응답으로 경로를 추정한다. 별표는 해당 탐사에서 제한 시간 안에 응답을 받지 못했다는 표시다.

dig는 DNS 질의 도구이고 getent는 NSS 경로를 이용하므로 /etc/hosts 등 때문에 결과가 다를 수 있다. tcpdump는 허용된 환경에서 패킷을 확인하는 도구이며 민감정보가 포함될 수 있다. 여기서는 실제 외부 캡처나 스캔을 수행하지 않는다.

필기용 압축

  • MAC은 링크 구간의 프레임 전달, IP는 네트워크 간 주소 지정·라우팅, 포트는 전송 계층의 서비스 식별에 쓰인다.
  • TCP는 순서·재전송을 제공하는 바이트 스트림이고 UDP는 데이터그램을 전달한다. TCP 연결은 SYN → SYN/ACK → ACK로 시작한다.
  • 네트워크 주소는 IP AND 마스크다. /26은 전체 64개 주소이며 일반적인 브로드캐스트 서브넷에서 호스트 62개를 사용한다.
  • 사설 IPv4 범위는 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16이다.
  • 다른 서브넷에 보낼 때 최종 목적지 IP로 패킷을 만들고 다음 홉 게이트웨이 MAC으로 프레임을 전달한다. 경로는 가장 긴 일치 프리픽스를 우선한다.
  • IPv6는 128비트 주소를 사용한다. ::1은 루프백, fe80::/10은 링크 로컬, ff00::/8은 멀티캐스트이며 이웃 탐색은 NDP가 담당한다.
  • ip는 링크·주소·경로·이웃을 관리한다. nmcli의 device는 장치, connection은 설정 프로필이다.
  • ping은 ICMP 도달성, dig는 DNS 응답, ss는 로컬 소켓, curl은 HTTP 등 응용 응답을 확인한다. 단계별 관찰을 연결해 접속 상태를 판단한다.

회상점검 — 단원 끝 한 번

  1. MAC·IP·포트는 각각 어느 문제를 해결하나?
  2. TCP와 UDP를 비교하고 TCP 연결의 세 단계를 말해봐.
  3. 192.168.10.77/26의 네트워크·브로드캐스트·호스트 범위·개수는?
  4. 사설 IPv4 세 범위를 쓰고, 172 계열 사설 범위의 두 번째 옥텟 구간을 말해봐.
  5. 다른 서브넷 서버에 보낼 때 ARP로 알아내려는 MAC은 누구의 것인가?
  6. IPv6 루프백·링크 로컬·멀티캐스트 주소 범위와 이웃 탐색 프로토콜을 말해봐.
  7. hosts·resolv.conf·nsswitch.conf·services는 각각 무엇인가?
  8. 웹 접속을 링크부터 응용 응답까지 확인하는 순서와 각 단계의 도구를 연결해봐.

출처·검증 범위

2026-09-09 작성. RFC 1918·4291·4632와 ip·ss·nmcli 원천을 참조했다. 자체 서브넷 예제이며 실제 기출은 읽지 않았다. 배포판 설정 형식·레거시 배선·모든 포트 등록 및 라우팅 프로토콜 세부 옵션은 전수 대조가 남아 있다. 실제 네트워크 설정·캡처·스캔은 하지 않았다. 사전 작성은 학습 완료와 별개다.

학습 공간 연결