인터넷 : TCP / IP를 사용하는데 이는 transport layer / network layer이다.
IP addressing
32-bit identifier for host and router interface
8bit.8bit.8bit.8bit로 나타내며 .을 통해 구분됨
router의 각 port들의 ip address들을 표현했고, 그 밖은 host들의 ip address이다.
왼쪽 세개의 호스트와 라우터 인터페이스는 233.1.1.xxx 형식의 IP 주소를 가진다.
4개의 인터페이스가 중계하는 라우터 없이, 하나의 네트워크에 연결되어있는 것이다. (LAN or AP로 연결)
세 호스트들의 인터페이스와 하나의 라우터 인터페이스가 subnet을 구성하는 것이다.
따라서 233.1.1은 subnet 구분을 위한 bit이고, 뒤에 xxx는 host 구분을 위한 bit이다.
subnet
hosts that can physically reach each other without through the router
라우터를 통과하지 않고 서로 연결 가능한 호스트들 (고립된 네트워크)
classful addressing
A는 0+ 7 bit까지 subnet + 24bits for host
B는 10+14bit까지 subnet + 16bits for host
C는 100+21bit 까지 subnet + 8bits for host
D는 1110으로 multicast address이다.
E는 1111로 reserved 되어있다.
* flexible 하지 않고 field 길이가 고정되어 있다.
CIDR (classless Internet domain Routing)
인터넷 주소 할당 방식 중 하나로 서브넷 주소 체계 표기를 일반화함
subnet partion can be arbitary length
- subnet port : high order bits
- host port : low order bits
a.b.c.d/x 형식으로 네트워크가 이루어진다.
where x is # of bits in subnet partion
ex) 128.66.60.0/24는 24bits for subnet and flexible for host이다.
예시
135.46.56.0/22의 경우 22만 subnet 으로 사용하고 나머지는 host로 사용한다
135.46.001110xx.xxxxxxxx
해당 x 부분이 host의 주소가 된다.
따라서 호스트의 가장 상위 비트 xx에 따라서
135.46.56.x
135.46.57.x
135.46.58.x
135.46.59.x
네 가지의 경우가 나올 수 있다.
NAT | 네트워크 주소 변환
모든 호스트가 서브넷으로부터 IP를 할당받을 때 네트워크가 현저하게 커지면 그만큼 큰 주소 블록이 할당되어야한다.
ISP가 이미 해당 주소 범위의 인접한 부분을 할당하는 문제가 발생하면, NAT으로 주소를 할당한다.
NAT 가능 라우터는 홈 네트워크의 일부인 인터페이스를 가진다 (가상 인터넷 주소)
홈 네트워크의 4개의 인터페이스 (LAN side router까지) 10.0.0.0/24를 갖는다.
주소 공간 10.0.0.0/8은 사설망 or 사설 개인 주소를 같은 권역을 위해 예약된 IP주소 세 부분 중 하나가 된다.
>> 사설 개인 주소를 가지는 권역은 홈 네트워크 내부에서만 의미가 있다. 따라서 글로벌 인터넷과 송수신 할 수 없다.
NAT 가능 라우터는 WAN과 LAN에 다른 주소를 가진다.
내부 호스트들과 외부 호스트들이 그럼 어떻게 소통할 수 있을까?
NAT 라우터에서 NAT 변환 테이블을 사용하고, 그 테이블에 IP 주소와 포트 번호를 포함하여 알 수 있다.
웹 서버는 내부 호스트를 모르는 채로 WAN side의 라우터를 목적지로 IP로 응답하고, 이를 NAT 변환 테이블로 알맞게 간다.
* 포트 번호는 프로세스 주소 지정이다. (호스트 주소 지정과는 관련 없음)
'CS > Computer Network' 카테고리의 다른 글
[Link Layer] Error Detection & Correction (0) | 2024.12.12 |
---|---|
[Network Layer] Routing Algorithm (0) | 2024.12.12 |
[Network Layer] Routing (0) | 2024.10.18 |
[Transport Layer] TCP (1) | 2024.10.17 |
[Transport Layer] 신뢰적인 데이터 전송의 원리 (4) | 2024.10.16 |