1. 3계층에서 하는 일
- 실제로 컴퓨터끼리는 IP주소를 사용해서 데이터를 주고 받는다.
- 3계층은 다른 네트워크 대역, 즉 멀리 떨어진 곳에 존재하는 네트워크까지 어떻게 데이터를 전달할 지 제어하는 일을 담당한다.
- 한마디로, 발신에서 착신까지의 패킷의 경로 제어한다고 보면 된다.
- 위의 그림에서처럼, 집 LAN, 학원 LAN, 회사 LAN이 있다.
- LAN과 LAN을 연결하고 통신해주는 역할을 하는 것이 3계층의 라우터 장비이다.
- 각각의 기기들이 MAC 주소를 가지고 있는데, MAC 주소 뿐만 아니라 IP 주소도 가지고 있어야지 통신할 수 있다.
2. IP 주소 알아보기
cmd > ipconfig /all 명령어 치기
- IPv4 주소 : 192.168.99.152
- 서브넷 마스크 : 255.255.255.0
- 기본 게이트웨이 주소 : 192.168.99.1
- 멀리 있는 곳과 통신하기 위한 최소한의 설정 세가지 : IPv4, 서브넷 마스크, 게이트웨이 주소
※ 인터넷 : 도메인 주소 (www.naver.com)
IP 주소와 도메인 주소를 서로 변환해주는 것을 DNS 서버라고 한다.
3. 3계층 프로토콜
(1) ARP 프로토콜
: IP 주소를 이용해 MAC 주소를 알아가지고 온다.
(2) IPv4 프로토콜
: WAN에서 통신할 때 사용한다.
(3) ICMP 프로토콜
: 서로가 통신되는지 확인할 때 사용한다.
(4) IPv6 프로토콜
: IPv4 프로토콜의 할당된 주소가 거의 소진되고 있다는 점 때문에 등장했다. 하지만, IPv4와 아예 모양 자체가 다르며, 16진수로 구성되어 매우 복잡한 형태이다.
4. 일반적인 IP 주소 == IPv4
(1) IPv4 Address
- 총 32개의 bit로 구성되어 있으며 8bit로 1개의 옥탯을 표현한다.
- IPv4의 경우 옥탯 4개로 구성되어 있으며, 그 옥탯의 구분은 . 이다.
- 네트워크 ID : 소속 - 내가 속한 Network의 주소
- 호스트 ID : 식별자 - 해당 Network에서 나를 구분하는 주소
ex. 공춘식 == 공 (소속) + 춘식 (식별자)
- IPv4의 주소 범위는 32bit = 4,294,967,296로 약 43억개의 주소를 표현할 수 있다.
[ 0 . 0 . 0 . 0 ] ~ [ 255 . 255 . 255 . 255 ]
(2) Subnet Mask
: Classful한 네트워크 대역을 나눠주는 데 사용하는 값으로, 어디까지가 Network 대역인지, 어디서부터가 Host 대역인지 구분해주는 역할을 한다
- 32bit (4byte)로 구성된다.
- 이진수로 나타냈을 때 값이 1일 경우 Network-ID이고, 0일 경우 Host-ID이다.
- Network-ID는 고정이며 Host-ID는 자유롭게 사용이 가능하다.
- 1과 1 사이에는 0이 올 수 없다!
ex. 11111111.11111111.11111111.11101111 (X)
ex. 11111111.11111111.11111111.11100000 (O)
(3) IPv4의 Classful 방식
- 초기 IPv4의 경우 Classful 형식을 사용했으며, 현재는 Classless 방식을 사용한다.
- 네트워크를 나눠주기 위해서 Class를 사용했다.
- 따로 명시하지 않아도 Net-ID와 Host-ID를 구분할 수 있다.
- 낭비가 심한 방식으로 현재는 사용하지 않는다.
(3) - 1 A Class
- 전체 IP 주소 중 50%를 예약하고 있어서 규모가 큰 조직에 할당한다.
- 첫번째 bit가 0으로 고정되어 있다.
- 따라서 IP주소의 첫번째 옥텟 숫자가 0 ~ 127 사이라면 A Class에 속한 IP 주소가 된다.
- 네트워크 대역 총 128개, 각 대역 당 256^3대의 컴퓨터를 가질 수 있음.
(3) - 2 B Class
- 전체 IP 주소 중 25%를 예약하고 있어서 중간 규모 조직에 할당한다.
- 첫번째와 두번째 bit가 각각 1과 0으로 고정되어 있다.
- 따라서 IP주소의 첫번째 옥탯 숫자가 128 ~ 191 사이라면 B Class에 속한 IP 주소가 된다.
- 네트워크 대역 총 256 X 64개, 각 대역 당 256^2대의 컴퓨터를 가질 수 있음.
(3) - 3 C Class
- 전체 IP 주소 중 12.5%를 예약하고 있어서 소규모 조직에 할당한다.
- 첫 번째, 두 번째, 세 번째 bit가 각각 1, 1, 0으로 고정되어 있다.
- 따라서 IP주소의 첫 번째 옥텟 숫자가 192 ~ 223 사이라면 C Class에 속한 IP 주소가 된다.
- 네트워크 대역 총 256 X 256 X 32개, 각 대역 당 256대의 컴퓨터를 가질 수 있음.
(3) - 4 D Class
- Multicast를 위한 주소이다. ( A Class ~ C Class : Unicast )
- 첫 번째, 두 번째, 세 번째, 네 번째 bit가 각각 1, 1, 1, 0로 고정되어 있다.
- 따라서 IP주소의 첫 번째 옥텟 숫자가 224 ~ 239 사이라면 D Class에 속한 IP 주소가 된다.
(3) - 5 E Class
- 실험용으로 예약된 Class이다.
- 사용하지 않는다.
(4) IPv4의 Classfulless 방식
- 낭비되지 않도록 아껴쓰는 classfulless IP 주소
- 하나의 큰 네트워크를 여러개의 작은 네트워크로 쪼개서 쓴다.
192.168.31.189/26
- IP 주소 : 192.168.31.189
- 서브넷 마스크 : 255.255.255.192
- 네트워크 ID : 192.168.32.128 (어떤 네트워크 대역인지를 나타냄)
- 브로드캐스트 주소 : 192.168.32.191 (특정 네트워크에 속하는 모든 호스트들에게 전달될 수 있는 주소)
- 사용 가능 IP 주소 : 192.168.32.129 ~ 192.168.32.190
- Classful IP는 필드 단위로 나눠서 총 4개의 영역으로 나눌 수 있다.
- Classfulless IP는 나누는 기준이 딱히 없다. 32bit로 구성되었으니 32가지로 분할 가능하다.
5. 자잘한 내용 짚고 넘어가기
(1) CIDR, 서브넷 Prefix
- Classless Inter-Domain Routing
- IP 주소를 보면 '/' 뒤에 24, 26 등 숫자가 적힌 것을 볼 수 있다. 그것이 바로 CIDR이다.
- 서브넷 마스크에서 1의 개수가 CIDR 값이 된다.
ex.
IP : 192.168.31.189
서브넷 마스크 : 255.255.255.192
11111111.11111111.11111111.11000000
총 1이 26개 있으므로, 서브넷 prefix 값은 26이다.
(2) 네트워크 ID
- 네트워크 ID는 내가 어느 Network에 속해 있는지 주소를 알려주는 값이다.
- 네트워크 ID 구하는 방법
① 어디까지가 네트워크 비트인지, 호스트 비트인지 알아본다.
② 여기에서 말하는 IP주소는 서브네팅된 IP 주소라는 것을 알아야 한다. 따라서 서브네팅된 네트워크 대역 중 어디에 해당하는지 판단한다.
③ 네트워크 비트와 호스트 비트를 나누는 곳이 어느 옥텟에 위치한지를 파악하고, 그 네트워크 대역이 시작하는 IP주고사 네트워크 ID가 된다.
ex.
IP : 192.168.31.189
서브넷 마스크 : 255.255.255.192
IP 주소에서 189는 서브네팅한 네트워크 대역 중 세번째에 해당한다.
따라서 네트워크 ID는 192.168.31.128이다.
(3) 브로드캐스트 IP
- 특정 호스트와 통신하는 것이 아닌 어떤 네트워크에 속하는 모든 호스트들에게 전달될 수 있는 주소.
- 브로드캐스트 IP 만드는 방법
① 브로드캐스트 주소는 255.255.255.255를 쓴다.
② IP 주소의 subnet 부분을 제외한 호스트 자리를 이진수 1로 채워서 만든다.
ex. IP 주소 10.1.10.100 / 24
브로드캐스트 주소는 10.1.10.255가 된다.
- 브로드캐스트는 네트워크를 관리하는 특정 목적의 프로토콜과 UDP를 사용하는 통신에서만 사용된다.
(4) 사용 가능한 IP 주소
- 네트워크 대역의 첫번째 주소는 네트워크 ID이므로 사용 불가능하다.
- 네트워크 대역의 마지막 주소는 브로드캐스트 주소이므로 사용 불가능하다.
ex.
IP : 192.168.31.189
서브넷 마스크 : 255.255.255.192
사용 가능한 IP 주소 범위 : 192.168.31.129 ~ 192.168.31.190
6. 공인 IP와 사설 IP
- 공인 IP : 인터넷. 실제 네트워크 통신망과 통신할 때 사용하는 IP 주소
- 사설 IP : 같은 네트워크 대역에서 사용하는 IP 주소
- 공인 IP 주소 == 공유기에 할당된 주소
- 인터넷에서 웹 페이지를 제공해주어서 공유기에게 전달해주면, 공유기가 해당 기기를 찾는 방식이다.
- 사설 IP 대역 장비들은 통신할 때 공인 IP로 바꿔서 인터넷과 통신한다.
- 네트워크 주소를 사설 IP에서 공인 IP로 바꿔주는 것을 NAT라고 한다.
(1) 공인 IP 주소
(2) 사설 IP 주소
(3) NAT
- Network Address Transition
- 사실 NAT는 특정 IP를 어떤 IP로 바꾸는 것을 말한다.
- 공인 → 공인, 사설 → 사설, 공인 → 사설 등 다양하게 가능하다.
(4) 사설 IP와 공인 IP의 특징
- 외부에서 통신할 때에는 무조건 공인 IP주소를 사용한다.
- 따라서 외부에서 봤을 때에는 사설 IP 대역이 없는 것처럼 보인다.
(5) 포트 포워딩 (Port Forwarding)
- 공인 IP 주소가 공유기를 통해 사설 IP 주소에 접근하도록 하기 위한 방법
ex. 사설 IP를 할당받은 기기를 웹서버로 활용하려고 한다면, 공유기로 들어온 접근 요청을 해당 기기로 전달해준다. 공유기의 특정 포트로 들어온 접속을 사설 IP의 특정 포트로 요청을 전달한다.
7. 특수한 IP 주소
(1) 0.0.0.0
- 나머지 모든 IP
(2) 127.0.0.1
- 자신을 나타내는 주소
(3) Gateway 주소
- 어딘가로 가려면 일단 이 주소로
- 일반적으로 공유기 IP 주소를 의미한다.
- 노란색 : WAN (공인 IP 할당 -> GW 주소), 나머지 : LAN (사설 IP 할당)
- 외부로 나가는 문이다.
- 일반적인 공유기 환경에서라면 gateway 주소도 사설 IP가 맞다. NAT로 통신한다기 보다는, 하나의 네트워크 장비 (공유기, 라우터)에 여러 네트워크 대역이 서로 연결되어 있는 것이다. 이때 해당 네트워크 장비가 모르는 네트워크 대역은 무조건 이쪽으로 패킷을 보내라는 설정이 게이트웨이 설정인 것이다.
[ 정리 ]
IP 주소, 서브넷 마스크 : 나를 나타내는 주소게이트웨이 주소 : 외부로 나가는 문의 주소
'[ CS 전공 ]' 카테고리의 다른 글
[ 네트워크 ] VLSM (0) | 2022.03.02 |
---|---|
[ 네트워크 ] 서브네팅 (Subneting) (0) | 2022.03.01 |
[ 네트워크 ] 네트워크 계층 모델 : OSI 7계층, TCP/IP, 패킷 (0) | 2022.02.21 |
[ 네트워크 ] Internet, ISP, Server, Client (0) | 2022.02.15 |
[ 서버 ] 서버 운영체제 (0) | 2022.01.10 |