Belajar Mengkonfigurasi MPLS-VPN (PE-CE OSPF) Di Junos
Belajar Mengkonfigurasi MPLS-VPN (PE-CE OSPF) Di Junos
Belajar Mengkonfigurasi MPLS-VPN (PE-CE OSPF) Di Junos
Berhubung masih nobitol makanya masih script kiddies, maklum baru belajar hehehehe...........@_@
--------------------------------------------------------------------------------------------
! Topology yang digunakan !
--------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
! Konfigurasi Router cnc1 (CE1) !
------------------------------------------------------------------------------------------------
root@cnc1# show
## Last changed: 2010-07-04 13:57:49 UTC
version 8.4R4.2;
system {
host-name cnc1;
root-authentication {
encrypted-password "$1$rdYbfs2s$UfeiORYzSrjvML7X.mIHy0"; ## SECRET-DATA
}
login {
message "\n\n!========================================================!\n
\n!Router cnc, maintened by:iwing !\n
\n!Access to this device is limited to authorized user only!\n
\n!WARNING!!!:ALL unathourized access is prohibited. !\n
\n!========================================================!\n\n";
user iwing {
uid 2001;
class super-user;
authentication {
encrypted-password "$1$rQy0ZTV0$A1hVDjhzF2niCbd/4MI0K."; ## SECRET-DATA
}
}
}
services {
ftp;
ssh;
telnet;
web-management {
http {
port 80;
}
}
}
syslog {
user * {
any emergency;
}
file messages {
any notice;
authorization info;
}
file interactive-commands {
interactive-commands any;
}
}
}
interfaces {
fxp0 {
unit 0 {
family inet {
address 192.168.10.1/24;
}
}
}
fxp2 {
unit 0 {
family inet {
address 192.168.80.1/24;
}
}
}
lo0 {
unit 0 {
family inet {
address 1.1.1.1/32;
}
}
}
}
protocols {
ospf {
area 0.0.0.0 {
interface lo0.0 {
passive;
}
interface fxp0.0;
interface fxp2.0;
}
}
}
[edit]
root@cnc1#
------------------------------------------------------------------------------------------------
! Konfigurasi Router cnc2 (PE1) !
------------------------------------------------------------------------------------------------
[edit]
root@cnc2# show
## Last changed: 2010-07-04 13:29:13 UTC
version 8.4R4.2;
system {
host-name cnc2;
root-authentication {
encrypted-password "$1$QeV0HEqD$DcAIEpD8DU94YaIzoqsfo/"; ## SECRET-DATA
}
login {
message "\n\n!========================================================!\n
\n!Router cnc, maintened by:iwing !\n
\n!Access to this device is limited to authorized user only!\n
\n!WARNING!!!:ALL unathourized access is prohibited. !\n
\n!========================================================!\n\n";
user iwing {
uid 2000;
class super-user;
authentication {
encrypted-password "$1$a1HVR5jH$yoUbW1IOcAHOdAQCahOpy0"; ## SECRET-DATA
}
}
}
services {
ftp;
ssh;
telnet;
}
syslog {
user * {
any emergency;
}
file messages {
any notice;
authorization info;
}
file interactive-commands {
interactive-commands any;
}
}
}
interfaces {
fxp0 {
unit 0 {
family inet {
address 192.168.10.2/24;
}
family mpls;
}
}
fxp1 {
unit 0 {
family inet {
address 192.168.20.1/24;
}
family mpls;
}
}
lo0 {
unit 0 {
family inet {
address 2.2.2.2/32;
}
}
}
}
routing-options {
router-id 2.2.2.2;
autonomous-system 100;
}
protocols {
rsvp {
traceoptions {
file ldp-log;
flag all;
flag packets detail;
}
interface fxp1.0;
interface fxp0.0;
}
mpls {
label-switched-path pe-cnc2-to-pe-cnc4 {
to 4.4.4.4;
}
interface fxp1.0;
interface fxp0.0;
}
bgp {
family inet {
unicast;
}
group pe-cnc2-to-pe-cnc4 {
type internal;
local-address 2.2.2.2;
family inet {
unicast;
}
family inet-vpn {
unicast;
}
peer-as 100;
neighbor 4.4.4.4;
}
}
ospf {
traffic-engineering;
area 0.0.0.0 {
interface lo0.0 {
passive;
}
interface fxp1.0;
label-switched-path pe-cnc2-to-pe-cnc4;
}
}
}
policy-options {
policy-statement vpncnc-export-policy {
term 1 {
from protocol ospf;
then {
community add vpncnc;
accept;
}
}
term 2 {
then reject;
}
}
policy-statement vpncnc-import-policy {
term 1 {
from {
protocol bgp;
community vpncnc;
}
then accept;
}
term 2 {
then reject;
}
}
community vpncnc members target:100:01;
}
routing-instances {
vpncnc {
instance-type vrf;
interface fxp0.0;
route-distinguisher 100:01;
vrf-import vpncnc-import-policy;
vrf-export vpncnc-export-policy;
vrf-table-label;
protocols {
ospf {
export vpncnc-import-policy;
area 0.0.0.0 {
interface fxp0.0;
}
}
}
}
}
[edit]
root@cnc2#
------------------------------------------------------------------------------------------------
! Konfigurasi Router cnc3 (P) !
------------------------------------------------------------------------------------------------
[edit]
root@cnc3# show
## Last changed: 2010-07-04 12:39:54 UTC
version 8.4R4.2;
system {
host-name cnc3;
root-authentication {
encrypted-password "$1$rdYbfs2s$UfeiORYzSrjvML7X.mIHy0"; ## SECRET-DATA
}
login {
message "\n\n!========================================================!\n
\n!Router cnc, maintened by:iwing !\n
\n!Access to this device is limited to authorized user only!\n
\n!WARNING!!!:ALL unathourized access is prohibited. !\n
\n!========================================================!\n\n";
user iwing {
uid 2000;
class super-user;
authentication {
encrypted-password "$1$nBU.RVsT$LMG9TWM9OUQZGvInqYfEu1"; ## SECRET-DATA
}
}
}
services {
ftp;
ssh;
web-management {
http {
port 80;
}
}
}
syslog {
user * {
any emergency;
}
file messages {
any notice;
authorization info;
}
file interactive-commands {
interactive-commands any;
}
}
}
interfaces {
fxp0 {
unit 0 {
family inet {
address 192.168.30.1/24;
}
family mpls;
}
}
fxp1 {
unit 0 {
family inet {
address 192.168.20.2/24;
}
family mpls;
}
}
lo0 {
unit 0 {
family inet {
address 3.3.3.3/32;
}
}
}
}
routing-options {
router-id 3.3.3.3;
autonomous-system 100;
}
protocols {
rsvp {
traceoptions {
file ldp-log;
flag all;
flag packets detail;
}
interface fxp0.0;
interface fxp1.0;
}
mpls {
interface all;
interface fxp0.0;
interface fxp1.0;
}
ospf {
traffic-engineering;
area 0.0.0.0 {
interface lo0.0 {
passive;
}
interface fxp0.0;
interface fxp1.0;
}
}
}
[edit]
root@cnc3#
------------------------------------------------------------------------------------------------
! Konfigurasi Router cnc4 (PE2) !
------------------------------------------------------------------------------------------------
[edit]
root@cnc4# show
## Last changed: 2010-07-04 13:54:31 UTC
version 8.4R4.2;
system {
host-name cnc4;
root-authentication {
encrypted-password "$1$rdYbfs2s$UfeiORYzSrjvML7X.mIHy0"; ## SECRET-DATA
}
login {
message "\n\n!========================================================!\n
\n!Router cnc, maintened by:iwing !\n
\n!Access to this device is limited to authorized user only!\n
\n!WARNING!!!:ALL unathourized access is prohibited. !\n
\n!========================================================!\n\n";
user iwing {
uid 2000;
class super-user;
authentication {
encrypted-password "$1$a4h8jH/6$WNgvFOgNFh2cnvlaHnZms1"; ## SECRET-DATA
}
}
}
services {
ftp;
ssh;
web-management {
http {
port 80;
}
}
}
syslog {
user * {
any emergency;
}
file messages {
any notice;
authorization info;
}
file interactive-commands {
interactive-commands any;
}
}
}
interfaces {
fxp0 {
unit 0 {
family inet {
address 192.168.30.2/24;
}
family mpls;
}
}
fxp2 {
unit 0 {
family inet {
address 192.168.40.1/24;
}
family mpls;
}
}
lo0 {
unit 0 {
family inet {
address 4.4.4.4/32;
}
}
}
}
routing-options {
router-id 4.4.4.4;
autonomous-system 100;
}
protocols {
rsvp {
traceoptions {
file ldp-log;
flag all;
flag packets detail;
}
interface fxp0.0;
interface fxp2.0;
}
mpls {
label-switched-path pe-cnc4-to-pe-cnc2 {
to 2.2.2.2;
}
interface fxp0.0;
interface fxp2.0;
}
bgp {
family inet {
unicast;
}
group pe-cnc4-to-pe-cnc2 {
type internal;
local-address 4.4.4.4;
family inet {
unicast;
}
family inet-vpn {
unicast;
}
peer-as 100;
neighbor 2.2.2.2;
}
}
ospf {
traffic-engineering;
area 0.0.0.0 {
interface lo0.0 {
passive;
}
interface fxp0.0;
interface fxp1.0;
label-switched-path pe-cnc4-to-pe-cnc2;
}
}
}
policy-options {
policy-statement vpncnc-export-policy {
term 1 {
from protocol ospf;
then {
community add vpncnc;
accept;
}
}
term 2 {
then reject;
}
}
policy-statement vpncnc-import-policy {
term 1 {
from {
protocol bgp;
community vpncnc;
}
then accept;
}
term 2 {
then reject;
}
}
community vpncnc members target:100:01;
}
routing-instances {
vpncnc {
instance-type vrf;
interface fxp2.0;
route-distinguisher 100:01;
vrf-import vpncnc-import-policy;
vrf-export vpncnc-export-policy;
vrf-table-label;
protocols {
ospf {
export vpncnc-import-policy;
area 0.0.0.0 {
interface fxp2.0;
}
}
}
}
}
[edit]
root@cnc4#
------------------------------------------------------------------------------------------------
! Konfigurasi Router cnc5 (CE2) !
------------------------------------------------------------------------------------------------
[edit]
root@cnc5# show
## Last changed: 2010-07-04 13:28:14 UTC
version 8.4R4.2;
system {
host-name cnc5;
root-authentication {
encrypted-password "$1$rdYbfs2s$UfeiORYzSrjvML7X.mIHy0"; ## SECRET-DATA
}
login {
message "\n\n!========================================================!\n
\n!Router cnc, maintened by:iwing !\n
\n!Access to this device is limited to authorized user only!\n
\n!WARNING!!!:ALL unathourized access is prohibited. !\n
\n!========================================================!\n\n";
user iwing {
uid 2000;
class super-user;
authentication {
encrypted-password "$1$a4h8jH/6$WNgvFOgNFh2cnvlaHnZms1"; ## SECRET-DATA
}
}
}
services {
ftp;
ssh;
web-management {
http {
port 80;
}
}
}
syslog {
user * {
any emergency;
}
file messages {
any notice;
authorization info;
}
file interactive-commands {
interactive-commands any;
}
}
}
interfaces {
fxp2 {
unit 0 {
family inet {
address 192.168.40.2/24;
}
}
}
fxp4 {
unit 0 {
family inet {
address 192.168.90.1/24;
}
}
}
lo0 {
unit 0 {
family inet {
address 5.5.5.5/32;
}
}
}
}
protocols {
ospf {
area 0.0.0.0 {
interface lo0.0 {
passive;
}
interface fxp2.0;
interface fxp4.0;
}
}
}
[edit]
root@cnc5#
------------------------------------------------------------------------------------------------
! How to check 1 (run show mpls interface) and (run show rsvp interface) !
------------------------------------------------------------------------------------------------
[edit]
root@cnc2# run show mpls interface
Interface State Administrative groups
fxp1.0 Up <none>
[edit]
root@cnc2# run show rsvp interface
RSVP interface: 2 active
Active Subscr- Static Available Reserved Highwater
Interface State resv iption BW BW BW mark
fxp0.0 Up 0 100% 10Mbps 10Mbps 0bps 0bps
fxp1.0 Up 1 100% 10Mbps 10Mbps 0bps 0bps
[edit]
[edit]
root@cnc3# run show mpls interface
Interface State Administrative groups
fxp0.0 Up <none>
fxp1.0 Up <none>
[edit]
root@cnc3# run show rsvp interface
RSVP interface: 2 active
Active Subscr- Static Available Reserved Highwater
Interface State resv iption BW BW BW mark
fxp0.0 Up 1 100% 10Mbps 10Mbps 0bps 0bps
fxp1.0 Up 1 100% 10Mbps 10Mbps 0bps 0bps
[edit]
root@cnc3#
[edit]
root@cnc4# run show mpls interface
Interface State Administrative groups
fxp0.0 Up <none>
[edit]
root@cnc4# run show rsvp interface
RSVP interface: 2 active
Active Subscr- Static Available Reserved Highwater
Interface State resv iption BW BW BW mark
fxp0.0 Up 1 100% 10Mbps 10Mbps 0bps 0bps
fxp2.0 Up 0 100% 10Mbps 10Mbps 0bps 0bps
[edit]
root@cnc4#
------------------------------------------------------------------------------------------------
! How to check 2 (run show mpls lsp) !
------------------------------------------------------------------------------------------------
[edit]
root@cnc2# run show mpls lsp
Ingress LSP: 1 sessions
To From State Rt ActivePath P LSPname
4.4.4.4 2.2.2.2 Up 2 * pe-cnc2-to-pe-cnc4
Total 1 displayed, Up 1, Down 0
[edit]
root@cnc2#
[edit]
root@cnc3# run show mpls lsp
Ingress LSP: 0 sessions
Total 0 displayed, Up 0, Down 0
[edit]
root@cnc3#
edit]
root@cnc4# run show mpls lsp
Ingress LSP: 1 sessions
To From State Rt ActivePath P LSPname
2.2.2.2 4.4.4.4 Up 2 * pe-cnc4-to-pe-cnc2
Total 1 displayed, Up 1, Down 0
[edit]
root@cnc4#
------------------------------------------------------------------------------------------------
! How to check 3 (run show bgp summary) !
------------------------------------------------------------------------------------------------
[edit]
root@cnc2# run show bgp summary
Groups: 1 Peers: 1 Down peers: 0
Table Tot Paths Act Paths Suppressed History Damp State Pending
inet.0 0 0 0 0 0 0
bgp.l3vpn.0 2 2 0 0 0 0
Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn
State|#Active/Received/Damped...
4.4.4.4 100 194 146 0 0 57:45 Establ
inet.0: 0/0/0
bgp.l3vpn.0: 2/2/0
vpncnc.inet.0: 2/2/0
[edit]
root@cnc2#
[edit]
root@cnc4# run show bgp summary
Groups: 1 Peers: 1 Down peers: 0
Table Tot Paths Act Paths Suppressed History Damp State Pending
inet.0 0 0 0 0 0 0
bgp.l3vpn.0 2 2 0 0 0 0
Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn
State|#Active/Received/Damped...
2.2.2.2 100 145 197 0 0 1:21:36 Establ
inet.0: 0/0/0
bgp.l3vpn.0: 2/2/0
vpncnc.inet.0: 2/2/0
[edit]
root@cnc4#
------------------------------------------------------------------------------------------------
! How to check 4 (run show bgp neighbor) !
------------------------------------------------------------------------------------------------
[edit]
root@cnc2# run show bgp neighbor
Peer: 4.4.4.4+179 AS 100 Local: 2.2.2.2+2470 AS 100
Type: Internal State: Established Flags: <Sync>
Last State: OpenConfirm Last Event: RecvKeepAlive
Last Error: None
Options: <Preference LocalAddress AddressFamily PeerAS Rib-group Refresh>
Address families configured: inet-unicast inet-vpn-unicast
Local Address: 2.2.2.2 Holdtime: 90 Preference: 170
Number of flaps: 0
Peer ID: 4.4.4.4 Local ID: 2.2.2.2 Active Holdtime: 90
Keepalive Interval: 30 Peer index: 0
BFD: disabled, down
NLRI advertised by peer: inet-unicast inet-vpn-unicast
NLRI for this session: inet-unicast inet-vpn-unicast
Peer supports Refresh capability (2)
Table inet.0 Bit: 10000
RIB State: BGP restart is complete
Send state: in sync
Active prefixes: 0
Received prefixes: 0
Suppressed due to damping: 0
Advertised prefixes: 0
Table bgp.l3vpn.0
RIB State: BGP restart is complete
RIB State: VPN restart is complete
Send state: not advertising
Active prefixes: 2
Received prefixes: 2
Suppressed due to damping: 0
Table vpncnc.inet.0 Bit: 40000
RIB State: BGP restart is complete
RIB State: VPN restart is complete
Send state: in sync
Active prefixes: 2
Received prefixes: 2
Suppressed due to damping: 0
Advertised prefixes: 2
Last traffic (seconds): Received 9 Sent 21 Checked 14
Input messages: Total 223 Updates 9 Refreshes 3 Octets 4935
Output messages: Total 166 Updates 11 Refreshes 3 Octets 4047
Output Queue[0]: 0
Output Queue[1]: 0
Output Queue[3]: 0
[edit]
root@cnc2#
[edit]
root@cnc4# run show bgp neighbor
Peer: 2.2.2.2+2470 AS 100 Local: 4.4.4.4+179 AS 100
Type: Internal State: Established Flags: <Sync>
Last State: OpenConfirm Last Event: RecvKeepAlive
Last Error: None
Options: <Preference LocalAddress AddressFamily PeerAS Rib-group Refresh>
Address families configured: inet-unicast inet-vpn-unicast
Local Address: 4.4.4.4 Holdtime: 90 Preference: 170
Number of flaps: 0
Peer ID: 2.2.2.2 Local ID: 4.4.4.4 Active Holdtime: 90
Keepalive Interval: 30 Peer index: 0
BFD: disabled, down
NLRI advertised by peer: inet-unicast inet-vpn-unicast
NLRI for this session: inet-unicast inet-vpn-unicast
Peer supports Refresh capability (2)
Table inet.0 Bit: 10000
RIB State: BGP restart is complete
Send state: in sync
Active prefixes: 0
Received prefixes: 0
Suppressed due to damping: 0
Advertised prefixes: 0
Table bgp.l3vpn.0
RIB State: BGP restart is complete
RIB State: VPN restart is complete
Send state: not advertising
Active prefixes: 2
Received prefixes: 2
Suppressed due to damping: 0
Table vpncnc.inet.0 Bit: 40000
RIB State: BGP restart is complete
RIB State: VPN restart is complete
Send state: in sync
Active prefixes: 2
Received prefixes: 2
Suppressed due to damping: 0
Advertised prefixes: 2
Last traffic (seconds): Received 9 Sent 20 Checked 31
Input messages: Total 165 Updates 11 Refreshes 3 Octets 4028
Output messages: Total 224 Updates 9 Refreshes 3 Octets 4988
Output Queue[0]: 0
Output Queue[1]: 0
Output Queue[3]: 0
[edit]
root@cnc4#
------------------------------------------------------------------------------------------------
! How to check 5 !
------------------------------------------------------------------------------------------------
[edit]
root@cnc2# run ping 192.168.80.2 count 5 routing-instance vpncnc
PING 192.168.80.2 (192.168.80.2): 56 data bytes
64 bytes from 192.168.80.2: icmp_seq=0 ttl=63 time=14.727 ms
64 bytes from 192.168.80.2: icmp_seq=1 ttl=63 time=2.671 ms
64 bytes from 192.168.80.2: icmp_seq=2 ttl=63 time=2.209 ms
64 bytes from 192.168.80.2: icmp_seq=3 ttl=63 time=2.963 ms
64 bytes from 192.168.80.2: icmp_seq=4 ttl=63 time=3.306 ms
[edit]
root@cnc2#
[edit]
root@cnc4# run ping 192.168.90.2 count 5 routing-instance vpncnc
PING 192.168.90.2 (192.168.90.2): 56 data bytes
64 bytes from 192.168.90.2: icmp_seq=0 ttl=63 time=14.421 ms
64 bytes from 192.168.90.2: icmp_seq=1 ttl=63 time=4.052 ms
64 bytes from 192.168.90.2: icmp_seq=2 ttl=63 time=4.367 ms
64 bytes from 192.168.90.2: icmp_seq=3 ttl=63 time=2.962 ms
64 bytes from 192.168.90.2: icmp_seq=4 ttl=63 time=5.776 ms
[edit]
root@cnc4#
------------------------------------------------------------------------------------------------
! How to check 6 (run show route) !
------------------------------------------------------------------------------------------------
[edit]
root@cnc1# run show route
[edit]
root@cnc1#
[edit]
root@cnc2# run show route
100:1:5.5.5.5/32
*[BGP/170] 00:03:38, MED 10, localpref 100, from 4.4.4.4
AS path: I
> to 192.168.20.2 via fxp1.0, label-switched-path pe-cnc2-to-pe-cnc4
100:1:192.168.90.0/24
*[BGP/170] 00:03:38, MED 20, localpref 100, from 4.4.4.4
AS path: I
> to 192.168.20.2 via fxp1.0, label-switched-path pe-cnc2-to-pe-cnc4
[edit]
root@cnc2#
[edit]
root@cnc3# run show route
[edit]
root@cnc3#
[edit]
root@cnc4# run show route
100:1:1.1.1.1/32
*[BGP/170] 00:05:38, MED 10, localpref 100, from 2.2.2.2
AS path: I
> to 192.168.30.1 via fxp0.0, label-switched-path pe-cnc4-to-pe-cnc2
100:1:192.168.80.0/24
*[BGP/170] 00:05:38, MED 20, localpref 100, from 2.2.2.2
AS path: I
> to 192.168.30.1 via fxp0.0, label-switched-path pe-cnc4-to-pe-cnc2
[edit]
root@cnc4#
[edit]
root@cnc5# run show route
[edit]
root@cnc5#
------------------------------------------------------------------------------------------------
! How to check 6 (run show route table vpncnc.inet.0) !
------------------------------------------------------------------------------------------------
[edit]
root@cnc2# run show route table vpncnc.inet.0
[edit]
root@cnc2#
[edit]
root@cnc4# run show route table vpncnc.inet.0
[edit]
root@cnc4#
------------------------------------------------------------------------------------------------
! How to check 7 (run show route table bgp.l3vpn.0) !
------------------------------------------------------------------------------------------------
[edit]
root@cnc2# run show route table bgp.l3vpn.0
100:1:5.5.5.5/32
*[BGP/170] 00:07:03, MED 10, localpref 100, from 4.4.4.4
AS path: I
> to 192.168.20.2 via fxp1.0, label-switched-path pe-cnc2-to-pe-cnc4
100:1:192.168.90.0/24
*[BGP/170] 00:07:03, MED 20, localpref 100, from 4.4.4.4
AS path: I
> to 192.168.20.2 via fxp1.0, label-switched-path pe-cnc2-to-pe-cnc4
[edit]
root@cnc2#
[edit]
root@cnc4# run show route table bgp.l3vpn.0
100:1:1.1.1.1/32
*[BGP/170] 00:09:55, MED 10, localpref 100, from 2.2.2.2
AS path: I
> to 192.168.30.1 via fxp0.0, label-switched-path pe-cnc4-to-pe-cnc2
100:1:192.168.80.0/24
*[BGP/170] 00:09:55, MED 20, localpref 100, from 2.2.2.2
AS path: I
> to 192.168.30.1 via fxp0.0, label-switched-path pe-cnc4-to-pe-cnc2
[edit]
root@cnc4#
------------------------------------------------------------------------------------------------
! How to check 8 (run show route table bgp.l3vpn.0 detai []) !
------------------------------------------------------------------------------------------------
[edit]
root@cnc2# run show route table bgp.l3vpn.0 detail 192.168.90.0/24
[edit]
root@cnc4# run show route table bgp.l3vpn.0 detail 192.168.80.0/24
[edit]
root@cnc4#
------------------------------------------------------------------------------------------------
! How to check 9 (run show route table mpls protocol vpn detail) !
------------------------------------------------------------------------------------------------
[edit]
root@cnc2# run show route table mpls protocol vpn detail
[edit]
root@cnc2
[edit]
root@cnc4# run show route table mpls protocol vpn detail
[edit]
root@cnc4#
------------------------------------------------------------------------------------------------
! How to check 10 (ping from Custumer to Custumer)
------------------------------------------------------------------------------------------------
"Sekian dulu, semoga bermanfaat dan salam sedogedoi", saya mau belajar lagi teorinya T_T, kalau
ada yang keliru tolong beritahu saya, terima kasih... @_@ “CMIIW”