CISCO_PART5_IP주소
1️⃣ IP 주소 이야기 1, 2, 3
IP주소란?
TCP/IP프로토콜을 쓰는 장비들을 구분해주기 위해 만들어낸 주소 ➡️ 장비마다 IP주소는 모두 다르다.
✅ IPv4, IPv6
✔️ IPv4
IP주소는 이진수 32자리로 되어 있다.(IPv4)
그래서 IP주소의 개수는? 2의 32제곱
이진수 8자리 (옥텟, Octet) 마다 점을 찍는다.
근데 이진수 32자리수로 하면 사람이 알아보기 너무 힘드니까 이진수를 십진수로 바꿔서 쓴다.
- 32비트 2진수
- 2진수 32자리
- 예시:
11000001 00100000 11011000 00001001
- 십진수로 나타내면 예시:
193.32.216.9
✔️ IPv6
- 128비트 2진수
- 16비트 단위로 끊어서 쓴다.
- 예시:
2004:2ba8:13aa:0011:0000:0000:0000:abaa
📌 MTU
Maximum Transmission Unit maximum data link-level frame can transmit
- different link types, different MTUs
- large IP datagram ➡️ fragmented
datagrams
- reassembled at final destination
IP header bits
used to identify, orfer related fragments
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
If 4000bite(IP header(20 bites) + Payload(3980 bites))
and MTU 1500
need to make three fragments
- fragments are called `datagram`
for `fragmentation` and `reassembly`, in `IP header`...
- ID: same ID for fragmented datagrams
- Flag: to identify until where is fragmented datagram, last datagram flag is 0
- Offset: to reassemble in order
Conclusion:
- original datagram: IP header(20 bites) + Payload(3980 bites)
- MTU: 1500
- 3980= 1480 + 1480 + 1020
- First datagram: 20(header) + 1480(payload)
ID: x, fragflag: 1, offset: 0(byte)
- Second datagram: 20(header) + 1480(payload)
ID: x, fragflag: 1, offset: 185(1480/8)(byte)
- Third datagram: 20(header) + 1020(payload)
ID: x, fragflag: 0, offset: 370(1480+1480/8)(byte)
✅ IP주소의 구성 네트워크 부분
+ 호스트 부분
네트워크 부분 Network Part
같은 네트워크 상에 있다
🟰 브로드캐스트 영역 Broadcast Domain
🟰 한 PC가 데이터를 뿌렸을 때 라우터를 거치지 않고 통신이 가능한 영역
호스트 부분 Host Part(노드 부분)
각각의 PC 또는 장비
마지막 옥텟(맨 마지막 자리)가 호스트 부분
네트워크 부분은 🟰 호스트 부분은 항상 🟰❌
IP주소에서 네트워크 부분은 모두 같아야 하고 호스트 부분은 모두 달라야 한다.
서로 같은 네트워크 상에서는 네트워크 부분은 모두 같고, 호스트 부분은 달라야 함. (같으면 충동 생김)
1
2
3
4
203.240.100.1
------------- ---
네크워크 부분 호스트 부분(노드부분)
⭐️ 네트워크 내부 ❓ 허브 또는 스위치 : 라우터
네트워크 내부에서 통신한다면? 허브 또는 스위치가 호스트 부분(노드 어드레스)보고 통신
네트워크 외부로 나가야 한다면? 라우터가 필요하다.
라우터가 라우팅(경로 배정)을 할 떄는 네트워크 부분만 보고,
스위치나 허브가 노드 어드레스 보고 통신한다.
따라서 같은 네트워크 상에서 통신한다면, 라우터가 필요가 없다!
라우터 없이 내부 통신 가능 ⭕️
✅ IP주소의 클래스
네트워크 부분, 호스트 부분 구분하기
어디까지가 네트워크 부분이고, 어디까지가 호스트 부분인가?
❓ 클래스를 나누는 이유; IP주소를 적정하고 효율적으로 배분하기 위해
☑️ 클래스 A
1
2
3
4
옥텟 1 옥텟 2 옥텟 3 옥텟 4
0xxx xxxx. xxxx xxxx. xxxx xxxx. xxxx xxxx
- ------- ---------------------------------
시작0 네트워크(7) 호스트 부분(24)
IP 주소 0으로 시작
네트워크 주소: 처음 8비트(1바이트) ➕ 호스트 주소: 나머지 24비트(3바이트)
✔️ 네트워크 번호 시작: 1~126(127은 예비 번호)
✔️ 최대 네트워크 주소 개수: 2^7
✔️ 한 네트워크 안에 들어갈 수 있는 최대 호스트 수: 2^24 -2
개
(모두 0인 경우는 네트워크 자체 주소, 모두 1인 경우는 브로드캐스트 주소)
하나의 네트워크가 가질 수 있는 호스트 수가 가장 많은 클래스
☑️ 클래스 B
1
2
3
4
옥텟 1 옥텟 2 옥텟 3 옥텟 4
10xx xxxx. xxxx xxxx. xxxx xxxx. xxxx xxxx
- ------------------ ----------------------
시작10 네트워크(14) 호스트 부분(16)
IP 주소 10으로 시작
✔️ 네트워크 번호 시작: 128.1 - 191
✔️ 최대 네트워크 주소 개수: 2^14
✔️ 한 네트워크 안에 들어갈 수 있는 호스트 수: 2^16 -2
(모두 0인 경우는 네트워크 자체 주소, 모두 1인 경우는 브로드캐스트 주소)
☑️ 클래스 C
1
2
3
4
옥텟 1 옥텟 2 옥텟 3 옥텟 4
110x xxxx. xxxx xxxx. xxxx xxxx. xxxx xxxx
- ----------------------------- ---------
시작110 네트워크(21) 호스트 부분(8)
IP 주소 110으로 시작
✔️ 네트워크 번호 시작: 192 - 223
✔️ 최대 네트워크 주소 개수: 2^21
✔️ 한 네트워크 안에 들어갈 수 있는 호스트 수: 2^8 -2
(모두 0인 경우는 네트워크 자체 주소, 모두 1인 경우는 브로드캐스트 주소)
공인 IP주소를 배정해 줄 때 클래스 A, B는 너무 많은 HOST주소를 가질 수 있기 때문에 일반적으로는 HOST C로 배정해준다.
☑️ 클래스 D, E
클래스 D는 멀티캐스트용, 클래스 E는 연구용
내가 필요한 그룹에만 한꺼번에 데이터를 전송할 때 쓰는 주소
2️⃣ 라우터에서 IP 주소 이해하기
우리가 라우터에 배정해야 하는 IP주소는 총 2개이다.
- 이더넷 인퍼에이스용(내부)
- 우리가 부여받은 번호 중에 하나를 쓴다.
- 우리가 부여받은 번호 중에 하나를 쓴다.
- 시리얼 인터페이스용(외부)
- 우리가 접속하는 ISP업체에 따라 다르므로 인터넷 제공업체에 문의해서 사용
- 우리가 접속하는 ISP업체에 따라 다르므로 인터넷 제공업체에 문의해서 사용
- 그리고 서브넷마스크는 서로 같아야 한다.
3️⃣ Subnet Mask의 정의와 사용 이유
서브넷 마스크: 주어진 IP 주소를 네트워크 환경에 맞게 나누어 주기 위해서 씌워주는 이진수의 조합이다.
서브(메인이 아님)적인 네트워크를 사용하기 위해 씌우는 마스크.
서브넷 간의 통신은 라우터를 통해서만 가능하다.
- 네트워크가 서로 다르다 🟰 브로드캐스트 도메인이 서로 다르다.
- 네트워크 번호는 호스트 부분을 0으로 쓴다.
- 라우터는 인터페이스별로 각각 IP주소를 배정하지만
- 스위치나 허브는 장비별로 IP주소를 배정한다.
✅ 게이트웨이
내부 네트워크에 내가 찾는 IP주소를 가진 곳이 없으면, 내가 속한 네트워크 밖으로 나가 외부 네트워크를 찾아야 한다.
이 때 나가는 문이 게이트웨이
게이트웨이: 내부 네트워크에서 없는 녀석을 찾을 때 밖으로 통해 있는 문
🟰 이 문은 바로 라우터의 이더넷 인터페이스
4️⃣ Subnet Mask의 시작
서브넷으로 나누는 이유
1. 브로드케스트 영역 나누기
만약 IP 주소를 받은 그대로 사용한다면, 너무 큰 네크워크가 구성됨
➡️ 브로드캐스트 도메인이 너무 크다.
➡️ 통신이 불가능
네크워크를 나누어 쓰기 위해 서브넷 마스크를 씌운다.
2. IP 주소 아끼기
4️⃣ 서브네팅과 서브넷 마스킹
서브네팅
하나의 주소에 서브넷 마스크를 씌워서 작은 네트워크로 만드는 것
서브넷 마스킹
기존 IP 주소의 호스트 부분의 일부를 네트워크 부분으로 바꾸는 작업
5️⃣ 서브넷 마스크의 구성
subnet masking
- three subnets in the picture
- each IP adress left 24bits are the same
- thus, subnet mask is 24
- in each subnet, there can be
2^8-2
host addresses- why minus 2?
- one for broadcast address
11111111
- one for network address
00000000
항상 IP 주소를 따라다니는 서브넷 마스크
디볼트 서브넷 마스크
클래스C를 나누어 쓰지 않고 몽땅 쓰는 상황에서도 서브넷 마스크는 무조건 IP 주소를 따라다닌다.
- 클래스 C의 경우 디폴트 서브넷 마스크: 255.255.255.0
- 클래스 B의 경우 디폴트 서브넷 마스크: 255.255.0.0
- 클래스 A의 경우 디폴트 서브넷 마스크: 255.0.0.0
서브넷 마스크는 IP 주소의 네트워크 부분, 호스트 부분을 나타내준다.
네트워크: 서브넷 마스크가 2진수로 1인 부분
호스트: 서브넷 마스크가 2진수로 0인 부분
논리연산자 AND를 사용해서 서브넷 계산 가능
논리연산자 AND는 양쪽이 모두 1인 경우에만 1이 된다.
⭐️ 콜리전 도메인, 브로드캐스트 도메인 나누기
콜리전 도메인을 나누는 방법 ➡️ 스위치
콜리전 도메인을 나누더라도 브로드캐스트 도메인의 크기는 그대로이다.
브로드캐스트 도메인을 나누는 방법 ➡️ 라우터(라우터의 이더넷 인터페이스)
6️⃣ 서브넷 마스크 기본 성질
서브넷
서브넷 마스크로 나누어진, 하나의 독립된 네트워크
1. 서브넷은 라우터를 통해서만 통신
서브넷 마스크로 만들어진 네트워크, 즉 서브넷은 이제 하나의 네트워크이기 때문에 서로 나뉜 서브넷끼리는 라우터를 통해서만 통신이 가능하다.
2. 서브넷 마스크는 2진수로 썼을 때 ‘1’이 연속적으로 나와야 한다.
(간소화) 1111.1111.1100.1111 ❌
(간소화) 1111.1111.1111.1100 ⭕️