자격증/정보보안기사

네트워크보안(2) | TCP/IP 구조2

burrri 2025. 5. 6. 01:38

# Internet 계층(L2) 

  • 기능
    • 송수신자의 IP를 읽어서 경로를 결정 및 전송
    • Point-to-Point 패킷 전송
    • 논리주소 지정
    • 주소 변환
  • 단위 : datagram ( message + tcp/udp header + IP header)
  • 프로토콜 
    • IP, ICMP의 TCP/IP 프로토콜군 
    • 멀티캐스팅을 위한 IGMP
    • 라우팅을 위한 BGP, OSPF, RIP 등

 

1. 라우팅

IP header의 dst IP 주소를 읽어 최단 경로 선정 → 전송 수행

 

| 라우팅 고정 여부에 따른 프로토콜 종류

  • 정적 라우팅 : 관리자가 미리 최적의 경로를 분석하여 설정하며, 비교적 환경변화가 적은 네트워크에 적합
  • 동적 라우팅 : 라우팅 알고리즘에 기반하여 실시간으로 경로 설정

 

| 라우팅 범위에 따른 프로토콜 종류

  • IGP (internet gateway routing protocol) : 동일 그룹(isp) 내에서 라우팅 정보교환
  • EGP (exterior ~) : 다른 그룹과 라우팅 정보 교환

 

| 프로토콜 (동적 라우팅 기반)

  distance vector link state
알고리즘 최단 경로를 구하는 벨만-포드 알고리즘 기반 다익스트라 알고리즘 기반
동작원리 라우터는 자신이 아는 목적지까지의 거리 정보  인접 라우터에게 전달

인접 라우터는  정보를 토대로 자신의 라우팅 테이블을 갱신.
네트워크의 전체 링크 상태 정보를 바탕으로 최적 경로 계산
라우팅 정보 목적지까지의 거리(Hop Count)
+ 
방향(인접 라우터)
전체 네트워크의 토폴로지 (링크 상태 정보)
정보 전송 시점 일정 주기(예: 30초) 변화 발생시에만
대표 프로토콜 RIP, ICRP, EIGRP,BGP OSFP, IS-IS
장점 메모리 절약 
(한 라우터가 모든 라우팅 정보를
가지고 있을 필요가 없기 때문에 )

빠른 수렴 시간
필요할 때만 정보 교환
트래픽 효율적

단점 트래픽 낭비 (주기적 업데이트)
수렴 속도느림 
홉 제한
정보변경에 문제 시, 라우팅loop 발생가능 
네트워크 전체 정보 유지에 많은 메모리 사용
복잡한 구현
라우터의 CPU 사용량 많아짐 

 

 

 

2. IP

| IP

주소화, 데이터그램 포맷, 패킷 핸들링 등을 정의해놓은 인터넷 규약

  • IPv4 : 32bit, 네트워크 id+호스트id로 구분
  • IPv6 : 128bit

 

| IP Header 구조

  • Flag / fragment : 패킷의 크기가 너무크면 분할 → 분할 및 재조립을 위한 정보
    • MTU(maximum transmission unit) : 한번에 통과가능한 패킷의 최대 크기
      → 패킷 > MTU이면 flag와 fragment가 분할된 정보를 가지게 됨
  • TTL : 패킷이 통과할 수 있는 라우터 수
  • protocol : tcp/udp
  • header checksum : 헤더의 무결성 검사

 

 

| IP 주소의 구조 

IP 주소(32bit)  = 클래스 종류 비트 + 네트워크ID + 호스트 ID

Class A 0 + 7비트의 네트워크 ID
나머지의 24비트에 호스트 부여가능하므로 많은 호스트 가능
Class B 10 + 14비트 네트워크 ID
Class C 110 + 21비트 네트워크 ID 
=> 24비트 (3바이트)까지가 네트워크 식별자
Class D 1110 + 멀티캐스트 주소

 

 

| 서브넷팅

주어진 네트워크 주소를 여러개의 서브넷으로 쪼개어 활용 가능

  • 예를 들어, Class C의 기본 서브넷 마스크는 255.255.255.0
    여기에서 서브넷팅을 위해 3비트은 subnet id로, 나머지 5비트를 host id로 설정하면
  • 111 00000 (2) == 224 (10) 이므로 255.255.255.224가 서브넷팅 후의 서브넷 마스크 

 

| 수퍼넷팅

ISP(internet service provider) 사업자가 많은 네트워크 망을 효율적으로 관리하기 위해 네트워크를 묶어 관리하는 방법

→ 서브넷팅의 반대

 

 

 

3. ICMP

| ICMP

TCP/IP에서의 오류 제어 프로토콜

  • IP 프로토콜의 하위 프로토콜
  • 타겟 호스트/라우터가 현재 도달 가능한지 여부를 확인
  • 데이터 전송 자체를 담당하진 않고, 네트워크 상에서 무슨 문제가 생겼는지를 알려주는 용도

 

| ICMP 주요 기능

1. 오류 보고 메시지 : ip 패킷 처리 도중 발견된 문제 보고

  • 목적지에 도달할 없음
  • 포트 접근 불가
  • 라우터나 호스트가 다운됨

2. 질의 메세지 : 다른 호스트로부터 특정 정보를 획득하기 위해 사용

  • ping: 목적지 호스트가 살아있는지 확인
  • traceroute: 목적지까지 가는 경로 추적

 

| ICMP 주요 메시지

Type message 설명
0/8 echo reply host의 존재를 확인
3 destination unreachable router가 목적지를 못찾음
5 redirection routing 경로를 수정 (smurf공격에 사용)
11 time exceeded 패킷을 보냇으나, 시간 경과로 패킷이 삭제됨

 

+ smurf공격이란?

ping을 보낼때, 출발지ip를 공격자꺼가 아닌 타겟 대상으로 위조 → 브로드캐스트 주소로 보냄

네트워크 안의 모든 장비들이 다시 ping결과(echo reply) 돌아올 때 타겟으로 모여 트래픽 폭주 →서비스 마비

 

 

4. ARP/RARP

| ARP

 IP 주소 → MAC주소로 변환하여 응답

  • ARP Request를 보내고 ARP Reply 응답을 내용을 테이블에 저장
  • ARP Cache table:  ip-mac 주소를 저장한 매핑 테이블
  • $arp / $arp-a

 

 

| RARP

물리적 MAC 주소 논리적  IP주소로 변환하여 응답

  • 네트워크에 처음 접속한 장치가 자기 IP 주소를 모를 사용
  • 그러나, 현재는 DHCP로 대체됨. DHCP는 IP뿐만 아니라 서브넷, 게이트웨이, DNS도 제공  

 

# 네트워크 접근 계층(L1) 

| 네트워크 접근 계층

IP → MAC 주소로 변환하고, 에러제어/흐름제어와 같은 기능을 제공한다. 

  • 물리적 계층이 이해할 수 있는 헤더를 붙여주는 계층
  • Frame단위를 사용하고, mac주소를 사용 
  • osi 7layer의 data link, physical layer에 해당

 

 

| 주요 기능 

  • Point-to-point 간의 신뢰성있는 전송
  • 에러제어 (에러 검출 및 정정)
  • MAC : LAN카드의 물리적 주소
  •  datagram  frame

 

 

1. CSMA/CD

유선 LAN에서 메세지를 송수신하기 위한 접근  방법이다.

 

| 동작 과정 

충돌이 일어나지 않는다면 (A가 D에게 전송)

  • A전송하려고 함 → 먼저 채널에 누가 말하고 있는지 확인 (Carrier Sense)
  • 조용하면 전송 시작
  • A보낸 데이터는 전선 타고 B, C, D 전부에게 전달됨 (브로드캐스트)
  • B, C는 자기꺼아니니까 버림
  • D데이터 받고 → A에게 Unicast 응답

충돌이 일어난다면 ( A가 D에게, B는 C에게 전송하고싶은 상황)

  • A와 B가 전송하며 충돌
    • JAM signal을 모든 호스트로 전송하여 알림
    • 일정 시간 후 재 전송 (최대 15번, back off 알고리즘)

(근데 사실상 요즘은 안쓰는 개념)

 

 

 

2. CSMA/CA

무선 LAN에서 메세지를 송수신하기 위한 접근 방법

프레임 전송 이전에 제어 메세지 전송하여 수신자로부터 간단한 확인 받고 프레임 전송

(현대 WIFI의 기본 메커니즘)

 

| 동작 과정  (A→B)

  • 채널 감지(Carrier Sense)
    • A가 RTS (ready to send?)를 보냄  데이터 전송 전에 채널이 비었는지 확인
  • B가 A에게 CTS(clear to send)를 보내서 받으면 전송
  • 아니면, 임시 시간동안 기다리고 RTS 전송