IP 주소란
- 인터넷 네트워크의 주소, 인터넷 서비스 제공자(ISP)에 의해 할당되는 고유 번호.
- IPv4 주소 체계
- 32비트로 이루어진 네트워크 주소, 8비트(1 바이트)씩 끊어서 10진수로 표현한다.
- ex) 11000000 / 10101000 / 00000001 / 00001010 -> 192.168.1.10
- IP 주소 클래스
- IP 주소는 네트워크를 구분하는 네트워크 ID와 네트워크에 속한 컴퓨터를 구분하는 호스트 ID가 있다.
- 각 클래스마다 32비트중 네트워크 ID 및 호스트 ID에 해당하는 범위가 다르다.
- C 클래스에 가까울 수록 소규모 네트워크 (일반 가정에서 사용되는 네트워크는 대부분 C 클래스).
- D 클래스는 멀티캐스트 주소이고 E 클래스는 연구 및 특수용도 주소로 사용된다.
- A,B,C 클래스 주소의 각각 첫번째 바이트에서 0, 10, 110으로 시작하기 때문에 특정 주소 범위를 갖는다.
- A 클래스 (0.0.0.0 ~ 127.255.255.255) / B 클래스 (128.0.0.0 ~ 191.255.255.255) / C 클래스 (192.0.0.0 ~)
- C 클래스는 최대 255개의 host ID를 등록할 수 있다.
※ 특별 주소 : 네트워크 주소 (호스트 ID가 0번)와 브로드캐스트 주소 (호스트 ID가 255)가 있음.
- 네트워크 주소는 네트워크를 대표하는 주소고 브로드캐스트 주소는 네트워크에 포함된 모든 호스트 컴퓨터에 전송을 하고 싶을 때 사용하는 주소이다.
- ex) 192.168.1.0 네트워크 주소 안에 (192.168.1.1/192.168.1.2/192.168.1.3) 3대의 컴퓨터가 존재한다.
- 3대의 컴퓨터에 동시에 전송하고 싶다면 192.168.1.255 주소를 이용한다.
- 서브넷
- 호스트 ID 영역에 해당하는 비트를 빌려 네트워크를 분할하는데 사용함. 주로 라우터에 의해 작은 네트워크로 분할된다.
- IP 주소 = 네트워크 ID + 서브넷 ID + 호스트 ID
- 서브넷 마스크: 네트워크 ID와 호스트 ID를 식별하기 위한 마스크
- ex) C 클래스- 255.255.255.0: 마지막 8비트만 호스트 ID
- prefix 표기법- 서브넷 마스크 비트 수: /24
- 게이트웨이
- 자신의 컴퓨터가 통신을 하고자할 때 통과해야하는 첫번째 출입구(라우터).
- 네트워크는 라우터간의 통신으로 이루어져 있다고 할 수 있음. 첫번째 출입구에 해당하는 라우터는 다음 라우터를 결정하여 데이터 패킷을 전달한다.
NAT (Network Address Translation)
- IPv4 체계에서 사용할 수 있는 주소량이 한정되어 있기 때문에 모든 컴퓨터에 고유 IP를 할당하기에 수가 부족하다.
- 따라서 한 네트워크에 속해있는 컴퓨터끼리만 알 수 있는 내부용(사설용) IP 주소를 할당받고 라우터는 내부 IP 주소와 외부 IP 주소를 맵핑해주는데 이 맵핑 관계 나타낸 것이 NAT table이라고 한다.
- 라우터도 외부용 IP / 내부용 IP가 존재
내부에서 송신할 때
1) 내부에서 라우터를 통해 메세지가 나갈때 마다 NAT table을 업데이트한다.
2) 192.138.1.2/3345에서 출발한 메세지는 외부 IP로서 138.76.29.7/5001를 가진다.
외부에서 수신받을 때
1) 외부 노드는 내부에 있는 컴퓨터의 주소를 모르기 때문에 외부 IP 주소 138.76.29.7/5001로 송신을 하게됨.
2) 이때 NAT table을 확인하여 내부 주소로 변환하는 포트 포워딩으로 해당 주소로 들어오는 메세지를 내부 주소, 192.138.1.2/3345로 보낸다.
DHCP (dynamic host configuration protocol)
한 호스트가 네트워크에 접속할 때 동적으로 IP 주소를 할당받는 것. 맨 처음 그림에서 자동으로 IP 주소받기에 해당.
- 처음 네트워크에 접속했을 때, 인터넷을 하기 위해서는 무엇이 필요?
① IP 주소 (+서브넷 마스크) ② 기본 게이트웨이 (첫번째 라우터의 IP 주소) ③ DNS 서버의 주소
- 호스트는 DHCP 서버를 찾아나서고 (discover) 주변에 있던 DHCP 서버는 응답을 한다(offer).
- 특정된 DHCP 서버에게 호스트는 필요 정보를 요청 (request) 하고 DHCP 서버는 해당 정보를 제공해준다(ACK).
- DHCP는 응용레벨 프로토콜로서 UDP 전송 프로토콜을 사용한다.
'Computer Science 기본 지식 > 컴퓨터 네트워크' 카테고리의 다른 글
[네트워크] 네트워크 계층 (1) 라우터 / IP 프로토콜 (0) | 2021.01.07 |
---|---|
[네트워크] 전송 계층 (2) TCP 프로토콜 (0) | 2021.01.06 |
[네트워크] 전송 계층 (1) UDP 프로토콜 / 신뢰성있는 전송 (0) | 2021.01.06 |
[네트워크] 응용 계층 (1) 서비스 / 클라이언트-서버 vs P2P (0) | 2021.01.03 |
[네트워크] TCP/IP 5계층과 Protocol Stack (0) | 2021.01.02 |