본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 여러 클러스터 ID의 BGP(Border Gateway Protocol) 경로 리플렉션 및 사용의 다양한 시나리오에 대해 설명합니다.
BGP 개념, 특히 클러스터 및 경로 반사에 대한 사전 지식이 전제됩니다.
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
BGP 스피커는 BGP 지원 라우터입니다. 기본적으로 BGP 스피커는 iBGP에서 학습한 접두사를 iBGP 피어에 알리지 않습니다. 이는 루프 방지를 유지하기 위한 것입니다. RFC4456에는 iBGP 스피커 간 풀 메시(full mesh)가 필요하지 않은 경로 반사 기능이 도입되었습니다. 경로 리플렉터는 접두사를 반영할 때 고유한 클러스터 ID를 추가하여 CLUSTER_LIST라는 선택적 비전이적 특성을 생성/수정합니다. 이 속성은 루프 방지에 사용됩니다. 라우터가 라우터 고유 클러스터 ID를 포함하는 CLUSTER_LIST의 업데이트를 수신하면 이 업데이트는 무시됩니다.
기본적으로 클러스터 ID는 BGP 라우터 ID 값으로 설정되지만 임의의 32비트 값으로 설정할 수 있습니다. MCID(Multiple Cluster ID) 기능을 사용하면 네이버별 클러스터 ID를 할당할 수 있습니다. 따라서 3가지 유형의 경로 반사 시나리오가 있습니다.
이 섹션에는 몇 가지 라우터 반사 시나리오와 각 컨피그레이션 예가 있습니다.
이미지 1
다음 컨피그레이션은 경로 리플렉터로 작동하는 라우터 RR에서 수행되었습니다.
RR#show run | sec bgp router bgp 1 bgp log-neighbor-changes neighbor 10.0.10.2 remote-as 1 neighbor 10.0.10.2 route-reflector-client neighbor 10.0.20.2 remote-as 1 neighbor 10.0.20.2 route-reflector-client neighbor 10.0.40.2 remote-as 1
이 경우 S1PE1 및 S1PE2는 RR의 클라이언트이며 S2PE1은 클라이언트가 아닙니다. 기존 설계에서는 비클라이언트 라우터가 다음 계층 레벨에서 라우터의 경로 리플렉터 역할을 하지만, 이 예에서는 간소화를 위해 다른 PE만 사용합니다.
RR#show ip bgp cluster-ids Global cluster-id: 172.16.3.3 (configured: 0.0.0.0) BGP client-to-client reflection: Configured Used all (inter-cluster and intra-cluster): ENABLED intra-cluster: ENABLED ENABLED List of cluster-ids: Cluster-id #-neighbors C2C-rfl-CFG C2C-rfl-USE RR#show ip bgp 172.16.1.1 BGP routing table entry for 172.16.1.1/32, version 2 Paths: (1 available, best #1, table default) Advertised to update-groups: 1 2 Refresh Epoch 2 Local, (Received from a RR-client) 10.0.10.2 from 10.0.10.2 (172.16.1.1) Origin IGP, metric 0, localpref 100, valid, internal, best rx pathid: 0, tx pathid: 0x0 RR#show ip bgp update-group 1 BGP version 4 update-group 1, internal, Address Family: IPv4 Unicast BGP Update version : 4/0, messages 0 Topology: global, highest version: 4, tail marker: 4 Format state: Current working (OK, last not in list) Refresh blocked (not in list, last not in list) Update messages formatted 2, replicated 2, current 0, refresh 0, limit 1000 Number of NLRIs in the update sent: max 1, min 0 Minimum time between advertisement runs is 0 seconds Has 1 member: 10.0.40.2 RR#show ip bgp update-group 2 BGP version 4 update-group 2, internal, Address Family: IPv4 Unicast BGP Update version : 4/0, messages 0 Route-Reflector Client Topology: global, highest version: 4, tail marker: 4 Format state: Current working (OK, last not in list) Refresh blocked (not in list, last not in list) Update messages formatted 3, replicated 6, current 0, refresh 0, limit 1000 Number of NLRIs in the update sent: max 1, min 0 Minimum time between advertisement runs is 0 seconds Has 2 members: 10.0.10.2 10.0.20.2
이러한 출력은 RR이 S1PE1로부터 172.16.1.1/32 접두사를 받아 이를 클라이언트 S1PE2 및 비 클라이언트 S2PE1에 반영하는 것을 보여줍니다. 이 경우 업데이트도 S1PE1로 다시 전송되지만, S1PE1과 S1PE2는 동일한 라우팅 정책을 가지고 있으므로 동일한 업데이트 그룹을 형성합니다.
이미지 2
다음 컨피그레이션은 경로 리플렉터로 작동하는 라우터 RR에서 수행되었습니다.
RR#show run | sec bgp router bgp 1 no bgp client-to-client reflection bgp log-neighbor-changes neighbor 10.0.10.2 remote-as 1 neighbor 10.0.10.2 route-reflector-client neighbor 10.0.20.2 remote-as 1 neighbor 10.0.20.2 route-reflector-client neighbor 10.0.40.2 remote-as 1
AS1이 부분적으로 메쉬되었다고 가정합니다. S1PE1 및 S1PE2는 iBGP 네이버십을 형성합니다(예: 동일한 사이트에 있으며 네트워크 프로세스 업데이트 방식을 최적화하려는 경우). 이 경우 RR은 클라이언트 대 클라이언트 리플렉션을 사용하지 않도록 설정되었으며 S1PE1에서 비클라이언트 S2PE1로만 오는 172.16.1.1/32을 반영합니다.
RR#show ip bgp cluster-ids Global cluster-id: 172.16.3.3 (configured: 0.0.0.0) BGP client-to-client reflection: Configured Used all (inter-cluster and intra-cluster): DISABLED intra-cluster: ENABLED DISABLED List of cluster-ids: Cluster-id #-neighbors C2C-rfl-CFG C2C-rfl-USE RR#show ip bgp 172.16.1.1 BGP routing table entry for 172.16.1.1/32, version 5 Paths: (1 available, best #1, table default, RIB-failure(17)) Advertised to update-groups: 1 Refresh Epoch 2 Local, (Received from a RR-client) 10.0.10.2 from 10.0.10.2 (172.16.1.1) Origin IGP, metric 0, localpref 100, valid, internal, best rx pathid: 0, tx pathid: 0x0
RR#show ip bgp update-group 1 BGP version 4 update-group 1, internal, Address Family: IPv4 Unicast BGP Update version : 7/0, messages 0 Topology: global, highest version: 7, tail marker: 7 Format state: Current working (OK, last not in list) Refresh blocked (not in list, last not in list) Update messages formatted 4, replicated 4, current 0, refresh 0, limit 1000 Number of NLRIs in the update sent: max 1, min 0 Minimum time between advertisement runs is 0 seconds Has 1 member: 10.0.40.2
이미지 3
다음 컨피그레이션은 경로 리플렉터로 작동하는 라우터 RR에서 수행되었습니다.
RR#show run | sec bgp router bgp 1 no bgp client-to-client reflection intra-cluster cluster-id 192.168.1.1 bgp log-neighbor-changes neighbor 10.0.10.2 remote-as 1 neighbor 10.0.10.2 cluster-id 192.168.1.1 neighbor 10.0.10.2 route-reflector-client neighbor 10.0.20.2 remote-as 1 neighbor 10.0.20.2 cluster-id 192.168.1.1 neighbor 10.0.20.2 route-reflector-client neighbor 10.0.40.2 remote-as 1 neighbor 10.0.40.2 cluster-id 192.168.2.2 neighbor 10.0.40.2 route-reflector-client neighbor 10.0.50.2 remote-as 1 neighbor 10.0.50.2 cluster-id 192.168.2.2 neighbor 10.0.50.2 route-reflector-client neighbor 10.0.70.2 remote-as 1
이 경우 사이트 1의 두 PE는 클러스터 192.168.1.1을 형성하고 사이트 2의 두 PE는 클러스터 192.168.2.2를 형성합니다. S3PE1은 클라이언트가 아닙니다. 사이트 1의 PE에는 직접 iBGP 세션이 있으며 클러스터 192.168.1.1에 대해 클러스터 내 리플렉션이 비활성화되어 있지만 클러스터 192.168.2.2에 대해서는 여전히 활성화되어 있습니다. 클러스터 간 리플렉션이 활성화되어 있습니다.
RR#show ip bgp cluster-ids Global cluster-id: 172.16.3.3 (configured: 0.0.0.0) BGP client-to-client reflection: Configured Used all (inter-cluster and intra-cluster): ENABLED intra-cluster: ENABLED ENABLED List of cluster-ids: Cluster-id #-neighbors C2C-rfl-CFG C2C-rfl-USE 192.168.1.1 2 DISABLED DISABLED 192.168.2.2 2 ENABLED ENABLED RR#show ip bgp 172.16.1.1 BGP routing table entry for 172.16.1.1/32, version 5 Paths: (1 available, best #1, table default, RIB-failure(17)) Advertised to update-groups: 3 5 Refresh Epoch 9 Local, (Received from a RR-client) 10.0.10.2 from 10.0.10.2 (172.16.1.1) Origin IGP, metric 0, localpref 100, valid, internal, best rx pathid: 0, tx pathid: 0x0
RR#show ip bgp update-group 3 BGP version 4 update-group 3, internal, Address Family: IPv4 Unicast BGP Update version : 11/0, messages 0 Topology: global, highest version: 11, tail marker: 11 Format state: Current working (OK, last not in list) Refresh blocked (not in list, last not in list) Update messages formatted 20, replicated 20, current 0, refresh 0, limit 1000 Number of NLRIs in the update sent: max 1, min 0 Minimum time between advertisement runs is 0 seconds Has 1 member: 10.0.70.2
RR#show ip bgp update-group 5 BGP version 4 update-group 5, internal, Address Family: IPv4 Unicast BGP Update version : 11/0, messages 0 Route-Reflector Client Configured with cluster-id 192.168.2.2 Topology: global, highest version: 11, tail marker: 11 Format state: Current working (OK, last not in list) Refresh blocked (not in list, last not in list) Update messages formatted 22, replicated 34, current 0, refresh 0, limit 1000 Number of NLRIs in the update sent: max 3, min 0 Minimum time between advertisement runs is 0 seconds Has 2 members: 10.0.40.2 10.0.50.2
S1PE1에서 수신한 접두사 172.16.1.1/32은 클러스터 192.168.2.2의 클라이언트와 비 클라이언트에 반영됩니다. 동시에 S2PE1에서 수신한 접두사 172.16.4.4/32은 모든 클라이언트와 비 클라이언트에 반영됩니다.
RR#show ip bgp 172.16.4.4 BGP routing table entry for 172.16.4.4/32, version 9 Paths: (1 available, best #1, table default, RIB-failure(17)) Advertised to update-groups: 3 4 5 Refresh Epoch 6 Local, (Received from a RR-client) 10.0.40.2 from 10.0.40.2 (172.16.4.4) Origin IGP, metric 0, localpref 100, valid, internal, best rx pathid: 0, tx pathid: 0x0 RR#show ip bgp update-group 3 BGP version 4 update-group 3, internal, Address Family: IPv4 Unicast BGP Update version : 11/0, messages 0 Topology: global, highest version: 11, tail marker: 11 Format state: Current working (OK, last not in list) Refresh blocked (not in list, last not in list) Update messages formatted 20, replicated 20, current 0, refresh 0, limit 1000 Number of NLRIs in the update sent: max 1, min 0 Minimum time between advertisement runs is 0 seconds Has 1 member: 10.0.70.2 RR#show ip bgp update-group 4 BGP version 4 update-group 4, internal, Address Family: IPv4 Unicast BGP Update version : 11/0, messages 0 Route-Reflector Client Configured with cluster-id 192.168.1.1 Topology: global, highest version: 11, tail marker: 11 Format state: Current working (OK, last not in list) Refresh blocked (not in list, last not in list) Update messages formatted 26, replicated 47, current 0, refresh 0, limit 1000 Number of NLRIs in the update sent: max 3, min 0 Minimum time between advertisement runs is 0 seconds Has 2 members: 10.0.10.2 10.0.20.2 RR#show ip bgp update-group 5 BGP version 4 update-group 5, internal, Address Family: IPv4 Unicast BGP Update version : 11/0, messages 0 Route-Reflector Client Configured with cluster-id 192.168.2.2 Topology: global, highest version: 11, tail marker: 11 Format state: Current working (OK, last not in list) Refresh blocked (not in list, last not in list) Update messages formatted 22, replicated 34, current 0, refresh 0, limit 1000 Number of NLRIs in the update sent: max 3, min 0 Minimum time between advertisement runs is 0 seconds Has 2 members: 10.0.40.2 10.0.50.2
클러스터 192.168.2.2에 대해서도 사이트 내 경로 리플렉션을 비활성화할 수 있지만, 이 경우 해당 클러스터의 클라이언트에는 iBGP 세션의 전체 메시가 있어야 합니다.
RR(config-router)#no bgp client-to-client reflection intra-cluster cluster-id 192.168.2.2
RR#sh ip bgp cluster-ids
Global cluster-id: 172.16.3.3 (configured: 0.0.0.0)
BGP client-to-client reflection: Configured Used
all (inter-cluster and intra-cluster): ENABLED
intra-cluster: ENABLED ENABLED
List of cluster-ids:
Cluster-id #-neighbors C2C-rfl-CFG C2C-rfl-USE
192.168.1.1 2 DISABLED DISABLED
192.168.2.2 2 DISABLED DISABLED
모든 클러스터에 대해 사이트 내 반사를 비활성화할 수도 있습니다.
RR(config-router)#no bgp client-to-client reflection intra-cluster cluster-id any
이미지 4
다음 컨피그레이션은 경로 리플렉터로 작동하는 라우터 RR에서 수행되었습니다.
RR#show run | sec bgp router bgp 1 no bgp client-to-client reflection bgp log-neighbor-changes neighbor 10.0.10.2 remote-as 1 neighbor 10.0.10.2 cluster-id 192.168.1.1 neighbor 10.0.10.2 route-reflector-client neighbor 10.0.20.2 remote-as 1 neighbor 10.0.20.2 cluster-id 192.168.1.1 neighbor 10.0.20.2 route-reflector-client neighbor 10.0.40.2 remote-as 1 neighbor 10.0.40.2 cluster-id 192.168.2.2 neighbor 10.0.40.2 route-reflector-client neighbor 10.0.50.2 remote-as 1 neighbor 10.0.50.2 cluster-id 192.168.2.2 neighbor 10.0.50.2 route-reflector-client neighbor 10.0.70.2 remote-as 1
클러스터 내 반사와 클러스터 간 반사를 모두 비활성화할 수 있습니다. 이 경우 클라이언트와 비클라이언트 간의 반영만 수행됩니다.
RR#show ip bgp cluster-ids Global cluster-id: 172.16.3.3 (configured: 0.0.0.0) BGP client-to-client reflection: Configured Used all (inter-cluster and intra-cluster): DISABLED intra-cluster: ENABLED DISABLED List of cluster-ids: Cluster-id #-neighbors C2C-rfl-CFG C2C-rfl-USE 192.168.1.1 2 ENABLED DISABLED 192.168.2.2 2 ENABLED DISABLED
RR#show ip bgp 172.16.1.1
BGP routing table entry for 172.16.1.1/32, version 5
Paths: (1 available, best #1, table default, RIB-failure(17))
Advertised to update-groups:
3
Refresh Epoch 9
Local, (Received from a RR-client)
10.0.10.2 from 10.0.10.2 (172.16.1.1)
Origin IGP, metric 0, localpref 100, valid, internal, best
rx pathid: 0, tx pathid: 0x0
RR#show ip bgp 172.16.4.4
BGP routing table entry for 172.16.4.4/32, version 9
Paths: (1 available, best #1, table default, RIB-failure(17))
Advertised to update-groups:
3
Refresh Epoch 6
Local, (Received from a RR-client)
10.0.40.2 from 10.0.40.2 (172.16.4.4)
Origin IGP, metric 0, localpref 100, valid, internal, best
rx pathid: 0, tx pathid: 0x0
RR#show ip bgp update-group 3
BGP version 4 update-group 3, internal, Address Family: IPv4 Unicast
BGP Update version : 11/0, messages 0
Topology: global, highest version: 11, tail marker: 11
Format state: Current working (OK, last not in list)
Refresh blocked (not in list, last not in list)
Update messages formatted 20, replicated 20, current 0, refresh 0, limit 1000
Number of NLRIs in the update sent: max 1, min 0
Minimum time between advertisement runs is 0 seconds
Has 1 member:
10.0.70.2
접두사 172.16.1.1/32 및 172.16.4.4/32은 각각 클러스터 192.168.1.1 및 192.168.2.2에 의해 생성됩니다. 이 두 접두사는 모두 비 클라이언트 S3PE1에만 반영됩니다. 이 경우 모든 클라이언트가 완전히 메싱되어야 합니다. 일반적으로 이 특정 시나리오에서 MCID는 의미가 없습니다(단일 클러스터로 동일한 동작을 수행할 수 있음). 그러나 서로 다른 네이버의 경로에 대해 서로 다른 클러스터 목록을 사용하려는 경우에도 MCID를 사용할 수 있습니다.
참고: 클러스터 간 반사가 비활성화되어 있는 동안에는 클러스터 내 반사를 활성화할 수 없습니다(특정 클러스터 또는 모든 클러스터).
RR은 접두사를 반영하면 선택적 비전이적 특성 CLUSTER_LIST에 클러스터 ID를 추가합니다. 또한 선택적 비전이적 특성 ORIGINATOR_ID를 RR에 접두사를 알린 피어의 라우터 ID로 설정합니다.
MCID를 사용하고 RR에 접두사가 반영되면 해당 접두사를 RR에 알린 피어에 대해 구성된 클러스터 ID를 사용합니다. 해당 피어에 특정 클러스터 ID가 구성되어 있지 않으면 전역 클러스터 ID가 사용됩니다.
몇 가지 예를 살펴보겠습니다. RR에는 모든 형태의 경로 반사가 활성화되어 있습니다. 전역 클러스터 ID는 172.16.3.3이고 클러스터 ID 192.168.1.1 및 192.168.2.2는 각각 사이트 1과 사이트 2의 PE로 설정됩니다(위의 토폴로지 다이어그램 참조).
RR#show ip bgp cluster-ids Global cluster-id: 172.16.3.3 (configured: 0.0.0.0) BGP client-to-client reflection: Configured Used all (inter-cluster and intra-cluster): ENABLED intra-cluster: ENABLED ENABLED List of cluster-ids: Cluster-id #-neighbors C2C-rfl-CFG C2C-rfl-USE 192.168.1.1 2 ENABLED ENABLED 192.168.2.2 2 ENABLED ENABLED
S2PE3#show ip bgp 172.16.1.1 BGP routing table entry for 172.16.1.1/32, version 2 Paths: (1 available, best #1, table default, RIB-failure(17)) Not advertised to any peer Refresh Epoch 1 Local 10.0.10.2 (metric 20) from 10.0.70.1 (172.16.3.3) Origin IGP, metric 0, localpref 100, valid, internal, best Originator: 172.16.1.1, Cluster list: 192.168.1.1 rx pathid: 0, tx pathid: 0x0
S2PE3#show ip bgp 172.16.4.4 BGP routing table entry for 172.16.4.4/32, version 4 Paths: (1 available, best #1, table default, RIB-failure(17)) Not advertised to any peer Refresh Epoch 1 Local 10.0.40.2 (metric 20) from 10.0.70.1 (172.16.3.3) Origin IGP, metric 0, localpref 100, valid, internal, best Originator: 172.16.4.4, Cluster list: 192.168.2.2 rx pathid: 0, tx pathid: 0x0
비 클라이언트 S2PE3는 클러스터 192.168.1.1에서 시작되는 접두사 172.16.1.1/32을 수신합니다. 클러스터 ID 192.168.1.1이 클러스터 목록에 추가됩니다. 또한 클러스터 192.168.2.2에서 시작되는 접두사 172.16.4.4/32도 수신합니다. 클러스터 ID 192.168.2.2가 클러스터 목록에 추가됩니다.
S1PE1#show ip bgp 172.16.6.6 BGP routing table entry for 172.16.6.6/32, version 5 Paths: (1 available, best #1, table default, RIB-failure(17)) Not advertised to any peer Refresh Epoch 1 Local 10.0.70.2 (metric 20) from 10.0.10.1 (172.16.3.3) Origin IGP, metric 0, localpref 100, valid, internal, best Originator: 172.16.6.6, Cluster list: 172.16.3.3 rx pathid: 0, tx pathid: 0x0
클라이언트 S1PE1은 비 클라이언트에서 시작되는 접두사 172.16.6.6/32을 수신합니다. 전역 클러스터 ID 172.16.3.3이 클러스터 목록에 추가됩니다.
S1PE2#show ip bgp 172.16.1.1/32 BGP routing table entry for 172.16.1.1/32, version 8 Paths: (1 available, best #1, table default, RIB-failure(17)) Not advertised to any peer Refresh Epoch 1 Local 10.0.10.2 (metric 20) from 10.0.20.1 (172.16.3.3) Origin IGP, metric 0, localpref 100, valid, internal Originator: 172.16.1.1, Cluster list: 192.168.1.1 rx pathid: 0, tx pathid: 0
S1PE2는 클러스터 192.168.1.1에 속하며 S1PE1에서 시작하는 접두사 172.16.1.1/32을 수신합니다. 이 접두사는 클러스터 192.168.1.1에도 속합니다. 클러스터 ID 192.168.1.1이 클러스터 목록에 추가됩니다.
S2PE1#show ip bgp 172.16.1.1/32 BGP routing table entry for 172.16.1.1/32, version 4 Paths: (1 available, best #1, table default, RIB-failure(17)) Not advertised to any peer Refresh Epoch 1 Local 10.0.10.2 (metric 20) from 10.0.40.1 (172.16.3.3) Origin IGP, metric 0, localpref 100, valid, internal, best Originator: 172.16.1.1, Cluster list: 192.168.1.1 rx pathid: 0, tx pathid: 0x0 S1PE1#show ip bgp 172.16.4.4/32 BGP routing table entry for 172.16.4.4/32, version 4 Paths: (1 available, best #1, table default, RIB-failure(17)) Not advertised to any peer Refresh Epoch 1 Local 10.0.40.2 (metric 20) from 10.0.10.1 (172.16.3.3) Origin IGP, metric 0, localpref 100, valid, internal, best Originator: 172.16.4.4, Cluster list: 192.168.2.2 rx pathid: 0, tx pathid: 0x0
S2PE1은 클러스터 192.168.2.2에 속하며 클러스터 192.168.1.1에서 시작되는 접두사 172.16.1.1/32을 수신합니다. 클러스터 ID는 192.168.1.1로 설정됩니다.
S1PE1은 클러스터 192.168.1.1에 속하며 클러스터 192.168.2.2에서 시작되는 접두사 172.16.4.4/32을 수신합니다. 클러스터 ID는 192.168.2.2로 설정됩니다.
라우터가 접두사에 대한 업데이트를 수신하면 클러스터 목록에 라우터 고유 클러스터 ID가 포함되어 있으면 해당 업데이트는 무시됩니다. MCID를 사용하는 경우 구성된 클러스터 ID(전역 또는 인접 디바이스별)를 포함하는 업데이트가 삭제됩니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
2.0 |
20-May-2025
|
업데이트된 제목, 소개, 대체 텍스트, 기술 내용, 문법 및 서식. |
1.0 |
21-Apr-2016
|
최초 릴리스 |