서브넷의 필요성
- 사물인터넷(IoT)의 확산으로 IP 주소가 빠르게 고갈
- 기존 IP 주소 클래스 방식(C 클래스: 256개, B 클래스: 65,535개)은 조직의 규모에 적합하지 않은 경우가 많음
- 이를 해결하기 위해 하나의 IP 주소 클래스를 서브넷으로 나눠서 사용
서브넷 마스크 : IP 주소를 네트워크 주소와 호스트 주소로 구분하는 역할
- 1로 표시된 부분: 네트워크 주소
- 0으로 표시된 부분: 호스트 주소
- 서브넷 마스크는 항상 앞에서부터 1이 연달아 나타남
- IP 주소 뒤에 1의 개수를 사용해 간단히 표현 가능
네트워크 분할 방법
C 클래스 : 256개의 호스트 주소를 가질 수 있음, 228.255.75.0 ~ 228.255.75.255
C 클래스를 A 회사와 B 회사에게 반씩 나눔
- A 회사: 앞비트 0, 이진수 범위: 00000000 ~ 01111111, 십진수 범위: 228.255.75.0 ~ 228.255.75.127
- B 회사: 앞비트 1, 이진수 범위: 10000000 ~ 11111111, 십진수 범위: 228.255.75.128 ~ 228.255.75.255
C 클래스 전체 서브넷 마스크는 255.255.255.0 (이진수: 11111111 11111111 11111111 00000000)
2개로 분할시 서브넷 마스크는 255.255.255.128 (이진수: 11111111 11111111 11111111 10000000)
서브넷 접두사 표기법: /25
네크워크 주소를 나타내는 1의 개수가 늘어날 때마다 2의 지수승으로 네트워크는 분할
=> 2개로 분할 시 10000000, 4개로 분할 시 11000000
C 클래스 2개로 분할시 -> 10진수로 255.255.255.128이며 /25라 표시
B 클래스 2개로 분할시 -> 10진수로 255.255.128.0이며 /17라 표시
짝수뿐만 아니라 홀수개의 서브넷도 만들 수 있음
주소변환 프로토콜
주소변환의 필요성 : 도착한 LAN의 안쪽에서 호스트를 찾는다던가, IP 주소로 LAN 내부에서 통신을 하는 경우에는 MAC 주소 필요
ARP : 주소변환 서버 없이도 IP 주소를 MAC 주소로 바꾸는 프로토콜
- 특정 IP의 MAC 주소를 알고 싶은 호스트는 다른 호스트들에서 질문
- 해당 질문은 LAN 전체에 브로드캐스팅
- 질문을 받은 호스트 중 해당 IP를 가진 노드는 자신의 MAC 주소를 알려줌
- APR의 성능을 높이기 위해 각 호스트들은 획득한 ARP 정보를 캐시에 보관, 시간이 지나면 삭제
해당 컴퓨터는 IP 주소 192.168.0.1, 192.168.0.5, 192.168.0.6에 대한 MAC 주소를 캐시에 저장
192.168.0.255는 브로드캐스트 주소이며, 물리주소는 항상 ff-ff-ff-ff-ff-ff로 나타남
GARP(Gratuitous ARP)
- 기존의 컴퓨터가 사용하던 IP를 변경하여 IP 충돌이 발생한 경우, 해당 IP를 먼저 사용하고 있던 호스트에게 우선권이 주어짐
- 충돌이 없다는 것을 확인한 이후 자신의 IP주소와 MAC 주소를 전체에게 브로드케스트 함
- 응답이 필요 없는 ARP
RARP(Reverse ARP) : 연산능력이나 저장장치가 없는 더미 터미널도 IP 주소 필요, 이런 단말기가 IP 주소를 얻기 위해 사용하는 프로토콜
- MAC주소로부터 IP 주소를 얻는 프로토콜
- 단점은 브로드케스트 메시지가 LAN에만 전파, 라우터를 넘어서 메시지 전송 불가
BOOTP(bootstrap protocol) : 라우터를 넘어서 주소변환을 할 수 있도록 만든 것
- UDP라고 불리는 전송계층의 프로토콜 사용 => 라우터를 넘어서 메시지 전달 가능
고정 IP 방식 : 모든 호스트의 IP 주소와 관련 값을 일일히 수동으로 설정해야 함, IP 주소 관리
유동 IP 방식 : 컴퓨터가 부팅할 때 IP 주소, 서브넷 마스크, 게이트웨이, DNS 주소를 자동으로 설정
DHCP(Dynamic Host Configuration Protocol) : 유동 IP 방식에서 사용하는 프로토콜
- BOOTP와 작동 방식 유사
- 메시지를 전체에게 브로드케스트 하면 DHCP 서버가 사용하지 않는 주소와 서브넷 마스크, 게이트 웨이 주소, DNS 주소를 해당 컴퓨터에게 전달
프로토콜 | 특징 |
ARP | IP주소 -> MAC 주소 변환 |
GARP | IP 주소, MAC 주소 등록 |
RARP | MAC 주소 -> IP 주소 변환(다른 LAN 불가) |
BOOTP | MAC 주소 -> IP 주소 변환(다른 LAN 가능) |
DHCP | MAC 주소 -> IP 주소 변환 (자동 IP 할당 / 주기적 IP 변경) |
ICMP : 감시와 메시지 전송에 사용되는 프로토콜
ping : ping 명령어 다음에 IP 주소를 쓰면 해당 호스트로 패킷을 보내고, 해당 호스트는 ping에 대한 답신replay 메시지를 보냄
ping을 사용하면 해당 호스트가 살아있는지 혹은 죽었는지를 알 수 있을 뿐 아니라, 서버까지 패킷이 오고 가는데 걸리는 시간도 알 수 있음
Type | 의미 | 설명 |
0 | Echo reply | Echo 응답(ping 응답), Echo request를 받은 호스트는 이에 대한 응답 |
3 | destination unreachable | 도달 불가, 패킷이 목적지 주소를 찾지 못할 때 발생하는 메시지 |
5 | redirect | 경로 변경, 패킷의 경로가 잘못 설정 되었다고 판단될 때 보내는 메시지. |
8 | Echo request | Echo 요청(ping 요청), ping 명령어에서 호스트까지 메시지를 보내는 것 |
11 | time exceeded | TTL 초과, 패킷의 TTL이 0이 되는 경우 발생하는 메시지 |
30 | trace route | 라우팅 경로 추적, 해당 호스트까지 가는 경로를 추적, 패킷이 어떤 라우터를 거쳐서 목적지 까지 도달하는지에 대한 경로를 알려줌 |
'망 (Network)' 카테고리의 다른 글
[네트워크] TCP와 소켓 프로그래밍 (1) | 2024.12.05 |
---|---|
[네트워크] 전송 계층 (0) | 2024.12.05 |
[네트워크] 인터넷 프로토콜(IP) (0) | 2024.12.03 |
[네트워크] 라우팅 알고리즘 (1) | 2024.11.30 |
[네트워크] IP 주소 (1) | 2024.11.30 |