[NetPractice] 과제 해석

MinbeomSeo·2022년 5월 16일
2

42seoul_subject

목록 보기
2/2

이 글은 NetPractice 과제의 문제들을 설명하는 글로, 과제를 풀기 전에 시리즈의 이전 글을 읽고 오시는 것을 권장드립니다.

각 문제는 각각 문제에 주어진 Goal을 해결해야 넘어갈 수 있습니다.
최대한 답을 기입해드리는 것을 지양하려 하였으나 최소한의 이해를 위해 몇 가지 답은 기입해두었습니다.
틀린 부분에 대한 피드백은 언제나 환영합니다. :)


Level 1


Goal 1. my PC는 my brother's computer와 연결되어야 합니다.

이 두 컴퓨터가 통신하기 위해서는 두 컴퓨터가 같은 LAN안에 있어야합니다.
현재 두 컴퓨터의 Mask(Subnet Mask)는 지정되어있으므로, 여러분은 선행학습으로 알게 된 네트워크 주소/호스트 주소 개념을 기반하여 답을 작성하시면 됩니다.

A. 104.96.23.1 ~ 104.96.23.254에서, 호스트 주소가 12인 IP를 뺀 나머지 IP 주소

Goal 2 또한 Goal 1와 같은 형식의 문제입니다.


Level 2


level 1과 대동소이한 문제입니다.
다른 점이라고는 Mask에 생소한 형식의 숫자가 들어가있다는 점입니다.

/30 으로 표시 된 마스크는 다음과 같은 의미입니다.

/30 = 11111111.11111111.11111111.11111100

즉 연속적으로 1이 나와야하는 서브넷 마스크 특성에서, 몇 개의 연속된 1이 있는가. 라고 생각하면 됩니다.

C와 D가 같은 네트워크 주소임에도 연결되지 않을 때는 로컬호스트에 대해 찾아보세요.


Level 3

처음으로 스위치가 등장하는 레벨입니다. 하지만 선행학습을 통해 우리는 스위치가 있다고 한들 같은 네트워크 내이기에 IP와 서브넷 마스크만 잘 넣어주면 된다는 사실을 알고 있습니다.

문제 내에서 주어지는 단서를 토대로 범위에 맞는 IP 주소와 알맞은 서브넷 마스크를 입력하세요.


Level 4


처음으로 라우터가 등장하는 레벨입니다.
라우터는 각 인터페이스끼리 다른 네트워크 주소를 가져야합니다.
라우터의 네트워크 주소가 겹치지 않으면서, 스위치에 연결된 인터페이스가 같은 네트워크 주소를 갖도록 입력하세요.


Level 5


라우터를 이용한 네트워크 통신이 처음 등장하는 레벨입니다.
라우팅 테이블을 이용한 정적 라우팅이 처음 등장하기도 합니다.

정적 라우팅이란, 특정 네트워크로 가는 경로를 관리자가 직접 지정하는 방식으로 보내려는 대상이 테이블의 왼쪽과 일치하면 오른쪽에 메세지를 전달하도록 요청합니다.
예시의 default는 0.0.0.0/0과 같으며 모든 항목과 일치하는 경우를 말합니다.

(도착하려는 목적지의 주소) -> (연결된 라우터의 주소)

와 같은 모양으로 이해하면 좋습니다.

이 레벨의 goal 3에서는 A가 B와 통신하려고 하므로, 도착지인 B의 네트워크가 포함되도록 설정해준 후, 오른쪽에 연결된 라우터의 IP를 넣어주면 됩니다.

하지만 이 숫자만이 정답은 아닙니다. 가령 B의 테이블처럼 보내려는 대상이 그 어떤 것이든 보내기 위해 defalut 값을 넣어줄 수도 있습니다.

혹은 서브넷마스크가 다르더라도 도착지의 IP가 포함되어있다면 가능합니다.


Level 6

인터넷이 처음 등장하는 레벨입니다. 하지만 두려워 할 필요는 없습니다.
위에서 쌓은 지식으로 충분히 깰 수 있습니다.

먼저 다른 지식으로 채울 수 있는 부분을 채워넣으면 문제가 되는 부분은 인터넷에 있는 라우팅 테이블일 것입니다.
쉽게 끝내기 위해 defalut같은 값을 넣었다간 KO를 받을 테니까요.
이유는 다른 Net의 interface와 client A가 defalut 값을 넣으면 구별되지 않기 때문입니다.

이 둘이 구별되기 위해 가장 쉽게 넣을 수 있는 답은 client A가 속한 네트워크 주소 값을 라우팅 테이블에 넣어주는 것입니다. 가령 45.80.114.129/25 와 같은 답을요.
하지만 꼭 이 숫자만이 답은 아닙니다. 다른 답을 찾아보고, 이유를 찾아보는 것을 권장합니다.


Level 7

라우터가 처음으로 여러 개 나오는 레벨입니다.
두 개의 컴퓨터가 두 개의 라우터를 사용하여 서로 통신할 수 있도록 구성해주는 것이 이 레벨의 Goal입니다.

기존의 지식을 통해 우리는 R11과 A1이 같은 네트워크, R22와 C1이 같은 네트워크, R12와 R21이 같은 네트워크라는 사실을 알 수 있습니다.
동시에 이 세 개의 네트워크는 각각 다른 네트워크여야합니다.

왜냐하면 라우터는 도착지의 주소를 보고 로컬 네트워크인지 아닌지 구분하게 되는데, 두 개의 라우터를 거치는 동안 모두 구분되지 않으면 제대로 통신을 할 수 없게 되기 때문입니다.

때문에 단서가 있는 R11-A1과 R12-R21이 구분되도록 서브넷 마스크를 설정해주어야합니다. R22-C1의 경우 완전히 다른 네트워크 주소를 넣어주는 편이 좋습니다.


Level 8

라우팅 테이블이 두 개로 늘어나고, 모든 클라이언트를 인터넷과 연결해야하는 레벨입니다.

먼저 인터넷과 통신이 가능한 범위가 지정되어있기에, C1과 D1의 IP주소는 131.241.182.0/26 안에 있다는 것을 알 수 있습니다. (131.241.182.1 ~ 62)
또한 우리는 R21과 R22, R23이 각각 다른 네트워크 주소여야한다는 사실도 알고 있습니다.

위의 이유와 지정된 값들을 토대로 IP를 나누어 설정해주면 됩니다.


Level 9

이전의 레벨들의 혼합형 문제입니다.
하지만 정확하게 같은 네트워크 주소들과 다른 네트워크의 주소들을 잡아주고, 그들이 통신할 수 있도록 라우팅 테이블만 잘 넣어주면 됩니다.

이 문제에서 같은 네트워크는 다음과 같습니다.
1) B1-A1-R11
2) R13-R21
3) R22-C1
4) R23-D1

또한 각 라우터 기준으로 이들의 네트워크 주소는 구분이 지어져야 합니다.
1) R21 != R22 != R23
2) R11 != R12 != R13

마지막으로 인터넷과 연결되는 IP는 사설IP면 안됩니다.

이 조건을 정확히 이해하고 기존의 칸에 주는 숫자들을 변형하여 goal을 해결하세요.
라우팅 테이블이 여러 개이기 때문에 level 8처럼 범위에 크게 신경쓰지 않아도 됩니다.


Level 10

level 9에서 인터넷의 라우팅 테이블이 1개로 줄어든, level 8 + 9 의 형태의 문제입니다.
기존의 문제들을 풀며 학습이 잘 되었다면, 오히려 단서가 많기 때문에 쉽게 풀 수 있는 문제이기에 추가적인 답에 대한 설명은 넘어가겠습니다.

단서들을 통해 채워낼 수 있는 부분을 채운 후 통신이 되지 않는다면 같은 네트워크로 인식될 수 있게 서브넷마스크를 설정한 부분이 있는지 확인하여야 합니다.


이 과제를 공부하며 도움이 되었던 참고자료

[조금 더 상세한 NetPractice 설명]
[정적 라우팅]
[서브넷 마스크의 의미]
[일본 카뎃의 NetPractice 정리글]
[IP 이해가 쉬워지는 글]


마치며

끝내고 보면 42에서 나름 쉬운 과제임에도 불구하고, 이 과제에 대해 정리한 글이 하나도 없던 것이 아쉬웠던 마음에 시작한 내가 써보자(...)를 기어이 해내게 해주신 많은 카뎃 동료분에게 감사의 인사를 남깁니다!

profile
42seoul member & S/W Developer

0개의 댓글