일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- TCP
- 싸피
- 스프링
- 구현
- 개발자
- 코딩공부
- 서버
- BAEKJOON
- 백준
- 코딩테스트
- cs공부
- 자바
- Lan
- 다이내믹프로그래밍
- 전송계층
- 네트워크
- Spring
- 개발공부
- 정렬
- SSAFY
- Dynamic Programming
- 클라이언트
- 알고리즘공부
- 알고리즘
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
- 프로토콜
- IP
- Java
- 네트워크모델
- DP
- Today
- Total
오늘 하루, develop
#6. IP주소의 모든 것 (MAC 주소, Class, 사설IP) 본문
♦ 소개
IP주소의 변화와 공부하면서 궁금했던 부분들에 대해 정리하였습니다!
♦ IP주소 (IPv4)
- 필드가 4개로 이루어져 있고 . 으로 구분
- 총 4byte & 10 진수로 씀
- 1byte는 8bit 이므로 한 자리는 0~255까지 표현 가능
- 따라서 IP 주소는 0.0.0.0 ~ 255.255.255.255 표현 가능
IP주소(IPv4) 체계는 아래와 같은 순서로 변화하였다.
1. Classful IP 주소
- 클래스별로 IP 주소를 나눠서 사용
- 사용할 수 있는 범위가 정해져 있음
A 클래스
- A 클래스는 네트워크를 구분하는데 첫번째 필드까지 사용하므로, 128개의 대역만 구분할 수 있음
- 대신 하나의 대역 안에서 1670만 개의 컴퓨터를 구분할 수 있음
- 큰 기관 등에서만 사용
B 클래스
- B 클래스는 네트워크를 구분하는데 두번째 필드까지 사용
- 대신 하나의 대역 안에서 6만 5천 대의 컴퓨터를 구분할 수 있음
C 클래스
- C 클래스는 네트워크를 구분하는데 세번째 필드까지 사용
- 대신 하나의 대역 안에서 256대의 컴퓨터를 구분할 수 있음
- 일반적으로 많이 사용
* D 클래스는 멀티 캐스트를 위해, E 클래스는 실험용으로 남겨둠
클래스에 맞게 주소를 사용하면 낭비되는 IP 주소가 많았다.
2. Classless IP 주소
네트워크 대역을 클래스 필드 기준이 아닌, 서브넷 마스크를 기준으로 구분하였다.
✔️ 서브넷 마스크
1에서 0으로 바뀌는 부분을 기준으로 네트워크 대역/ 컴퓨터를 구분한다.
ex) 서브넷 마스크가 255.255.255.0 이면 C 클래스와 동일
그래도...!! IP주소가 부족했다.
3. 사설 IP와 공인 IP
1) 공인 IP (Public IP)
- 인터넷 사용자의 로컬 네트워크를 식별하기 위해 ISP(인터넷 서비스 공급자)가 제공하는 IP 주소
- 외부에 공개되어 있는 IP 주소
- 전세계에서 유일한 IP 주소를 가짐
2) 사설 IP (Private IP)
- 일반 가정이나 회사 내 등에 할당된 네트워크의 IP 주소
- 로컬 IP, 가상 IP라고도 함
- IPv4 주소 부족으로 인해 서브넷팅된 IP이기 때문에 라우터에 의해 로컬 네트워크상의 PC 나 장치에 할당된다.
✔️ 사설IP 주소대역
- 사설IP 주소는 다음 3가지 주소대역으로 고정된다.
- Class A : 10.0.0.0 ~ 10.255.255.255
- Class B : 172.16.0.0 ~ 172.31.255.255
- Class C : 192.168.0.0 ~ 192.168.255.255
- 다른 대역 안에서는 위 주소가 동일하게 사용될 수 있다.
- 공인 IP는 위 범위 안의 주소를 사용하지 못한다.
3) 설명
✔️ 사설 IP를 사용하는 기기들은 다른 대역으로 갈 때 공인 IP로 바뀌어서 나간다.
- NAT : 특정 IP를 다른 IP로 바꾸는 기술
- NAT를 사용해서 사설IP와 공인IP의 개념을 사용할 수 있다.
✔️ 외부에서 볼 때는 우리 컴퓨터가 구분되지 않는다.
- 대역 안의 모든 기기들이 공유기에 할당된 IP로 동일하게 인식된다.
- 외부에서 볼 때는 사설 IP 대역이 없는 것처럼 보인다.
✔️ 사설 IP 대역 안에서 어떤 기기가 요청한 건지는 공유기가 알고 있다.
- 공유기가 기록을 한다.
- 사설 IP 대역을 나갈 때 NAT 테이블에 기록을 한다.
- 응답이 돌아오면 이 테이블을 보고 해당하는 기기에 응답을 전달한다.
✔️ 나간 적 없는 패킷이 응답으로 오면 어떻게 되는가?
- 그냥 공유기가 받고 끝난다.
- 그래서 일반적으로 서버는 사설 IP를 쓰지 않는다. (서버는 요청을 받으므로)
- 아니면 공유기에 추가적으로 설정을 한다. (포트포워딩)
* 현재는 2번(Classless), 3번(사설/공인 IP)을 같이 사용 중
♦ 특수한 IP 주소
0.0.0.0
와일드카드
나머지 모든 IP를 의미
127.0.0.1
자기 자신을 뜻하는 주소
게이트웨이 주소
해당 네트워크에서 다른 네트워크로 나가는 출구이자, 다른 네트워크로 들어가는 입구
- 외부 세상으로 나가는 문
- 일반적으로 공유기의 IP를 씀 (내부 기기들이 통신할 때 무조건 공유기로 나가게 되어 있으므로)
: 나를 나타내는 데 사용
: 외부 세상으로 나갈 때 사용하는 문을 알려줌 (설정 안 하면 인터넷이 안됨. 나가는 곳을 몰라서)
✔️ IP주소와 MAC주소가 모두 필요한 이유?
IP주소는 도착지 주소 까지의 경로를 찾기 위해 필요한 정보
→ 서로 다른 네트워크에서 목적지를 찾기 위해 필요한 정보
Mac주소는 도착지에서 여러 기기들이 있을 경우, 기기간의 식별을 위해 필요한 정보
→ 같은 네트워크(LAN)에서 최종 목적지를 찾기 위해 필요한 정보
ex) 부산역을 IP주소와 MAC 주소로 나타낸다면,
- ip 주소 : 부산 광역시 해운대구 동백길 14-5 → 행정적 주소, 언제든지 바뀔 수 있음
- Mac 주소 : 위도 37.4, 경도 128.4→ 절대 바뀔 수 없는 값
<이유>
1. Mac 주소가 쓰이는 계층과 IP주소가 쓰이는 계층이 다르기 때문에 어느 하나가 다른 하나를 대체할 수 없음
모든 프로토콜이 IP 주소로 목적지를 식별하는 것이 아니다.
물론 대부분의 3계층 프로토콜은 IP 주소를 사용하여 목적지를 식별한다.
일반적으로, TCP/IP 프로토콜 스택에서는 IP 주소가 네트워크 상의 장치들을 식별하는 데 사용된다.
예를 들어, 인터넷 프로토콜(IP)은 IP 주소를 사용하여 데이터를 주고받는 장치들을 식별하고, 패킷을 목적지로 라우팅한다.
ARP, ICMP 프로토콜도 IP 주소로 목적지를 식별한다.
그러나 일부 프로토콜은 IP 주소 외에도 다른 식별자를 사용한다.
예를 들어, IPX/SPX 프로토콜 스택에서는 IPX 주소가 사용되며, AppleTalk 프로토콜 스택에서는 AppleTalk 주소가 사용된다.
하지만 이러한 프로토콜은 현재 주로 사용되지 않으며, 대부분의 네트워크에서는 IP 주소를 사용하여 목적지를 식별한다.
2. 네트워크 계층화를 위해서
네트워크 안에 속하는 노드들이 같은 네트워크 prefix를 갖도록 하여, 라우팅 테이블을 간단하게 하는 것
→ 라우팅 과정(라우터에서 다른 라우터로 이동)에서는 IP주소를 사용하고, 하나의 네트워크 안에서 타겟을 찾을 때는 MAC주소를 사용함
✔️ LAN 내부의 기기를 구분한다는 측면에서 사설 IP주소와 MAC 주소의 역할이 비슷하지 않은가?
공부를 하다 보니 위와 같은 의문이 들기도 했습니다. GPT는 아래와 같이 답했습니다.
LAN (Local Area Network) 안에서 기기들이 통신할 때 MAC 주소를 사용합니다. MAC 주소는 네트워크 카드에 할당된 고유한 식별자이며, LAN 내에서 기기 간에 직접 통신할 때 사용됩니다.
그러나 사설 IP 주소가 필요한 이유는
LAN 내에서 외부 네트워크와 통신할 때
입니다. 인터넷과 같은 외부 네트워크에 연결하려면 각 기기에 고유한 IP 주소가 필요합니다. 사설 IP 주소는 LAN 내에서 사용되며, LAN 외부로 통신할 때는 NAT (Network Address Translation)라는 기술을 통해 공인 IP 주소로 변환됩니다. 이렇게 하면 LAN 내의 여러 기기가 하나의 공인 IP 주소를 공유하여 외부 네트워크와 통신할 수 있습니다. 따라서 사설 IP 주소는 LAN 내에서 기기들이 외부와 통신할 수 있도록 필요한 중요한 역할을 합니다.
결론적으로 MAC 주소는 LAN 내부 기기들끼리 통신할 때 사용하고, 사설 IP 주소는 각 기기가 외부와 통신할 때 사용한다.
출처
https://youtu.be/HkiOygWMARs?si=OQ540cNgme8m1K5F
https://ecsimsw.tistory.com/entry/네트워크-MAC-주소가-있는데-IP-주소가-왜-필요해
https://coding-study-page.notion.site/OSI-7-d036c9a4d2e94bf7be0e481f6ca930d5
'네트워크' 카테고리의 다른 글
#8. [3계층] ICMP 프로토콜이란? (0) | 2024.05.07 |
---|---|
#7. [3계층] ARP 프로토콜의 개념과 통신과정 (0) | 2024.05.07 |
#5. Network(네트워크) Layer - 3계층 (0) | 2024.04.21 |
#4. Data Link Layer - 2계층 (MAC주소, 이더넷) (0) | 2024.04.20 |
#3. 네트워크 모델 (1) | 2024.04.20 |