기본기 다지기/CS

[네트워크] IP주소

syveany 2024. 11. 11. 10:47

IP주소

 『면접을 위한 CS 전공지식 노트』를 바탕으로 스터디를 진행하면서 공부한 내용을 정리했다.

 

~ 목차 ~

1. ARP
  1.1 ARP
  1.2 RARP
2. 홉바이홉 통신
3. IP 주소 체계
4. IP 주소를 이용한 위치정보

 

1. ARP

  - 컴퓨터와 컴퓨터 간의 통신은 MAC주소를 기반으로 한다.

 

  1.1 ARP (Address Resolution Protocol)

    - IP주소를 MAC주소로 변환한다.

 

    Q1: (필요성) 왜 IP주소를 MAC주소로 변환하는가?

      - 패킷이 목적지로 도착하려면 최종적으로 MAC 주소가 필요하다.

         IP 주소만으로는 로컬 네트워크 내에서 물리적인 장치를 구분할 수 없기 때문이다.

 

    - 절차

      ① A가 보내고자 하는 메세지를 작성하고 B의 IP주소를 입력한다.

      ② 입력한 B의 IP주소를 바탕으로 자신의 ARP 캐시B의 MAC주소가 있는지 확인한다.

                                                                                  ↳ 이전에 ARP 요청과 응답이 이루어졌다면

                                                                                      ARP 캐시에 두 컴퓨터의 IP주소와 MAC주소가 저장되어 있을거임

                                                                                      (+ 윈도우에서 ARP캐시 수명은 120초)

          i) 있으면 해당 정보 사용. ARP 신호전송x

          ii) 없으면 모든 컴퓨터에게 신호를 전송한다. (ARP Request)

                               브로드캐스트

      ③ B가 신호를 받으면 자신의 MAC주소를 A에게 전송한다. (ARP Reply)

                                                                                          유니드캐스트

      A가 B의 MAC주소를 받아서 자신의 ARP 캐시에 저장한다.

ARP의 주소를 찾는 과정 [1]

 

  1.2 RARP (Reverse ARP)

    - MAC주소를 IP주소로 변환한다.

    - 컴퓨터를 네트워크에 처음 연결할 때나 디스크가 없는 컴퓨터를 부팅할 때 사용됨

 


2. 홉바이홉 통신

  - IP주소를 통해 통신하는 과정을 홉바이홉 통신이라고 한다.

  - 각 패킷이 여러 개의 라우터를 건너가는 모습을 홉(hop)으로 표현한 것이다. 이를 통해 패킷이 전달된다.


    - 패킷이 IP주소를 찾아가는 과정을 라우팅이라고 하고, 라우팅 테이블을 참조하면서 최종 목적지에 도달하게 된다.

                                                                                                               목적지 정보와 그 목적지로 가기 위한 방법이 들어있는 리스트

홉바이홉 통신 [1]

 


3. IP 주소 체계

  - IP는 각 컴퓨터에 부여된 고유한 식별번호이다. 종류로는 IPv4IPv6이 있다.

 

  3.1 IPv4

    - 2진수 32비트를 8비트 4개로 나눠서 10진수로 표시한다.

IPv4 주소 표기 [1]

 

    - IPv4는 클래스 기반 할당방식을 사용한다. 네트워크의 규모에 따라서 IP주소를 A, B, C, D, E클래스로 나눈다.

       (+ D클래스: IP 멀티캐스팅용 / E클래스: 연구 및 특수용도)

 

    Q2: (필요성) 왜 클래스 기반 할당 방식을 사용하는가?

      - 클래스 기반으로 주소를 할당하면 IP주소의 공간을 효율적으로 사용할 수 있다.

  A클래스 B클래스 C클래스
크기 대규모 네트워크 중형 네트워크 소규모 네트워크
첫 비트 첫 비트가 0 첫 두 비트가 10 첫 세 비트가 110
범위 1.0.0.0 ~ 127.255.255.255 128.0.0.0 ~ 191.255.255.255 192.0.0.0 ~ 223.255.255.255
네트워크 ID 첫 8비트 첫 16비트 첫 24비트

 

A,B,C 클래스의 IP주소 구성 [1]

 

 + check) 호스트ID 중 네트워크 구별주소로 사용되지 않는 주소

          네트워크 주소

           - 호스트ID가 2진수로 00000000이고 10진수로 0인 주소 (e.g. 192.168.35.0)

           - 역할: 특정 네트워크를 식별

         ② 브로드캐스트 주소

           - 호스트ID가 2진수로 11111111이고 10진수로 255인 주소 (e.g. 192.168.35.255)

           - 역할: 네트워크 내에 있는 모든 장치에게 한 번에 데이터를 보냄

 

    - IPv4 주소의 부족으로 IPv6, DHCP, NAT와 같은 방법들이 고안되었다.

 

  3.2 IPv6

    - 2진수 128비트를 16비트 8개로 나눠서 16진수로 표시한다.

IPv6 주소 표기 [1]

 

  3.3 DHCP

    - DHCP(Dynamic Host Configuration Protocol)는 IP주소를 자동으로 할당하는 프로토콜이다.

    - IP주소를 수동으로 설정할 필요 없이 인터넷에 접속할 때마다 자동으로 IP주소가 할당된다.

 

  3.4 NAT 

    - NAT(Network Address Translation)는 여러 장치가 하나의 공인 IP 주소로 인터넷에 연결할 수 있도록 한다.

      - 하나의 공유기로 여러 사람이 쓸 수 있는 건 인터넷 공유기에 NAT 기능이 있기 때문이다.

    - 장점: 보안이 강화된다. (네트워크 안에서 사용하는 IP주소 ≠ 외부에 드러나는 IP주소)

    - 단점: 동시 접속 시 접속 속도가 느려질 수 있음

 

 

4. IP 주소를 이용한 위치정보

  - IP주소를 통해 동 또는 구까지 위치 추적이 가능하다. (https://mylocation.co.kr/)

 

 

 

참고문헌

[1] 주홍철, 면접을 위한 CS 전공지식 노트, 서울: 길벗, 2022.