Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- spring batch 5.0
- KPT회고
- 개발자부트캠프추천
- 파이썬
- 단기개발자코스
- DesignPattern
- 항해99
- 취업리부트코스
- 99클럽
- 구글 OAuth login
- 디자인 패턴
- Python
- 1주일회고
- 전략패턴 #StrategyPattern #디자인패턴
- 인프콘 2024
- jwt
- jwttoken
- 빈 조회 2개 이상
- 프로그래머스 이중우선순위큐
- 빈 충돌
- 개발자 취업
- 프로그래머스
- 디자인패턴
- Spring multimodule
- JavaScript
- infcon 2024
- 코딩테스트 준비
- 커스텀 헤더
- TiL
- @FeignClient
Archives
- Today
- Total
m1ndy5's coding blog
ABOUT IP, SUBNET 본문
IP란?
- 인터넷에 연결되어 있는 장치들을 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소
- IPv4, IPv6 2가지의 종류가 있음 -> 일반적으로는 IPv4를 사용하지만 IPv6를 같이 사용하는 곳도 많음, IPv4의 사용가능한 ip개수가 줄어들면서 IPv6가 나옴
고정 IP VS 유동 IP
- 고정IP는 한번 부여되면 반납하기 전까진 계속 변하지 않고 사용할 수 있는 IP -> IP값이 변하면 안되는 서버들은 고정 IP를 사용해야함
- 유동 IP는 인터넷 사용자 모두에게 고정 IP부여가 힘들기 때문에 인터넷에 접속하는 순간마다 사용하고 있지 않은 IP 주소를 임시로 할당해주는 IP -> 일반 사용자들은 유동 IP를 사용함
공인 IP VS 사설 IP
- IP주소는 ICANN이라는 기관이 국가별로 사용할 IP 대역을 할당하고 우리나라에서는 KISA가 이를 맡아서 관리하고 있음
- ISP(KT, LG, SKT 같은 인터넷 서비스 제공사)가 이를 사용자에게 할당하게됨 -> 공인 IP
- 사설 IP는 특정 네트워크 안에서 내부적으로 사용되는 고유한 주소
- 공인 IP는 전세계에서 유일, 사설 IP는 하나의 네트워크 안에서 유일
- 공인 IP는 외,내부 접속 가능, 사설 IP는 내부에서만 접속 가능
IPv4
- IPv4는 네트워크 아이디와 호스트 아이디로 이루어져있다.
- 그렇다면 어디까지가 네트워크 아이디고 어디서부터가 호스트 아이디인지는 어떻게 알 수 있을까?
Classful 방식
- IP주소의 첫번째 8bit의 범위에 따라 class를 구분하고 network id의 범위를 파악하는 방식
- Class A (0 ~ 127) : 앞의 8비트까지 network id, 나머지 24비트 host id -> 2^24-2개만큼의 ip주소를 사용할 수 있다.
- Class B (128 ~ 191) : 앞의 16비트까지가 network id, 나머지 16비트가 host id -> 2^16-2개만큼의 ip주소를 사용할 수 있다.
- Class C (192 ~ 223) : 앞의 24비트까지가 network id, 나머지 8비트가 host id -> 2^8-2개만큼 ip주소를 사용할 수 있다.
- Class D, E (244 ~ 255) : host할당받을 수 없음
- 이렇듯 각 클래스마다 8비트씩 늘리고 줄일 수 있는데 안그래도 부족한 공인IP 너무 큰 폭으로 줄었다 늘어났다 하니까 사용하지 않는 IP가 생기고 너무 IP낭비가 심해짐
Classless 방식 (CIDR)
- IP 주소의 낭비가 심한 Classful 방식의 단점을 보완하고 요즘날은 필요에 따라 네트워크를 쪼개거나 묶을 수 있는 CIDR 방식만 사용
- 네트워크를 필요한 조건에 따라 서브 네트워크로 쪼개는 작업을 Subnetting이라고 한다.
- 쪼갰을 때 맨 처음 아이디와 맨 마지막 아이디는 할당을 하진 못해서 많이 쪼갤 수록 가용 ip가 줄어들긴 하지만 classful방식에 비하면 낭비되는 ip는 훨씬 적다.
- 서브네팅을 할 때 2가지 공식이 있다.
- subnet 개수로 나눌 때 ex) 우리 회사는 총 2개의 서브넷을 만들고 싶어요
- 2^n >= 조건, n개만큼 host bit의 왼쪽부터 잘라서 subnet bit로 사용
- 사용하고자 하는 host 개수로 나눌 때 ex) 우리 부서는 60개의 host를 가져야해요
- 2^n - 2 >= 조건, n개만큼 host bit의 오른쪽부터 잘라서 subnet bit로 사용
서브넷 예제
- 2^n - 2 >= 조건, n개만큼 host bit의 오른쪽부터 잘라서 subnet bit로 사용
- subnet 개수로 나눌 때 ex) 우리 회사는 총 2개의 서브넷을 만들고 싶어요
- Case 1. C클래스 네트워크를 24개의 서브넷으로 나누려고 한다. 각 서브넷은 4~5개의 호스트를 가져야한다.
- C클래스는 기본 24비트의 네트워크 아이디를 가짐 255.255.255.0/24
- 24개의 서브넷으로 나눠야함 2^n >= 24 -> n = 5
- 255.255.255.00000|000 네트워크 아이디는 29개로 늘음 -> 255.255.255.0/29
- 서브넷 마스크는 255.255.255.11111000 -> 255.255.255.248
- Case 2. 회사 A가 210.100.1.0의 네트워크를 받았고 각 부서에는 적어도 30개의 호스트를 할당해야한다.
- 2^n - 2 >= 30 -> n = 5
- 210.100.1.000|00000 네트워크 아이디는 210.100.1.0/27
- 범위 1 : 210.100.1.0 ~ 210.100.1.31
- 범위 2 : 210.100.1.32 ~ 210.100.1.63
- 범위 3 : 210.100.1.64 ~ 210.100.1.95
- 범위 4 : 210.100.1.96 ~ 210.100.1.127
- 범위 5 : 210.100.1.128 ~ 210.100.1.159
- 범위 6 : 210.100.1.160 ~ 210.100.1.191
- 범위 7 : 210.100.1.192 ~ 210.100.1.223
- 범위 8 : 210.100.1.224 ~ 210.100.1.255
- 하지만 각 범위의 첫번째 ip와 마지막ip는 사용 불가 -> 각 범위마다 사용가능 ip는 30개
- 서브넷 마스크는 255.255.255.11100000 -> 255.255.255.224
subnet mask란?
- 서브넷 마스크란 network id 자리에 숫자 1을 채우고 host id 자리에 숫자 0을 채운 것이다
- 서브넷 마스크를 사용하여 컴퓨터는 자신이 어떤 서브넷에 포함되어 있는지 ip주소와 and(&)연산을 통해 알 수 있다.
VLSM (Variable Length Subnet Mask)
- 다양한 조건을 만족시키기 위해서 서브네팅을 반복적으로 수행하는 것
- 조건이 다양할 경우 가장 큰 조건부터 순차적으로 서브네팅하는 것이 좋음
- ex) 개발팀에서 100개의 호스트, 영업팀에서 50개의 호스트, 그 외 4개의 부서에서 10개의 호스트가 필요하다고 가정
- 위 그림처럼 호스트가 가장 많이 필요한 개발팀한테 먼저 잘라주고, 그다음 영업팀 그다음 무슨팀 이런식으로 서브네팅을 해준다.
- 자르고 남는 ip로 또 자르고 하기 때문에 각 서브넷마다 네트워크 id의 비트가 다를 수 있다.
'클라우드 with AWS > Network' 카테고리의 다른 글
URL vs URI vs URN (0) | 2023.06.23 |
---|---|
네트워크 진단 도구 (0) | 2023.03.12 |
TCP VS UDP, 그 외의 다양한 네트워크 프로토콜 (1) | 2023.03.12 |
ABOUT ROUTING, NAT (0) | 2023.03.05 |
네트워크 기초(정의 & OSI 7 계층) (0) | 2023.03.03 |