A카페에 노트북을 들고가면 해당 카페이 와이파이에서 IP주소를 부여한다. B라는 카페에도 노트북을 들고가서 와이파이를 이용해 IP주소를 부여받았다
A카페에서 IP주소와 B카페에서 IP주소는 서로 다른 것을 확인할 수 있다.
이때 노트북는 변치않는 고유 주소가 있다. -> MAC 주소라고 한다.
MAC 주소
네트워크 인터페이스에서 할당된 고유 식별자
주로 NIC카드에 할당되어 있다
24비트 OUI + 24비트 UAA로 구성된 48비트 주소이다.
MAC주소는 보통 유일한 고유 식별자를 갖지만 제조사의 실수또는 의도적으로 변경할 수 있다.
하지만 변경하지 않는것이 좋다.
2. ARP 와 RARP
ARP
IP주소를 MAC주소로 변환해주는 프로토콜
ARP 동작과정
1. 해당 IP에 맞는 MAC주소를 찾기 위해 현재 브로드캐스팅으로 연결된 네트워크에 있는 장치들에 데이터를 보낸다.
2. 맞는 장치가 있으면 유니캐스트로 데이터를 전달해 주소를 찾는다.
RARP
MAC주소를 통해 IP주소를 알아낼 수 있는 프로토콜
ARP의 역과정
+ 이진법 계산하기 - 우리가 쓰는 숫자 -> 십진법 / 0~9로 표현되는 수 - 컴퓨터에서 쓰는 숫자 -> 이진법 / 0과 1로 표현되는 수 <이진법 표현법> 1. 100101b (b를 덧붙임) 2. 100101(2) ((2)를 덧붙임) 3. 0b100101 (앞에 0b를 덧붙임)
ex) 이진법으로 181 표현하기
3. IPv4 와 IPv6
1) IPv4
32비트로 이루어져 2^32개의 주소를 표현할 수 있다.
8비트 단위로 점을 찍어 4개로 구분한다. -> 옥텟
기술 발달하게 되면서 주소 부족으로 인해 NAT,서브네팅등 부수적인 기술이 필요해짐.
체크섬을 통해 무결성을 보호할 수 있다.
헤더의 길이가 20~60바이트의 가변길이다.
2) IPv6
128비트로 이루어져 많은 수의 주소를 처리할 수있어서 부수적인 기술이 필요없다
16비트씩 8개로 구분한다.
16비트는 16진수로 변환되어 콜론(:)으로 표현된다.
앞의 64비트는 네트워크 주소, 뒤의 64비트는 인터페이스 주소가 표현된다.
연속된 0은 생략이 가능하다.
IPSec가 내장되어 있어 프로토콜 내의 보안기능을 탑재했다.
불필요한 헤더의 제거로 헤더 포멧이 단순해 졌다.
상위 프로토콜(TCP,UDP)에 체크섬 필드가 있기 때문에 헤더의 효율화를 위해 IPv6에는 체크섬이 없다.
IPv6 + UDP 를 사용할경우 IPv6에는 체크섬이 없기 때문에 UDP헤더에서 체크섬 설정을 해주어야 한다.
3) IPv4 와 IPv6 차이점
IPv4
IPv6
길이
32비트
128비트
주소 공간
2^32개
2^128
옥텟 수
4개
16개
헤더 길이
20~60바이트의 가변길이
40바이트의 고정길이
체크섬 유무
O
X
보안
별도구현
IPSec내장
Q. IPv4와 IPv6 중 어떤게 좋나요?더 빠를까?
IPv6는 주소공간이 증가해 많은 주소를 표현할 수 있다. 또한 불필요한 헤더가 삭제되어서 IPv4보다 더 속도가 빠르고 기본적으로 IPSec가 내장되어 있기 때문에 보안성도 더 높다. 하지만 일부 사용사례에서는 IPv4보다 패킷이 늘어났기 때문에 속도가 느려지는 경향도 있다.
4. Classful ( Classful IP Address )
1) 네트워크주소 & 호스트주소
네트워크 주소
호스트들을 모은 네트워크를 지칭한다
네트워크가 동일하다는 말은 같은 로컬 네트워크라는 뜻이다.
호스트 주소
호스트를 구분하기위한 주소
2) 클래스 기반 할당 방식
네트워크 주소를 매기고 그에 따라 네트워크의 크기를 다르게 구분하여 클래스를 할당하는 주소체계
구분하는 기준자를 서브넷마스크라고 한다. -> 1,2,3 옥텟
A ,B ,C ,D ,E 다섯개의 클래스로 구분된다.
Class D는 multicast용 주소고 Class E는 주소 부족시 할당되는 주소다.
맨 왼쪽에 있는 비트는 구분비트라 한다.
① Class A
한 네트워크 주소당 HostID : 2^24 – 2 = 16000만개
네트워크 주소 범위 : 1~126
원래는 127.255.255.255까지 포함되지만 특수주소로 포함되지 않는다.
특수주소
127.X.X.X : 루프백 주소 -> 로컬호스트(본인 네트워크 주소)
0.0.0.0 : 알수 없은 대상에게 달아놓는 주소
② Class B
한 네트워크 주소당 HostID: 2^16 – 2 = 65,000개
네트워크 주소 범위: 128 ~ 191
③ Class C
한 네트워크 주소당 HostID: 2^8 – 2 = 254개
네트워크 주소 범위: 192 ~ 223
* 주소중 2개를 빼는 이유 4개의 옥텟은 네트워크 주소로 쓰인다. 항상 주소당 HostID에서 -2를 하는 이유는 맨 처음 주소와 마지막 주소는 이미 배당되어 있기 때문이다.
예를 들어, 클래스 C로 192.0.0.0 네트워크를 부여받았다고 했을 때 192.0.0.1 ~ 192.0.0.254의 호스트 주소를 부여받은 것이다. 192.0.0.0은 네트워크 구별주소이다. 그리고 192.0.0.255는 브로드캐스트 주소이기 때문에 항상 2를 빼준다.
3) classful의 문제점
네트워크 크기가 작다고 할 때, 큰 네트워크가 필요한 조직은 여러개를 확보해야한다.
작은 네트워크가 필요한 조직의 경우엔 많은 IP를 가져가게 될경우 IP가 낭비된다.
한마디로 세분화된 요청에는 민감하게 반응하지 못하는 문제가 있다.
5. 클래스리스, 서브넷마스크, 서브네팅
1) 서브네팅 & 서브넷 & 서브넷 마스크
서브네팅
네트워크 성능 보장, 자원을 효율적으로 분배하기 위해 네트워크 영역과 호스트 영역을 쪼개는 작업
서브넷
서브 네트워크, 쪼개진 네트워크
서브넷 마스크
서브 네트워크를 위한 비트마스크
네트워크 주소는 모드 1로 호스트아이디는 0으로 설정한다.
2) 클래스리스
인터넷이 상용화 되며 폭발적으로 증가한 사용량에 따른 IP 주소 부족을 해결하기 위한 방법.
class없이 좀더 세분화해서 서브넷 마스크 중심으로 네트워크와 호스트주소를 나눈 주소체계
네트워크와 호스트 주소를 나누는 구분자를 사용하는데 이것을 서브넷 마스크 라고 한다.
네트워크 주소가 192.168.50.112 라고 하자.
192는 class c이고 4자리 옥텟중 3개를 네트워크주소로 사용하기 때문에 서브넷 마스크로 변환하면 255.255.255.0
이 주소들을 이진수로 바꿔주면 위에 표에 나오는 주소들이 된다.
& 연산자를 통해 나타내면 네트워크주소를 알 수 있다.
3) 서브넷 마스크 계산하기
Q. 10개의 사무실이 있으며 사무실당 12개의 장치를 연결해야 한다면?
한 서브네트워크(서브넷)당 123.12.12.12/28로 16개의 네트워크를 확보해야합니다. 이를 통해 16 - 2 = 14개 장치를 확보할 수 있습니다.
6. public IP와 private IP
공인IP (Public IP)
네트워크 외부와 통신하기위해 사용하는 IP
ISP가 제공하는 IP주소여서 인터넷 상 유일한 주소이다.
사설IP (Private IP)
동일한 네트워크에서 통신하기위해 사용하는 IP
일반 가정이나 회사에 할당된 가상IP
IPv4의 주소부족으로 서브네팅된 IP여서 라우터에 의해 로컬 네트워크 상의 PC에 할당된다.
NAT기술을 사용한다.
NAT ( Network Address Translation )
패킷이 트래픽 라우팅 장치를 통해 전송되는 동안 패킷의 IP 주소를 다른 IP 주소로 매핑하는 방법
IP노출이 되지 않아 보안성이 좋다.
예를들면, 집이나 사무실에 공인IP가 할당됐는데 1개만 할당되서 부족하다. 그래서 공유기를 설치해서 NAT이 적용된WIFI를 사용하면 집에서 사용하는 기기에 가상IP가 부여되서 네트워크를 사용할 수 있다.
네트워크 내부에선 가상IP를 통해 통신하고 네트워크 외부와 통신할 땐 공인IP를 사용해 통신할 수 있다.
내부에서만 가상 IP를 사용할 수 있기 때문에 네트워크 IP가 노출되지 않는다는 장점이 있다.