센로그
Chapter 19. NETWORK LAYER : LOGICAL ADDRESSING 본문
◆ IPv4 Addreses
IPv4는 현재도 사용중인 32비트 주소.
모든 네트워크가 연결돼있다고 가정했을 때 그 모든사람들이 통신하기 위해선 고유의 IP가필요함.
2^32 까지 표현 가능하므로, 이론적으로 총 42억개 까지 가능함.
■ IPv4의 구성
32비트를 8비트씩 쪼개서 읽기 쉽게 10진수로 표현.
◆ IPv4 - Classful Addressing
: 클래스형 주소지정
IPv4는 주소를 할당할 때 클래스가 나눠져 있음.
A, B, C는 서울시, 강남구, 역삼동 과 같이 네트워크의 규모를 나타냄
D는 멀티 캐스팅을 위한 주소이고,
E는 reserve 되어있음.
즉 기관의 규모에 따라 A, B, C를 받아서 사용함!
무슨 클래스인지 어떻게 아냐?
첫 바이트 내에서 3비트까지만 보면 무슨 클래스인지 알 수 있다!
첫 비트가 0이면 무조건 A class, 10이면 B class.. 이런 식임
10진수로 변환하면 b 그림처럼 됨.
class A를 받으면 표와 같이 엄청 많은 호스트들을 붙일 수 있다.
class A는 주로 통신 사업자에게 배포함.
◆ Net ID와 Host ID
Logical Address = Net ID + Host ID
IP 주소는 Net ID와 Host ID로 구성되어 있음
Net ID는 네트워크의 식별자로, 네트워크의 규모를 나타냄.
즉 Net ID를 보고 해당하는 클래스의 네트워크를 찾아감.
class B 네트워크의 "수원시 영통구 | 경희대학교 전자정보대학"이 주소라고 하면,
라우터는 정확한 호스트 주소까진 알 필요 없음.
다만 '수원시 영통구' 라는 Net ID를 가진 라우터에게 패킷을 전달함.
Host ID는 내 컴퓨터의 식별자.
◆ Subnet
그런데 이렇게 하다보니 class A 같은 애들의 경우, 컴퓨터가 너무 많고 관리가 힘듦!
네트워크를 좀 더 분할하고 싶어서 만든 게 바로 subnet (서브넷)
Subnet Mask (서브넷 마스크)는 서브넷을 구분하기 위해서 번호를 하나 더 만들자! 라는 개념임
CIDR은 IP주소 32비트 중, 몇 비트까지가 Net ID인지(서브넷 포함) 서브넷 마스크를 표시한 것임.
▽ 이렇게 생김
기본적으로 class A의 경우 8비트까지 Net ID이다
그런데 네트워크를 조금 더 쪼개고 싶을 수 있잖아?
그래서 서브넷 개념을 써서 11비트까지 Net ID라고 하면 CIDR은 /11 이 될 것임
주소 비트로 3비트를 더 씀 == 네트워크를 2^3개로 더 쪼갬
■ Subnet의 Broadcast 주소
서브넷에 속하는 모든 호스트들이 듣게 하기위한 broadcast 주소.
서브넷 마스크의 0인 부분을 전부 1로 바꾸면 됨.
- 서브넷 안 쓰는 경우
내 주소가 C Class의 192.168.2.14라고 하자.
그러면 192.168.2.0이 네트워크 주소이고, broadcast 주소는 192.168.2.255
- 서브넷 쓰는 경우
내 주소가 165.132.120.10 이고, /22라고 하자.(255.255.252.0)
그럼 이제 2진수로 바꿔줘야 함.
내 주소는 10100101 10000100 01111000 01100100
서브넷 마스크는 11111111 11111111 11111100 00000000
==> 네트워크 주소는 10100101 10000100 01111000 00000000 이다. (Bit AND 연산)
여기서 서브넷 부분, 즉 뒤의 00 00000000 부분을 11 11111111로 바꿔준
10100101 10000100 01111011 11111111이 서브넷의 broadcast 주소이다!
이런 식으로 시험)
서브넷 마스크가 /26 이렇게 표시되어 있을 때,
두번째 그룹의 브로드캐스트 주소는 얼마입니까?~
◆ Supernet
서브넷은 큰 걸 작게 쪼갠 거고,
수퍼넷은 쪼개진 걸 합치고 싶은 것임.
C클래스라서 원래 /24였는데 /22로 합침
합쳐서 수퍼넷 만들 수 있다(번호가 지금 32 33 34..이렇게 연속적인 경우에 가능)
이런 식.
◆ NAT (Network Address Translation)
네트워크 주소가 고갈되고 있어요
사실 이미 42억개 넘어섰음. 그러나 통신 잘 되자나? 어떻게 된 거야?!
=> NAT 사용.
네트워크 클래스 별로 또 다른 주소를 붙여서, 네트워크 주소를 만들 수 있게 함.
공유기에서는
진짜 외부랑 통하는 IP주소(NAT주소) 하나가 있고
그밑에 나머지 컴퓨터들은 진짜 외부랑 통하는 IP주소가 아닌
사설용으로만 쓸수있는 주소(Private address)를 정의해놨으니 이걸붙여서써라~라는 개념. (공유기의 사설 네트워크.)
공유기에서 대부분 IP주소 확인해보면 192.168로 시작함. (== 사설 주소)
Ipconfig 치면 저런거 나오는데, 저걸로는 외부에서 들어올 수 없음.
왜냐면 서로 다른 AP 아래에서는 누구든 저 주소를 가질 수 있는거임. 가짜 주소임
그럼, 어떻게 공유기로 들어와서 나한테 정확히 들어오죠?
=> 이걸 가능하게 해주는게 네트워크 주소를 번역(Translation) 해주는거임.
그럼 이걸 어떻게 번역하느냐? NAT router 을 사용해서 번역함!
라우터의 200.24.5.8은 실제로 classful한 주소(B class). 외부와 통신할 수 있는 주소임
내부의 172.18.~~ 이건 사설 주소라서, 이 주소로 외부로 나갈 수는 없음!
사설 IP 받은 컴퓨터가 네트워크 외부의 목적지 주소로 패킷을 보내면, NAT 라우터가 사설 주소를 NAT 주소로 바꿔치기함.
그럼 받은 애가 응답 보낼 때 이 NAT 주소로 보내겠지?
그러면 다시 라우터로 돌아왔을 때, 아~ 아까 그쪽으로 요청한 애는 너구나! 하고 진짜 내 컴퓨터로 보내줌.
즉, 내 사설 주소랑 외부 목적지 주소를 translation table에 기록해두고 나중에 받아오는 방식~
▽ translation table에 기록해두는 거 목록
◆ IPv6 Addresses
: IPv4 주소가 고갈됨으로써 다른 버전의 주소를 만든 것! 주로 IoT에 많이 사용
길이는 128비트. 즉 2^128 개까지 주소를 만들 수 있음
16비트씩 잘라서 이렇게 표현 (16진수로)
넘 기니까, 0이 많이 올땐 이렇게 줄여서 표현하기도 함.
주로 앞에 48바이트까진 MAC주소 쓰고 나머지는 자동으로 할당받게 하는 구조로 되어 있당
'CS > 컴퓨터 네트워크' 카테고리의 다른 글
Chapter 21. NETWORK LAYER : UNICAST ROUTING (0) | 2022.12.16 |
---|---|
Chapter 20. NETWORK LAYER : INTERNET PROTOCOL (2) | 2022.12.05 |
Chapter 18. VIRTUAl CIRCUIT NETWORK: FRAME RELAY AND ATM (0) | 2022.11.23 |
Chapter 16. WIRELESS WANS : CELLULAR TELEPHONE (0) | 2022.11.23 |
Chapter 15. CONNECTING LANS, BACKBONE NETWORKS, VIRTUAL LANS (0) | 2022.11.21 |