Written by coh at home

Netpractice 본문

CS/ComputerNetwork

Netpractice

och 2023. 8. 2. 01:26

Netpractice는 네트워크에 대한 기본 개념을 배울 수 있는 과제이다.

 

해당 과제에서는 다음과 같은 용어들이 사용된다. 

1. subnet, subnetmask

2. boradcast 주소

3. IP address.

 

# Network의 역사 : subnet의 등장 배경.

네트워크는 컴퓨터 통신망 또는 데이터 통신망이다. 집에 있는 노트북을 떠올려보자. 정처기 기준으로는 DTE, 데이터 종단기기라고 부르고 다른 용어로는 End Point 혹은 End node 혹은 host라고 한다. 데이터통신에선 host를 주로 사용하여 host라고 하겠다. 

 

노트북이 공유기를 통해 wifi에 접속하게 되면 노트북은 IP주소를 할당받는다. 

IP주소는 쉽게말하면 도로명주소다.

누군가 나에게 편지를 보낸다면 실제 도로명 주소를 보고 집배원이 편지 배달을 하는 것처럼 내가 데이터를 요청하고 수신하게 될 때 데이터는 IP주소를 보고 내 노트북으로 찾아오는 것이다.

 

cmd창에서 ipconfig를 쳐보자.

그러면 노트북, 즉, host의 IP주소는 192.168.xx.xx 이런 식으로 할당받은 것을 볼 수 있는데 이게 다 무엇일까??

 

바로 IPv4의 주소이다 32bit로 8bit씩 끊어서 숫자를 할당하는 것이다. 이때 최대 IP갯수는 약 43억개인데 초창기에는컴퓨터가 적어서 주소가 넘쳐났지만 이제는 컴퓨터가 너무 많아져서 주소가 모자르게 되었고 이를 해결하기 위해 나온 것이 128bit의 IPv6와 subnet개념이다. 다만 현재 IPv6는 IPv4와 혼용해서 쓰긴 하지만 보편적이진 않다. subnet은 네트워크를 낭비없이 할당하기 위해 나온 개념이다..!! (원래는 class개념을 사용하여 IP를 뭉텅뭉텅 주었음.)

 

출처:https://inpa.tistory.com/entry/WEB-IP-%ED%81%B4%EB%9E%98%EC%8A%A4-%EC%84%9C%EB%B8%8C%EB%84%B7-%EB%A7%88%EC%8A%A4%ED%81%AC-%EC%84%9C%EB%B8%8C%EB%84%B7%ED%8C%85-%EC%B4%9D%EC%A0%95%EB%A6%AC

IP주소는 네트워크ID + 호스트ID로 표현할 수 있다. 그리고 IP주소에서는 사용할 수 없는 기본적으로 정의된 주소들이 있는데 우선 호스트 ID의 모든 bit이 0인 경우는 네트워크 그 자체의 주소를 의미하기에 사용을 못 하고 호스트 ID의 모든 bit이 1인 경우는 인터넷 데이터를 전달하기 위한 주소로 건들면 안 된다. (& operation을 이용)

-192.168.1.0 : 네트워크 주소

-192.168.1.255 : 브로드캐스트 주소

-192.168.1.1 : 보통 라우터 할당. 일반 사용자는 2부터

 

이외에도 건들면 안되는 주소는 다음과 같다. 

127.x.x.x : 루프백주소

10.x.x.x : 사설

192.168.x.x : 사설

172.16.x.x ~ 172.31.x.x : 사설

 

조금만 class와 서브넷에 대한 추가설명을 하자면 현재 위 사진 예시는 C클래스의 네트워크 주소이다. 호스트 ID는 8bit만 사용 가능하여 할당할 수 있는 host의 수는 2^8 -2 = 254이다. 근데 만약에 어떤 회사에서 필요한 IP수가 100 개라면 154개는 낭비가 되고 있는 셈이다. 안 그래도 IP주소 모자른데 이걸 아끼고 싶네 해서 나온 것이 바로 서브넷이다.

 

즉, 과거 class 시스템 : 할당 IP 갯수 고정. 낭비가 됨. 

현재 subnet 시스템 : 할당 IP 갯수 설정. 필요한 만큼. 

 

출처:https://nordvpn.com/ko/blog/what-is-subnet-mask/

이제 서브넷마스크는 바로 네트워크 주소를 가져오기 위한 마스크로 네크워크ID에 해당하는 모든 bit이 1인 것이다. 

서브넷마스크의 다른표현으로 IP주소가 192.168.123.45/24일때 /24로 24bit가 subnet mask라고 표현하기도 한다. 이렇게 표현하면 단 6개의 bit로 subnet mask의 크기를 알 수 있어서 매우 효율적이다. 

subnetMASK : 네트워크 ID의 범위를 알려준다. 

 

그럼 이제 subnetting을 하는 과정을 알아보자. host ID의 MSB부터 이용하여 쪼갠다. 예를 들어 0 ~ 127 / 128 ~ 255 까지 쪼갤 때 MSB가 0일 때는 2^6 -2 개의 호스트를 할당할 수 있고 MSB가 1일 때도 2^6 - 2개를 할당할 수 있는 것이다. 위에서도 말했지만 0은 네트워크 주소 그 자체이고 255일때는 브로드캐스트 주소이다. 만약 64개씩 쪼개고 싶다면 MSB부터 2bit를 00, 01, 10, 11로 식별할 수 있다. 

 

3계층 장비인 라우터에는 2가지 정보가 있다. 하위 네트워크, 그리고 이정표인 라우팅 테이블이 있다. 여담이지만 2계층에도 스위칭테이블이 있다. 라우팅 테이블을 이용할 때 방법은 2가지가 있다. 정적라우팅과 동적라우팅. 정적 라우팅은 직접 테이블을 작성하여 경로를 설정하는 것이다. 동적 라우팅은 라우팅 프로토콜에 의해 결정된다. 

 

라우터에 연결된 경로들은 각자 다른 IP경로를 가져야하고 한 경로에 접속하는 하위 네트워크들은, 즉, 스위치들은 같은 네트워크 ID들을 가져야한다.

 

이제부터 문제에 대한 해설을 해보겠다!!

 

1.

한 라우터의 경로는 같은 네트워크 ID를 가져야한다는 지식을 묻는 문제이다. 

 

네트워크 ID를 맞춰주고 HOST ID를 8bit 범위 내의 수(0-255)로 맞춰주면 된다. 다만 0은 NETWORK ID이고 255는 브로드캐스트 주소이므로 빼고 사용한다. (일반적으로 1도 라우터의 할당된다. )

 

따라서 104.94.23.x 를 맞추고 host ID가 겹치지 않게 0 ~255로 맞추면 된다. 우측도 마찬가지로 211.191.x.x 맞추고 host ID 부여하면 된다. 이때 0, 255는 사용 불가능하다. 

 

2.

1번의 개념 + subnet에 대한 지식이 있는지 그리고 사용할 수 없는 IP에 대해 알고 있는지 묻는 문제이다. 

 

왼쪽 네트워크의 subnet mask를 보면 /27이다. 호스트 ID는 5bit로 32개의 IP대역대를 가질 것이다.

네트워크 아이디는 동일해야하므로 192.168.44.110xxxxx를 가질 것이다. 192 ~ 223 사이의 값을 가져야한다.이때 192, 222, 223은 피해야한다.

 

오른쪽 네트워크의는 초기에 127.x.x.x로 할당되어 있는데 이는 루프백 주소로 사용 불가능하다. 

 

+ 사용불가능한 IP

127.x.x.x : 루프백 주소

10.x

172.16.x ~ 172.31.x 

192.168.x.x 

 

위 아이피대역을 피해서 할당해 주면 된다. subnetMASK = /30이므로 hostID는 2bit이다.

서브넷 네트워크가 4개의 대역을 가지므로 4개의 범위 내에서 사용해야 한다. 예를들어 0~3 라면 0, 3, 겹치는 IP는 피해야하니까 1, 2이렇게 부여할 수 있겠다. 나는 248 ~ 251 사이의 대역을 이용하여 할당했다. 

 

3.

스위치 장비를 알고있는지. 하위네트워크의 네트워크ID는 어떻게 되는지. 128개로 서브네팅했을 때 IP부여는 어떻게 되는지에 대한 문제이다.

 

스위치는 2계층 장비로서 라우팅과 연결되는 하위네트워크 장비이다. (2계층 장비) 하위네트워크는 같은 네트워크 ID를 가져야하므로 네트워크 ID를 일단 104.198.178.0xxxxxxx로 맞추어주었다. 또한 MASK를 /25 또는 255.255.255.128로 맞추면 된다. 

 

subnetMASK가 /25이므로 0~127 사이의 아이피 대역을 0, 127, 중복 IP를 제외하고 부여하면 된다. 

 

4.

subnetting과 하위네트워크의 네트워크 ID에 대한 문제이다.

 

우선 가장 먼저 확인한 것은 라우팅의 subnetMASK와 interface A1의 IP Address였다.

interface R2의 서브넷MASK와(/25) IP주소를 보고 0~127로 쪼갠 것을 확인하고

interface R3의 서브넷MASK와(/26) 인 것을 보고 64개의 서브넷팅을 한 것을 확인했다. 그 중 마지막 8bit이 244임을 보고 IP대역이 192~ 255인 것을 확인했다. 

 

따라서 interface R1의 MASK는 /26이고 IP주소가 78.198.113.128 ~ 191 임을 확인하여 78.198.113.129를 부여하였다. 

R1의 네트워크 대역대에 맞춰 하위네트워크에 /26의 MASK를 부여하고 IP주소 부여하면 된다.

 

5. 

 

우선 B1, A1의 MASK를 각각 R2, R1에 동일하게 맞줘준다. 그리고 IP할당을 subnetting에 맞게 해주면 된다. 

B1같은 경우 host ID가 14bit이다. 3번째 Octal bit을 살펴보면 대역대를 64개씩 쪼갠 것을 알 수 있다.

따라서 137.206.128.x ~ 191.x 값으로 할당해주면 된다. (마찬가지로 137.206.128.0, 137.207.255.255 같은 주소 피해야함.)

A1도 마찬가지로 부여한다. 

 

그리고 경로를 지정해야한다.

왼쪽 : 목적지.

오른쪽 : 경로가 되는 라우터 주소. 

 

 default나 0.0.0.0/0은 목적지 IP주소로 가야하는데 intreface경로가 없을 때 알려주는 경로이다. 

즉, 일단은 이 node로 이동해서 다시 찾아봐라 하는 것. 만약 다음 노드에서 목적지가 있다면 default -> xxx.xxx.xxx.xxx를 해주면 된다.

 (목적지의 네트워크 ID)137.206.128.0/18을 해도 동작할 것이다. (137.206.1xxxxxxx.xxxxxxxx/18)

 

6.

5번과 같은 정적라우팅 테이블을 작성하는 문제.

 

Step1. interface R1의 네트워크 ID를 맞춰주고 client A의 경로를 지정해준다.

Step2. Internet의 네트워크 ID를 지정해준다.

Step3. Router의 default경로를 Internet으로 지정해준다.

 

7.

라우터 2개를 이용해 통신을 하는 과정을 묻는 문제이다. 

 

우선 R11, A1 / R12, R21 / R22, C1 이렇게 같은 네트워크 그룹을 묶고 그룹별 네트워크 ID를 만들어준다.

그 후 경로를 부여한 IP에 맞게 설정한다.

 

8.

얼핏보면 복잡해 보이지만 대원칙은 같다.

 

-> 같은 경로의 네트워크 ID는 같다. 

우선 인터넷에서의 Route를 보자. 164.34.33.0/26으로 설정이 되어있다. 따라서 R23, D1 / R22, C1 의 네트워크들은 

164.34.33.1 ~ 164.34.33.62의 네트워크 범위를 가져야 한다. 

D1의 mask를 보고 서브네팅을 진행한 후(mask부여) 네트워크 ID가 겹치지 않게 IP를 부여해준다.

 

그 후 경로를 설정해주면 끝.

 

9.

앞서서 배운 것을 확장한 모습이다. 

항상 대원칙은 똑같다는 것을 잊지않고 잘 따라가면 문제없이 해결할 수 있다.

 

->같은 경로에서 네트워크 ID는 같다. 

우선네트워크 그룹을 묶고 subnetMASK에 맞게 IP를 설정해주면 된다. 

주의할 점은 사설 ip가 인터넷과 연결이 되지 않으므로 변경하여 사용한다.

 

여기서 나는 D1과 R23의 네트워크가 

34.92.11xxxxxx.xxxxxxxx인데 만약 세번째 Octal값을 192이상으로 설정하면 네트워크 ID가 겹치게 되면서 

반드시 대원칙을 지키도록 하자.

네트워크가 구분될 수 있도록 주의해야한다. (34.92.0.x ~ 34.92.191.x) 

 

10.

오히려 9번보다 단서가 많아서 쉬운 문제이다. 

 

단서를 하나씩 찾아가면서 작성하면 된다. 한가지 R22, H31 네트워크 부분에서 4번째 Octal bit이 11xxxxxx가 되는데 R13과 R21의 네트워크 ID랑 겹치면 안되는 것만 주의하면 된다. 

 

 

 

https://onepinetwopine.tistory.com/433

 

네트워크 ] IP주소 서브넷마스크 게이트웨이 MAC 설명! (IP, subnet, gateway, mac)

그냥 IP가 대체 뭔지 그리고 그에 따라오는 서브넷 마스크, 게이트웨이 MAC이 대체 뭔지 이해하기 쉽게 적어보겠습니다. 그냥 궁금하신 분들을 위해 적는 것으로, 세세하게 이론적 정의나 작동방

onepinetwopine.tistory.com

 

 

네트워크 ] IP주소 서브넷마스크 게이트웨이 MAC 설명! (IP, subnet, gateway, mac)

그냥 IP가 대체 뭔지 그리고 그에 따라오는 서브넷 마스크, 게이트웨이 MAC이 대체 뭔지 이해하기 쉽게 적어보겠습니다. 그냥 궁금하신 분들을 위해 적는 것으로, 세세하게 이론적 정의나 작동방

onepinetwopine.tistory.com

http://www.kocw.net/home/cview.do?cid=6166c077e545b736#.YwOZcOGfkRE.link

'CS > ComputerNetwork' 카테고리의 다른 글

[컴네]Intro  (0) 2023.09.07