1. IP란? (Internet Protocol이란?)

인터넷 프로토콜(IP)은 인터넷에서 데이터를 주고받기 위한 규칙의 집합입니다. 마치 우리가 도로에서 운전할 때 지켜야 할 교통 규칙이 있는 것처럼, 인터넷이라는 디지털 고속도로에서도 데이터가 안전하고 효율적으로, 그리고 정확하게 목적지에 도달할 수 있도록 하는 규칙이 필요합니다. 그것이 바로 IP입니다.

1.1 IP 역할: 이해하기

IP의 가장 기본적인 역할은 크게 세 가지로 나눌 수 있습니다

  1. 주소 지정: 각 기기에 고유한 주소(IP 주소)를 부여하여 데이터가 어디로 가야 하는지 알려줍니다.
  2. 경로 설정(라우팅): 데이터가 출발지에서 목적지까지 가는 최적의 경로를 찾습니다.
  3. 패킷 처리: 큰 데이터를 작은 조각(패킷)으로 나누어 전송하고, 목적지에서 다시 조립합니다.

이것은 마치 우편 시스템과 유사합니다. 편지를 보낼 때 우리는 받는 사람의 주소를 적고(주소 지정), 우체국에서는 그 편지가 목적지에 가장 효율적으로 도달할 수 있는 경로를 결정하며(경로 설정), 큰 소포는 여러 개로 나누어 보내기도 합니다(패킷 처리).

 

2. IP란? ①IP 주소

IP 주소는 인터넷에 연결된 모든 기기의 '디지털 주소'입니다. 마치 우리 집에 고유한 주소가 있는 것처럼, 인터넷에 연결된 모든 컴퓨터, 스마트폰, 서버 등은 고유한 IP 주소를 가지고 있습니다.

현재 사용되는 IP 주소에는 두 가지 종류가 있습니다:

  • IPv4: 192.168.1.1과 같이 점으로 구분된 4개의 숫자로 이루어진 주소입니다. 각 숫자는 0~255 사이의 값을 가집니다. IPv4는 약 43억 개의 주소를 제공할 수 있지만, 인터넷의 폭발적인 성장으로 이미 거의 소진된 상태입니다.
  • IPv6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334와 같이 더 길고 복잡한 형태의 주소입니다. IPv6는 거의 무한대에 가까운 수의 주소를 제공할 수 있어 IPv4의 한계를 극복했습니다.

또한 IP 주소는 용도에 따라 다음과 같이 구분됩니다

  • 공인 IP(Public IP): 인터넷 상에서 직접 접근 가능한 고유 주소입니다. 마치 여러분 집의 실제 도로명 주소와 같습니다.
  • 사설 IP(Private IP): 같은 네트워크 내에서만 사용되는 내부 주소입니다. 하나의 공인 IP 아래에 여러 기기가 각각 다른 사설 IP를 가질 수 있습니다. 이것은 마치 하나의 아파트 단지 안에 여러 호수가 있는 것과 같습니다.

 

3. IP란? ② 라우팅

라우팅은 데이터가 출발지에서 목적지까지 가는 최적의 경로를 결정하는 과정입니다. 인터넷은 수없이 많은 네트워크와 라우터들이 연결된 거대한 망입니다. 데이터가 이 복잡한 망을 통과하여 정확한 목적지에 도달하려면 경로를 잘 찾아야 합니다.

라우터라는 장비는 교통 경찰과 같은 역할을 합니다. 라우터는 목적지 IP 주소를 확인하고, 해당 데이터가 가야 할 최적의 경로를 결정합니다. 이 과정에서 네트워크 상태, 혼잡도, 거리 등 여러 요소를 고려합니다.

 

4. IP란? ③ 패킷 교환 방식(단편화)

인터넷에서 데이터는 '패킷'이라는 작은 조각으로 나뉘어 전송됩니다. 이것을 '패킷 교환 방식'이라고 합니다. 큰 파일이나 긴 메시지를 한 번에 보내기보다 작은 조각으로 나누어 보내는 것이 효율적이기 때문입니다.

각 패킷에는 출발지 IP 주소, 목적지 IP 주소, 순서 번호 등의 정보가 포함됩니다. 이 정보를 바탕으로 패킷들은 각자 최적의 경로로 목적지까지 이동하고, 목적지에서는 순서 번호에 따라 원래 데이터로 재조립됩니다.

단편화(Fragmentation)는 네트워크 상황에 따라 패킷을 더 작은 조각으로 나누는 과정입니다. 예를 들어, 어떤 네트워크는 큰 크기의 패킷을 처리할 수 없을 수도 있습니다. 이런 경우 IP는 패킷을 더 작게 나누어(단편화하여) 전송합니다.

이것은 마치 큰 가구를 이사할 때, 해당 가구가 문을 통과할 수 없다면 분해해서 옮기는 것과 유사합니다. 목적지에 도착한 후에는 다시 조립하여 원래의 형태로 만듭니다.

 

5. IP 헤더

IP 헤더는 각 패킷의 '주소 라벨'과 같은 역할을 합니다. 우편물에 보내는 사람과 받는 사람의 주소, 내용물의 특성 등을 적어두는 것처럼, IP 헤더에는 패킷의 전송에 필요한 중요한 정보들이 담겨 있습니다.

주요 IP 헤더 필드는 다음과 같습니다:

  • 버전(Version): IPv4인지 IPv6인지를 나타냅니다.
  • 헤더 길이(Header Length): IP 헤더의 크기를 나타냅니다.
  • 서비스 유형(Type of Service): 패킷의 우선순위를 나타냅니다.
  • 패킷 길이(Total Length): 패킷 전체의 크기를 나타냅니다.
  • 식별자(Identification): 같은 데이터에서 분할된 패킷들을 구분하는 번호입니다.
  • 플래그(Flags): 패킷의 단편화 여부를 제어합니다.
  • 단편 오프셋(Fragment Offset): 원래 데이터에서 이 패킷의 위치를 나타냅니다.
  • 생존 시간(Time To Live, TTL): 패킷이 네트워크에 머무를 수 있는 최대 시간으로, 무한 루프를 방지합니다.
  • 프로토콜(Protocol): 상위 계층 프로토콜(TCP, UDP 등)을 나타냅니다.
  • 헤더 체크섬(Header Checksum): 헤더의 오류를 검출하는 데 사용됩니다.
  • 출발지 IP 주소(Source Address): 보내는 측의 IP 주소입니다.
  • 목적지 IP 주소(Destination Address): 받는 측의 IP 주소입니다.
  • 옵션(Options): 추가적인 기능을 위한 선택적 필드입니다.
728x90

'1일 1네트워크 > 제 3장: IP주소' 카테고리의 다른 글

IPv6이란?  (1) 2025.03.13
서브넷 마스크란?  (0) 2025.03.12
공인IP와 사설IP의 차이, 그리고 폐쇄망이란?  (0) 2025.03.11
IP 주소란?  (0) 2025.03.10

네트워크의 심장, TCP/IP와 UDP: 초보자를 위한 쉬운 설명

들어가며

디지털 세상에서 데이터는 마치 우리가 편지를 주고받듯이 이동합니다. 하지만 이 데이터 전송의 비밀은 바로 TCP/IP와 UDP라는 두 가지 통신 프로토콜에 있습니다. 

 

TCP/IP: 신뢰할 수 있는 우편 시스템

TCP/IP는 인터넷 통신의 가장 기본적이고 신뢰할 수 있는 방식입니다. 마치 등기우편처럼, 보내는 데이터의 안전한 도착을 보장합니다.

작동 방식

  1. 연결 설정: 데이터를 보내기 전에 송신자와 수신자 사이에 안전한 통로를 만듭니다.
  2. 순서 보장: 모든 데이터 조각(패킷)이 올바른 순서로 도착하도록 관리합니다.
  3. 오류 복구: 만약 어떤 패킷이 분실되거나 손상되면, 자동으로 재전송합니다.

실제 사용 예시

  • 웹 페이지 로딩
  • 이메일 송수신
  • 파일 다운로드
  • 온라인 뱅킹

 

UDP: 빠른 엽서 배달

UDP는 TCP/IP와는 다른 접근 방식을 가진 통신 프로토콜입니다. 속도를 최우선으로 하며, 데이터의 완벽한 도착보다는 빠른 전송에 중점을 둡니다.

작동 방식

  1. 즉각적인 전송: 연결 설정 없이 바로 데이터를 보냅니다.
  2. 최선의 노력: 데이터 패킷이 분실되어도 재전송하지 않습니다.
  3. 오버헤드 최소화: 추가적인 확인 절차 없이 빠르게 데이터를 전송합니다.

실제 사용 예시

  • 실시간 온라인 게임
  • 스트리밍 서비스
  • DNS 조회
  • 실시간 비디오 통화

 

TCP/IP vs UDP: 언제 무엇을 사용할까?

TCP/IP  vs UDP

속도 느림 빠름
신뢰성 높음 낮음
데이터 전송 보장 아니오
적합한 서비스 이메일, 웹 브라우징 게임, 스트리밍

 

마무리

 TCP/IP와 UDP는 각자의 장단점을 가지고 있으며, 사용 목적에 따라 선택됩니다.

웹 페이지를 열거나 게임을 플레이할 때, 이 보이지 않는 프로토콜들이 우리의 디지털 경험을 만들어내고 있다는 점을 기억해보세요.

728x90

'1일 1네트워크 > 제 2장: 네트워크 모델' 카테고리의 다른 글

OSI 참조 모델이란?  (1) 2025.03.04

SNMP(Simple Network Management Protocol)에 대해 쉽게 설명해드리겠습니다.

1. SNMP의 개념
- 쉽게 말해서 네트워크 장비들의 "건강 상태"를 확인하고 관리하는 통신 방식입니다.
- 마치 병원에서 의사가 환자의 체온, 혈압, 심박수 등을 체크하듯이, SNMP는 네트워크 장비들의 상태를 모니터링합니다.

2. 비슷한 프로토콜들과 비교
- MODBUS: 주로 산업용 장비들의 제어와 모니터링에 사용
- MQTT: IoT 기기들의 데이터 전송에 특화
- HTTP: 웹 통신에 사용
→ SNMP는 이들 중에서도 특별히 네트워크 관리에 특화되어 있습니다.

3. 사용 시기와 용도
예시 상황:
```
회사에 100대의 컴퓨터, 10대의 프린터, 5대의 네트워크 스위치가 있다고 가정해봅시다.
- 어떤 컴퓨터의 CPU 사용량이 비정상적으로 높은지
- 프린터의 잉크가 부족한지
- 네트워크 스위치의 트래픽이 얼마나 되는지
이런 정보들을 한 곳에서 모두 모니터링하고 싶을 때 SNMP를 사용합니다.
```

4. 통신 방식
- SNMP는 이더넷(TCP/IP) 기반의 통신입니다.
- 시리얼 통신이 아닌, 네트워크를 통해 데이터를 주고받습니다.
- UDP 포트 161, 162번을 주로 사용합니다.

5. SNMP를 주로 사용하는 장비들
- 네트워크 스위치, 라우터
- 서버, UPS(무정전전원장치)
- 네트워크 프린터
- 네트워크 카메라
- 온습도 센서(네트워크 타입)

6. SNMP의 작동 방식
```
[관리자(매니저)] <----> [관리대상(에이전트)]
예시:
관리자: "너의 CPU 온도가 어떻게 되니?" (GET 요청)
에이전트: "현재 65도입니다." (Response)
에이전트: "CPU 온도가 90도를 넘었어요!" (TRAP 메시지)
```

7. 실제 사용 예시
```
회사 전산실 상황:
- 서버실 온도가 갑자기 28도로 올라감
- SNMP를 통해 모니터링 중이던 시스템이 경고 알림을 보냄
- 관리자가 즉시 확인하여 에어컨 고장을 발견
- 신속한 대응으로 서버 장애 예방
```

8. SNMP의 장점
- 거의 모든 네트워크 장비가 지원
- 설정이 비교적 간단함
- 통합 관리가 가능
- 문제 발생 시 빠른 대응 가능

9. SNMP vs MODBUS
```
SNMP
- 주로 네트워크 장비 관리
- 이더넷 통신
- 모니터링에 특화

MODBUS
- 주로 산업용 장비 제어
- 시리얼/이더넷 통신 모두 가능
- 제어와 모니터링 모두 가능
```

이해하기 쉽게 비유하자면:
- SNMP는 마치 병원의 환자 모니터링 시스템과 같습니다.
- 여러 환자(장비)의 상태를 한 눈에 파악할 수 있고
- 문제가 생기면 즉시 알람이 울리며
- 의사(관리자)가 빠르게 대응할 수 있습니다.

728x90

'일기 > 개발일기' 카테고리의 다른 글

MIB Browser를 통한 SNMP 통신  (1) 2024.10.25
SNMP Trap과 Polling  (1) 2024.10.25
[241022] Modbus RTU vs Modbus TCP/IP  (1) 2024.10.22
[241021] FMS와 스위치  (1) 2024.10.21
[241016] Modbus RTU 통신 프로토콜 - 해석방법  (1) 2024.10.16
Req:RTU Equip[(EHT-RC)] Send 8 bytes[01 03 00 01 00 02 95 CB]
Res:RTU Equip[(EHT-RC)] Recv(1.3) 9 bytes[01 03 04 00 FD 01 D5 AB CC]

 

Req에서 01은 디바이스 ID (또는 Slave ID) , 03은 명령(읽기), 00 01은 시작 레지스터 주소(1:온도, 2:습도) , 00 02 개수

Res에서 01은 디바이스 ID, 03은 명령, 04는 뒤에 가져온 바이트 수(4바이트), 00FD 온도, 01 D5 습도 (나머진 CRC)

 

00 FD 01 D5는 총 4바이트로 봅니다. 응답 메시지에서 04는 뒤에 오는 데이터의 바이트 수를 의미합니다.

 

한 개의 16진수 값(예: 00)은 4비트입니다.

따라서 두 자리의 16진수 값(예: 00 또는 FF)은 8비트이며, 이는 1바이트(0~255)에 해당합니다.

따라서 00과 같은 값은 1바이트에 해당하며, 00 FD 01 D5는 총 4바이트가 됩니다.

1바이트는 8비트이고, 32비트는 4바이트입니다.

728x90

'일기 > 개발일기' 카테고리의 다른 글

[241022] Modbus RTU vs Modbus TCP/IP  (1) 2024.10.22
[241021] FMS와 스위치  (1) 2024.10.21
[241015] 모드버스 RTU와 TCP  (0) 2024.10.15
[241014] RS-485 Modbus RTU 통신  (1) 2024.10.14
[241008] Next.js와 nextAuth 자동화 기능  (1) 2024.10.08

+ Recent posts