[네트워크] IP 주소

2024. 10. 24. 00:30·💻 CS/네트워크

컴퓨터 간의 통신 과정

컴퓨터와 컴퓨터 간의 통신은 IP 주소를 통해 이루어진다고 알려져 있지만, 정확히 이야기하면 IP 주소를 통해 ARP를 사용하여 MAC 주소를 찾고, 이를 기반으로 통신합니다.

1. ARP

ARP (Address Resolution Protocol)는 IP 주소로부터 MAC 주소를 구해주는 프로토콜로, IP 주소와 MAC 주소의 다리 역할을 합니다. ARP를 통해 가상 주소인 IP 주소를 실제 주소인 MAC 주소로 변환하며, 반대로 RARP는 실제 주소인 MAC 주소를 가상 주소인 IP 주소로 변환합니다.


장치 A가 ARP Request 브로드캐스트를 보내 IP 주소인 120.70.80.3에 해당하는 MAC 주소를 찾습니다. 이때 해당 주소에 맞는 장치 B가 ARP Reply 유니캐스트를 통해 MAC 주소를 반환하며, 이를 통해 IP 주소에 맞는 MAC 주소를 찾게 됩니다.

  • 브로드캐스트 (Broadcast): 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식
  • 유니캐스트 (Unicast): 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 데이터를 전송하는 방식

2. 홉바이홉 통신

홉바이홉 통신은 IP 주소를 통해 통신하는 과정입니다.

  • 홉 (Hop): 통신망에서 각 패킷이 여러 개의 라우터를 건너가는 모습을 의미하는 용어입니다. 통신 과정에서 각 패킷은 수많은 서브네트워크의 라우터를 거치며 라우팅 테이블을 기반으로 최적의 경로로 전달됩니다. 이를 반복하여 최종 목적지까지 패킷을 전달하는 통신을 라우팅이라고 합니다.

2-1. 라우팅 테이블

라우팅 테이블 (Routing Table)은 송신지에서 수신지까지 도달하기 위해 사용되며, 라우터에 저장된 목적지 정보와 그 목적지로 가기 위한 경로 정보를 가진 리스트입니다. 각 목적지에 대해 해당 목적지에 도달하기 위해 거쳐야 할 다음 라우터의 정보를 담고 있습니다.

2-2. 게이트웨이

게이트웨이 (Gateway)는 서로 다른 통신망이나 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 관문 역할을 합니다. 사용자는 인터넷에 접속하기 위해 여러 게이트웨이를 거쳐야 하며, 게이트웨이는 서로 다른 네트워크상의 통신 프로토콜을 변환해주는 역할을 합니다.

3. IP 주소 체계

IP 주소 체계는 IPv4와 IPv6로 나뉩니다.

  • IPv4: 32비트를 8비트 단위로 점을 찍어 표기하며, 예를 들어 123.45.67.89와 같은 형식입니다.
  • IPv6: 64비트를 16비트 단위로 점을 찍어 표기하며, 예를 들어 2001:db8::ff00:45:8329와 같은 형식입니다.

현재 가장 많이 사용되는 주소 체계는 IPv4입니다.

3-1. 클래스 기반 할당 방식

처음에는 A, B, C, D, E 다섯 개의 클래스로 구분하는 클래스 기반 할당 방식을 사용했습니다. 앞부분은 네트워크 주소로, 뒷부분은 호스트 주소로 사용하여 각 컴퓨터에 부여했습니다.

  • 클래스 A: 범위는 0.0.0.0 ~ 127.255.255.255
  • 클래스 B: 범위는 128.0.0.0 ~ 191.255.255.255
  • 클래스 C: 범위는 192.0.0.0 ~ 223.255.255.255

네트워크 첫 번째 주소는 네트워크 주소로 사용되며, 가장 마지막 주소는 브로드캐스트용 주소로 사용됩니다. 따라서 이 두 주소를 제외한 나머지 주소를 사용할 수 있습니다.

3-2. DHCP

DHCP (Dynamic Host Configuration Protocol)는 IP 주소 및 기타 통신 매개변수를 자동으로 할당하기 위한 네트워크 관리 프로토콜입니다. DHCP를 통해 네트워크 장치의 IP 주소를 수동으로 설정할 필요 없이, 인터넷에 접속할 때마다 자동으로 IP 주소를 할당받을 수 있습니다.

3-3. NAT

NAT (Network Address Translation)는 패킷이 라우팅 장치를 통해 전송되는 동안 패킷의 IP 주소 정보를 수정하여 다른 주소로 매핑하는 방법입니다. IPv4 주소만으로는 많은 기기를 모두 감당할 수 없기 때문에, 공인 IP와 사설 IP를 나누어 여러 주소를 처리합니다. NAT를 이용해 여러 대의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속할 수 있습니다.

  • 공유기와 NAT: NAT 기능을 이용하면 여러 대의 PC가 하나의 공인 IP 주소로 인터넷에 접속할 수 있습니다. 이는 인터넷 공유기에 NAT 기능이 탑재되어 있기 때문입니다.
  • NAT를 이용한 보안: NAT를 이용하면 내부 네트워크에서 사용하는 IP 주소와 외부에 드러나는 IP 주소를 다르게 유지할 수 있어 어느 정도의 보안이 가능합니다.
  • NAT의 단점: NAT는 여러 사용자가 동시에 인터넷에 접속할 경우, 접속 속도가 느려질 수 있습니다.

'💻 CS > 네트워크' 카테고리의 다른 글

[네트워크] HTTP  (1) 2024.10.24
[네트워크] 네트워크 기기  (1) 2024.10.24
[네트워크] TCP/IP 4계층 모델  (0) 2024.10.22
[네트워크] 네트워크의 기초  (3) 2024.10.22
'💻 CS/네트워크' 카테고리의 다른 글
  • [네트워크] HTTP
  • [네트워크] 네트워크 기기
  • [네트워크] TCP/IP 4계층 모델
  • [네트워크] 네트워크의 기초
kkongdo
kkongdo
kkongdo 님의 블로그 입니다.
  • kkongdo
    숲을 바라보며 나무를 심는 아이
    kkongdo
  • 전체
    오늘
    어제
    • 분류 전체보기 (32)
      • 🌏 Web (0)
      • ☕ Java (5)
      • 🌱 Spring (9)
        • Spring Boot (7)
        • Spring Data JPA & QueryDSL (2)
      • 🗂️ Database (5)
      • 💻 CS (12)
        • 운영체제 (4)
        • 네트워크 (5)
        • 자료구조 (3)
      • 🗃️Git (1)
      • 🔍 Algorithm (0)
      • 📡 DevOps (0)
        • Docker (0)
      • 🔭 ETC (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • GitHub
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    데이터베이스
    OS
    복잡도
    네트워크
    QueryDSL
    CS
    운영체제
    조인
    자료구조
    java
    네트워크기기
    spring
    db
    SpringSecurity
    SpringMVC
    @annotation
    JPA
    스케줄링
    DI
    springbatch
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
kkongdo
[네트워크] IP 주소
상단으로

티스토리툴바