- 1 -
Thiết kế & trin khai mng IP
Bài thc hành: Multicast
Mc lc
1 Chun b môi trường ............................................................................................................................. 2
2 Multicast tĩnh (static) ............................................................................................................................ 4
2.1 Cài đặt & cu hình pimd, iperf ...................................................................................................... 4
2.2 Thiết lp trm nhn và trm gi multicast .................................................................................... 5
2.3 Thiết lp lut chuyn tiếp gói tin multicast trong các router ........................................................ 6
3 Thc hành IGMP ................................................................................................................................... 8
3.1 Bt chức năng IGMP trên các router pimd .................................................................................... 8
3.2 To cây multicast H1 R1 R2 R3 H3 vi IGMP ............................................................. 9
3.3 Phân tích các gói tin IGMP Join Report........................................................................................ 13
3.4 Phân tích các gói tin IGMP Leave & Query .................................................................................. 14
4 Thc hành multicast routing protocol: PIM-SSM ................................................................................ 15
4.1 Xây dng cây multicast t động vi PIM-SSM ............................................................................ 16
4.2 Phân tích hoạt động ca PIM-SSM: t động to cây (join group) ............................................... 17
4.3 Phân tích hoạt động ca PIM-SSM: t động ct cành (prun) ...................................................... 19
5 Thc hành multicast routing protocol: PIM-SM .................................................................................. 20
5.1 Thiết lp RP cho các PIM SM ....................................................................................................... 21
5.2 Thiết lp IGMP và PIM cho các kết ni mng ca tng router .................................................... 22
5.3 Trạm nghe H3 đăng ký join vào cây ............................................................................................. 24
5.4 Trm phát H1 phát tin vào nhóm ................................................................................................ 25
5.5 Trm nghe H3 ri nhóm .............................................................................................................. 26
- 2 -
1 Chun b môi trường
S dng các kiến thc của bài trước, dựng môi trường mng o:
1. Cu hình R1:
R1:~$ sudo nano /etc/netplan/00-installer-config.yaml
network:
enp0s9:
addresses:
- 10.10.1.1/24
routes:
- to: 10.10.2.0/24
via: 10.10.1.2
- to: 192.168.2.0/24
via: 10.10.1.2
- to: 192.168.3.0/24
via: 10.10.1.2
enp0s10:
addresses:
- 192.168.1.1/24
R1:~$ sudo netplan apply
R1:~$ ifconfig -a
enp0s9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.10.1.1 netmask 255.255.255.0 broadcast 10.10.1.255
inet6 fe80::a00:27ff:fe10:1 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:10:00:01 txqueuelen 1000 (Ethernet)
RX packets 29972 bytes 2283952 (2.2 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 58281 bytes 4467450 (4.4 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s10: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
R1
enp0s9: 192.168.1.120
R2
R3
enp0s10: 192.168.3.115
enp0s10: 192.168.1.1
enp0s10: 192.168.3.1
enp0s9:
10.10.1.1
enp0s9:
10.10.1.2
enp0s9:
10.10.2.2
enp0s10: 192.168.2.123
enp0s3: 192.168.2.1
enp0s10:
10.10.2.1
H1
H2
H3
- 3 -
inet 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::a00:27ff:fe16:8011 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:16:80:11 txqueuelen 1000 (Ethernet)
RX packets 43492 bytes 3468764 (3.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 31018 bytes 2341480 (2.3 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
R1:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.1.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s9
10.10.2.0 10.10.1.2 255.255.255.0 UG 0 0 0 enp0s9
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s10
192.168.2.0 10.10.1.2 255.255.255.0 UG 0 0 0 enp0s9
192.168.3.0 10.10.1.2 255.255.255.0 UG 0 0 0 enp0s9
2. Cu hình H1:
H1:~$ sudo nano /etc/netplan/00-installer-config.yaml
network:
ethernets:
enp0s8:
addresses:
- 192.168.156.120/24
enp0s9:
addresses:
- 192.168.1.120/24
gateway4: 192.168.1.1
R1:~$ sudo netplan apply
R1:~$ ifconfig -a
enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.156.120 netmask 255.255.255.0 broadcast 192.168.156.255
inet6 fe80::a00:27ff:fec8:5f09 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:c8:5f:09 txqueuelen 1000 (Ethernet)
RX packets 23225 bytes 1560103 (1.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 22747 bytes 3166631 (3.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.120 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::a00:27ff:fe1c:c215 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:1c:c2:15 txqueuelen 1000 (Ethernet)
RX packets 23529 bytes 1838902 (1.8 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 43420 bytes 3460554 (3.4 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
H1:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 enp0s9
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s9
3. Cấu hình R2, H2, R3, H3 làm tương tự. Kim tra kết ni thông gia các host:
H1:~$ ping 192.168.2.115
PING 192.168.2.115 (192.168.2.115) 56(84) bytes of data.
64 bytes from 192.168.2.115: icmp_seq=1 ttl=61 time=2.78 ms
64 bytes from 192.168.2.115: icmp_seq=2 ttl=61 time=2.63 ms
64 bytes from 192.168.2.115: icmp_seq=3 ttl=61 time=2.60 ms
H1:~$ ping 192.168.3.123
PING 192.168.3.123 (192.168.3.123) 56(84) bytes of data.
64 bytes from 192.168.3.123: icmp_seq=1 ttl=62 time=1.68 ms
64 bytes from 192.168.3.123: icmp_seq=2 ttl=62 time=1.84 ms
64 bytes from 192.168.3.123: icmp_seq=3 ttl=62 time=2.18 ms
- 4 -
2 Multicast tĩnh (static)
2.1 Cài đặt & cu hình pimd, iperf
1. Cài đặt tool iperf trên các host. Tool iperf hot động theo cơ chế client/server và cho phép đăng
ký, gi, nhận theo địa ch multicast:
H1:~$ sudo apt-get install iperf
. . .
2. S dng quagga zebra pimd đã được cài đặt trên các router để h tr multicast
R1:~$sudo nano /etc/quagga/zebra.conf
hostname R1
password zebra
enable password zebra
log file /var/log/quagga/zebra.log
R1:~$ sudo systemctl restart zebra
R1:~$ sudo systemctl status zebra
● zebra.service - GNU Zebra routing manager
Loaded: loaded (/lib/systemd/system/zebra.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-10-06 06:07:32 +07; 1h 48min ago
Docs: man:zebra
Process: 626 ExecStartPre=/sbin/ip route flush proto zebra (code=exited,
status=0/SUCCESS)
Process: 630 ExecStartPre=/bin/chmod -f 640 /etc/quagga/vtysh.conf
/etc/quagga/zebra.conf (code=exited, status=1/FAILURE)
Process: 635 ExecStartPre=/bin/chown -f quagga:quagga /etc/quagga/zebra.conf
(code=exited, status=0/SUCCESS)
Process: 639 ExecStartPre=/bin/chown -f quagga:quaggavty /etc/quagga/vtysh.conf
(code=exited, status=1/FAILURE)
Process: 640 ExecStart=/usr/sbin/zebra -d -A 127.0.0.1 -f /etc/quagga/zebra.conf
(code=exited, status=0/SUCCESS)
Main PID: 655 (zebra)
R1
enp0s9: 192.168.1.120
R2
R3
enp0s10: 192.168.3.115
enp0s10: 192.168.1.1
enp0s10: 192.168.3.1
enp0s9:
10.10.1.1
enp0s9:
10.10.1.2
enp0s9:
10.10.2.2
enp0s10: 192.168.2.123
enp0s3: 192.168.2.1
enp0s10:
10.10.2.1
H1
H2
H3
- 5 -
Tasks: 1 (limit: 1071)
Memory: 2.7M
CGroup: /system.slice/zebra.service
└─655 /usr/sbin/zebra -d -A 127.0.0.1 -f /etc/quagga/zebra.conf
Oct 06 06:07:31 R1 systemd[1]: Starting GNU Zebra routing manager...
Oct 06 06:07:32 R1 systemd[1]: Started GNU Zebra routing manager.
3. Thiết lp cu hình multicast ti thiu cho tiến trình pimd trên các router. Khai báo ip pim ssm trên
mi giao din mạng có ý nghĩa cho phép pimd thc hin multicast routing bng giao thc PIM vi
SSM mode (Source Specific Multicast). Tuy nhiên trong bài thc hành này, ta s không chy giao
thc multicast routing mà thc hin cu hình static các lut forward gói tin multicast:
R1:~$ sudo nano /etc/quagga/pimd.conf
password zebra
enable password zebra
ip multicast-routing
interface enp0s9
ip pim ssm
interface enp0s10
ip pim ssm
R1:~$ sudo systemctl restart pimd
R1:~$ sudo systemctl status pimd
● pimd.service - PIM multicast routing engine
Loaded: loaded (/lib/systemd/system/pimd.service; disabled; vendor preset: enabled)
Active: active (running) since Sat 2021-10-02 10:32:29 +07; 8s ago
Docs: man:pimd
Process: 6347 ExecStartPre=/bin/chmod -f 640 /etc/quagga/pimd.conf (code=exited,
status=0/SUCCESS)
R1:~$ ifconfig -a
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
2.2 Thiết lp trm nhn và trm gi multicast
4. Trên H2 chy iperf chế độ server (đóng vai trò trm nhn các gói tin multicast) để nghe các gói tin
UDP gửi vào địa ch nhóm 226.96.1.1:
H2:~$ iperf -s -u -B 226.96.1.1 -i 1
------------------------------------------------------------
Server listening on UDP port 5001
Binding to local address 226.96.1.1
Joining multicast group 226.96.1.1
Receiving 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
5. M trên mt session trên H2 để kiểm tra H3 đã được join vào địa ch multicast 226.96.1.1:
H2:~$ ip -4 maddress
1: enp0s10
inet 226.96.1.1
inet 224.0.0.1
6. Trên H1, chy iperf chế độ client và gửi gói tin UDP vào địa ch multicast 226.96.1.1. Nếu bt gói
tin trên router R1 s thấy nó được gửi đến kết ni mng gia R1 và H1, tuy nhiên do các router
chưa được cấu hình multicast nên gói tin này chưa được lan tỏa đến router R3 và kết quiperf
trên H3 chưa nhận được gói tin gi t H1:
H1:~$ iperf -c 226.96.1.1 -u
------------------------------------------------------------
Client connecting to 226.96.1.1, UDP port 5001
Sending 1470 byte datagrams, IPG target: 11215.21 us (kalman adjust)
Setting multicast TTL to 1
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.120 port 39179 connected with 226.96.1.1 port 5001