Skip to content

inticoy/net-practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

문제 풀이

Level 1. IPv4

level1

문제 의도

  • IPv4 체계에서의 주소의 표현 가능 범위에 대해 알아보자.
  • LAN(Local Area Network)에서의 IP 주소 지정 방식과 서브넷 마스크에 대해서 공부한다.

Goal 1 : client A와 client B 연결

  • 두 컴퓨터가 통신을 하기 위해서는 같은 네트워크에 들어있어야하므로, 네트워크 주소를 같게 한 뒤, 남은 부분으로 A의 주소를 B의 주소와 구분되도록 지정한다.
  • 서브넷 마스크가 255.255.255.0 이므로, 24번째 비트까지가 (104.99.23.0) 네트워크 주소가 된다.
  1. 인터페이스 A의 IP 주소는 104.99.23.0 ~ 104.99.23.255 중에서 네트워크 주소인 (104.99.23.0)과 브로드캐스트 주소 (104.99.23.255), 그리고 인터페이스 B의 주소인 (104.99.23.12) 를 제외한 주소로 지정한다.

Goal 2: client C와 client D 연결

  • 서브넷 마스크가 255.255.0.0 이므로, 16번째 비트까지가 (211.191.0.0) 네트워크 주소가 된다.
  1. Goal 1과 마찬가지로, 인터페이스 D의 IP 주소는 211.191.0.0 ~ 211.191.255.255 중 네트워크 주소와 브로드캐스트 주소, 인터페이스 C의 주소를 제외한 주소로 지정한다.

Level 2. Subnetting

level2

문제 의도

  • 서브넷 마스크의 표현 방식에 대해 알아보자.
  • 브로드캐스트 주소에 대해서 알아보자.
  • Loopback Address에 대해서 알아보자.
    • (는 127.0.0.0/8 범위를 사용하며, 일반적으로 127.0.0.1을 사용한다. 루프백 주소로 패킷을 보내면 외부로 전송되지 않고 로컬로 인식된다.)

Goal 1: client A와 client B 연결

  1. 인터페이스 B1의 서브넷 마스크를 인터페이스 A1의 서브넷 마스크와 같은 /27로 통일한다.
  2. 인터페이스 A1의 주소를 192.168.15.192 ~ 192.168.15.223 중 네트워크 주소, 브로드캐스트 주소, B1의 주소를 제외한 주소로 지정한다.

Goal 2: client C와 client D 연결

  • 문제의 기본값으로 작성되어 있는 127.0.0.1 은 루프백 주소(127.0.0.0/8) 이므로 피해야 한다.
  1. 인터페이스 C1와 D1의 주소를 루프백 주소를 제외한 주소로, 단, 서브넷 마스크로 계산 했을 때 같은 네트워크 주소를 가지도록 설정한다.

Level 3. Switch

level3

문제 의도

  • 스위치의 역할에 대해서 알아보자.

Goal 2: A와 C 연결

  • 스위치로 연결된 A, B, C 컴퓨터 모두 동일한 네트워크 내에서 통신을 해야한다
  1. 따라서 인터페이스 C1의 서브넷 마스크 /25로 인터페이스 A1의 서브넷 마스크를 설정한다.
  2. 서브넷 마스크가 /25, 인터페이스 A1의 IP 주소가 104.198.154.125 이므로, 인터페이스 C1의 IP 주소는 104.198.154.0 ~ 104.198.154.127 에서 네트워크 주소와 브로드캐스트 주소, 인터페이스 A1의 IP 주소를 제외한 주소로 지정한다.

Goal 1: A와 B 연결

Goal 3: B와 C 연결

  • 인터페이스 A1과 인터페이스 C1은 동일한 네트워크로 설정을 마쳤으니, 인터페이스 B1 또한 설정해주면 Goal 1과 3이 동시에 해결된다.
  1. 인터페이스 B1의 서브넷 마스크를 /25로 설정한다.
  2. 인터페이스 B1의 IP 주소를 104.198.154.0 ~ 104.198.154.127에서 네트워크 주소, 브로드캐스트 주소, 인터페이스 A1, C1의 주소를 제외한 주소로 지정한다.

Level 4. Router

level4

문제 의도

  • 라우터의 역할에 대해서 알아보자.

Goal 2: A와 R 연결

  • 라우터는 여러 네트워크들을 연결하게끔 해준다. 단, 서로 다른 네트워크들의 범위가 겹치면 안됨을 주의해 인터페이스 R1의 IP 주소와 서브넷 마스크를 지정해주면 된다.
  • 라우터 R을 기준으로 인터페이스 R3와 연결된 네트워크의 IP주소 사용 범위는 84.41.114.192 ~ 84.41.114.255이다.
  • 라우터 R을 기준으로 인터페이스 R2와 연결된 네트워크의 IP주소 사용 범위는 84.41.114.0 ~ 84.41.114.127이다.
  1. 인터페이스 R1은 위의 범위를 피하고, 84.41.114.132 주소를 포함하되, 인터페이스 A1과 같은 서브넷 마스크를 가져야 한다. 단, 네트워크에 인터페이스 A1, B1, R1이 필요하므로 서브넷 마스크는 /30보다 작아야 한다. 예를 들면, 84.41.114.128 ~ 84.41.114.191, /26은 인터페이스 A1의 주소를 포함하면서 다른 네트워크의 주소 범위와도 겹치지 않는다.

Goal 1: A와 B 연결

Goal 3: B와 R 연결

  1. 인터페이스 A1과 B1의 서브넷 마스크와 IP 주소는 앞선 레벨과 같이 인터페이스 R1의 서브넷 마스크와 동일하게, 같은 네트워크 범위에 있도록 설정한다.

Level 5

level5

문제 의도

  • 경로와 라우팅 테이블에 대해서 알아보자.

Goal 1: A와 R 연결

Goal 2: B와 R 연결

  • Goal 1,2까지는 앞선 레벨 문제들과 동일하다. 인터페이스 A1의 주소와 서브넷 마스크는 인터페이스 R1을 기준으로, 인터페이스 B1의 주소와 서브넷 마스크는 인터페이스 R2를 기준으로 설정하면 된다.

Goal 3: A와 B 연결

  • A와 B는 다른 네트워크에 있기 때문에 A->B로, B->A로 패킷을 보내고 싶다면 경로를 지정해줘야한다. 그리고 그 패킷은 라우터로 제대로 보내져야 해당 네트워크에 보내질 수 있다.
  • 라우팅 테이블의 첫번째 필드는 목적지로, CIDR 형식으로 작성하고, 두번째 필드는 그 목적지로 가기 위해서 거쳐야 할 경로의 다음 인터페이스의 IP주소를 적으면 된다.
  • A에서 B로 패킷을 보내려고 하면, A의 라우팅 테이블에서 해당 주소가 포함되는 곳이 있는지 찾아본다. 어떤 destination에 포함된다면, 해당 next hop으로 패킷을 보낸다.
  • 보내려는 패킷이 라우팅 테이블의 어떠한 destination에도 포함되지 않는다면, default(0.0.0.0/0)에 포함되므로, default의 next hop으로 송신된다. (if-else 문의 else와 같다.)
  • 이 문제에서는 경로가 하나뿐인데다가 A에서 B로만 패킷을 보내므로 destination을 default(0.0.0.0/0)로 작성해도 된다.
  1. 인터페이스 B1의 IP 주소를 166.137.3.253, 서브넷 마스크는 /18 이라고 하자. 그러면 166.137.3.253/18을 포함하도록 destination을 적어주기만 하면 되나, 네트워크 주소(166.137.0.0/18)로 설정한다.
  2. next hop은 인터페이스 R1의 IP 주소 66.255.59.126이 되어야 한다.

Level 6

level6

출제 의도

  • 인터넷에 대해서 알아보자.

Goal 1: A와 Net 상의 인터페이스와 연결

  1. 앞선 문제들과 같이 인터페이스 R1의 IP주소와 인터페이스 A1의 서브넷 마스크를 먼저 설정한다.
  2. 클라이언트 A와 라우터 R의 라우팅 테이블 Destination은 8.8.8.8/16, 혹은 default로 설정한다.
  3. 클라이언트 A의 라우팅 테이블 Next hop은 인터페이스 R1의 IP 주소로 설정한다.
  4. 인터넷의 라우팅 테이블 Destination은 인터페이스 A1의 네트워크를 써주면 된다. 예를 들면 93.70.122.128/25로 설정한다.

Level 7

level7

출제 의도

  • 주소 범위가 겹치지 않게끔 네트워크를 설정한다.
  • 라우터에 라우터가 연결되어 있을 때는 어떻게 해야할까? (결국 똑같다)

Goal 1: dev.non-real.net과 accounting.non-real.net 연결

  • 3개의 네트워크를 서로 네트워크 주소 범위가 겹치지 않게 설정해주면 된다.
  • 이후, 서로 다른 네트워크들끼리 패킷을 주고 받을 수 있도록 라우팅 테이블을 적절하게 설정한다.
  1. (R11, A1), (R12, R21), (R22, C1) 총 3개의 네트워크를 구성하되, 서로의 주소 범위가 겹치지 않게 설정하는데, R11 주소와 R12 주소가 이미 105.198.14.0/24 까지를 공유하고 있다. 따라서 두 네트워크는 구분되어야 하므로, 서브넷 마스크는 최소한 /25를 사용해서 다음과 같이 구분되어야 한다. 서브넷 마스크는 각 네트워크 안에 있는 인터페이스의 IP 주소가 들어올 수 만 있다면, /26을 사용하든, /27을 사용하든 상관없다.
    • 105.198.14.0 ~ 105.198.14.127
    • 105.198.14.128 ~ 105.198.14.255
  2. R22와 C1의 주소는 위의 두 네트워크에서 사용하지 않은 네트워크 주소 범위의 주소로 설정하면 된다. 예를 들어, R22에 0.0.0.1/25, C1에 0.0.0.2/25 도 답이 될 수 있다.
  3. 클라이언트 A와 라우터 R1에서는 클라이언트 C가 포함된 네트워크에 도달하는 방법을 알지 못한다. 반대로, 클라이언트 C와 라우터 R2에서는 클라이언트 A가 포함된 네트워크에 도달하는 방법을 알지 못한다. 따라서, 위의 두 라우터 테이블에는 클라이언트 C의 네트워크로 가는 경로에 있는 다음 인터페이스의 주소를 입력하고, 아래의 두 라우터 테이블에는 그 반대를 입력하면 된다.
    • 예를 들어, 라우터 R2의 라우터 테이블은 105.198.14.0/25 -> 105.198.14.254 혹은, default -> 105.198.14.254를 입력한다.

Level 8

level8

출제 의도

  • 레벨 7번에서 인터넷을 연결해보자.

Goal 1: office.non-real.com 과 home.non-real.com 연결

Goal 2: office.non-real.com과 인터넷 연결

Goal 3: home.non-real.com과 인터넷 연결

  1. 먼저 바로 채울 수 있는 부분이 두 개가 있다. 인터넷 라우팅 테이블의 Next hop은 R12의 IP 주소 (163.135.250.12)가 되어야만 하고, 인터페이스 R13의 IP 주소는 라우터 R2의 Next hop이 되어야 하므로 (145.24.126.62)가 되어야만 한다.
  2. 인터넷이 결국 클라이언트 C와 D에 접속할 수 있어야 하므로, 라우터 R2와 연결되어 있는 3개의 네트워크가 145.24.126.0/26 범위안에 들어있으면서, 최소 3개의 네트워크로 구분되어야 한다. 따라서 /28을 사용해 4개의 네트워크로 구분해 설정하면 된다.
  3. 인터페이스 R13의 주소는 145.24.126.62/28로 정해졌으므로, 인터페이스 R21의 주소는 자동적으로 같은 네트워크 범위인 145.24.126.48 ~ 145.24.126.63 안에 들어오게 설정해야 한다.
  4. 나머지 (R23, D1)과 (R22, C1)은 145.24.126.0/26 (145.24.126.0 ~ 145.24.126.63) 안에 들어오면서, 인터페이스 (R21, R13)이 가진 네트워크 주소의 범위를 피해서 설정하면 된다.
    • 예를 들면 R23은 145.24.126.1/28, R22는 145.24.126.17/28 을 가지게 설정할 수 있다.
    • 4번까지 해결하면 Goal 1은 해결된다.
  5. 이후 라우팅 테이블에 적절하게 보내고 싶은 경로에 있는 다음 인터페이스의 주소를 입력하면 된다.

Level 9

level9

출제 의도

  • 인터넷과의 연결뿐만 아니라 네트워크끼리의 연결도 시켜보자.

Goal 2: C와 D 연결

Goal 1: A와 B 연결

Goal 3: A와 인터넷 연결

Goal 4: A와 D연결

Goal 5: B와 C 연결

Goal 6: C와 인터넷 연결

Level 10

level10

출제 의도

  • Level 9와 상당히 유사하나, 지정된 값이 많아서 오히려 더 쉽다.
  • 주소 범위가 겹치지 않도록 설정하기만 하면 된다.

Goal 1: H1과 H2 연결

  1. H1과 H2의 IP 주소와 서브넷 마스크는 R11으로 인해 지정되어 있다. 서브넷 마스크는 /25로, H21 IP 주소는 162.175.134.0 ~ 162.175.134.127 범위 안에 들어오도록 설정한다.

Goal 2: H3와 H4 연결

  1. R23의 서브넷 마스크는 /26, IP주소는 H4의 라우팅 테이블 Next Hop에 적힌대로 설정한다.
  • R22와 H31의 주소와 서브넷 마스크는 라우터 R2만을 기준으로 한다면 두 네트워크만 피해서 설정하면 되지만, H1과 H2와도 연결이 되어야 하므로, 총 4개의 네트워크가 주소가 겹치지 않고 설정 되어야 한다.
  • 따라서, 이미 설정되어 있는 다음 3개의 네트워크 주소를 피해서 설정한다.
    • 162.175.134.0/25
    • 162.175.134.128/26
    • 162.175.134.252/30
  1. 예를 들어, H31과 R22의 주소는 162.175.134.192/28 범위 내에서 설정할 수 있다.

Goal 4: H1과 H4 연결

Goal 5: H2와 H3 연결

  1. R13의 주소는 라우터 R2의 Next hop에 적힌 대로 설정한다.
  2. 라우터 R1에서 클라이언트 H3으로 가는 패킷의 경로를 지정해줘야 하므로, 비어있는 라우팅 테이블의 목적지를 H31과 R22의 네트워크 범위로 설정한다.

Goal 3: H1과 인터넷 연결

Goal 6: H3와 인터넷 연결

Goal 7: H4와 인터넷 연결

  • 인터넷의 라우팅 테이블 목적지를 4개의 네트워크 범위를 포함하도록, 예를 들면 162.175.134.0/24 로 설정한다. 네트워크 범위를 잘 포함한다면, default나 0.0.0.0/0 만 아니면 된다.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published