-
[TIL] 강의 과제) Subnet, Public IP, Private IP, Static IP, Dynamic IP, Router, RoutingTIL-sparta 2024. 5. 29. 21:28
> 강의 과제 내용을 공부하고 이해한대로 내용을 정리해보았다.
학습 키워드: Subnet, Public IP, Private IP, Static IP, Dynamic IP, Router, Routing
1. Subnet
1) What is it?:
클래스 A, B C에 해당하는 하나의 네트워크를 논리적으로 세분화하는 것을 서브네팅(Subnetting), 서브네팅을 통해 논리적으로 세분화된 네트워크 자체를 서브넷(Subnet) 혹은 서브네트워크(Subnetwork)이라고 부른다.
2) How does it work?:
서브넷을 이해하기 위해서는 먼저 서브넷 마스크 (Subnet Mask)라는 개념에 대해 알아야한다. 서브넷 마스크는 하나의 네트워크 주소에서 어느 부분까지가 Network 주소이고 어느 부분 부터가 Host 주소가 되는지를 구분할 수 있도록 해준다.
간단한 예를 들면, 17.234.15.123 이라는 IP가 있을 때, 이 IP의 어디서부터 어디까지가 네트워크 주소인지를 알 방법이 없다. 이를 해결하는 것이 바로 서브넷 마스크다 서브넷 마스크가 255.255.255.0으로 설정되어 있다면, 이 IP가 C클래스 네트워크 주소를 가지고 있음을 알 수 있다. 이를 비트로 표현하면 다음과 같다.
00010001.11101010.00001111.01111011 = 17.234.15.123 << IP 주소
11111111.11111111.11111111.00000000 = 255.255.255.0 << Subnet Mask
& 연산 후: 00010001.11101010.00001111.00000000 = 17.234.15.0 << 네트워크 주소
끝 자리: 00000000.00000000.00000000.01111011 = 0.0.0.123 << 호스트 주소
3) Why use it?:
서브넷을 사용하는 주된 이유는 broadcast domain의 크기를 줄이기 위해서라고 한다. Broadcast domain은 LAN 상의 어떤 장치가 broadcast packet을 송출했을 때 해당 패킷에 영향을 받는 장치들을 포함하는 네트워크 내 영역을 의미한다. Broadcast 트래픽이 대역폭을 많이 차지하는 경우에 서브네팅을 고려해볼 수 있다.
또 다른 주요 목적으로는 네트워크의 물리적 배치와 논리적인 배치를 일치시키기 위함이 있다. 예를 들어 어느 대학에 100대의 컴퓨터가 있는데, 30대와 나머지 70대가 서로 다른 물리적 위치에 연결되어 있는 경우, IP 주소 대역을 추가로 할당 받는 대신, 장치 내 네트워크를 255.255.255.128 서브넷 마스크 (11111111.11111111.11111111.10000000)를 이용해 각각 총 126개의 호스트 주소를 할당 가능한 서브넷으로 분할하는 식으로 나누어 줄 수 있다.
+ 추후에 비슷한 역할을 하는 VLAN과의 차이를 알아보는 것이 좋겠다.
2. IP1) Public IP:
공인 IP (Public IP)란, 인터넷 공급 업체가 고객에게 할당해주는, 인터넷에서(네트워크 외부에서) 장치를 식별하기 위해 사용되는 IP 주소다. 가정집 공유기에 할당되어 해당 공유기의 LAN 내부의 장치들이 해당 IP를 공유하기 때문에 공용 IP 주소라고 불리기도 한다. 인터넷 공급자가 활동을 모니터링 할 수 있다.
2) Private IP:
사설 IP (Private IP)란, 홈 네트워크 등 소규모 LAN 네트워크를 관할하는 공유기가 할당하는 IP 주소를 의미한다. IANA에서 reserve해둔 특정 범위의 주소를 사용한다. Public IP와 다르게 외부에 노출되지 않으며, 따라서 서로 다른 LAN에 속해 있다면 주소가 중복되어도 문제가 발생하지 않는다.
A 클래스: 10.0.0.0 ~ 10.255.255.255
B 클래스: 172.16.0.0 ~ 172.31.255.255
C 클래스: 192.168.0.0 ~ 192.168.255.255 (흔히 가정용 router의 기본 세팅)
3) Dynamic IP:
일반적으로 라우터 등에 단말을 연결할 때, 라우터에 설정된 DHCP 설정에 따라 자동으로 IP를 할당받는다. 단말이 인터넷 공급자가 직접적으로 관리하는 장치에 연결되는 경우 인터넷 공급자가 설정한 DHCP 서버로 부터 할당받게 되고, 홈 네트워크의 라우터에 연결하게 되는 경우 홈 라우터의 설정에 따라 사설 IP를 할당받게 된다.
4) Static IP:앞선 예시 처럼 DHCP 서버를 통해 할당하는 방법도 있지만, 위의 스크린샷처럼 식으로 고정된 IP 주소를 할당받도록 설정할 수도 있다. 물론 이렇게 설정하는 경우 라우터에서도 장치의 MAC 주소에 해당 IP를 할당하도록 설정해줘야 한다.
실제 공용 네트워크에서 고정된 IP 주소를 할당받기 위해서는 인터넷 공급자에게 추가 요금을 지불해야 한다. 그럼 그냥 공짜로 Dynamic 주소 쓰면 되지 왜 Static 주소를 쓰는가 싶을 수 있는데, 정적 IP는 IP가 고정되어있기 때문에 안정적인 서비스 연결이 보장된다. 따라서 서비스의 uptime이 높은 사업체나 기관, 즉 게임이나 VoIP 서비스에서 주로 사용되는 방식이다. 또한, 고정된 IP 주소를 가지면 FTP 서버를 통해 빠르게 파일을 주고 받을 수 있다고 한다. 이 외에도 여러가지 장점이 있으나, 앞서 말했듯이 인터넷 공급자에게 추가 요금을 지불 한다거나, IP 주소가 고정되어 있기 때문에 해커 등의 공격 타겟이 되기가 쉬워서 여러가지 추가적인 보안 설정이 필요하다는 점 등의 단점이 있다.
3. Router & Routing1) What is it?:
라우팅은 OSI L3에서 담당하는 작업으로, 네트워크와 네트워크 사이의 통신에서 이용하게 될 경로를 결정해주거나, 네트워크의 트래픽을 관리하는 작업을 통틀어 의미한다. 라우팅에 사용되는 장비를 라우터라고 한다.
2) How does it work?:
라우터는 로컬 네트워크를 외부 네트워크와 연결해주며, 라우터를 거치는 패킷의 내용, 목적지, 혹은 용도를 분석하여 Routing table에서 최적의 경로를 찾아주고, 보안 설정을 통해 외부의 보안 위협으로 부터 네트워크를 보호하는 역할을 수행하며, 로드 밸런싱, 데이터 포워딩 등의 기능을 지원한다.
라우팅 테이블 (routing table)은 수동으로 생성(Static Routing)하거나 routing protocol을 통해 자동으로 생성된다. 각 라우터에서 다른 라우터로 뻗어나가는 pathway segment에는 정해진 방식을 기준으로 metric 값이 지정되어 라우터가 이를 참고하여 dynamic하게 경로를 설정(Dynamic Routing)한다.
로드 밸런싱 (load balancing)은 라우터가 패킷의 사본을 여러 경로로 보내주는 작업인데, 이를 통해 통신 간에 발생하는 데이터 손실로 인한 오류를 줄이거나, 이중화 구현 및 트래픽 볼륨 관리 등을 수행한다.
데이터 포워딩 (data forwarding)은 라우터의 경로로 데이터가 전달됐을 때 최종적으로 목적지에 도달할 수 있도록 해주는 작업을 의미한다.
3) Why use it?:
라우팅이 사용되는 이유는 네트워크 통신의 효율성을 위해서다. 네트워크 통신 실패나 과도한 트래픽으로 인한 정체는 곧 긴 대기시간을 의미하는데, 이러한 대기시간을 최소화하기 위해 적절한 통신 route를 찾아가는 작업이 필요하다.
--
REFERENCES:
> Wikipedia, "Subnet"
> Microsoft, "TCP/IP addressing and subnetting"
> Networkel.com, "Subnet mask Explained"
> ktword.co.kr, "브로드캐스트 도메인"
> ktword.co.kr, "BW", 대역폭
> NordVPN, "공인 IP와 사설 IP"
> TechTarget, "What is a Static IP Address?"
> Cisco, "What is Routing?"
> Amazon, "What is Routing?"
728x90'TIL-sparta' 카테고리의 다른 글
[TIL] 스파르타) 팀 프로젝트 - 풋살 온라인 시작 (D-7), Prisma generator (0) 2024.05.31 [TIL] 아이템 시뮬레이터 2 개인 과제 피드백 확인 (XA Transaction) (0) 2024.05.30 [TIL] 프로그래머스) 42583 - 다리를 지나는 트럭 풀이 (Java), 개인 과제 제출 (0) 2024.05.28 [TIL] 스파르타) Node.js 숙련주차 강의 수강 (Transaction, Prisma), 개인 과제 진행 조금 (D-2) (0) 2024.05.27 [TIL] IP, ARP, Routing (0) 2024.05.26