🌐 네트워크 기본 개념 (Basic Network Concepts)
데이터 교환 방식
| 구분 | 회선 교환 방식 (Circuit Switching) | 패킷 교환 방식 (Packet Switching) |
|---|
| 경로 | 고정된 경로로만 통신 | 상황에 따라 최적 경로로 통신 |
| 안정성 | 통신 중 방해받지 않음 | 경로 고장 시 우회 가능하여 신뢰성 높음 |
| 효율성 | 회선 독점으로 효율성 낮음 | 회선 공유로 이용률 높고 효율적 |
| 데이터 | 원본 데이터를 그대로 전송 | 데이터를 패킷 단위로 분할하여 전송 |
| 대표 예시 | 구형 전화망 | 인터넷 |
프로토콜의 3요소
- 구문 (Syntax): 데이터의 형식, 부호화, 신호 레벨 등 데이터 구조를 정의합니다. (‘무엇을’)
- 의미 (Semantics): 특정 패턴을 어떻게 해석하고 어떤 동작을 할지 결정합니다. (전송/오류 제어 등) (‘어떻게’)
- 타이밍 (Timing): 데이터 전송 속도와 순서를 제어합니다. (‘언제’)
네트워크 범위
- LAN (Local Area Network): 사무실, 집 등 좁은 지역을 연결하는 근거리 통신망.
- MAN (Metropolitan Area Network): 도시 규모의 지역을 연결하는 통신망.
- WAN (Wide Area Network): 국가나 대륙 등 매우 넓은 범위를 연결하는 광역 통신망.
네트워크 장비와 OSI 계층
| 장비 | OSI 계층 | 설명 |
|---|
| 리피터, 허브 | 1계층 (물리) | 신호를 증폭하고 재전송 |
| 브리지, 스위치 | 2계층 (데이터링크) | MAC 주소를 기반으로 프레임 전달 |
| 라우터 | 3계층 (네트워크) | IP 주소를 기반으로 최적 경로 설정 |
| 게이트웨이 | 4계층 이상 | 서로 다른 프로토콜을 사용하는 네트워크 연결 |
layering OSI 7계층과 TCP/IP
OSI 7계층 모델
| 계층 | 데이터 단위 | 주요 프로토콜 | 기능 |
|---|
| 7. 응용 | 데이터 | HTTP, FTP, SSH, DNS | 사용자 인터페이스 제공 |
| 6. 표현 | 데이터 | - | 데이터 형식 변환, 암호화, 압축 |
| 5. 세션 | 데이터 | SSL | 응용 프로그램 간의 연결 수립 및 관리 |
| 4. 전송 | 세그먼트 | TCP, UDP | 종단 간(End-to-End) 신뢰성 있는 데이터 전송 |
| 3. 네트워크 | 패킷 | IP, ICMP, ARP | 논리적 주소(IP) 사용, 최적 경로 설정(라우팅) |
| 2. 데이터링크 | 프레임 | Ethernet | 물리적 주소(MAC) 사용, 오류 제어 |
| 1. 물리 | 비트 | 케이블, 허브 | 전기적, 기계적 신호 전송 |
TCP vs UDP
- TCP (Transmission Control Protocol): 연결 지향형 프로토콜. 3-way handshaking으로 연결을 수립하여 데이터 전송 순서와 신뢰성을 보장합니다. (신뢰성이 중요할 때 사용)
- UDP (User Datagram Protocol): 비연결형 프로토콜. 연결 과정 없이 데이터를 빠르게 전송하지만, 신뢰성을 보장하지 않습니다. (속도가 중요할 때 사용)
📍 IP 주소 체계 (IP Addressing)
IPv4 (Internet Protocol version 4)
- 32비트 주소 체계로, 8비트씩 4개의 옥텟(Octet)으로 구성됩니다. (예:
192.168.0.1)
- 클래스 기반 주소 할당:
- A 클래스: 1.0.0.0 ~ 126.255.255.255
- B 클래스: 128.0.0.0 ~ 191.255.255.255
- C 클래스: 192.0.0.0 ~ 223.255.255.255
- 사설 IP 대역: 내부 네트워크에서만 사용하는 주소.
- A 클래스:
10.0.0.0 ~ 10.255.255.255
- B 클래스:
172.16.0.0 ~ 172.31.255.255
- C 클래스:
192.168.0.0 ~ 192.168.255.255
서브넷 마스크 (Subnet Mask)
- IP 주소에서 네트워크 주소와 호스트 주소를 구분하는 역할을 합니다.
- 예:
255.255.255.192 (/26)
- 마지막 옥텟
192는 이진수로 11000000입니다.
- 네트워크 비트 2개, 호스트 비트 6개를 의미하며, 22=4개의 서브넷으로 나눌 수 있습니다.
- 각 서브넷은 26=64개의 IP를 가집니다. (
0-63, 64-127, 128-191, 192-255)
IPv6 (Internet Protocol version 6)
- 128비트 주소 체계로, IPv4의 주소 고갈 문제를 해결하기 위해 등장했습니다.
- 호스트 주소 자동 설정, 보안 기능 강화 등의 장점이 있습니다.
- 네트워크 인터페이스 카드(NIC)에 할당된 48비트 길이의 고유한 물리적 주소입니다.
🧩 주요 프로토콜 및 서비스
| 프로토콜 | 포트 번호 | 설명 |
|---|
| HTTP(S) | 80(TCP), 443(TCP) | 웹 페이지 데이터 전송 프로토콜 (보안 강화 버전) |
| FTP | 20, 21(TCP) | 파일 전송 프로토콜 |
| SSH | 22(TCP) | 보안된 원격 접속 프로토콜 |
| Telnet | 23(TCP) | 원격 접속 프로토콜 (비보안) |
| SMTP | 25(TCP) | 이메일 송신 프로토콜 |
| DNS | 53(TCP/UDP) | 도메인 이름을 IP 주소로 변환 |
| DHCP | 67, 68(UDP) | IP 주소 자동 할당 프로토콜 |
| POP3 | 110(TCP) | 이메일 수신 프로토콜 |
| IMAP | 143(TCP) | 이메일 수신 프로토콜 (서버 동기화 지원) |
| SNMP | 161(UDP) | 네트워크 장비 관리 프로토콜 |
| SAMBA | 139, 445(TCP) | 윈도우와 리눅스 간 파일/프린터 공유 |
🛠️ 네트워크 설정 및 진단 명령어
설정 및 확인 명령어
| 명령어 | 설명 |
|---|
ifconfig | (구) 네트워크 인터페이스 정보 확인 및 설정 |
ip | (신) 네트워크 인터페이스, 라우팅 테이블, ARP 테이블 등 종합 관리 |
ethtool | 네트워크 카드의 물리적 연결 상태, 속도 등 하드웨어 정보 확인 |
route | 라우팅 테이블 정보 확인 및 설정 |
netstat | 네트워크 연결 상태, 라우팅 테이블, 인터페이스 통계 정보 출력 |
ss | netstat을 대체하는 소켓 정보 확인 명령어. 더 빠르고 상세함. |

진단 명령어
| 명령어 | 설명 |
|---|
ping | 대상 호스트까지의 연결 상태와 응답 시간 확인 |
traceroute | 대상 호스트까지의 네트워크 경로 추적 |
arp | IP 주소와 MAC 주소의 매핑 정보(ARP 테이블) 확인 |

📁 네트워크 설정 파일
- /etc/sysconfig/network-scripts/: 네트워크 인터페이스의 상세 설정 파일이 위치한 디렉터리 (예:
ifcfg-enp0s3)
- /etc/hosts: IP 주소와 호스트 이름을 수동으로 매핑하는 파일. DNS보다 먼저 조회됩니다.
- /etc/resolv.conf: 사용할 DNS 서버의 IP 주소를 지정하는 파일.
- /etc/services: 잘 알려진 포트 번호와 서비스 이름을 매핑한 정보 파일.
- /etc/protocols: 시스템에서 사용 가능한 프로토콜 정보를 담고 있는 파일.
