본문 바로가기
Network/실습

[네트워크] IPv6 실습

by 재현짱 2024. 7. 1.
728x90

IPv6 실습

 

환경

  • GNS3 2.2.47 ver 

사용 기기

  • C7200
  • EthernetSwitch

실습 목표

  • IPv6를 이해하고 구축할 수 있다.
  • IPv6의 라우팅에 대해 이해하고 구축할 수 있다.
  • IPv4와 IPv6의 패킷에 대한 차이점을 구별할 수 있다.

환경 구축

 

LAB 환경

Topology

R1

  • f0/0: 3000:1:1:12::2/64

R2

  • f0/0: 3000:1:1:12::3//64
  • s1/1: 3000:1:1:23::3/64

R3

  • s1/1: 3000:1:1:23::4/64

Config 설정

 

R1 설정

R1 F0/0 config 값

R2 설정

R2 F0/0 config 값
R2 S1/1 config 값

R3 설정

R3 S1/1 config 값

 

이후 sh ipv6 int bri 명령어를 사용하여 지정한 포트에 IP 값이 제대로 들어갔는지를 확인해본다. 

show ipv6 interface brief

 

각 포트에 Interface 값을 넣었다면 이제 라우팅을 알아보자. 필자는 OSPF와 RIP로 라우팅을 진행시켜보았다.

 

RIP

 

IPv6의 RIP는 IPv4의 방식과는 차이가 있다. 기존의 IPv4에서는 RIP v1과 v2가 존재했었는데 IPv6에서는 그룹핑을 해주어서 관리한다 아래의 사진은 IPv6에 대한 config 값이다.

더보기

R1

 

R1#conf t

R1(config)#ipv6 router rip 1

R1(config-rtr)#int f0/0

R1(config-if)#ipv6 rip 1 enable

R1(config-if)#end

 

R2

R2#conf t

R2(config)#ipv6 router rip 1

R2(config-rtr)#int f0/0

R2(config-if)#ipv6 rip 1 enable

R2(config-rtr)#int s1/1

R2(config-if)#ipv6 rip 1 enable

R2(config-if)#end

 

R3

R3#conf t

R3(config)#ipv6 router rip 1

R3(config-rtr)#int s1/1

R3(config-if)#ipv6 rip 1 enable

R3(config-if)#end

RIP 1 Routing

이후 통신 및 패킷을 살펴보자 

IPv6 RIP Packet

1. Command (1 byte): 명령을 나타냄

  • 1: Request
  • 2: Response

2. Version (1 byte): RIPng 버전을 나타냄. RIPng의 경우 항상 1

 

3. Reserved (2 byte): 예약된 필드로, 0으로 설정

 

4. RTEs (Routing Table Entries): 각 라우팅 테이블 항목은 20 바이트로 구성되며, 다음과 같은 필드로 나뉨

  • IPv6 Prefix (16 bytes): 라우팅 정보를 제공하는 IPv6 프리픽스.
  • Route Tag (2 bytes): 추가 라우팅 정보를 위한 태그.
  • Prefix Length (1 bytes): IPv6 프리픽스의 길이 (0 - 128)
  • Metric (1 byte): 경로의 메트릭 (거리 벡터 값, 1-15)

요약하자면 RIPng 패킷은 명령, 버전, 예약 필드, 그리고 라우팅 테이블 항목들로 구성됨. 각 라우팅 테이블 항목은 IPv6 프리픽스, 경로 태그, 프리픽스 길이, 메트릭으로 구성됨

 

OSPF

 

OSPF도 RIP와 같이 IPv4와의 차이가 존재했는데, 아래의 config 값을 보면 좀 더 이해가 빠를 것이다.

더보기

R1

 

R1#conf t
R1(config)#ipv6 router ospf 1
R1(config-rtr)#router-id 1.1.1.1
R1(config-rtr)#int f0/0
R1(config-if)# ipv6 ospf 1 area 0
R1(config-if)# end

 

R2

 

R2#conf t

R2(conf)#ipv6 router ospf 1
R2(config-rtr)#router-id 2.2.2.2
R2(config-rtr)#int f0/0
R2(config-if)#ipv6 ospf 1 area 0
R2(config-if)# int s1/1
R2(config-if)#ipv6 ospf 1 area 0
end

 

R3

 

R3#conf t
R3(config)#ipv6 router ospf 1
R3(config-rtr)#router-id 3.3.3.3
R3(config-rtr)#int s1/1
R3(config-if)#ipv6 ospf 1 area 0
R3(config-if)#end

 

R3 ospf config

 

라우팅 테이블을 확인해보자면 아래와 같다. show ipv6 router 명령어를 사용하면 라우팅 테이블을 볼 수있다.

sh ipv6 rou

 

패킷은 아래와 같이 나왔다. 특징을 살펴보자면 IPv4에서는 OSPF가 v2를 사용하는것을 확인할 수 있었는데, IPv6에서는 v3를 사용하는것을 알 수있다.

IPv4 ospf IPv6 ospf

 

이후 IPv6에 대한 패킷을 확인해보자. 패킷은 아래와 같이 핑 통신 + OSPF의 Hello Packet에 대한 내용이다.

IPv6 OSPF Packet

1. Version (1 byte): OSPF 버전을 나타냄 항상 3

 

2. Type (1 byte): 패킷의 유형을 나타냄

  • Hello
  • 인접 라우터를 발견하고, 인접성을 유지, 네트워크의 상태를 확인하는데 사용
  • Database Description (DBD)
  • DBD 패킷은 링크 상태 데이터베이스의 요약 정보를 교환하는 데 사용
  • Link State Request (LSR)
  • LSR 패킷은 필요한 링크 상태 광고 (LSA)를 요청하는 데 사용
  • Link State Update (LSU)
  • LSU 패킷은 새로운 링크 상태 광고 (LSA)를 전달하는 데 사용
  • Link State Acknowledgment (LSAck)
  • LSAck 패킷은 수신한 LSA에 대한 확인 응답을 전송하는 데 사용

3. Packet Length (2 bytes): 패킷 전체 길이 (바이트 단위)

 

4. Router ID (4 bytes): 패킷을 생성한 라우터 ID

 

5. Area ID (4 bytes): 패킷이 속한 영역의 ID

 

6. Checksum (2 bytes): 패킷의 오류 검사를 위한 체크섬

 

7. Instance ID (1 byte): 동일한 링크 상에서 여러 OSPF 인스턴스를 구분하기 위한 ID

 

8. Reserved (1 byte): 예약된 필드로, 0으로 설정

 

요약하자면 OSPF는 IPv6 네트워크를 지원하는 라우팅 프로토콜이고, 패킷은 공통 헤더와 유형별 데이터를 포함하여, 각 패킷 유형은 특정 기능을 수행함

 

끝으로 IPv4와 다른 점들을 볼 수 있었고, IPv6를 직접 설정해보면서 비슷하면서도 엄청 다르다고 느꼇다.

'Network > 실습' 카테고리의 다른 글

[방화벽] ASAv ASDM 설치 실습  (0) 2024.06.26
[네트워크] Web Server in GNS3  (0) 2024.05.30
[보안] ACL 기본 실습  (0) 2024.04.19