상세 컨텐츠

본문 제목

네트워크를 실현하는 기술

Book/한 권으로 끝내는 네트워크 기초

by chamusik 2025. 4. 23. 22:52

본문

 2장  네트워크를 실현하는 기술

 

2.1  TCP/IP의  기본

 

 2.2.1  TCP/IP

TCP/IP는 인터넷 프로토콜 스위트로, 서로 다른 컴퓨터 벤더나 운영 체제, 그리고 회선 간에도 통신이 가능하게 해주는 통신 프로토콜 세트

TCP/IP는 단순히 TCP와 IP만을 가리키는 것이 아니라, 다양한 인터넷 통신 프로토콜들의 집합을 의미

(예: UDP나 ICMP 등도 TCP/IP에 포함된다)

TCP/IP는 다음과 같이 4계층으로 나뉨

사용자에 가깝다 TCP/IP 4계층 모델 주요 프로토콜 역할
4 응용 계층 HTTP, DNS 애플리케이션에 맞춰 통신을 수행한다
3 전송 계층 TCP, UDP IP와 애플리케이션을 중개하여 데이터를 정확히 전달함
2 인터넷 계층 IP, ICMP, ARP 등 네트워크 주소를 기준으로 데이터를 목적지까지 전송
1 네트워크 접근 계층 이더넷, Wi-Fi 물리적 네트워크 연결 및 기기간 데이터 전송

 2.1.2  OSI 참조 모델

OSI 참조 모델은 컴퓨터가 갖추어야 할 통신 기능을 계층적으로 나눈 모델이며, 벤더 간 상호 통신을 가능하게 하는 통일된 네트워크 규격

계층 OSI 참조 모델 주요 프로토콜
L7 응용 계층 HTTP, DNS
L6 표현 계층 HTTP, DNS
L5 세션 계층 HTTP, DNS
L4 전송 계층 TCP, UDP
L3 네트워크 계층 IP
L2 데이터 링크 계층 이더넷
L1 물리 계층 이더넷

 

스위치는 랜 케이블을 모아주는 장치로, 어떤 계층의 정보를 기준으로 통신을 중계하는지에 따라 명칭이 다름

  • 이더넷 수준에서 동작하는 스위치는 L2 스위치
  • 라우팅 기능이 있는 경우는 L3 스위치
  • TCP 포트 정보를 기준으로 분산하는 경우는 L4 스위치
  • 애플리케이션 수준에서 제어하는 경우는 L7 스위치

이처럼 L2, L3, L4, L7 스위치는 각 계층의 특성을 기반으로 한 네트워크 장비

 

[수업 내용 추가]

  • 네트워크 지식은 면접에서 자주 출제되며, OSI 7계층 개념은 자기 언어로 이해하고 설명할 수 있어야 함

 2.1.3  주소

네트워크 통신에서 주소는 통신 상대를 식별하기 위한 정보

  • IP 주소: TCP/IP에서 컴퓨터를 식별하기 위해 할당되는 번호로, 형식은 xxx.xxx.xxx.xxx
    • 컴퓨터, 휴대전화, 태블릿, 서버, 라우터, 스위치 등 모든 네트워크 장비에 부여됨
    • 프라이빗 IP 주소: 랜 내부에서 사용
    • 글로벌 IP 주소: 인터넷 상에서 사용
  • MAC 주소: 컴퓨터나 라우터 등 네트워크 기기에 기본적으로 부여된 하드웨어 주소
    • 이더넷 통신에서는 MAC 주소로 상대를 식별
    • TCP/IP 통신에서는 IP 주소를 사용하지만, 실제 패킷 전송 시에는 IP와 MAC 주소가 조합되어 사용

동일 네트워크 안에서 통신 시:

  • 우선 상대방의 MAC 주소를 알아야 하므로 ARP를 통해 IP에 해당하는 MAC 주소를 탐색
  • ARP 요청은 네트워크 전체에 브로드캐스트되어 전송됨 → 응답(ARP Reply)을 통해 상대의 MAC 주소 획득

다른 네트워크와 통신할 경우:

  • 라우터(L3 스위치)가 중간에 개입
  • 이때는 상대 MAC 주소가 아니라 기본 게이트웨이의 MAC 주소를 ARP로 알아내어 통신을 시작

 2.1.4  패킷

데이터를 교환하는 방식에는 회선 교환패킷 교환이 있다.

  • 회선 교환: 전화처럼 통신 중 회선을 독점
  • 패킷 교환: 데이터를 작은 덩어리(패킷)로 나누고 회선을 공유하여 다수 통신 가능

각 패킷에는 다음과 같은 구조가 있다:

  • 헤더: 수신/송신 정보 등 메타데이터
  • 페이로드: 실제 데이터 내용

2.2  IP  주소  구조

 

 2.2.1  IP 주소 분석

컴퓨터는 출하 시 MAC 주소만 존재하며, IP 주소는 없음. 사용자가 라우터에 연결하면, 라우터가 IP 주소를 자동으로 할당해주는데 이를 DHCP(Dynamic Host Configuration Protocol)라고 한다.

단계 설명
DHCP Discover 클라이언트가 DHCP 서버를 찾기 위해 네트워크에 요청을 보냄
DHCP Offer 서버가 클라이언트에게 IP 주소 등의 설정 정보를 제안함
DHCP Request 클라이언트가 서버에 설정 정보를 요청함
DHCP ACK 서버가 요청을 수락하고 설정 정보를 확정함

 

서브넷 마스크

  • IPv4 주소는 4개의 십진수로 구성되어 있으며, 실제로는 8비트씩 구성된 32비트 이진수
  • IP 주소는 네트워크부와 호스트부로 나뉘며, 이를 구분하기 위해 서브넷 마스크를 사용
  • 네트워크부: 해당 네트워크를 식별하는 부분
  • 호스트부: 해당 네트워크 내에서 개별 장치를 식별하는 부분

[수업 내용 추가]

  • IP 주소, 서브넷 마스크, 기본 게이트웨이는 엔드 디바이스에서 반드시 설정해야 하는 3가지 구성 요소
  • 라우터에 직접 연결할 경우(interface config 모드), 해당 이더넷 포트에 IP 주소와 서브넷 마스크를 직접 입력해야 함
  • 서브넷 마스크가 255.255.0.0이었다가 255.255.255.0으로 변경되면, 서로 다른 네트워크로 인식되어 통신이 안됨 → 라우터 필요 (서브넷 마스크에 따라 네트워크가 달라지면 통신 불가)
  • CIDR 표기법 사용 (/숫자 형태)
  • Subnet은 IP를 효율적으로 쓰기 위해 나누는 구조
  • VLSM(가변 길이 서브넷 마스크)을 통해 서브넷마다 다른 크기로 설계 가능

 2.2.2  IP 주소의 할당과 관리

  • 호스트부가 모두 0이면 → 네트워크 주소
  • 호스트부가 모두 1이면 → 브로드캐스트 주소 (ARP는 이 브로드캐스트 주소를 활용해 네트워크 전체에 요청을 보냄)

[수업 내용 추가]

  • 네트워크 주소 구하기: AND 연산을 통해 확인
    • 예:
      • IP 주소: 192.168.40.83
      • 서브넷 마스크: 255.255.255.0
      • → 네트워크 주소: 192.168.40.0
  • IP 클래스 정리:
    • A 클래스: 1~127, 마스크 255.0.0.0
    • B 클래스: 128~191, 마스크 255.255.0.0
    • C 클래스: 192~223, 마스크 255.255.255.0

 2.2.3  데이터가 바르게 전송되는 매커니즘

  • 서로 다른 네트워크 간의 통신에는 라우터가 개입
  • 라우팅 테이블: 목적지 네트워크에 대해 어떤 경로로 데이터를 보낼지 정의
  • 목적지가 같은 네트워크가 아니면 → 기본 게이트웨이나 라우터로 전송됨

[수업 내용 추가]

  • 동일 네트워크가 아닐 경우 → 기본 게이트웨이의 MAC 주소로 ARP 요청을 보냄
  • ARP 동작 흐름
    1. ARP 캐시가 존재하면 → 유니캐스트로 프레임 전송
    2. 캐시가 없으면 → 브로드캐스트로 ARP Request 전송
  • 스위치가 네트워크를 논리적으로 분할할 수 있음 → VLAN
    • 다른 VLAN 간에는 통신이 안 되므로 라우터가 필요
    • VLAN 설정 예시
  • Trunk 포트(802.1Q) 를 통해 VLAN 태그를 유지하며 여러 VLAN을 한 선으로 처리 가능

2.3  네트워크  프로토콜

 

 2.3.1  네트워크 프로토콜

 

L2 스위치는 MAC 주소를 기준으로 데이터를 전송한다.

  • 리피터와는 다르게, L2 스위치는 목적지의 MAC 주소를 기억하고, 해당 포트에만 데이터를 보내기 때문에 효율적
  • 리피터는 모든 포트로 동일한 데이터를 전송하고, 목적지와 일치하는 장치만 수신하기 때문에 불필요한 데이터 전송이 많아 비효율적
  • L3 스위치(라우터)는 L2 스위치와 달리 다른 네트워크를 연결하는 기능이 추가된 장비다.
    • 특징: 포트 수가 많다. (L2 스위치에서 발전하여 기기 간 접속도 담당)

라우터의 특징

  1. 다양한 회선을 수용할 수 있다. (L3 스위치는 이더넷 기반 WAN 회선만 지원하지만, 라우터는 전화 회선, 광 회선 등 다양한 방식 지원)
  2. L3 스위치보다 보안 기능이 강력하다.

L4 스위치와 L7 스위치는 로드 밸런서를 포함하는 고급 네트워크 장비

  • 로드밸런싱: 시스템에 대한 요청을 여러 서버로 분산하여 통신량의 균형을 맞추는 기술
  • L4 스위치는 TCP 헤더 등 프로토콜 정보를 해석하고, 라운드 로빈, 최소 연결 방식 등의 알고리즘에 따라 데이터를 분산 전송
  • L7 스위치는 응용 계층 데이터까지 분석하여 분산 처리하며, 세션을 유지하는 기능도 포함 → 특정 사용자와 장기간 통신이 필요한 경우, 세션을 동일한 서버에 고정시켜 일관성을 유지한다.

[수업 내용 추가]

  • VLAN: 스위치 단에서 논리적으로 네트워크를 분리하는 기술
  • VLAN 포트 설정 시 동일 VLAN ID를 각 포트에 설정해야 함
  • VLAN 간 통신은 라우터 또는 L3 스위치 필요
  • 라우터는 목적지 IP만 보고 판단함 → DDoS 공격 시 소스 IP 위조 문제 발생
  • 인터페이스 유형: 물리적(외부 연결용), 논리적(VLAN, Loopback, Tunnel 등)

 2.3.2  TCP와 UDP

  • TCP와 UDP는 OSI 참조 모델의 4계층에서 동작하며, 3계층의 IP와 5~7계층을 중개하는 역할
  • 이 두 프로토콜은 중개 역할을 하지만, 특성은 서로 다름
  • TCP: 신뢰성 있는 통신을 제공함. 데이터의 정확성과 일관성이 중요할 때 사용
  • UDP: 신뢰성은 없지만, 빠른 전송이 가능하여 고속성 또는 실시간성이 필요한 경우 사용

예시

  • HTTP는 모든 데이터를 정확히 받아야 웹 페이지가 표시되므로 TCP 사용
  • IP 전화는 약간의 데이터 손실보다 실시간성이 중요하므로 UDP 사용

포트 번호

  • TCP와 UDP 모두 포트 번호를 사용하여 어떤 애플리케이션과 통신하는지를 구분함
  • 출발지 포트 번호는 동적으로 할당되며, 하나의 컴퓨터에서 여러 애플리케이션이 동일 서버와 동시에 통신할 수 있도록 해줌
  • 예: 웹 브라우저 A와 B가 동시에 같은 사이트에 접속할 때, 각각 다른 출발지 포트 번호를 사용하여 구분함

[수업 내용 추가]

  • 여러 브라우저가 동일 서버 접속 시, 출발지 포트를 다르게 하여 세션을 구분함
  • TCP는 신뢰성, UDP는 속도/실시간성 중시

 2.3.3  ICMP

  • ICMP는 TCP/IP가 구현된 컴퓨터와 네트워크 장비 간 통신 상태를 확인할 때 사용되는 프로토콜이다.
  • OSI 참조 모델의 3계층에서 동작하며, IP와 동일 계층이지만 IP 위에서 작동하는 프로토콜 (예: ping, tracert 명령)
  • ICMP는 TCP나 UDP를 사용하지 않으며 단독으로 동작한다. 따라서 포트 번호가 없다.

[수업 내용 추가]

  • TCP/UDP를 사용하지 않고 독립적으로 동작
  • 포트 번호 없음
  • ping, tracert 등에 사용됨

 2.3.4  NAT

  • NAT(Network Address Translation)는 IP 주소를 변환하는 기술
  • 랜 내부에서는 private IP address를 사용하지만, 인터넷에서는 global IP address를 사용해야 한다.
  • private IP 주소 상태로는 인터넷 라우팅이 불가능하기 때문에, 라우터가 이를 global IP 주소로 변환해주는 역할을 수행한다.

[수업 내용 추가]

  • 프라이빗 IP는 인터넷에서 직접 사용 불가
  • 라우터가 프라이빗 IP를 글로벌 IP로 변환해주는 NAT 필요

 2.3.5  프라이빗 IP 주소에 사용할 수 있는 주소 대역

클래스 주소 범위
Class A 10.0.0.0/8
Class B 172.16.0.0/12
Class C 192.168.0.0/16

이 주소들은 글로벌 IP 주소로 사용되지 않으며, 내부 네트워크에서만 사용

 

 2.3.6  CIDR (Classless Inter-Domain Routing)

  • 여러 목적지를 하나로 묶어 하나의 주소 블록으로 표현하는 방법
  • 예: 192.168.0.0/16은 192.168.0.0 ~ 192.168.255.255 범위를 포함
    • 이 안에는 192.168.0.0/24, 192.168.255.0/24 등의 작은 네트워크 세그먼트도 포함된다.
  • 즉, 작은 네트워크들을 포괄하는 큰 네트워크 단위로 정리할 수 있다

[수업 내용 추가]

  • CIDR은 주소를 유연하게 할당하는 방식으로, 접두사(prefix)로 표현
  • Longest Match 우선 적용
    • 더 구체적인 경로(/32)가 더 일반적인 경로(/24)보다 우선

 2.3.7  정적 라우팅과 동적 라우팅

 

정적 라우팅: 사람이 수동으로 라우팅 테이블을 설정하는 방식. 네트워크 초기 구성이나 변경 시 직접 설정 필요.

 

동적 라우팅: 라우터끼리 정보를 교환하여 라우팅 테이블을 자동으로 갱신하는 방식.

  • 이때 사용되는 정보 교환 방식을 라우팅 프로토콜이라고 한다.정적 라우팅: 사람이 수동으로 라우팅 테이블을 설정하는 방식. 네트워크 초기 구성이나 변경 시 직접 설정 필요.

선정 기준: 구성 변경의 빈도와 네트워크의 규모에 따라 결정

 

[수업 내용 추가]

  • 라우팅 구성 방식
    • Direct Connect: IP만 설정해도 자동 등록
    • Static: 수동 설정 필요
    • Dynamic: 라우팅 프로토콜 사용
  • 라우팅 프로토콜 구분
    • Distance Vector: RIP (hop 기준)
    • Link State: OSPF (cost 기준)
  • OSPF는 bandwidth 값을 기반으로 cost 산정 → cost 낮을수록 우선
  • Routing Protocol 우선순위는 distance 값으로 판단
  • 동일 네트워크가 아니면 기본 게이트웨이로 전송됨
  • static 경로는 최우선 적용

관련글 더보기