1. 확장성 문제 (Scalability Issues)
- ip주소는 hierarchical address이다 즉 네트워크 주소와 호스트 주소 공간을 고정된 크기로 잘라서 사용한다.
- 시간이 지나면서 크게 두가지 문제가 발생했다.
- 제일 작은 C클래스 네트워크 주소를 할당 받았다. 255개의 호스트 주소를 할당할 수 있는데 부족(256)하거나 조금밖(2)에 안쓰는 경우가 생길 수 있다. 즉 자원의 효율이 떨어지는 것이다. 이렇게 할당하다 보니 ip가 부족한 상황이 생겼다.
- 시간이 지나면서 네트워크 수가 급증하면서 라우팅 테이블의 크기도 매우 커졌다. 즉 forwarding할때마다 검색 시간이 오래걸리거나 메모리 공간이 많이 필요해졌다.
2. 서브넷팅 (subnetting)
- 위의 문제를 해결하기 위해
- 주소/라우팅 계층 구조에 서브넷이라는 단계를 추가했다.
- 원래 주소 체계는 network, host 주소이다. 하지만 실제로 host수가 많이 안 필요한 경우가 있다. 할당받은 network에서 host 사용률이 얼마 안되는데 다른 네트워크가 깔리면 또 network주소를 할당해줘야 한다.
- 이 해결책으로 165.194. 네트워크 주소를 할당해주면 그 안에서 여러 네트워크가 잘 쪼개서 쓰도록 하였다.
- 그래서 네트워크 아래 네트워크라고 subnet이라고 부른다.
- subnet은 밖에서 보이지 않기 때문에 scalability를 해결할 수 있다.
- 호스트 주소를 쪼개사용하여 network주소, subnet id가 네트워크 주소처럼 동작하도록 한다.
- 서브넷 마스크와 ip주소를 비트 &하여 1부분만 살아남게 하여 network주소로 사용한다.
- 즉 ip주소에서 네트워크 주소를 뽑아내는 방법으로 subnet mask와 &연산을 하는 것이다.
- 서로다른 세개의 네트워크가 하나의 network주소를 할당받고 subnet mask로 쪼개서 새로운 세개의 subnetted network addresss를 사용하고 있다.
- H1이 H2에게 패킷을 보냈는데 R1 입장에서 상황을 살펴보자. H1은 128.96.34.15이고 H2는 128.96.34.139이다. 각각 서브넷 마스크로 &연산을하여 네트워크 주소를 꺼냈더니 128.96.36.0, 129.96.34.128이다. R1은 interface 1으로 해당 패킷을 목적지로 전달한다.
- 이렇게 서브넷 마스크로 새로운 네트워크 주소를 확인해야 하기 때문에 forwarding table에 서브넷 마스크와 서브넷 넘버를 기록해야 한다.
*하나의 물리적 네트워크를 가상의 여러 네트워크로 구성한 것을 virtual lan이라고 하고 서브넷 마스크를 활용하여 구현한다.
3. Classless 라우팅 (CIDR)
- supernetting, CIDR(Classless Inter-Domain Routing)이라고도 부른다.
- A,B,C 클래스와 무관하게 필요한 만큼의 host 주소 수를 고려하여 네트워크 주소를 할당하는 방법이다.
- 그런데 이렇게 하면 entry point가 너무 많아지니까 이들을 하나의 net으로 묶는다.
- 자 예를 들어 220.10.1.xx, 220.10.2.xx, 220.10.3.xx 이렇게 세개를 주었다고 해보자.
- 얘네 주소는 220.10.0의 22비트를 공유한다. 따라서 220.10.0/22로 표시하여 하나의 supernet으로 묶는다.
- 즉 클래스 규칙을 깨고 prefix길이를 도입하여 어디든 자유롭게 네트워크 주소 호스트 주소를 자를 수 있게 되었다.
- 정리하면 주소를 잘게 잘라서 쓰는데 엔트리가 많아지면 곤란하니까 하나로 묶는다.
- 즉 주소 앞부분 21자리를 봐서 210.10.0 랑 같으면 A로 가라고 테이블을 관리할 수 있다. 이렇게 하면 두개의 엔트리로 두 네트워크를 관리할 수 있다.
- 더 나아가서 두 엔트리도 합칠 수 있다. 이렇게 하면 Y에서는 하나의 엔트리로 X를 거쳐서 네트워크 A와 B로 패킷을 보낼 수 있다. 이를 aggregation이라고 한다.
4. Subnet/ Classless 기법 비교
- scalability문제를 해결하기 위한 두 가지 방법이다.
- 서브넷은 비트마스킹으로 내부에서만 보이는 새로운 subnetted network address를 만든다. 외부에서 보이지 않기 때문에 엔트리가 늘어나지 않는다.
- 즉 이미 받은 주소 공간을 잘라서 사용하기 때문에 엔트리가 늘어나지 않는다.
- supernet은 애초에 필요한 호스트 수를 고려하여 prefix로 주소를 잘라서 network address를 부여하고 그에따라 여러 엔트리가 생기는 문제를 aggregation으로 해결한다.
'ComputerScience > Network' 카테고리의 다른 글
컴퓨터통신 - 28. 차세대 IP (IPv6) (0) | 2021.12.06 |
---|---|
컴퓨터통신 - 27. Forward Table 발전 정리 (0) | 2021.12.06 |
컴퓨터통신 - 25. 가상 네트워크 (virtual network) (0) | 2021.12.06 |
컴퓨터통신 - 24. ICMP(internet control message protocol) (0) | 2021.12.06 |
컴퓨터통신 - 23. 공유기 (0) | 2021.12.06 |