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 캐시에 저장한다.

1.2 RARP (Reverse ARP)
- MAC주소를 IP주소로 변환한다.
- 컴퓨터를 네트워크에 처음 연결할 때나 디스크가 없는 컴퓨터를 부팅할 때 사용됨
2. 홉바이홉 통신
- IP주소를 통해 통신하는 과정을 홉바이홉 통신이라고 한다.
- 각 패킷이 여러 개의 라우터를 건너가는 모습을 홉(hop)으로 표현한 것이다. 이를 통해 패킷이 전달된다.

- 패킷이 IP주소를 찾아가는 과정을 라우팅이라고 하고, 라우팅 테이블을 참조하면서 최종 목적지에 도달하게 된다.
↳ 목적지 정보와 그 목적지로 가기 위한 방법이 들어있는 리스트

3. IP 주소 체계
- IP는 각 컴퓨터에 부여된 고유한 식별번호이다. 종류로는 IPv4와 IPv6이 있다.
3.1 IPv4
- 2진수 32비트를 8비트 4개로 나눠서 10진수로 표시한다.

- 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비트 |

+ 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진수로 표시한다.

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.
'기본기 다지기 > CS' 카테고리의 다른 글
[자료구조] 비선형 자료구조(힙, 우선순위 큐, 맵, 셋, 해시테이블) (0) | 2024.12.17 |
---|---|
[데이터베이스] 인덱스 (1) | 2024.11.26 |
[운영체제] CPU 스케줄링 알고리즘 (1) | 2024.11.16 |
[운영체제] 프로세스 (1) | 2024.11.05 |