You are on page 1of 67

BÁO CÁO TRAINING FPT TELECOM TUẦN 3+4

TÌM HIỂU CÁC KIẾN THỨC CƠ BẢN VỀ NETWORK

NVTS: Lê Bảo Ngọc


11. TÌM HIỂU VỀ GIAO THỨC ĐỊNH TUYẾN MULTICAST

11.1 Tổng quan về giao thức multicast

11.1.1 Giới thiệu chung


-Cuối những năm 80, Steve Deering làm việc trên một dự án trong đó có nhu cầu gửi một
thông điệp từ một máy tính đến một nhóm các máy tính thông qua các giao thức lớp 3.
Sau khi nghiên cứu vài giao thức định tuyến, Deering kết luận rằng chức năng của các
giao thức định tuyến có thể mở rộng để hỗ trợ cơ chế Multicast lớp 3. Định nghĩa cơ bản
nhất của IP Multicast là:
Cơ chế gửi một thông điệp từ một nguồn duy nhất đến một nhóm chọn lựa các địa chỉ
đích thông qua một hạ tầng mạng lớp 3 trong một dòng dữ liệu. Nếu bạn muốn gửi một
thông điệp từ một nguồn về một đích, bạn có thể dùng cơ chế Unicast. Nếu bạn muốn gửi
một thông điệp từ một nguồn đến tất cả các đích trong một phân đoạn mạng, bạn phải
dùng Broadcast(kể cả đích đó không có nhu cầu tiếp cận thông điẹp đó).
Các ứng dụng chẳng hạn như âm thanh, hình ảnh, các chương trình TV quảng bá…
Multicast đã được nghiên cứu như một thành phần của Internet, được biết đến như dự án
Multicast mạng chính, Mbone. Tuy nhiên muốn triển khai Multicast trên toàn mạng
Internet thì phải chờ các nghiên cứu về BGP đa giao thức và Giao thức Multicast BGP.
-Multicast là phương thức truyền làm sao cho server cung cấp dịch vụ cho tới từng client
tối ưu nhất về băng thông truyền trên mạng, lúc đó cần 1 địa chỉ IP đặc biệt đại diện cho
1 nhóm mà khi truyền thông điệp hay bản tin nào đó qua giao thức này thì chỉ những
client trong nhóm được định danh bởi IP dặc biệt đó mới nhận được.
-Ví dụ trong định tuyến OSPF hay EIGRP, khi gửi bản tin giao thức cập nhật định tuyến,
thì chỉ các giao thức nằm trong vùng định tuyến đó mới chạy được. Cụ thể trong OSPF,
khi ta gửi bản tin cập nhật định tuyến tới địa chỉ 224.0.0.5 thì tất cả các DR(Designated
Route) sẽ nhận được bản cập nhật định tuyến đó và chỉ những DR trong OSPF mới nhận
được vì đó là địa chỉ đặc biệt đại diện cho nhóm DR. Hay trong thực tế, mỗi một thuê bao
thuộc các nhà mạng viễn thông di động thì sẽ được join vào 1 group multicast để nhận
được thông tin từ địa chỉ nguồn.
11.1.2 Ba kiểu truyền lưu lượng IP trên router và switch
- Unicast: Các gói tin được gửi từ một địa chỉ nguồn đến một địa chỉ đích. Một router
hoặc một thiết bị lớp 3 sẽ chuyển các gói tin bằng cách tìm địa chỉ đích trong bảng định
tuyến. Nếu một thiết bị là L2, nó chỉ cần dựa vào địa chỉ MAC.
Tuy nhiên, Phương thức dùng Unicast không có khả năng mở rộng. Nếu chuyển sang
dùng Broadcast, ta chỉ cần truyền dữ liệu một lần, tuy nhiên lúc này sẽ gặp vài vấn đề
nghiêm trọng.
• Đầu tiên, nếu bên máy nhận nằm trong vùng Broadcast khác máy gửi, router cần
phải truyền dữ liệu Broadcast. Tuy nhiên, truyền gói tin dạng Broadcast có thể là
giải pháp kém nhất vì sẽ tốn rất nhiều băng thông và tăng tải trên tất cả các thiết bị
mạng nếu chỉ có một nhóm nhỏ các máy trong mạng thực sự cần nhận gói tin.\
• Broadcast: Các gói tin được gừi từ một máy nguồn đến một địa chỉ đích
Broadcast. Địa chỉ đích có thể là địa chỉ tất cả các máy trạm (255.255.255.255)
hoặc là một phần của địa chỉ mạng con. Một router hoặc một switch lớp 3 sẽ
không cho phép chuyển các dữ liệu Broadcast này. Một thiết bị L2 sẽ cho phép
phát tán lưu lượng Broadcast ra tất cả các cổng của nó.
• Multicast: Các gói được gửi từ một địa chỉ nguồn đến một nhóm các máy tính. Địa
chỉ đích tượng trưng cho các máy trạm muốn nhận lưu lượng này. Mặc định, một
router hoặc một switch lớp 3 sẽ không chuyển các gói tin này trừ khi phải cấu hình
định tuyến Multicast. Một thiết bị switch lớp 2 không thể nhận biết được vị trí của
địa chỉ Multicast đích. Tất cả các gói sẽ được phát tán ra tất cả các cổng ở chế độ
mặc định.

- Có hai thái cực được mô tả ở đây. Cơ chế dùng Unicast thì dữ liệu sẽ đi từ máy trạm đến
máy trạm; Broadcast thì lưu lượng sẽ đi đến tất cả các máy trạm trên phân đoạn mạng đó.
Cơ chế Multicast sẽ nằm giữa hai thái cực này, trong đó máy nguồn chỉ gửi những gói tin
từ một máy trạm đến các người dùng muốn nhận loại lưu lượng đó đó. Nhóm này gọi là
nhóm Multicast. Các máy nhận lưu lượng Multicast có thể nằm ở bất cứ nơi nào chứ
không chỉ trên phân đoạn mạng cục bộ.
-Các lưu lượng dạng Multicast thường là một chiều (unidirectional). Do có nhiều máy
trạm nhận cùng một dữ liệu, nên thông thường các gói tin không được phép gửi ngược về
máy nguồn trên cơ chế Multicast. Một máy trạm đích sẽ trả lưu lượng ngược về nguồn
theo cơ chế Unicast. Cơ chế Multicast cũng sẽ được truyền theo kiểu không kết nối
(connectionless). Multicast dùng UDP chứ không dùng TCP.
-Các máy trạm muốn nhận dữ liệu từ một nguồn Multicast có thể tham gia hoặc rời khỏi
một nhóm Multicast ở bất kỳ thời điểm nào. Hơn nữa, một máy trạm sẽ quyến định có trở
thành thành viên của một hay nhiều nhóm Multicast hay không. Nguyên tắc cần quan tâm
là sẽ hoạch định làm thế nào để phân phối các lưu lượng Multicast đến các thành viên của
nhóm mà không ảnh hưởng đến các thành viên ngoài nhóm.

-Có ba yêu cầu cơ bản để có thể triển khai Multicast trên một mạng:
• Phải có một tập hợp các địa chỉ dành cho các nhóm Multicast.
• Phải có một cơ chế trong đó các máy trạm có thể tham gia và rời khỏi nhóm
• Phải có một giao thức định tuyến cho phép các router phân phối các lưu lượng
Multicast tới các thành viên của nhóm mà không làm quá tải tài nguyên mạng

Máy chủ join vào multicast group


Máy chủ rời khỏi multicast group

11.1.3 Địa chỉ MAC của multicast


-Khi làm việc với địa chỉ IP lớp 3 thì vẫn phải đóng xuống frame lớp 2, khi đóng xuống
frame lớp 2 thì ta cần địa chỉ MAC đích của nó(đặt ra câu hỏi địa chỉ nào là địa chỉ MAC
đích, nó có dùng địa chỉ ARP ánh xạ sang địa chỉ MAC không và câu trả lời là không
dùng ARP vì nó không dùng unicast dùng ARP để xin địa chỉ MAC còn multicast thì
không hỏi ARP). Multicast thì có quy định cho địa chỉ MAC như sau:
Như chúng ta đã thấy ở trên, địa chỉ IP multicast có 32 bit nhưng 4 bit đầu tiên giống
nhau (1110) bởi vì nó nằm trong dải IP từ 224.0.0.0 đến 239.255.255.255.
*Toàn bộ không gian địa chỉ Multicast: 224.0.0.0 - 239.255.255.255
• Địa chỉ liên kết cục bộ (link-local): 224.0.0.0 - 224.0.0.255 được dùng bởi các
giao thức định tuyến. Router sẽ không chuyển các gói tin có địa chỉ này. Các địa
chỉ bao gồm địa chỉ tất cả các máy trạm 224.0.0.1, tất cả các router 224.0.0.2, tất
cả các OSPF router 224.0.0.5…224.0.1.1 dùng cho giao thức NTP. Đây là địa chỉ
các nhóm cố định vì các địa chỉ này được định nghĩa trước.
• Địa chỉ 232.0.0.0-232.255.255.255: Địa chỉ GLOP trong tầm 233.0.0.0-
233.255.255.255. Địa chỉ toàn cục (224.0.1.0 - 238.255.255.255) được dùng bởi
bất cứ đối tượng nào. Các địa chỉ này có thể được định tuyến trên Internet, vì vậy
địa chỉ này phải duy nhất.
• Địa chỉ Multicast cho những nhóm thường trực: IANA dành ra hai dãy địa chỉ
dành riêng cho Multicast. Sự khác nhau giữa hai dãy địa chỉ này là dãy thứ nhất
được dùng cho những gói tin không nên được truyền bởi router và dãy thứ hai
được dùng khi các gói tin phải được truyền bởi router. Dãy địa chỉ được dùng cho
cục bộ là 224.0.0.0 đến 224.0.0.255. Các địa chỉ này tương tự như các địa chỉ dùng
bởi các giao thức định tuyến. Ví dụ như 224.0.0.5 và 224.0.0.6 được dùng bởi
OSPF. Các ví dụ khác bao gồm địa chỉ Multicast 224.0.0.1 chỉ ra tất cả các máy
trạm có thể xử lý Multicast và 224.0.0.2 chỉ ra tất cả các router có khả năng xử lý
Multicast. Dãy các địa chỉ nhóm được dùng khi các gói tin phải được định tuyến là
224.0.1.0 đến 224.0.1.255. Dãy địa chỉ này bao gồm 24.0.1.39 và 224.0.1.40 là hai
địa chỉ được dùng bởi Auto-RP.
• Địa chỉ Multicast cho các ứng dụng Multicast SSM: IANA đã cấp phát dãy địa
chỉ 232.0.0.0 đến 232.255.255.255 cho các ứng dụng SSM. Mục đích của ứng
dụng này là cho phép một máy trạm chọn ra một nguồn cho các nhóm Multicast.
SSM giúp cho việc định tuyến Multicast trở nên hiệu quả hơn, cho phép một máy
trạm chọn lựa một nguồn có chất lượng tốt hơn và giúp các nhà quản trị mạng
giảm thiểu kiểu tấn công Multicast DoS. Chỉ có các máy trạm chạy IGMP phiên
bản 3 có khả năng dùng tính năng SSM. IGMP phiên bản 3 là một giao thức mới.
• Địa chỉ Multicast cho các ứng dụng GLOP: IANA dành ra dãy địa chỉ 233.0.0.0
đến 233.255.255.255.255 gọi là địa chỉ GLOP. Địa chỉ này có thể được dùng bởi
bất kỳ ai đang có một AS hợp lệ (registered autonomous system number - ASN)
để tạo ra 256 địa chỉ Multicast toàn cục. IANA dành riêng các địa chỉ này để đảm
bảo tính duy nhất toàn cục của địa chỉ. Bằng cách dùng giá trị 233 cho byte đầu
tiên và bằng cách dùng ASN cho byte thứ hai và thứ ba, một AS có thể tạo ra một
địa chỉ Multicast toàn cục. Ví dụ nếu AS dùng số hiệu mạng ASN 5663, giá trị này
có thể chuyển sang dạng nhị phân là 0001011000011111. 8 bit đầu tiên,
00010110, bằng với 22 trong dạng thập phân và 8 bit cuối, 00011111, bằng với 31
trong dạng thập phân. Ánh xạ 8 bit đầu tiên vào byte thứ hai và 8 bit cuối vào byte
thứ ba trong dãy địa chỉ 233, công ty nào có mạng AS là 5663 sẽ được tự động cấp
dãy địa chỉ 233.22.31.0 đến 233.22.31.255. GLOP không phải là một từ viết tắt và
không tượng trưng cho bất kỳ cái gì.
• Địa chỉ Multicast cho những vùng riêng: Dãy địa chỉ dành riêng cuối cùng là
dãy địa chỉ dành cho quản trị. IANA gán dãy địa chỉ 239.0.0.0 đến
239.255.255.255 (RFC 2365) để dùng trong những miền Multicast. IANA sẽ
không gán các tầm địa chỉ này tới bất kỳ một giao thức nào hoặc một ứng dụng
nào. Các nhà quản trị mạng có thể tự do sử dụng các địa chỉ trong dãy này, tuy
nhiên họ phải cấu hình các router Multicast để đảm bảo Multicast lưu lượng trong
dãy địa chỉ này không vượt quá ranh giới của miền Multicast.
• Địa chỉ Multicast tạm thời cho các nhóm
Điều đó có nghĩa là mỗi địa chỉ IP multicast chỉ có 28 bit là duy nhất với khác nhau để
phân biệt so với các địa chỉ còn lại. Bây giờ ví dụ khi ta muốn map 28 bit địa chỉ IP
multicast tới 23 bit địa chỉ MAC thì ta sẽ đối diện ngay vấn đề là 5 bit của IP multicast sẽ
bị miss:

- Vì vậy, ta phải nắm được nguyên tắc chuyển đổi từ địa chỉ IP sang địa chỉ MAC:
• Với địa chỉ MAC được định danh trên card mạng thông thường, 24 bit đầu được
định danh theo nhà sản xuất, 24 bit sau định nghĩa theo card mạng, còn trường hợp
là địa chỉ MAC của multicast, ta có thể định danh luôn, ở đây là 01-00-5e.
• Cứ 1 địa chỉ IP của mutlicast thì ta lấy 23 bit từ phải qua để thiết lập địa chỉ MAC.
Sẽ có 1 cơ số địa chỉ IP trùng với địa chỉ MAC. Đáng lẽ sẽ có 9 bit chênh giữa địa
chỉ IP và MAC(32-23) nhưung do trong trong địa chỉ IP multicast đã có 4 bit có
định nên chỉ có 5 bit là bất định => Có 2^5=32 địa chỉ IP chung địa chỉ MAC với
nhau.

Layer 2 Multicast MAC Address Overlap

Ví dụ ta có địa chỉ IP 226.139.1.2 khi chuyển sang hệ binary:

Sau đó ta lấy 23 bit từ phải qua trái, chuyển đổi theo hệ hexa:

Như vậy, ta sẽ có địa chỉ MAC là 01:00:5e:0b:01:02 tương ứng với địa chỉ IP
226.139.1.2.

11.1.4 Cơ chế của multicast hỗ trợ khả năng mở rộng và quản lý


-6 yêu cầu cơ bản để hỗ trợ các ứng dụng Multicast trên một hạ tầng mạng là:
• Một dãy địa chỉ dành riêng cho địa chỉ lớp 3 mà chỉ được dùng bởi các ứng dụng
Multicast. Người quản trị cần phải cài đặt một ứng dụng Multicast trên một máy
chủ Multicast dùng địa chỉ lớp 3.
• Một địa chỉ Multicast chỉ được dùng như là địa chỉ đích và không được là địa chỉ
nguồn. Không giống như gói tin Unicast, một địa chỉ đích IP trong một gói
Multicast không chỉ ra địa chỉ của máy nhận mà chỉ đơn giản có ý nghĩa là gói tin
đang mang dữ liệu Multicast.
• Các ứng dụng Multicast phải được cài đặt trên tất cả các máy trạm trong mạng cần
phải nhận lưu lượng Multicast cho ứng dụng. Ứng dụng phải được cài đặt dùng
cùng địa chỉ Multicast lớp 3 với địa chỉ của máy chủ.
• Tất cả các máy trạm kết nối vào cùng một mạng LAN phải dùng cùng một phương
thức chuẩn để tính toán địa chỉ L2 từ địa chỉ Multicast L3 và gán nó vào card
mạng. Ví dụ, nếu nhiều router cùng kết nối vào một mạng và tất cả đều chạy
OSPF, tất cả các cổng Ethernet của tất cả các router sẽ có khả năng lắng nghe đến
địa chỉ Multicast ngoài địa chỉ MAC của chính cổng đó.
• Phải có một cơ chế trong đó một máy trạm có thể báo cho router kết nối trực tiếp
rằng máy trạm muốn nhận lưu lượng cho ứng dụng Multicast. Giao thức IGMP
cung cấp cơ chế giao tiếp giữa máy trạm và router trong cùng mạng con. CGMP
hay giám sát IGMP (IGMP snooping) giúp các switch học thông tin máy trạm nào
đã nhận lưu lượng cho các ứng dụng Multicast và các máy trạm này gắn vào cổng
nào của switch.
• Phải có một giao thức định tuyến Multicast trong đó cho phép các router truyền
các dữ liệu Multicast từ máy chủ đến các máy trạm mà không làm tốn tài nguyên
mạng. Một vài giao thức định tuyến Multicast là DVMRP (Distance Vector
Multicast Routing Protocol), MOSPF (Multicast Open Shortest Path First), và
PIM-DM (Protocol Independent Multicast Dense Mode) và PIM-SM (Protocol
Independent Multicast Sparse Mode).
-Giả sử rằng một ứng dụng hình ảnh được cài đặt trên một máy chủ dùng địa chỉ
Multicast là 225.5.5.5. Các máy trạm từ 1 đến 49, nằm trên các kết nối WAN thì không
quan tâm đến lưu lượng này. Các máy trạm từ 50 đến 100 thì quan tâm đến việc nhận lưu
lượng cho ứng dụng này và chạy ứng dụng trên PC.
▪ Khi các máy trạm chạy ứng dụng Multicast, các máy trạm sẽ tham gia vào nhóm,
có nghĩa là các máy trạm bây giờ muốn nhận các gói Multicast được gửi về địa chỉ
225.5.5. Các máy trạm từ 50 đến 100 tham gia vào nhóm 225.5.5.5 và báo cho R2
thông qua IGMP rằng các máy trạm này muốn nhận lưu lượng. Các ứng dụng
Multicast tính toán địa chỉ lớp 2 0x0100.5e05.0505 từ địa chỉ lớp 3 225.5.5.5 và
các card mạng của các máy từ 50 đến 100 sẽ lắng nghe địa chỉ này bên cạnh các
lưu lượng đến địa chỉ MAC BIA.
▪ Một giao thức định tuyến Multicast được cấu hình giữa R1 và R2 sao cho các
router có thể truyền các lưu lượng Multicast. R2 có một kết nối đến mạng Frame
Relay và hai cổng Ethernet kết nối đến hai switch, Sw2 và Sw3. R2 biết rằng nó
có các máy trạm trên cả hai kết nối muốn nhận lưu lượng của nhóm 225.5.5.5. Cả
hai switch cũng sẽ ghi nhận các cổng của các máy trạm muốn nhận Multicast
thông qua hai giao thức CGMP và IGMP snooping. Một gói Multicast truyền tín
hiệu hình ảnh từ máy chủ trên kết nối Ethernet đến R1 và R1 sẽ truyền một gói tin
Multicast trên kết nối WAN đến R2. Khi R2 nhận gói Multicast, R2 sẽ nhân bản
gói Multicast và truyền trên từng kết nối Ethernet.
▪ Vì đây là gói tin Multicast, R2 sẽ tính địa chỉ lớp 2 0x0100.5e05.0505 và dùng nó
như địa chỉ MAC đích, sau đó R2 sẽ truyền khung tin này đến cả hai switch. Khi
các switch nhận được các khung tin này, switch sẽ truyền khung tin ra các cổng
phù hợp. Khi các máy trạm nhận được các gói này, card mạng sẽ so sánh địa chỉ
MAC đích với địa chỉ Multicast mà máy đang lắng nghe. Nếu là đúng, card mạng
sẽ thông báo cho các lớp cao hơn xử lý gói tin.

11.1.5 IP Multicast Routing Protocol


-IGMP(Internet Group Management Protocol) được sử dụng giữa các máy chủ trong
mạng LAN và các bộ định tuyến trên mạng LAN đó để theo dõi các multicast group mà
máy chủ là thành viên.
-Protocol Independent Multicast (PIM) được sử dụng giữa các bộ định tuyến để chúng có
thể theo dõi các gói phát đa hướng nào sẽ chuyển tiếp đến nhau và đến các mạng LAN
được kết nối trực tiếp của chúng.
11.2 Network Access và multicast lớp 2
-Tính đóng gói(Encapsulation) là một thành phần quan trọng của mô hình OSI để truyền
thông dữ liệu và hoàn toàn cần thiết trong mạng IP. Đóng gói là phương pháp mà thông
tin được thêm vào ở mỗi lớp của mô hình tham chiếu OSI, được sử dụng cho mục đích xử
lý và chuyển tiếp. Thông tin này được thêm vào headers và footers. Tại mỗi lớp của mô
hình tham chiếu OSI, dữ liệu được xử lý, đóng gói và được gửi đến lớp tiếp theo.
Mô hình OSI và đóng gói dữ liệu

-Dữ liệu từ các lớp ứng dụng, bản trình bày và phiên (Lớp 1, 2 và 3) được đóng gói ở Lớp
4 với thông tin giao thức truyền tải. Thông tin này được đóng gói trong TCP và / hoặc
UDP với số cổng cụ thể. Ví dụ, cổng TCP 80 thường là lưu lượng truy cập web. Điều này
cho phép hệ điều hành chuyển tiếp dữ liệu tới một ứng dụng hoặc chương trình con thích
hợp. Lớp 3 bổ sung các chi tiết chuyển tiếp logic (địa chỉ IP nguồn và đích) để các thiết
bị mạng có thể xác định đường dẫn tốt nhất đến đích. Cuối cùng,
-Lớp 2 thêm thông tin chuyển tiếp phần cứng (địa chỉ MAC nguồn và đích). Điều này
cho phép dữ liệu được truyền vật lý đến máy thích hợp hoặc bước tiếp theo trong mạng.
Việc truyền dữ liệu ở Lớp 4 được gọi là một đoạn, một gói ở Lớp 3 và một khung ở Lớp
2.
-Để giải thích rõ hơn điều gì xảy ra với một gói tin truyền qua mạng, chúng ta sẽ tập
trung vào trình truyền tải Lớp 2 và Lớp 3. Đầu tiên, trước khi bên gửi có khả năng đóng
gói bất kỳ dữ liệu nào, trước tiên nó phải biết được đích nằm ở đâu. Bên gửi thực hiện
một kiểm tra đơn giản để xác minh xem thiết bị nhận có nằm trên cùng một mạng con
hay không. Điều này được thực hiện bằng cách kiểm tra địa chỉ IP đích so với mạng con
cục bộ. Trong ví dụ này, bên nhận không giống nhau mạng con. Bên gửi phải sử dụng
tuyến đường đã định cấu hình đến đích. Trong hầu hết các trường hợp, đây là cổng mặc
định.

Quá trình truyền tải dữ liệu trên lớp 2 và lớp 3


Trước khi người gửi có thể giao tiếp với cổng mặc định, nó phải biết địa chỉ (MAC) của
thiết bị đó. Vì điểm đến nằm trên một phân đoạn khác, bên gửi sẽ cần phải khám phá địa
chỉ MAC của cổng mặc định (địa chỉ IP 10.1.1.1) bằng cách sử dụng ARP. Cổng mặc
định phản hồi yêu cầu ARP bằng địa chỉ MAC của nó. Cuối cùng, bên gửi có đủ thông
tin để đóng gói dữ liệu với địa chỉ IP đích của Máy chủ A và địa chỉ MAC của cổng mặc
định.
-Cổng hoặc bộ định tuyến mặc định có thông tin định tuyến IP Lớp 3 xác định nơi Máy
chủ A được kết nối vật lý. Thông tin này xác định giao diện gửi đi thích hợp mà tin nhắn
sẽ được gửi đến. Bộ định tuyến phải biết địa chỉ MAC của bộ định tuyến hàng xóm nếu
có một giao thức định tuyến được thiết lập liền kề. Nếu không, quy trình yêu cầu ARP
tương tự được tiến hành. Với thông tin này, bộ định tuyến bây giờ có thể chuyển tiếp tin
nhắn. Hiểu rằng cả hai địa chỉ Lớp 2 (SA và DA) thay đổi ở mỗi bước logic trong mạng,
nhưng địa chỉ Lớp 3 không bao giờ thay đổi và được sử dụng để thực hiện tra cứu tuyến
đường.
Khi gói được chuyển tiếp đến bộ định tuyến cuối cùng, bộ định tuyến đó phải thực hiện
tra cứu và xác định địa chỉ MAC của IP đích. Vấn đề này tồn tại một phần là do các tác
động lịch sử của Ethernet. Ethernet là một phương tiện vật lý được gắn vào mạng bus
logic. Trong mạng bus truyền thống, nhiều thiết bị có thể được kết nối với một dây duy
nhất. Nếu bộ định tuyến cổng không có mục nhập từ giao tiếp trước đó, nó sẽ gửi ARP
yêu cầu và cuối cùng đóng gói với địa chỉ MAC đích của máy chủ.
Quá trình truyền tải dữ liệu trên lớp 2 và lớp 3 trên Destination Router

11.3 Tìm hiểu về IGMP(giao thức quản lý nhóm)

11.3.1 Tổng quan về IGMP


-Để nhận dữ liệu multicast từ 1 nguồn, các máy nhận đầu tiên phải tham gia vào 1 nhóm
1 multicast, được xác định thông qua địa chỉ multicast. 1 host có thể tham gia vào nhiều
nhóm multicast bằng cách gửi các yêu cầu đến router gần nhất. Thao tác này được thực
hiện thông qua giao thức IGMP. Giao thức IGMP được phát triển từ Host Membership
Protocol. IGMP phát triển từ IGMPv1(RFC 1112) đến IGMP v2(RFC 2236) và phiên bản
cuối cùng IGMPv3(RFC 3376). Các thông điệp IGMP được đóng gói trong IP Datagram
với trường protocol number bằng 2, trong đó trường TTL(time-to-live) có giá trị bằng 1 .
Các gói IGMP chỉ truyền được trong LAN và không tiếp tục truyền được trong LAN
khác do giá trị TTL của nó.
-2 mục đích quan trọng nhất của IGMP là:
• Thông báo cho router multicast biết rằng có 1 máy muốn nhận dữ liệu từ 1 nhóm
multicast.
• Thông báo cho router biết có 1 máy muốn rời nhóm multicast.

11.3.2 Giao thức IGMPv1


-Bao gồm 2 loại thông điệp là Host Membership Report và Host Membership Querry.
Định dạng của thông điệp IGMPv1 được thể hiện như sau:
Một thông điệp IGMP phiên bản 1 có 5 trường:
• Phiên bản (Version): trường này có độ dài 4 bit, luôn luôn gán giá trị bằng 1.
• Loại (Type): Trường giá trị 4 bit, chỉ ra 2 loại thông điệp được định nghĩa bởi
IGMP phiên bản 1. Loại 1 là kiểu truy vấn quan hệ máy trạm (Host Membership
Query), chỉ được dùng bởi router. Loại 2 là kiểu báo cáo quan hệ máy trạm (Host
Membership Report) được dùng chỉ bởi máy trạm.
• Chưa dùng (Unused): trường này có độ dài 8 bit chứa giá trị 0 khi được gửi và bị
bỏ qua khi được nhận.
• Kiểm tra lỗi (Checksum): mang giá trị 16 bit kiểm tra lỗi được tính toán bởi
nguồn của thông điệp IGMP. Thiết bị nhận thường kiểm tra giá trị kiểm tra lỗi và
nếu giá trị này không đúng bằng giá trị đã tính toán, máy nhận sẽ loại bỏ khung
tin.
• Địa chỉ nhóm (Access Group): Được gán về giá trị 0.0.0.0 khi router gửi ra gói
tin truy vấn quan hệ (Membership Query). Giá trị này được gán giá trị địa chỉ
nhóm Multicast khi một máy gửi thông điệp báo cáo quan hệ (Membership
Report).
- Tuy nhiên IGMP phiên bản 1 không có cơ chế để cho phép một máy trạm rời khỏi một
nhóm nếu máy trạm đó không còn quan tâm đến nội dung của nhóm Multicast đó. Thay
vào đó, router sẽ kết luận là một cổng giao tiếp của bó không còn thuộc về một nhóm
Multicast nào nếu router không nhận được thông điệp đáp trả (membership report) trong
ba chu kỳ truy vấn liên tiếp. Điều này có nghĩa là, ở chế độ mặc định, các lưu lượng
Multicast vẫn gửi vào một phân đoạn mạng trong ba chu kỳ truy vấn liên tiếp sau khi tất
cả các thành viên của nhóm không còn lắng nghe Multicast lưu lượng nữa. Ngoài ra,
router không có giữ một danh sách đầy đủ các máy thành viên cho từng nhóm Multicast.
Thay vào đó, nó cần phải lưu những nhóm Multicast nào là đang tồn tại trên những cổng
nào của nó.
Để tham gia vào một nhóm Multicast, một máy trạm sẽ gửi một thông điệp đăng ký tham
gia vào nhóm đến router cục bộ của nó. Thông điệp này có tên là báo cáo về tình trạng
thành viên của IGMP (Membership Report IGMP). Thông điệp này sẽ thông báo cho
router về địa chỉ nhóm Multicast mà máy trạm muốn tham gia vào. Địa chỉ Multicast
tượng trưng cho tất cả các máy 224.0.0.1 được dùng như địa chỉ đích. Trong thông điệp
này có chứa địa chỉ nhóm Multicast.
Ví dụ dưới đây ta có 1 định tuyến và 2 máy chủ. Trên định tuyến này, chúng ta cho phép
định tuyến multicast và IGMP trên Gigabit 0/1 interface của nó:

*Chức năng truy vấn quan hệ máy trạm IGMPv1:


Các thông điệp IGMP phiên bản 1 chỉ được gửi bởi router trên các cổng LAN. Chi
tiết như sau:
• Các máy H1 và H3 tham gia vào nhóm Multicast 226.1.1.1. Tác vụ tham gia
làm cho các máy này sẵn sàng nhận các thông điệp được gửi đến cả hai địa chỉ
226.1.1.1 và địa chỉ 224.0.0.1 (là địa chỉ mà các gói tin truy vấn IGMP phiên
bản 1 sẽ được gửi. Các máy Multicast sẽ phải lắng nghe địa chỉ 224.0.0.1 để
tham gia vào IGMP và để có thể nhận được các gói tin truy vấn gửi ra từ
router. Hai địa chỉ MAC tương ứng là 01-00-5e-01-01-01 (của địa chỉ
226.1.1.1) và 01-00-5e-00-00-01 (tương ứng của 224.0.0.1).
• R1 gửi một thông điệp truy vấn IGMP phiên bản 1 ra từng cổng LAN, tìm
kiếm bất kỳ máy trạm nào quan tâm đến việc nhận lưu lượng Multicast. R1
định kỳ mỗi 60 giây gửi thông điệp truy vấn IGMP phiên bản 1. Khoảng thời
gian này được gọi là khoảng thời gian truy vấn.
• Sau khi gửi ra thông điệp truy vấn, R1 mong đợi rằng bất kỳ máy nào tham gia
vào nhóm 226.1.1.1 hoặc bất kỳ nhóm nào khác sẽ trả lời lại bằng thông điệp
báo cáo IGMP phiên bản 1. Gói tin truy vấn IGMP phiên bản 1 có TTL là 1,
điều này làm cho gói tin sẽ không bị định tuyến qua mạng khác. Trong trường
địa chỉ nhóm của gói truy vấn IGMP phiên bản 1, giá trị của trường này luôn
luôn là 0.0.0.0. Bằng cách gửi thông điệp truy vấn IGMP phiên bản 1 đến địa
chỉ nhóm 0.0.0.0 router sẽ hỏi các máy trạm khác trong LAN là “Có còn ai
muốn nhận Multicast lưu lượng cho bất kỳ nhóm nào không?”.
• Ở thời điểm này, router R1 vẫn không biết có máy trạm nào cần nhận lưu
lượng Multicast nào hay không. Phần kế tiếp sẽ khảo sát các máy trạm trả lời
bằng thông điệp báo cáo IGMP như thế nào.
*Chức năng báo cáo quan hệ máy trạm IGMPv1:
Các máy trạm dùng thông điệp báo cáo quan hệ máy trạm IGMP phiên bản 1 để trả lời
cho các gói tin truy vấn IGMP và thông báo cho router rằng máy muốn nhận Multicast.
Các máy trạm Multicast dùng thông điệp báo cáo IGMP phiên bản 1 để giao tiếp với các
router, nêu rõ địa chỉ nhóm Multicast mà máy muốn nhận. Trong IGMP phiên bản 1, một
máy trạm gửi thông điệp báo cáo quan hệ máy trạm IGMP phiên bản 1 trong 2 tình
huống sau:
• Khi một máy trạm nhận được một gói tin truy vấn IGMP phiên bản 1 từ router,
máy trạm sẽ giả sử gửi báo cáo quan hệ máy trạm cho tất cả các nhóm Multicast
mà nó muốn nhận lưu lượng. Thông điệp này được gọi là thông điệp báo cáo yêu
cầu quan hệ máy trạm IGMP phiên bản 1.
• Khi một máy trạm tham gia vào một nhóm mới, máy trạm muốn ngay lập tức gửi
ra báo cáo quan hệ máy trạm IGMP phiên bản 1 để thông báo cho router rằng nó
muốn nhận lưu lượng cho nhóm đó mà không cần chờ gói tin truy vấn IGMP
phiên bản 1. Thông điệp này được gọi là báo cáo không yêu cầu quan hệ máy trạm
IGMP phiên bản 1.
• Hình trên mô tả hoạt động của báo cáo yêu cầu quan hệ máy trạm IGMP phiên bản
1 và cơ chế để giảm thông điệp báo cáo. Hình 19.10 mô tả các bước tiếp theo khi
R1 đã gửi ra gói tin truy vấn IGMP phiên bản 1. Thời gian đáp ứng tối đa
(Maximum Responese Time – MRT), thời gian tính bằng giây, được máy trạm
chọn lựa ngẫu nhiên. Nếu nhiều máy trạm đã chạy ứng dụng Multicast và nếu tất
cả các máy trạm này trả lời thông điệp truy vấn IGMP phiên bản 1 bằng thông
điệp báo cáo quan hệ máy trạm, sẽ có quá nhiều thông điệp báo cáo được gửi dư
về router. Điều này làm lãng phí băng thông và tăng tải một cách không cần thiết
trên router. Một router chỉ cần nhận một thông điệp báo cáo cho mỗi ứng dụng
trên mỗi cổng LAN của nó. Một router sẽ chuyển Multicast lưu lượng vào cổng
LAN cho dù chỉ có một người dùng hay 200 người dùng trên phân đoạn mạng đó
muốn nhận Multicast lưu lượng.
• Cơ chế giảm thông điệp báo cáo giúp giải quyết vấn đề này. Cơ chế này dùng bộ
định thời MRT của IGMP phiên bản 1 để giảm bớt những thông điệp báo cáo của
IGMP phiên bản 1. Bộ định thời này được gọi là khoảng thời gian trả lời truy vấn
(Query Response Interval). Khoảng thời gian này được cấu hình cố định là 10 giây
và không thể thay đổi sang giá trị khác trong IGMP phiên bản 1. Nói cách khác,
trong IGMP phiên bản 1, khi có bất kỳ máy trạm nào nhận một thông điệp truy
vấn IGMP phiên bản 1, nó sẽ có một khoảng thời gian tối đa là 10 giây để gửi
thông điệp báo cáo IGMP phiên bản 1 nếu nó muốn tiếp tục nhận lưu lượng
Multicast.
• Mỗi máy trạm muốn gửi báo cáo yêu cầu quan hệ máy trạm IGMP phiên bản 1 sẽ
chọn một khoảng thời gian ngẫu nhiên giữa 0 và 10 và bắt đầu một bộ định thời.
Khi khoảng thời gian ngẫu nhiên này hết, máy trạm sẽ giả sử là gửi một thông điệp
báo cáo. Tuy nhiên, nếu một máy trạm nhận được một thông điệp báo cáo được
gửi bởi một máy trạm khác cho cùng nhóm Multicast mà nó cũng muốn nhận lưu
lượng , máy trạm này sẽ không gửi ra thông điệp báo cáo. Cơ chế này được gọi là
cơ chế giảm thông điệp báo cáo.
• Đơn vị đo lường cho khoảng thời gian MRT là 1/10 giây. Ví dụ, một khoảng thời
gian 3 giây sẽ được mô tả bằng giá trị MRT là 30.
Với cơ chế giảm thông điệp báo cáo của IGMPv1:
• Các máy H1 và H3 sẽ muốn gửi thông điệp báo cáo yêu cầu quan hệ máy trạm
IGMP phiên bản 1. Giả sử rằng H1 và H3 đã nhận được một gói tin truy vấn
IGMP phiên bản 1. Bởi vì cả H1 và H3 đều đã tham gia vào nhóm 226.1.1.1, cả
hai máy trạm cần phải gửi một thông điệp báo cáo yêu cầu quan hệ IGMP phiên
bản 1. Ngoài ra giả sử thêm rằng cả H1 và H3 đã chọn ngẫu nhiên một khoảng
thời gian MRT là 3 giây và 1 giây.
• Bộ định thời của H3 sẽ bị hết hạn trong 1 giây, H3 chuẩn bị gửi ra thông điệp báo
cáo yêu cầu quan hệ máy trạm IGMP phiên bản 1 với giá trị TTL là 1. H3 dùng
địa chỉ IP đích là IGMP phiên bản 1 là 226.1.1.1 và địa chỉ nguồn là 10.1.1.3. Địa
chỉ đích MAC là 01-00-5e-01-01-01 được tính toán từ địa chỉ 226.1.1.1 và địa chỉ
MAC của H3 là địa chỉ nguồn của khung tin.
• Các máy H1, H2 và R1 nhận thông điệp báo cáo yêu cầu quan hệ máy trạm IGMP
phiên bản 1 nhưng chỉ có H1 và R1 là xử lý gói báo cáo. Card mạng của H2 sẽ bỏ
khung tin được gửi bởi H3 bởi vì nó không lắng nghe địa chỉ 01-00-5e-01-01-01.
H1 nhận ra rằng H3 đã có gửi một yêu cầu đến router. Vì vậy H1 sẽ không gửi ra
thông điệp báo cáo của nó. Bằng cách dùng địa chỉ nhóm là 226.1.1.1, H3 đang
báo cho router là “Tôi muốn nhận lưu lượng Multicast cho nhóm 226.1.1.1”.

• R1 nhận được thông điệp báo cáo yêu cầu quan hệ máy trạm IGMP phiên bản 1
trên cổng F0/0 của nó nhưng R1 chưa nhận được thông điệp báo cáo quan hệ máy
trạm trên cổng F0/1. R1 sẽ bắt đầu đẩy lưu lượng của nhóm 226.1.1.1 ra cổng
F0/0.

Ở hình trên, một người dùng đã chạy một ứng dụng dùng địa chỉ 226.1.1.1 trên H4. H4 sẽ
gửi một thông điệp báo cáo không yêu cầu quan hệ máy trạm IGMP phiên bản 1. Thông
điệp này sẽ được nhận bởi R1 trên cổng F0/1 của nó và sau đó R1 sẽ bắt đầu đẩy lưu
lượng của nhóm 226.1.1.1 ra cổng F0/1.
*Cơ chế rời khỏi nhóm của IGMPv1:
IGMP không có một cơ chế để cho phép các máy trạm có thể rời khỏi một nhóm. Giả sử
có một người dùng ngồi ở H4 quyết định rời khỏi nhóm. H4 sẽ lặng lẽ rời khỏi nhóm và
R1 không biết về việc này. R1 sẽ tiếp tục đẩy lưu lượng của 226.1.1.1 trên cổng F0/1
trong vòng 3 phút, ngay cả khi không có máy trạm nào muốn nhận nó. Sau khi R1 gửi
thông điệp truy vấn ba lần, mỗi lần cách nhau 60 giây và không có máy trạm nào trả lời
bằng thông điệp báo cáo IGMP phiên bản 1, R1 sẽ kết luận không còn máy trạm nào
muốn nhận lưu lượng cho 226.1.1.1 trên cổng F0/1. Khoảng thời gian 3 phút này được
gọi là khoảng thời gian xác nhận thành viên nhóm (Group membership Interval).
*Router truy vấn IGMPv1:
Để tăng tính dự phòng, ta có thể triển khai nhiều router Multicast trên cùng một mạng.
Tuy nhiên nếu tất cả các router gửi gói tin truy vấn mỗi 60 giây thì sẽ rất lãng phí băng
thông. Như vậy, một hệ thống mạng nên có một router được gán vai trò gửi gói tin truy
vấn và truyền lưu lượng Multicast vào hoặc ra mạng con. Nếu một router bị sự cố, router
thứ hai có thể đảm nhận trách nhiệm này. IGMP phiên bản 1 thường dựa vào các thông
tin định tuyến của Multicast để giải quyết vấn đề bầu chọn router này.
11.3.3 Giao thức IGMPv2
-Giao thức IGMPv2 là sự mở rộng các chức năng IGMPv1 bao gồm:
• Một phương thức để xác định router nào sẽ gửi các thông điệp truy vấn multicast
khi có nhiều router cùng kết nối vào mạng con
• Một thông điệp mới được sử dụng khi 1 host muốn rời nhóm
• Một thông điệp mới cho phép router truy vấn cho từng nhóm cụ thể thay vì tất cả
các nhóm
• Phiên bản mới của thông điệp Host Membership Report
- Định dạng của thông điệp IGMPv2 được thể hiện như sau:
IGMP phiên bản 2 có bốn trường, được định nghĩa như sau:
• Loại (Type): trường này có chiều dài 8 bit, chỉ ra một trong bốn loại thông điệp
được định nghĩa bởi IGMP phiên bản 2. Các giá trị có thể có là:
o Truy vấn quan hệ (Membership query) có giá trị là 0x11: được dùng bởi
router để tìm ra sự hiện diện của các máy trạm trên một mạng con. Thông
điệp loại này gán giá trị địa chỉ nhóm về 0.0.0.0 giống như trong IGMP
phiên bản 1. Một thông điệp truy vấn cho một nhóm cụ thể sẽ gán địa chỉ
nhóm vào trường này. Thông điệp loại này thường được gửi khi router nhận
được một thông điệp rời khỏi nhóm IGMP phiên bản 2 từ một máy trạm.
Thông điệp loại này được dùng để xác định xem có còn thành viên nào của
một nhóm cụ thể không.
o Báo cáo quan hệ phiên bản 1 có giá trị 0x12: được dùng bởi IGMP phiên
bản 2 để tương thích với IGMP phiên bản 1.
o Báo cáo quan hệ phiên bản 2 có giá trị 0x16: được gởi bởi thành viên để
thông báo cho router là còn ít nhất một thành viên trên mạng.
o Thông điệp rời khỏi nhóm (Leave group) có giá trị là 0x17: được gửi bởi
thành viên nhóm nếu nó là thành viên cuối cùng gửi thông điệp báo cáo
quan hệ. Thông điệp này báo cho router rằng máy trạm đang rời khỏi nhóm.
• Thời gian đáp ứng tối đa (Maximum Response Time): Trường có độ dài 8 bit
chỉ có trong các thông điệp truy vấn. Giá trị mặc định cho trường này là 100
(tương đương 10 giây). Giá trị sẽ thay đổi từ 1 đến 255 (nghĩa là từ 0.1 giây đến
25.5giây).
• Kiểm tra lỗi (Checksum): Chứa giá trị 16 bit được tính toán bởi máy nguồn.
Kiểm tra lỗi IGMP tính toán trên toàn bộ phần tải của IP chứ không phải chỉ 8
byte đầu tiên mặc dù IGMP phiên bản 2 có độ dài 8byte.
• Địa chỉ nhóm (Group Address): Được gán giá trị 0.0.0.0 trong gói tin truy vấn
và gán địa chỉ nhóm nếu thông điệp là cho từng nhóm cụ thể. Các thông điệp báo
cáo quan hệ (membership report) hoặc thông điệp rời khỏi nhóm (leave group) có
thể mang địa chỉ của nhóm trong trường này.
- Nếu có nhiều router trên cùng một kết nối, router có địa chỉ IP nhỏ nhất sẽ gửi ra gói tin
truy vấn. Vì vậy, khi một router nhận được một gói tin truy vấn từ một router nào đó, nó
sẽ kiểm tra địa chỉ nguồn của gói tin đó. Nếu địa chỉ nguồn của router cục bộ nhỏ hơn địa
chỉ nguồn trong gói tin vừa đến, router sẽ vẫn tiếp tục gửi gói tin query vì nó biết rằng nó
sẽ giữ vai trò truy vấn. Còn nếu địa chỉ nguồn của gói tin truy vấn là nhỏ hơn, router sẽ từ
bỏ vai trò truy vấn.
-IGMP v2 hỗ trợ tính tương thích ngược với IGMPv1. Mã số cho kiểu thông điệp truy
vấn và báo cáo của IGMPv2 và IGMPv1 đều cùng là 0x11 và 0x12. Điều này cho phép
các máy trạm chạy IGMPv2 và các router nhận ra IGMPv1 khi có các máy trạm chạy
IGMPv1 trên mạng. IGMPv2 giúp giảm số lượng các thông điệp báo cáo được gửi bởi
các máy trạm bằng cách cho phép người quản trị thay đổi khoảng thời gian truy vấn.
-IGMPv1 không có thông số MRT, vì vậy các máy trạm chỉ đơn giản dùng khoảng thời
gian mặc định là 10 giây. Tuy nhiên thông điệp IGMPv2 có bao gồm trường MRT, chỉ ra
khoảng thời gian MRT được dùng bởi tất cả các máy trạm IGMPv2 trên LAN. Các tiến
trình mà các máy trạm gửi các thông điệp báo cáo của IGMPv2 cũng giống trong IGMP
v1. Có một sự khác nhau nhỏ là các router gửi gói tin truy vấn IGMPv2 mỗi 125 giây
thay vì mỗi 60 giây.
-IGMPv2 cải tiến quá trình Truy vấn/Báo cáo bằng cách dùng cơ chế truy vấn cho từng
nhóm cụ thể. Trong IGMPv2, khi một máy trạm rời một nhóm, nó gửi ra một thông điệp
rời nhóm IGMPv2. Khi một router nhận được thông điệp rời khỏi nhóm IGMP phiên bản
2, thay vì chờ một khoảng thời gian truy vấn là 125 giây, router sẽ gửi ngay một thông
điệp truy vấn cho nhóm đó. Thông điệp này chỉ để hỏi là còn có máy trạm nào muốn lưu
lượng cho nhóm Multicast đó không. Kết quả là, router sẽ nhanh chóng biết được có còn
máy trạm nào quan tâm đến lưu lượng của nhóm đó.
-Thuận lợi chính của IGMPv2 so với IGMPv1 là thời gian rời khỏi nhóm của IGMPv2
ngắn hơn. IGMPv2 chỉ mất có ba giây để kết luận rằng không còn máy trạm nào trên
mạng con đó quan tâm đến Multicast.
• Các thông điệp rời bỏ nhóm (IGMPv2 Leave Group) và các thông điệp truy vấn
cho từng nhóm cụ thể (Group-Specific Query Messages)
- IGMP phiên bản 2 RFC 2236 khuyến cáo rằng một máy trạm gửi ra một thông điệp rời
khỏi nhóm chỉ nếu nó là máy trạm cuối cùng gửi thông điệp báo cáo quan hệ. Tuy nhiên
phần lớn các hiện thực IGMP phiên bản 2 đều cho phép một máy trạm gửi ra thông điệp
rời khỏi nhóm khi bất kỳ máy trạm nào rời khỏi nhóm.
• Bước 1: H1 gửi một thông điệp rời bỏ nhóm IGMP phiên bản 2. Địa chỉ đích của
gói tin là 224.0.0.2. Đây là địa chỉ của tất cả các router đang chạy Multicast.
Thông điệp này muốn báo rằng “Tôi không muốn nhận Multicast lưu lượng của
226.1.1.1”.
• Bước 2: R1 sẽ gửi ra một thông điệp cho riêng nhóm đó. Bởi vì H1 đã quyết định
rời khỏi nhóm 226.1.1.1, R1 quyết định ngừng đẩy lưu lượng của nhóm 226.1.1.1
trên cổng Fa0/0 nếu H1 là thành viên cuối cùng của 226.1.1.1. Tuy nhiên, R1 cần
phải đảm bảo rằng không còn máy trạm nào trên cổng này vẫn cần nhận lưu lượng
của nhóm 226.1.1.1. Vì vậy, R1 gửi ra một thông điệp để xác định có còn thành
viên nào của nhóm 226.1.1.1. R1 dùng địa chỉ đích 226.1.1.1 như là địa chỉ đích
trên gói tin sao cho chỉ có các máy trạm là thành viên của nhóm này là nhận thông
điệp và trả lời. Thông qua thông điệp này, R1 sẽ hỏi các máy trạm còn lại trong
nhóm là “Có còn ai muốn nhận lưu lượng Multicast cho 226.1.1.1 không?”.
• Bước 3: H3 gửi một thông điệp báo cáo quan hệ. H3 vẫn là một thành viên của
nhóm 226.1.1.1. Máy H3 nghe thông điệp truy vấn theo nhóm và trả lời bằng một
thông điệp báo cáo IGMP phiên bản 2 để thông báo cho router là vẫn còn thành
viên của nhóm 226.1.1.1.
Router IGMP phiên bản 2 lặp lại tiến trình ở bước 2 mỗi lần nó nhận được thông điệp rời
bỏ nhóm trong bước 1. Trong ví dụ trước, R1 không ngừng việc gửi lưu lượng . Trong
hình dưới, H3 là máy trạm duy nhất còn lại của nhóm 226.1.1.1. Giả sử rằng H3 cũng
muốn rời bỏ khỏi nhóm.

-Ba bước sau đây sẽ mô tả quá trình khi H3 rời khỏi nhóm:
Bước 1: H3 gửi ra một thông điệp rời khỏi nhóm IGMP phiên bản 2. Địa chỉ đích của gói
tin là 224.0.0.2 để thông báo cho tất cả các router trên mạng con là “Tôi không muốn
nhận lưu lượng của nhóm 226.1.1.1”.
Bước 2: R1 gửi ra một thông điệp truy vấn cho riêng nhóm đó. R1 nhận thông điệp rời
khỏi nhóm từ H3. R1 sẽ gửi các thông điệp truy vấn cho từng nhóm để xác định có còn
máy nào vẫn là thành viên của nhóm 226.1.1.1. R1 dùng địa chỉ đích là 226.1.1.1 sao cho
chỉ có những máy là thành viên của nhóm này nhận được thông điệp và trả lời.
Bước 3: Không có thông điệp báo cáo nào là nhận được, vì vậy R1 sẽ ngừng đẩy lưu
lượng . Bởi vì không còn thành viên nào của nhóm 226.1.1.1, R1 sẽ không nhận được
thông điệp trả lời nào cho thông điệp truy vấn trước đây do R1 gửi ra. Kết quả là R1 sẽ
ngừng đẩy lưu lượng Multicast của nhóm 226.1.1.1 ra cổng fa0/0.
-Mặc định, router sẽ dùng một giá trị MRT bằng 10 (1 giây) cho các thông điệp truy vấn
cho nhóm. Bởi vì một router phải nhận một thông điệp trả lời cho thông điệp truy vấn
theo nhóm trước đây trong khoảng thời gian MRT này, router sẽ dùng giá trị MRT như là
khoảng thời gian để xác định thành viên cuối cùng rời khỏi nhóm. Router dùng tiến trình
sau:
Bước 1: Gửi ra một thông điệp truy vấn cho từng nhóm cụ thể khi router nhận được một
thông điệp rời khỏi nhóm.
Bước 2: Nếu không có thông điệp báo cáo nào nhận được trong khoảng thời gian MRT,
lặp lại bước 1.
Bước 3: Lặp lại bước 1 một số lần được chỉ ra trong thông số last member query count.
Chỉ số này là số lần các thông điệp truy vấn theo nhóm được gửi trước khi router kết luận
là không còn thành viên nào tích cực trong nhóm. Giá trị mặc định của thông số này bằng
2. Vì vậy thường chỉ mất dưới 3 giây để xác định không còn thành viên nào trong nhóm.
Trong khi đối với IGMP phiên bản 1, thời gian này là ba phút.
*Router truy vấn IGMPv2:
IGMP v2 định nghĩa một tiến trình bầu chọn router truy vấn. Tiến trình này được dùng
khi có nhiều router kết nối vào cùng một mạng. Khi router IGMPv2 khởi động, các router
này gửi ra các thông điệp truy vấn đến địa chỉ 224.0.0.1 dùng các địa chỉ cổng trong phần
địa chỉ nguồn của gói tin. Khi một router IGMP phiên bản 2 nhận được một thông điệp
truy vấn từ các các router kia, nó sẽ so sánh địa chỉ nguồn IP của thông điệp với địa chỉ
cổng của chính nó. Router có địa chỉ IP nhỏ nhất sẽ được bầu như router truy vấn. Các
router không trở thành router truy vấn sẽ không gửi gói tin truy vấn nhưng vẫn giám sát
tần suất của các gói tin truy vấn được gửi.
Khi router truy vấn ngừng gửi một thông điệp truy vấn trong hai chu kỳ rưỡi, router truy
vấn sẽ bị xem như đã chết và cần có một router truy vấn khác. RFC2236 qui định khoảng
thời gian này là khoảng thời gian giới thiệu router truy vấn khác (Other querier present
Interval). Giá trị mặc định cho khoảng thời gian này là 255 giây bởi vì khoảng thời gian
mặc định của gói tin truy vấn của IGMP phiên bản 2 là 125 giây và giá trị mặc định của
thời gian trả lời truy vấn là 10 giây.
So sánh IGMPv1 và IGMPv2:
IGMPv1 không có thông điệp rời bỏ nhóm. Điều này có nghĩa là sẽ tốn một khoảng thời
gian dài hơn để máy trạm cuối cùng rời khỏi nhóm và router ngừng việc truy vấn. IGMP
v1 không có thông điệp cho riêng từng nhóm. Điều này là kết quả của đặc điểm 1. Các
máy trạm có khoảng thời gian MRT này mặc định là 10 giây. IGMPv1 không có tiến
trình bầu chọn router truy vấn. Thay vào đó, nó dựa trên cơ chế định tuyến của Multicast
để để bầu ra router truy vấn. Do có thể có nhiều giao thức định tuyến khác nhau cho các
nhóm Multicast khác nhau, sẽ có một khả năng là sẽ có nhiều router truy vấn trong IGMP
v1.
Sự tương thích của IGMPv1 và IGMPv2:
IGMP v2 được thiết kế để tương thích ngược với IGMPv1. Có 1 vài trường hợp tương
thích:
o Máy trạm dùng IGMPv2 và router chạy IGMPv1.
o Máy trạm dùng IGMPv1 và router dùng IGMPv2.
o Router chạy IGMPv1 và một số router khác chạy IGMPv2.
o Máy trạm chạy IGMPv1 và router chạy IGMPv2.
Khi một máy trạm gửi ra một thông điệp báo cáo IGMP với kiểu thông điệp
là 0x16 (kiểu này không được định nghĩa trong IGMPv1, router đang chạy
IGMPv1 sẽ xem kiểu thông điệp này là không hợp lệ và bỏ qua nó. Vì vậy,
một máy chạy IGMPv2 phải gửi thông điệp báo cáo IGMPv1 khi router
IGMPv1 đang tồn tại.
Máy trạm chạy IGMPv2 sẽ xác định router truy vấn đang dùng IGMP phiên
bản 1 hay IGMPv2 dựa trên giá trị của trường MRT của các thông điệp truy
vấn định kỳ. Trong IGMPv1, trường này bằng 0, trong IGMPv2, trường
này là khác 0. Khi một máy trạm chạy IGMPv2 nhận được một truy vấn từ
router IGMPv1, máy trạm biết rằng có một router IGMPv1 đang tồn tại trên
mạng con và đánh dấu cổng này như là IGMPv1. Máy trạm chạy IGMPv2
sau đó sẽ không gửi thông điệp IGMPv2.
Bất cứ khi nào một máy trạm IGMPv2 nhận một thông điệp truy vấn
IGMPv1, nó sẽ khởi tạo một bộ định thời phiên bản 1 (version 1 router
Present timeout) có thời lượng 400 giây. Bộ định thời này sẽ được khởi tạo
lại bất cứ khi nào máy trạm nhận được một thông điệp truy vấn IGMPv1.
Nếu bộ định thời này hết, có nghĩa là không có router IGMPv1 nào tồn tại
trên mạng, máy trạm sẽ bắt đầu gửi thông điệp IGMPv2.

o Máy trạm chạy IGMPv1 và 1 số router khác chạy IGMPv2.


Các router chạy IGMPv2 có thể dễ dàng xác định sự tồn tại của các máy
trạm chạy IGMPv1 dựa vào việc máy trạm có gửi IGMPv1 (0x12) hay
IGMPv2 (0x16). Giống như router chạy IGMPv1, các router IGMPv2 sẽ
định kỳ gửi các gói tin truy vấn. Một máy trạm chạy IGMPv1 trả lời bình
thường bởi vì thông điệp truy vấn IGMPv2 thì tương tự với định dạng của
IGMPv1, ngoại trừ byte thứ hai. Các máy trạm IGMPv1 sẽ bỏ qua giá trị
chứa trong byte này. Vì vậy, một router IGMPv2 sẽ kiểm tra tất cả các
thông điệp báo cáo để tìm ra bất kỳ máy trạm nào chạy IGMPv1 tồn tại trên
LAN.
Nếu một máy trạm IGMPv2 cũng tồn tại trên cùng một mạng con, nó sẽ gửi
các thông điệp báo cáo IGMPv2. Tuy nhiên, các máy trạm IGMPv1 sẽ
không hiểu các thông điệp báo cáo IGMPv2 và bỏ qua các thông điệp này.
Các thông điệp IGMPv2 này không kích hoạt các cơ chế giảm thông điệp
báo cáo trong các máy trạm chạy IGMPv1. Vì vậy, thỉnh thoảng một router
IGMPv2 sẽ nhận cả thông điệp báo cáo từ phiên bản 1 và phiên bản 2.
Khi một router chạy IGMPv2 biết rằng có một máy trạm IGMPv1 tồn tại
trên LAN, router sẽ bỏ qua thông điệp rời bỏ nhóm và cũng không gửi ra
các thông điệp truy vấn cho từng nhóm. Điều này là cần thiết vì nếu một
router IGMPv2 trả lời lại thông điệp rời bỏ nhóm bằng thông điệp truy vấn
cho từng nhóm, các máy trạm chay IGMP phiên bản 1 sẽ không hiểu loại
thông điệp này và sẽ bỏ qua.
Khi một router IGMP phiên bản 2 không nhận được một trả lời cho thông
điệp truy vấn theo nhóm, nó có thể kết luận sai rằng không còn ai muốn
nhận lưu lượng và sẽ ngừng chuyển lưu lượng vào LAN đó. Vì vậy nếu
một hoặc nhiều máy trạm IGMP phiên bản 1 đang lắng nghe đến một nhóm
nào đó, router cần phải bỏ quá trình tối ưu giúp giảm thiểu độ trễ khi các
máy trạm rời khỏi nhóm. Router IGMP phiên bản 2 tiếp tục bỏ qua thông
điệp rời bỏ nhóm cho đến khi nào khoảng thời gian định thời IGMP phiên
bản 1 là hết.
Khi router IGMP phiên bản 2 nhận được một thông điệp báo cáo IGMP
phiên bản 1, router sẽ thiết lập một bộ định thời IGMP phiên bản 1. Khoảng
thời gian này phải bằng với khoảng thời gian xác định thành viên nhóm
(Group membership Interval), mặc định là 180 giây trong IGMP phiên bản
1 và 260 giây trong IGMP phiên bản 2. Đây là khoảng thời gian mà trong
đó một router không nhận được một thông điệp báo cáo IGMP, router sẽ
kết luận là không còn thành viên nào trên mạng.
o Các router chạy IGMPv1 và IGMPv2:

Bộ định thời Sử dụng Giá trị mặc định Giá trị mặc định
cho IGMPv1 cho IGMPv2
Thời gian truy vấn Khoảng thời giữa các Cố định là 60 125 giây
lần gửi gói tin truy vấn giây
bởi router
Thời gian đáp ứng truy Khoảng thời gian tối đa 10 giây 10 giây
vấn cho các máy trạm trả lời
lại cho các gói truy vấn
Thời gian quan hệ Là khoảng thời gian mà 180 giây 260 giây
nhóm nếu router không nhận
được thông điệp báo
cáo, router kết luận rằng
không còn thành viên
nào của nhóm trên mạng
con
Thời gian truy vấn khác Là khoảng thời gian - 255 giây
trong đó nếu một router
IGMP phiên bản 2
không phải là router truy
vấn không nhận được
thông điệp truy vấn,
router sẽ kết luận là
router truy vấn là chết
Thời gian thành viên Khoảng thời gian trả lời - 1 giây
truy vấn lần cuối tối đa được chỉ ra bởi
router chạy IGMP phiên
bản 2 trong thông điệp
truy vấn theo nhóm và
khoảng thời gian giữa
hai thông điệp truy vấn
liên tiếp gửi đến cùng
nhóm
Thời gian hết hạn của Là khoảng thời gian - 400 giây
router đang chạy phiên trong đó nếu một máy
bản 1 trạm chạy IGMP phiên
bản 2 không nhận được
gói tin truy vấn IGMP
phiên bản 1 query, máy
trạm sẽ kết luận rằng
không có router chạy
IGMP phiên bản 1 và
máy trạm bắt đầu gửi
thông điệp IGMP phiên
bản 2.
11.3.4 Giao thức IGMPv3
-IGMP phiên bản 3 là một phiên bản cải tiến của giao thức IGMP và là giao thức khá
phức tạp. Để dùng các đặc điểm mới của IGMP, router trạm cuối cùng phải được cập
nhật, hệ điều hành của máy trạm phải thay đổi và ứng dụng Multicast phải thiết kế và viết
lại. Ở thời điểm hiện tại, chỉ có rất ít các ứng dụng của IGMP phiên bản 3 là có sẵn. Phần
này chỉ tóm tắt các đặc điểm chủ yếu của IGMP phiên bản 3.
-Trong IGMPv1 và IGMPv2, khi một máy trạm tham gia vào một nhóm, router sẽ truyền
các lưu lượng cho nhóm đó vào phân đoạn mạng bất chấp địa chỉ nguồn của gói tin. Ví
dụ, giả sử có một buổi hội thảo đa phương tiện đang diễn ra. Một thành viên của nhóm
quyết định phá hỏng phiên hội thảo bằng cách gửi ra một số dữ liệu nhiễu bằng cách nói
chuyện hay gửi nhạc cho các thành viên của nhóm. Mặc dù các ứng dụng đa phương tiện
cho phép một người dùng làm im lặng các thành viên khác, ứng dụng không làm dừng
các lưu lượng không mong muốn phân phối đến máy trạm.
-Nếu một nhóm các hacker quyết định phát tán một mạng của một công ty bằng các dữ
liệu băng thông cao dùng cùng địa chỉ nhóm Multicast mà công ty đang dùng, nó có thể
tạo ra kiểu tấn công từ chối dịch vụ. Cả IGMPv1 và IGMPv2 đều không có cơ chế để
ngăn ngừa một kiểu tấn công như vậy.
IGMPv3 cho phép các máy trạm lọc các lưu lượng đi vào dựa trên địa chỉ IP nguồn thông
qua một tính năng gọi là Multicast theo từng nguồn (Source Specific Multicast –SSM).
IGMPv3 cho phép các máy trạm chỉ định các lưu lượng xuất phát từ một nguồn cụ thể
hoặc nhận từ tất cả ngoại trừ từ một nguồn nào đó.
-IGMPv3 mở rộng chức năng của IGMPv2 bằng việc hỗ trợ chức năng multicast cho
từng nguồn cho phép các host lọc dữ liệu đi vào dựa trên địa chỉ IP nguồn. IGMPv3 cải
tiến thông điẹp Host Membership Querry và thêm phiên bản mới của Host Membership
Report. Lọc dữ liệu là khả năng cho phép 1 host chỉ ra nó sẽ nhận nguồn dữ liệu multicast
từ địa chỉ nguồn xác định. IGMPv3 cho phép 1 host chỉ rõ 2 thuộc tính dưới đây cho các
địa chỉ multicast cụ thể:
• Danh sách các nguồn mà host nhận dữ liệu.
• Danh sách các ngồn mà host không nhận dữ liệu
-Thông điệp IGMPv3 Host Membership Querry có cùng giá trị và có cùng định dạng với
IGMPv2 Host Membership Querry ngoại trừ nó thêm 1 số trường ở sau trường địa chỉ
nhóm. Các trường này cung cấp các tham số truy vấn cho router và chỉ rõ các nguồn được
chấp nhận và được chấp nhận ứng với mỗi nhóm multicast. Danh sách các nguôn được
chấp nhận và không chấp nhận được sử dụng cho truy vấn tới 1 nhóm cụ thể có khả năng
lọc dữ liệu.
• Dưới đây là format của thông điệp IGMPv3:
• Bảng mô tả các trường trong thông điệp IGMPv3 Host Member Query:
Tên trường Độ dài Mô tả
Type 8 bit Xác định 4 kiểu thông điệp
có giá trị: 0x11 cho Host
Membership Querry
Maximum Response Time 8 bit Chỉ ra khoảng thời gian tối
đa(tính bằng giây) mà 1 host
có thể phản hồi thông tin
truy vấn, chỉ sử dụng trong
các thông điệp truy vấn
Checksum 16 bit Dùng để kiểm tra lỗi trong
quá trình truyền dữ liệu
Group Address 32 bit Được gán giá trị 0.0.0.0
trong gói tin truy vấn và gán
địa chỉ nhóm nếu thông điệp
là cho từng nhóm cụ thể.
Các thông điệp Membership
Report hoặc thông diệp
Leave Group có thêr mang
địa chỉ của nhóm trong
trường này
Reversed(dành riêng) 4 bit Chứa giá trị 0 khi gửi và bỏ
qua khi nhận
Supress 1 bit Gán giá trị 1 để chỉ rõ các
router nhận đừng cập nhật
thời gian khi nhận 1 truy vấn
Querier’s Robustness 3 bit Chỉ ra các gói datagram
Variable(QRV) mong đợi trên mạng. IGMP
có thể lấy lại QRV-1 gói
datagram bị lấy mất
Querier’s Query Interval 8 bit Chỉ ra khoảng thời gian tính
Code(QQIC) bằng giây mà router đợi giữa
2 truy vấn thông thường
Number of Sources 16 bit Chỉ số lượng địa chỉ nguồn
chứu thông tin truy vấn
Source Addresses 32 bit Chứa địa chỉ IP nguồn của
multicast

-Trong hình đưới đây mô tả cơ chế hoạt động của IGMPv3:

Lưu lượng của nhóm 226.1.1.1 là xuất phát từ hai nguồn, R1 nhận lưu lượng từ cả hai
nguồn. H1 chuẩn bị thông điệp báo cáo quan hệ IGMP phiên bản 3 dùng địa chỉ đích
là 224.0.0.22, được gán bởi IANA cho các thông điệp báo cáo quan hệ IGMP phiên
bản 3. Kiểu thông điệp là 0x22 với một trường bao gồm “địa chỉ nguồn
209.165.201.2”, có nghĩa là “tôi muốn tham gia vào nhóm Multicast 226.1.1.1 nhưng
chỉ nếu nhóm này đến từ nguồn 209.165.201.2”.Cisco đã phát triển tính năng URD và
IGMP phiên bản 3 để dùng các tính năng của IGMP3 cho đến khi nào các ứng dụng
IGMP phiên bản 3 là sẵn sàng và hệ điều hành được cập nhật.
11.3.5 So sánh 3 giao thức IGMP
Đặc điểm IGMPv1 IGMPv2 IGMPv3
Giá trị của byte đầu tiên 0x11 0x11 0x11
trong thông điệp truy
vấn
Địa chỉ nhóm cho thông 0.0.0.0 0.0.0.0 0.0.0.0
điệp truy vấn
Địa chỉ đích cho thông 224.0.0.1 224.0.0.1 224.0.0.1
điệp truy vấn
Thời gian truy vấn mặc 60 giây 125 giây 125 giây
định
Giá trị của byte đầu tiên 0x12 0x16 0x22
của thông điệp báo cáo
Địa chỉ nhóm cho thông Địa chỉ nhóm Địa chỉ nhóm Địa chỉ nhóm
điệp báo cáo multicast multicast multicast, có
tham khảo thêm
nguồn
Địa chỉ đích của thông Địa chỉ nhóm Địa chỉ nhóm 224.0.0.22
điệp báo cáo multicast multicast
Có cơ chế làm giảm Có Có Không
thông điệp báo cáo hay
không?
Thời gian trả lời tối đa 10 giây 0-25.5 giây Từ 0 đến 53 phút
có thể được cấu hình
Một máy trạm có thể Không Có Có
gửi thông điệp rời khỏi
nhóm hay không?
Địa chỉ đích cho thông - 224.0.0.2 224.0.0.2
điệp rời khỏi nhóm
Một router có thể gửi Không Có Có
một thông điệp cho
từng nhóm cụ thể
Một máy trạm có thể Không Không Có
gửi một thông điệp báo
cáo cho từng nhóm và
từng nguồn cụ thể hay
không?
Router có thể gửi truy Không Không Có
vấn cho từng nguồn và
từng nhóm cụ thể hay
không?
Luật bầu chọn router Khồng, phụ thuộc vào Router có địa chỉ Router có địa chỉ
truy vấn giao thức định tuyến IP thấp nhất IP thấp nhất
Tương thích với các Không Có, chỉ với IGMP Có, với cả IGMPv1
phiên bản 1 và IGMPv2
phiên bản khác của
IGMP

11.3.6 Giao thức IGMP với Access Control(IGMP-AC)

-Kiến trúc của IGMP-AC được thể hiện trong sơ đồ trên: Ở đây, “access control” được
dùng để cấu trúc đại chỉ tất cả các tính năng của AAA: để xác thực thành công, để kiểm
chứng việc xác thực nhận group data khi mà có thông điệp join của IGMP-AC được gửi
đi, và cũng dể giữa cho việc kiểm tra thông tin cho mỗi end user.
-Những tính chất quan trọng của IGMP-AC:
• Quá trình xác thực end user sẽ hỗ trọ tất cả các việc liên quan đến authentication,
từ những password đơn giản đến những chứng chỉ xác thực phức tạp.
• IGMP-v3 hiện tại là tiêu chuẩn được thiết kế bởi IETF. Quá trình modification dựa
trên IGMP-v3 và phải hỗ trợ cho “source filtering”.
• IGMP-AC sẽ không tác động đến những tính năng thông thường của IGMP-v3 và
access control của end user phải được mô hình hóa theo tiêu chuẩn đã được đặt ra.
• Những tính năng tối thiểu và việc giảm tải workload nên được thêm vào các
AR(access router) và các host.
• Quá trình xác thực tốn khá nhiều tài nguyên CPU và băng thông. Vì thế các end
user nên gửi các thông tin xác thực của mình tới các AR nhanh nhất có thể
-Các thành phần và vai trò của chúng trong IGMP-AC:
• Có 5 thành phần trong kiến trúc cảu IGMP-AC: CP(Content Providers), Core
Router(CR), Ars, End User(EU) và AAAS(AAA Server). Network Access
Server(NAS) hoặc các AAA Client sẽ được đặt trong AR.
• CP sẽ chuyển dịch vụ hoặc các data packet qua Content Server(CS). Nó sẽ gửi các
multicast packet tới các AR gần nhất, và các AR sẽ chuyển thẳng các packet qua
cây phân phối multicast data(được xây dựng từ các CR).
• AR sẽ kết nối trực tiếp tới các subnet của các end user sẽ thể hiện 2 dịch vụ: nó sẽ
nhận và xử lí các thông điệp IGMP và thực hiện xử lí như NAS bằng cách giao
tiếp với AAA Server. Nếu 1 end user được đã xác thực, AR/NAS sẽ thu thập các
thông tin xác thực từ thông điệp join của IGMP và chuyển các request tới AAAS.
AAAS sẽ kiểm chứng thông tin và gửi câu trả lời tới NAS. Khi 1 endusser rời khỏi
Multicast Group, hoạt động của group đó sẽ được gửi tới AAAS nằm trong thông
account message.
-Mô tả các giao thức:
• Trong kiến trúc của IGMP-AC có 3 thực thể: host, AR/NAS và AAAS. 1 máy chủ
và AR sẽ giao tiếp với nhau bằng cách sử dụng IGMP-AC trong khi mà AR/NAS
và AAAS sử dụng 1 trong các giao thức của AAA. Từ điểm này khi chúng ta sử
dụng term “AR” nó sẽ chỉ ra cả AR và các NAS. Dưới đây, ta sẽ có 1 flow chart
giải thích hoạt động của từng trạng thái tương ứng với các entity tương ứng:
• Trong flowchart trên, mũi tên 2 chiều sẽ được dùng để diễn tả quá trình gửi và
nhận 1 thông điệp đến hoặc từ thực thể nào được gắn trên mũi tên. Mũi tên đến thể
hiện việc nhận thông điệp và mũi tin xuất thể hiện việc gửi thông điệp. Chúng ta
sẽ thông qua g_or_gs để chỉ ra Group-Specific Query và Group-and-Source-
Specific Query.
• State diagram cho việc giao thức với AR sử dụng IGMP-AC. Ở đây, các API là
các các giao thức lớp trên. Thông điệp rời đi và join vào không phải là 1 phần của
IGMP-AC protocol, nó được dùng để thể hiện 1 trong các ứng dụng, chạy trên
máy chủ để thông báo khi nào hoin haowcj rời khỏi máy chủ. Chế độ lọc(rstate) sẽ
được coi như 1 host duy trì, có 1 trong 3 giá trị: add, del hoặc current. Khi host 1
thông điẹp join vào, nó sẽ tạo mới 1 trang thái tiếp nhận và phân chế độ lọc với giá
trị add. Khi nó nhận thông điệp rời đi cho 1 g_or_gs, chế độ lọc sẽ thay đôi từ
current thành del. Chế độ lọc được phân giá trị current trong 1 khoảng thời gian
mà máy chủ duy trì các thành viên trong group. Trong flowchart trên, query và
report messages là các thông điệp tiêu chuẩn của IGMPv3; auquery, areport và
aresult sẽ được tạo cho các giao thức IGMP-AC . Trong sơ dồ này, 1 mật khẩu
đơn giản dựa trên cơ chế xác nhận đã được mô tả khá chi tiết. Để tối thiểu hóa số
lần authentication data được gửi bởi máy chủ, chỉ trong response tới 1 auquery,
máy chủ sẽ gửi areport tới AR mang theo thực thể và password của end user. AR
sẽ thông báo cho host rằng kết quả của tiến trình authentication bằng cách gửi
aresult message. Khi xác thực thành công, giá trị cảu rstate sẽ là add, máy chủ sẽ
add thêm 1 trạng thái tiếp nhận mới cho(g_or_gs, id, pwd) bằng cách thay đổi chế
độ lọc từ add thành current. Nếu giá trị của rstate là del, máy chủ sẽ xóa đi trạng
thái tiếp nhận(g_os_gs, id, pwd) cho chế độ lọc đã được phân cho giá trị del trước
đó.

• Trên đây là sơ đồ trạng thái miêu tả AAAS giao tiếp với AR sử dụng 1 trong các
AAA protocol được trình bày như trên. Chúng ta hãy giả định rằng: request,
answer và account là thông điệp của “Diameter” protocol. Việc mở rộng
“Diameter Protocol” có thể được thực hiện bằng cách gửi reponse tới request và
AAAS sẽ nhận được answer. Nếu end user được xác thực thành công và được xác
thực cho group g_or_gs, AAAS sẽ gửi 1 answer(yes, time) nơi mà time chỉ ra
khoảng thời gian mà end user cho phép nhận data từ multicast group g_or_gs.
AAAS sẽ update database index của nó(g_or_gs,id) dựa trên việc nhận 1 account
message.
-Dưới đây là sơ đồ trạng thái AR và các tính năng của nó:
• AR sẽ tiếp tục duy trì list bảo mật của secured group của loại g_or_gs bất cứ khi
nào mà 1 report cung với g_or_gs được nhận, nó sẽ gửi repuest tới AAAS để
thông báo . Nếu đó là 1 Open Group, IGMPv3 sẽ được theo dõi, mặt khác, group
sẽ được thêm vào list.
• Nếu AR nhận được report cùng với đó chế độ lọc của trạng thái tiếp nhận là
current, nó sẽ resfresh lại trạng thái tiếp nhận và reset lại bộ đếm. Không có thông
tin xác thực nào được trao đổi trong thời gian này.
• AR sẽ gửi 1 auquery nếu nó nhận được report với chế độ lọc của trạng thái tiếp
nhận là add hoặc del. Vì, authentication chỉ cần thiết trong quá trình join hoặc rời
đi của end user.
• Quá trình xác thực tế được thực hiện bởi AAAS, AR nhận được thông tin xác
thực(user identity và mật khẩu) qua thông điệp areport, trích xuất thông tin và
chuyển nó đến AAAS bằng cách gửi thông điệp request.
• Nếu quá trình xác thực thành công và chế độ lọc có giá trị là add, AR sẽ add thêm
trạng thái tiếp nhận mới(g_or_gs,id).
• Khi quá trình xác thực thành công mà chế độ lọc là de, 1 thộng điệp acccount sẽ
được gưi tới AAAS và 1 IGMPv3 query sẽ được gửi tới các host trong subnet. Bộ
đếm hay querytimer cho group g_or_gs sẽ được thiết lập.
• Trong trường hợp querytimer cho group g_or_gs hết hạn, tất cả các entries với
g_or_gs ở trạng thái tiếp nhận sẽ bị xóa bỏ.
-Những thông điệp khác:
• Authentication Unicast Query: Trong IMGPv3, tất cả các loại của thông điệp
query đuọc gửi với địa chỉ multicast đích. 1 General Query được gửi với địa chỉ IP
đích là 224.0.0.1, địa chỉ multicast của toàn hệ thống. 1 Group-Specific hoặc
Group-and-Source-Specific Querry được gửi cùng với đại chỉ IP đích tương đương
với địa chỉ multicast được yêu cầu. 1 Authentication Querry, được coi như là
auquery trong sơ đồ trên, được gửi với địa chỉ unicast đích. Bất kể khi nào AR
nhận report từ máy chủ với giá trị của chế độ lọc là add hoặc del, AR sé lấy địa chỉ
IP của máy chủ từ report này, và sử dụng địa chỉ đó như địa chỉ đích của thông
điệp auquery. Query này được gửi cùng với g_or_gs, vì thế nó có cả 2 loại Group-
Specific và Group-and-Source-Specific.
• Authentication Report: được biểu diên bởi areport. Nó bao gồm thông tin xác thực
cảu người dùng. Báo cáo này chỉ được gửi bởi máy chủ và chỉ trả lời cho auquery.
1 areport bao gồm chế đọ lọc của trạng thái tiêp nhận, danh tính và mật khẩu. Bất
kì 1 cơ chế xác thực nào sử dụng nó đều sẽ mang thông các thông tin xác thực
tương ứng.
• Authentication Result: AR sẽ chuyển thẳng các thông tin xác thực tới AAAS và
nhận lại kết quả từ AAAS. Kết quả đó dựa vào máy chủ bởi 1 Authentication
Result hoặc thông điệp aresult. Nó bao gồm (g_or_gs, id, result), trong đó result
được coi như 1 cờ gắn cho loại data đó(yes/no).
-Yêu cầu về trạng thái tiếp nhận:
• Để hoạt động IGMP-AC 1 cách trơn tru, thì 1 set các trạng thái tiếp nhận phải nên
được duy trì bởi 1 AR và máy chủ thêm vào đó ứng với trạng thái tiếp nhận tương
ứng.AR và các máy chủ sẽ liển tục duy trì set các trạng thái tiếp nhận.
• 1 máy chủ sẽ được thông báo thông qua API là giao thức lớp trên sẽ biểu diễn quá
trình join vào nhóm multicast. Máy chủ sẽ kiểm tra thông tin nhận được từ các
API lớp trên 1 số thông tin xác thực phải được trình bày cho Secured Group khi
tiếp nhận. Nếu nó là Open Group thì nó sẽ follow theo các tiêu chuẩn của
IGMPv3. Trong trường hợp Secured Group, máy chủ sẽ bắt buộc phải duy trì(địa
chỉ nhóm, địa chỉ nguồn, danh tính của end user, thông tin xác thực, chế độ lọc).
• Đối với các thành viên của Group-Specific sẽ được để rỗng và với Group-and-
Source-Specific, các trường sẽ có từ 1 đến 2 địa chỉ nguồn. Chế dộ lọc có thể là
bất kì giá trị nào trong 3 giá trị: add, current, del.
• AR luôn luôn duy trì danh sách các multicast group theo format g_or_gs. Bất kể
khi nào 1 report không có nhóm xác định(không nằm trong danh sách nhóm đã
được xác định) được truyền đi, AR sẽ giao tiếp với AAAS để update danh sâch đó.
Danh sách đo vô cùng đơn giản bao gồm: địa chỉ nguồn, địa chi đích, status. Ở đây
địa chỉ nguồn và địa chỉ đích là như nhau đối với trạng thái tiếp nhận của máy chủ,
trạng thái có thể là Open hoặc Secured
• AR sẽ không bao giờ duy trì thông tin xác thực của end user và nó nên duy trì
trạng thái tiếp nhận của: địa chỉ nguồn, địa chỉ đích, danh tính của end user, thông
tin ủy quyền, thông tin accounting, chế độ lọc.
-Công dụng của EAP(Extensible Authentication Protocol) trong IGMP-AC:

EAP và thông điệp Diameter


• EAP hỗ trợ cơ chế đa xác thực. Nó được sử dụng giữa máy chủ và router kết nối
với nhau thông qua mạch chuyển đổi hoặc kết nối dial-up sử dụng PPP. EAP chạy
giữa 1 authenticator và 1 peer, nơi mà authenticator hoạt động như 1 trạm trung
chuyển, va 1 backend authentication server( hoặc EAP server) có thể được kết nối
với authenticator. Thông tin xác thực thực tế được biểu diễn bởi backend server.
Trạm trung chuyển authenticator không có gì nhưng NAS và backend server là 1
AAAS. Trong môi trường cụ thể được đề cập, EAP sẽ được sử dụng bởi máy chủ
và NAS, và đó là 1 trong những giao thức của AAA được sử dụng bởi NAS và
AAAS. Gói tin EAP sẽ được chuyển tới NAS và sẽ đuọc gửi qua AAAS bằng cách
đóng gói chúng trong AAA packet, rồi NAS sẽ gỡ đóng gói các AAA packet nhận
được từ AAAS sau đó truyền các EAP packet tới end user. Có 4 loại thông điệp
EAP: Request, Response, Success, Failure.

* Cấu trúc EAP thường được sử dụng:


EAP trong IGMP-AC

• EAP framework hoạt động giống như IGMP-AC với bộ xác thực hoạt động như 1
trạm trung chuyển. Sự khác biệt duy nhất mà chúng tôi phải giải quyết là trong
IGMP-AC, một máy chủ giao tiếp với AR (NAS) bằng cách sử dụng IGMP-AC
protocol, trong khi trong khuôn khổ EAP, một máy chủ giao tiếp với NAS sử dụng
giao thức EAP. Chúng tôi không trình bày cụ thể giải pháp của vấn đề này. Một
trong những trường hợp có thể xảy ra là bạn nên gửi các gói EAP bên trong các
trình hiền triết IGMP-AC. Trong hình trên, trình tự của các thông báo được hiển
thị,trong đó EAP Request được đóng gói bên trong một auquery và một EAP được
đóng gói bên trong một thông điệp areport. Một EAP Success hoặc Failure được
gói gọn trong một thông báo kết quả. Đối với N chuyến khứ hồi của
các bản tin EAP, N cặp bản tin (auquery, areport) sẽ được trao đổi.

11.3.7 IGMP Snopping


-Trong chế độ hoạt động bình thường, một máy trạm muốn tham gia vào một nhóm
Multicast phải liên lạc với một router ngõ ra để router đưa máy trạm đó vào nhóm
Multicast. IGMP snooping cho phép một switch lắng nghe các thông điệp báo cáo quan
hệ IGMP này sao cho nó có thể tìm ra máy trạm nào đang yêu cầu nhóm nào.
-Để tham gia vào một nhóm, một máy trạm phải gửi các thông điệp báo cáo quan hệ
Multicast về chính địa chỉ Multicast của nhóm đó. Một switch L2 phải lắng nghe đến tất
cả các khung tin Multicast để tìm ra thông tin IGMP. Đây rõ ràng là một gánh nặng cho
CPU của switch.
-Một thiết bị L3 switch thì có lợi thế rõ ràng hơn, nó có thể tách ra thông tin L3 trong một
khung tin. Kiểu switch này phải lắng nghe mọi gói IGMP. Khi một thông điệp báo cáo
quan hệ được lắng nghe, switch sẽ thêm địa chỉ MAC của nhóm Multicast vào bảng
CAM của nó cùng với cổng nguồn nơi mà một gói IGMP được nhận. Tác vụ này sẽ liên
kết địa chỉ nhóm với các máy trạm đã yêu cầu tham gia nhóm.
-Khi các máy trạm khác cũng yêu cầu tham gia nhóm, các cổng tương ứng sẽ được thêm
vào bảng CAM. Khi có một khung tin cần đến một địa chỉ Multicast, nó có thể được nhân
bản ra chính xác các cổng của các máy trạm.
-Với IGMP snooping, có hai trường hợp đặc biệt trong bảng CAM. Một là, tất cả các địa
chỉ IGMP là nhận biết bởi switch (cập nhật động) cũng sẽ được lưu trong bảng CAM.
Các khung tin Multicast cũng phải được nhân bản về phía các router để các lưu lượng này
có thể được định tuyến nếu cần thiết. Hai là, CPU của switch cũng là một thành viên của
nhóm Multicast vì nó có thể xem các gói IGMP đến và đi. Chỉ có lưu lượng của IGMP là
được xử lý. CPU sẽ không kiểm tra các khung tin Multicast khác.
-IGMP snooping được cho phép trên tất cả các cổng của switch và các giao tiếp Vlan.
Các dòng switch Catalyst 2950, 3550, 4500 và 6500 là có hỗ trợ IGMP snooping.

Điều gì sẽ xảy ra nếu hệ thống mạng có vài switch không phải của Cisco? Bạn không thể
dùng CGMP bởi vì đây là giao thức của Cisco. IGMP snooping có thể được dùng cho
một môi trường có nhiều loại switch khác nhau để kiểm soát việc phân phối lưu lượng ở
lớp 2. IGMP snooping yêu cầu phần mềm switch nghe lén các trao đổi IGMP giữa các
máy trạm và các router. Switch sẽ kiểm tra các thông điệp IGMP và học vị trí của các
router Multicast và các thành viên nhóm.
-Ba bước dưới đây sẽ mô tả quá trình tổng quát của IGMP snooping:
• Bước 1: Để phát hiện có nhiều router kết nối vào cùng một mạng con hay không,
các switch của Cisco sẽ lắng nghe các giao thức sau để xác định trên những cổng
nào của switch đang có router kết nối:
IGMP với GDA là 01-00-5e-00-00-01
+Các thông điệp OSPF với GDA là 01-00-5e-00-00-05 hoặc 01-00-5e-00-00-06.
+Giao thức PIM phiên bản 1 và HSRP với gói hello là có GDA 01-00-5e-00-00-
01.
+Gói tin PIM phiên bản 2 có GDA là 01-00-5e-00-00-0d.
+Các thông điệp DVMRP thử nghiệm với GDA 01-00-5e-00-00-04.
+Ngay khi các switch phát hiện các router trong Vlan, switch sẽ thêm vào danh
sách cổng của tất cả các GDA trong VLAN đó.
• Bước 2: Khi một switch nhận được một thông điệp báo cáo IGMP trên một cổng,
CPU sẽ xem địa chỉ nhóm GDA, tạo ra một hàng trong bảng CAM và thêm địa chỉ
cổng vào hàng. Cổng của switch có router cũng được thêm vào hàng mới này. Nếu
các máy trạm khác gửi các báo cáo IGMP, switch sẽ chuyển lưu lượng ra các
cổng.
-Tương tự, khi một switch nhận được một thông điệp rời khỏi nhóm, CPU sẽ tìm địa chỉ
GDA, xóa các cổng ra khỏi bảng CAM và không đẩy lưu lượng ra cổng đó. Switch sẽ
kiểm tra đây có phải là cổng cuối cùng của GDA hay không. Nếu đây không phải là cổng
cuối cùng, có nghĩa là có ít nhất một máy trong Vlan vẫn muốn nghe lưu lượng , switch
sẽ bỏ thông điệp rời bỏ, nếu khác đi, nó sẽ gửi thông điệp rời bỏ đến router.
-Như vậy, IGMP snooping giúp cho các switch gửi lưu lượng chỉ cho những nhóm cần
nó và tránh lãng phí băng thông. Để tăng hiệu quả hoạt động, IGMP snooping yêu cầu
phần cứng phải hỗ trợ chức năng lọc bằng phần cứng sao cho nó có thể phân biệt sự khác
nhau giữa các báo cáo IGMP và lưu lượng Multicast bình thường. CPU của switch cần
phải thấy các thông điệp báo cáo IGMP (và các thông điệp định tuyến Multicast khác)
bởi vì IGMP snooping có thể làm tốn CPU. Tuy nhiên, quá trình đẩy khung tin đi không
yêu cầu chu kỳ CPU mà chỉ cần phần cứng ASIC của switch.
Những switch cũ hơn, đặc biệt là những switch không có L3 sẽ không thể nhận dạng một
gói tin là IGMP. Các switch này bị ràng buộc về CPU bằng cách gửi tất cả các Multicast
lưu lượng . Phần lớn các switch hiện đại ngày nay hỗ trợ đủ tính năng L3 để nhận biết
IGMP sao cho IGMP snooping sẽ không ràng buộc CPU.
11.4 Tìm hiểu về các giao thức định tuyến multicast

11.4.1 Giới thiệu chung


-Được phân vào thành 3 loại chính:
• Giao thức hoạt động theo mô hình tập trung(Dense Mode) như DVMRP và PIM-
DM. Hoạt đoọng theo cơ chế quảng abas và loại bỏ trong đó các router cho rằng
trên mạng còn tồn tại ít nhất 1 máy nhận dữ liệu multicast, vì thế chúng gửi dữ liệu
xuống tất cả các mạng cho đến khi nhận được thông báo dừng gửi dữ liệu. Với cơ
chế này các giao thức dense mode phù hợp với các mạng máy tính nhỏ, trong đó
lưu lượng multicast được truyền tới hầu hết các máy trên mạng
• Giao thức hoạt động theo mô hình phân tán(Sparse Mode) như PIM-SM và CBT.
Hoạt động theo cách ngược lại, các router sẽ không gửi dữ liệu lên mạng trừ khi
nó nhận được yêu cầu gửi dữ liệu của các máy cần gửi dữ liệu. Điều này làm giảm
dữ liệu dư thừa truyền trên mạng, giúp cho các giao thức sparse mode phù hợp với
các mạng lớn, với số lượng các máy tham gia nhận dữ liệu nhiều nhưng rải rác
trên các mạng con.
• Giao thức hoạt động theo mô hình trạng thái liên kết MOSPF.

11.4.2 Tìm hiểu về giao thức định tuyến multicast-vector khoảng cách
-DVMRP(Distance Vector Multicast Routing Protocol) là giao thức định tuyến multicast
đầu tiên được sử dụng phổ biến. DVMRP được phát triển dựa trên giao thức định tuyến
unicast Routing Information Protocol(RIP) với 1 số thay đổi để phù hợp với cơ chế
multicast.
• Tìm kiếm hàng xóm: Là quá trình quan trọng các router sử dụng DVMRP cần
phải duy trì 1 danh sách các router hàng xóm để thực hiện chuyển tiếp multicast.
Điều này đặc biệt đúng khi DVMRP hoạt động trên mạng da truy cập như mạng
Ethernet, vì trên mạng có thể có nhiều router DVMRP tham gia.

Tìm hàng xóm trong DVMRP

• Cắt nhánh: DMVRP sử dụng cây nguồn để điều khiển đường đi của ngồn dữ
liệu, ban đầu dữ liệu multicast được gửi xuống tất cả cá nhánh của cây. Để có 1
cơ chế cắt bỏ tất cả các nhánh cây mà trên đó không có máy nhận dữ liệu. Tại các
router không có máy nhận, dữ liệu kết nối trực tiếp thì router đó được gọi là router
lá, router này gửi 1 thông điệp DVMRP Prune lên cây multicast để yêu cầu dừng
gửi dữ liệu và cắt bỏ nhánh khỏi cây multicast.

Tìm hàng xóm trong DVMRP

• Ghép nhánh: ĐểCắt thựcnhánh


hiện trong nhánh thì router gửi 1 thông điệp DVMRP Draft
ghép DVMRP
tới router phái trên nếu nó muốn ghép nhánh trở lại cây multicast. Sau khi router
phía trên nhận được nó sẽ phản hồi lại bằng thông điệp Graft-Ack và chuyển tiếp
lưu lượng multicast xuống router phía dưới.
Ghép nhánh trong DVMRP

11.4.3 Đôi nét về PIM(Protocol Independent Multicast) về RP(Rendezvous Point)


-PIM: Vì các gói báo cáo thành viên IGMP luôn được gửi với giá trị TTL là 1, chúng
không thể được sử dụng để tìm nguồn trên một Segment mạng khác. Để làm được điều
đó, người ta thường sử dụng PIM (Giao thức đa phương thức độc lập).

• “Tính độc lập của giao thức” nghĩa là nó có thể sử dụng bất kỳ giao thức định
tuyến IP nào, bao gồm cả các tuyến tĩnh nếu cần. Nó không cần phải phân phối
các định tuyến riêng biệt của mình hoặc duy trì một bảng định tuyến multicast
riêng biệt.
• Các router sẽ tham gia vào PIM. Mỗi bộ định tuyến sử dụng bảng định tuyến
unicast của nó để tìm kiếm đường dẫn ngắn nhất quay trở lại nguồn phát đa
hướng. Đây được gọi là RPF(Reverse path Forwarding-Chuyển tiếp đường dẫn
ngược).
• Khi sử dụng RPF, mỗi bộ định tuyến có thể quyết định giao diện mà nó sẽ nhận
nhóm phát đa hướng thông qua. Miễn là tất cả các bộ định tuyến trong mạng chấp
nhận về bảng định tuyến unicast, điều này sẽ tạo thành một cấu trúc cây đáng tin
cậy, tương tự như spanning free, sẽ không có vòng lặp.
-Rendezvous Point: Điểm hẹn (Rendezvous Points) trong mạng chế độ PIM thưa thớt
tồn tại để tìm nhóm phát Multicast và source.

• RP là một bộ định tuyến khác trên mạng. Khi thiết bị nguồn bắt đầu gửi các gói đa
hướng của nó, bộ định tuyến đầu tiên, trên cùng phân đoạn với nguồn, nhận gói đó
và chuyển tiếp đến bộ định tuyến RP. Bước đầu tiên này được gọi là “đăng ký”,
được thực hiện bằng cách sử dụng unicast.
• RP có hai chức năng: Nó duy trì một bảng tất cả các nguồn cho mỗi nhóm, đồng
thời nó cũng nhận và phân phối lại tất cả các nhóm mà nó đã chịu trách nhiệm.

11.4.4 Tìm hiểu về giao thức PIM-SM(PIM Sparse Mode)


- Giao thức định tuyến multicast chế độ dense là hữu ích khi các ứng dụng multicast là
dày đặc và bạn cần phân phối traffic đến hầu như tất cả các mạng. Tuy nhiên, nếu các
người dùng chỉ ở vài mạng con, giao thức định tuyến chế độ dense sẽ vẫn phát tán lưu
lượng trên toàn bộ liên mạng, lãng phí băng thông và tài nguyên. Trong những trường
hợp này, định tuyến theo kiểu sparse, chẳng hạn PIM-SM có thể được dùng để giảm lãng
phí tài nguyên mạng. Sự khác nhau cơ bản giữa chế độ dense và chế độ sparse liên quan
đến trạng thái mặc định của nó. Mặc định, các giao thức chế độ dense tiếp tục truyền các
traffic của nhóm trừ phi một router bên dưới chỉ ra rằng nó không muốn nhận traffic đó.
Các giao thức chế độ sparse không truyền lưu lượng của nhóm tới bất kỳ router nào trừ
phi nó nhận được một thông điệp yêu cầu các bản sao của các gói tin được gửi tới một
nhóm multicast đặc biệt.
=> Giúp định hướng xây dựng mạng IPTV, đầu tư thiết bị với cấu hình và giao thức ứng
dụng phù hợp khi triển khai áp dụng trên hệ thống có hiệu quả và tiết kiệm băng thông
của mạng và phù hợp với mạng kỹ thuật hiện có.
Một router láng giềng yêu cầu nhận các gói chỉ nhằm một trong hai mục đích:
• Router đã nhận được yêu cầu nhận gói tin từ vài router láng giềng.
• Một host trên 1 phân đoạn mạng đã gửi thông điệp IGMP Join cho nhóm đó.
- Hình dưới đây sẽ mô tả điều gì có thể xảy ra với PIM-SM trước khi 1 host có thể nhận
gói tin gửi từ S1 đến địa chỉ 226.1.1.1.
• Hoạt động của PIM-SM bắt đầu khi gói tin được đẩy về 1 router đặc biệt gọi là
rendezvous point(RP). Khi lưu lượng của 1 nhóm đến RP, không giống như chế độ
dense, router RP không có tự động đẩy tiếp lưu lượng về bất kì router nào. Lưu
lượng này phải được yêu cầu bởi 1 router.
• PIM-SM được cấu hình trên tất cả các router. R1 được chọn lựa như là RP và
trong tất cả 3 router ,địa chỉ IP của 172.16.1.1 của R1 được cấu hình tĩnh như là
địa chỉ RP. Thường thì địa chỉ của cổng loopback được dùng như là địa chỉ RP và
địa chỉ này được quảng bá trong bảng định tuyến unicast sao cho tất cả các router
biết cách làm thế nào để định vị router RP. Ở thời điểm này, R1 là RP có thể nhận
lưu lượng đi về nhóm 226.1.1.1 nhưng router R1 sẽ không truyền lưu lượng này
đi. Các bước sau đây sẽ diễn ra:
▪ Máy S1 gửi một gói tin multicast đến RP, địa chỉ đích là 226.1.1.1.
▪ R1 chọn bỏ qua gói tin, bởi vì không có router hay máy nào trong phân
đoạn mạng báo cho RP (R1) rằng nó muốn nhận lưu lượng multicast.
▪ Máy H2 gửi thông điệp IGMP Join đến nhóm 226.1.1.1.
▪ R3 gửi thông điệp PIM Join đến RP (R1) về địa chỉ 226.1.1.1.
▪ Hoạt động của R1 giờ bị thay đổi, các gói tin được gửi về 226.1.1.1 sẽ
được đẩy ra khỏi cổng S0/1 đến S3. 6
▪ Host S1 gửi gói tin multicast về địa chỉ 226.1.1.1 và R1 gửi ra khỏi cổng
S0/1 về R3.
-Trong một hệ thống mạng PIM-SM, tất cả các router phải học địa chỉ IP của RP. Giải
pháp thứ nhất là cấu hình tĩnh địa chỉ IP trong tất cả các router. Cách thứ hai là cho phép
các router tìm ra các địa chỉ IP của RP. Trong hình trên, R2 chưa nhận bất kỳ một thông
điệp tham gia IGMP Join trên bất kỳ cổng LAN nào vì vậy nó không chuyển bất kỳ yêu
cầu nào tới RP để truyền trên cổng LAN vì vậy nó không gửi bất kỳ yêu cầu nào đến RP
để RP truyền lưu lượng multicast. Kết quả là, R1 không làm lãng phí băng thông trên kết
nối từ R1 đến R2. R3 cũng sẽ không truyền lưu lượng multicast đến R2. R3 đầu tiên sẽ
kiểm tra RPF dùng địa chỉ IP của RP chứ không phải địa chỉ nguồn của gói tin, bởi vì nó
đang nhận lưu lượng nhóm từ RP. Nếu phép kiểm tra RPF là thành công, R3 sẽ truyền
traffic trên cổng LAN.
-Các loại giao thức PIM-SM:
Trong miền PIM-SM, bộ định tuyến PIM-SM có thể được định cấu hình để thực hiện một
hoặc nhiều vai trò sau:
• Designated Router (DR): Bộ định tuyến thực hiện chức năng này chuyển tiếp lưu
lượng phát đa hướng từ nguồn unicast đến điểm phân phối (điểm hẹn) thích hợp.
• Bootstrap Router(BSR): Bộ định tuyến được chọn cho chức năng này giữ cho tất
cả các bộ định tuyến trong miền PIM-SM được thông báo về điểm hẹn (RP) hiện
được chỉ định cho mỗi nhóm phát đa hướng hiện được biết đến trong miền.
• Rendezvous Point (RP): Một bộ định tuyến được chọn làm RP cho một nhóm phát
đa hướng nhận lưu lượng phát đa hướng được yêu cầu từ DR và chuyển tiếp nó tới
bộ thu phát đa hướng yêu cầu lưu lượng. RP có thể được định cấu hình theo cách
thủ công hoặc được chọn động thông qua quy trình BSR.
• Static RP : Tùy chọn này chuyển tiếp lưu lượng truy cập giống như RP, nhưng yêu
cầu cấu hình thủ công trên tất cả các bộ định tuyến trong miền để có hiệu quả.
• Candidate RP (C-RP): C-RP định kỳ gửi tin nhắn quảng cáo đến BSR, nơi thu
thập thông tin đặt RP cho cuộc bầu chọn RP. BSR bắt đầu bộ đếm thời gian chờ
cho C-RP sau khi nó nhận được thông báo quảng cáo. Nếu BSR không nhận được
bất kỳ thông báo quảng cáo nào khi bộ hẹn giờ hết hạn, nó coi C-RP không thành
công hoặc không thể truy cập được.
-Hoạt động của Short Path Tree(SPT) và Reverse Path Forward(RPF)
Short Path Tree(SPT):
• SPT đặc biệt hữu ích trong các ứng dụng tốc độ dữ liệu cao, nơi giảm lưu lượng
không cần thiết và độ trễ thông lượng là đáng kể. Trong cấu hình PIM-SM mặc
định, hoạt động SPT được bật tự động.
• Trong cấu hình PIM-SM mặc định, sau khi bộ định tuyến biên nhận được gói lưu
lượng đầu tiên cho nhóm phát đa hướng được yêu cầu bởi bộ thu phát đa hướng
trên bộ định tuyến đó, nó sử dụng Chuyển tiếp đường dẫn ngược (RPF) để tìm
hiểu đường dẫn ngắn nhất đến nguồn nhóm. Sau đó, bộ định tuyến biên ngừng sử
dụng RPT và bắt đầu sử dụng cây đường dẫn ngắn nhất (SPT) kết nối nguồn phát
đa hướng và bộ thu phát đa hướng. Trong trường hợp này, khi bộ định tuyến biên
bắt đầu nhận lưu lượng nhóm từ nguồn phát đa hướng thông qua SPT, nó sẽ gửi
một thông báo sơ lược đến cây RP để chấm dứt việc gửi lưu lượng nhóm được yêu
cầu trên tuyến đường đó. (Điều này dẫn đến các mục nhập cho cả đường dẫn RP
và STP trong bảng định tuyến.) Khi hoàn thành, việc chuyển đổi từ RPT sang SPT
ngắn hơn có thể giảm nồng độ lưu lượng không cần thiết trong mạng và giảm độ
trễ thông lượng lưu lượng đa hướng.
• Việc chuyển đổi từ RPT(Root Path Tree) sang SPT không phải là ngay lập tức.
Trong một thời gian ngắn, các gói cho một nhóm phát đa hướng nhất định có thể
được nhận từ cả RPT và SPT. Ngoài ra, trong một số cấu trúc liên kết, RPT và
SPT cho cùng một bộ định tuyến biên có thể giống hệt nhau.
Reverse Path Forward(RPF):
• RPT là một cơ chế định tuyến đa hướng cốt lõi đảm bảo rằng lưu lượng phát đa
hướng nhận được đến trên giao diện bộ định tuyến dự kiến trước khi nó được xem
xét để xử lý tiếp. Nếu kiểm tra RPF không thành công đối với gói đa hướng, gói
đó sẽ bị loại bỏ.
• Đối với lưu lượng đến trên SPT, giao diện đến dự kiến cho luồng đa hướng nguồn
/ nhóm nhất định là giao diện hướng tới địa chỉ nguồn của lưu lượng (như được
xác định bởi hệ thống định tuyến unicast). Đối với lưu lượng truy cập đến trên cây
RP, giao diện đến dự kiến là giao diện hướng tới RP. PIM phải được bật trên tất cả
các đường dẫn mà tuyến unicast hướng một đường dẫn ECMP đến nguồn.
• Ghi đè RPF là một tính năng cho phép ghi đè cơ chế tra cứu RPF thông thường và
cho bộ định tuyến biết rằng nó có thể chấp nhận lưu lượng phát đa hướng trên một
giao diện khác với giao diện thường được chọn bởi cơ chế tra cứu RPF. Điều này
bao gồm việc chấp nhận lưu lượng truy cập từ một nguồn được kết nối trực tiếp
với bộ định tuyến khi địa chỉ IP nguồn không hợp lệ cho mạng con hoặc VLAN
mà nó được kết nối. Lưu lượng cũng có thể được chấp nhận từ một hàng xóm PIM
hợp lệ không nằm trên đường ngược hướng tới nguồn của lưu lượng phát đa
hướng đã nhận.
• Kiểm tra RPF được áp dụng cho tất cả lưu lượng phát đa hướng và có ý nghĩa
quan trọng trong việc ngăn chặn các vòng lặp mạng. Có thể chỉ định tối đa tám ghi
đè RPF thủ công.
• Địa chỉ RPF chỉ ra một trong hai ứng cử viên RPF riêng biệt.
• Địa chỉ hàng xóm PIM hợp lệ mà từ đó lưu lượng phát đa hướng được chuyển tiếp
được chấp nhận với địa chỉ nguồn là <source-addr / src-mask>.

Địa chỉ bộ định tuyến cục bộ trên giao diện hỗ trợ PIM mà <source-addr / src-mask>
được kết nối trực tiếp. Bộ định tuyến cục bộ sẽ đảm nhận vai trò DR cho luồng này và
đăng ký luồng bằng RP, nếu được cấu hình.

-Hoạt động của giao thức PIM-SM:


• PIM-SM giả sử rằng không có máy nào muốn nhận lưu lượng multicast cho đến
khi nào các máy chủ động hỏi. Kết quả là, cho đến khi nào trong một subnet có
một máy yêu cầu nhận multicast thì multicast mới được phân phối vào subnet đó.
Với PIM-SM, các router downstream phải yêu cầu nhận multicast dùng thông điệp
PIM Join. Khi các router nhận được các thông điệp này, các router bên dưới phải
định kì gửi thông điệp Join lên các router upstream. Nếu khác đi, router upstream
sẽ không đưa lưu lượng xuống, đặt kết nối vào trong trạng thái prune. PIM-SM
phù hợp khi chỉ có những tỉ lệ nhỏ các phân đoạn mạng nhận lưu lượng multicast.

• Các nguồn gửi gói tin đến điểm RP:


▪ PIM-SM dùng quá trình 2 bước để ban đầu phân phối gói tin từ 1
nguồn đặc biệt đến các máy muốn nhận gói tin. Sau đó tiến trình sẽ cải
tiến các bước ban đầu này. Các bước để truyền dữ liệu với PIM-SM như
sau:
Máy nguồn gửi dữ liệu đến 1 router gọi là RP.
RP sẽ gửi gói tin multicast đến tất cả các router/máy đã đăng
ký tham gia nhận gói tin cho nhóm đó. Tiến trình này dùng
một cây dùng chung. Ngoài hai bước ban đầu này, các router
với các máy cục bộ có thể gửi thông điệp IGMP Join cho một
nhóm, tham gia vào cấu trúc cây theo từng nguồn. Đầu tiên,
router nằm trong subnet với máy nguồn phải đăng ký với RP.
Router RP chấp nhận đăng ký chỉ nếu RP biết bất kỳ router
nào hay máy cần nhận một bản sao của các gói multicast này.
Sơ đồ dưới đây mô tả một tiến trình đăng ký trong đó RP biết
rằng không có máy nào muốn nhận lưu lượng gửi về nhóm
228.8.8.8, bất chấp nguồn nào đang gửi. Ví dụ trong cấu hình
này là đơn giản, với tất cả các router được cấu hình với địa chỉ
toàn cục ip multicast-routing và các cổng dùng lệnh ip pim
sparse-mode trên tất cả các cổng. Tất cả các router phải cấu
hình tĩnh R3 như là RP bằng cách dùng câu lệnh ở chế độ toàn
cục ip pim rp-address 10.1.10.3. Thông thường, một địa chỉ
cổng loopback được dùng như địa chỉ RP.
▪ Địa chỉ loopback 10.1.10.3/32 của R3 được quảng bá trong giao thức
định tuyến unicast sao cho tất cả các router biết phải làm thế nào để đến
được RP. Ba bước dưới đây mô tả 1 chuỗi các sự kiện cho tiến trình
máy nguồn đăng ký khi RP chưa nhận được 1 yêu cầu cho lưu lượng
multicast từ bất kì router PIM-SM nào bởi vì không có máy nào tham
gia nhóm:
Máy S1 bắt đầu gửi dữ liệu về 228.8.8.8 và R1 nhận các gói
này vì nó kết nối vào cùng LAN.
R1 phản ứng bằng cách gửi thông điệp đăng kí dạng unicast về
RP. Các thông điệp này là unicast về địa chỉ RP, 10.1.1.3.
R3 gửi thông điệp Register-Stop ngược về R1 bởi R3 nó biết
nó không có bất cứ nhu cầu nào để gửi gói tin về 228.8.8.8. Ở
sơ đồ trên, router gần nguồn(R1) dang cố gắng đăng kí với RP
nhưng RP báo cho R1 đừng gửi thông tin nữa vì không có ai
muốn nhận các thông tin multicast. R1 không có gửi bất kì
thông tin multicast nào tại thời điểm này. Tuy nhiên, thông tin
PIM Register sẽ đóng gói gói tin multicast đầu tiên. Gói tin đã
đóng gói sau đó sẽ được đẩy đi bởi RP nếu có bất kì máy nào
muốn nhận thông tin đó. Máy nguồn có thể tiếp tục gửi lưu
lượng multicast, vì vậy R1 cần phải tiếp tục đăng kí với RP
trong trường hợp vẫn còn vài máy muốn nhận gói. Vì vậy khi
R1 nhận thông điệp Register-Stop, nó khởi tạo 1 thông điệp
Register-Suppression có thời lượng 1 phút. 5 giây trước khi
khoảng thời gian này hết, R1 gửi 1 thông điệp khác với giá trị
cờ là Null-Register mà không gửi bất kì gói tin multicast nào.
Kết quả cảu thông điệp này là 1 trong 2 việc sau sẽ xảy ra:
+Nếu router RP vẫn không biết có máy nào muốn nghe các
gói multicast, nó sẽ gửi thông điệp Register-Stop đến R1, R1
sẽ tái khởi động thông số Register-Suppression timer.
+Nếu RP biết có ít nhất 1 máy/host cần các gói multicast
này, RP sẽ không trả lời thông điệp đăng kí này. Kết quả là khi
R1 hết giờ, sẽ gửi các gói multicast đến R3(RP) đóng gói
trong các thông điệp PIM Register.

• Tham gia vào cây dùng chung(share tree):


▪ Share tree là cây dùng chung cho 1 nhóm multicast, còn gọi là root-
path-tree(RPT). PIM-SM sẽ làm cho lưu lượng multicast phân phối theo
2 bước. Đầu tiên, các gói tin được gửi từ nguồn đến RP, và sau đó RP
sẽ phân phối các gói tin đến các phân đoạn mạng có các máy cần bản
sao của các lưu lượng multicast này.
▪ Cây RPT, với router RP là gốc sẽ định nghĩa những kết nối nào trong
các lưu lượng multicast nên được gửi đên tất cả các router yêu cầu. 1
cây như vậy tồn tại cho tất cả các nhóm multicast đang tồn tại trong
mạng. Vì vậy, khi 1 gói tin multicast được gửi bởi mỗi nguồn và được
đưa tới RP, RP sẽ dùng RPT cho cá nhóm multicast để xác định gói tin
nên được chuyển về đâu. PIM-SM tạo cây RPT bằng cách gửi thông
điệp PIM Join về RP. Trong PIM-SM, các lưu lượng multicast được gửi
chỉ đến các routr có yêu cầu. Router PIM-SM yêu cầu lượng multicast
thông qua việc tham gia RPT bằng cách gửi thông điệp Join về RP. Các
router PIM-SM lựa chọn việc gửi thông điệp Join trong 2 trường hợp:
+Khi 1 router PIM-SM nhận thông điệp PIM Join trên bất kì
cổng nào khác với cổng dùng để định tuyến gói tin về RP.
+Khi 1 router PIM-SM nhận thông điệp IGMP Report từ 1
máy trên mạng kết nối trực tiếp.
▪ Với tiến trình PIM-SM của nhóm H1 tham gia vào 228.8.8.8, các
router phản ứng với thông điệp IGMP Join bằng cách gửi thông điệp
Join về RP, trở thành 1 phần của cây(*,228.8.8.8). Cây dùng chung
(*,228.8.8.8) được tạo ra theo các bước sau:
H1 gửi thông điệp IGMP Join cho nhóm 228.8.8.8
R4 nhận ra bây giừo phải yêu cầu RP gửi gói tin về 228.8.8.8
vì vậy R4 gửi ra 1 thông điệp PIM Join về RP cho cây dùng
chung của nhóm 228.8.8.8. R4 cũng đặt các cổng của nó vào
trạng thái forwarding cho nhóm 228.8.8.8
R4 gửi thông điệp Join về RP
R5 nhận thông điệp Join trên cổng S1 của nó, vì vậy R5 dặt
cổng S1 trong trạng thái forwarding cho cây dùng
chung(*,228.8.8.8). R5 cũng biết nó cần chuyển thông điẹp
Join về RP
R5 gửi thông điệp Join về RP
R3, RP dặt cổng S0 của nó vào trạngt hái forwarding trong
cây(*,228.8.8.8)
▪ Cây từ điểm RP đến các thành viên thật ra là 1 cây con của cây từ
nguồn đến các thành viên. Nếu 1 router ở bất kì đâu trong mạng có thể
đăng kí với RP, cấu trúc cây này sẽ hoàn tất. Chế độ sparse-mode còn
được goin là Shared-tree. Các dòng multicast được mô tả như(*,G) bởi
vì cây luôn cho phép bất cứ ngồn nào gửi đến 1 nhóm. Ký hiệu (*,G) có
nghãi là bất cứ source nào cũng có thẻ gửi về nhóm G. Khi 1 host tham
gia vào 1 nhóm multicast dúng IGMP, router cục bộ sẽ chuyển các
thông điệp Membership Report về gôc cây của multicast. Mỗi router
theo dọc đường đi sẽ thêm nhánh đó vào cây dùng chung shared-tree.
Quá trình loại bỏ nhanh chỉ thực hiện khi 1 thành viên của nhóm bị xóa
ra khỏi nhóm đó.
• Hoàn tất quá trình đăng kí nguồn
▪ Trong phần mô tả của PIM-SM, 1 nguồn (10.1.1.10) gửi gói tin về
228.8.8.8 nhưng không có máy nào quan tâm, vì vậy RP không truyền
gói tin. Kế tiếp, ta sẽ khảo sát điều gì sẽ xảy ra khi 1 máy muốn nhận
các gói tin và các router phản ứng để tạo ra các cây RPT cho nhóm đó.
Khi RP nhận thông điệp đăng kí cho 1 nhóm đang tồn tại, nghĩa là RP
tin rằng nó nên truyền gói tin đến nhóm đó, RP sẽ không gửi thông điệp
Register-stop. Thay vào đó, router sẽ phản ứng đến thông điệp đăng kí
bằng cách mở gói tin multicast và truyền đi. Trạng thái RP trong việc
phản ứng lại thông điệp chỉ ra chức năng chủ yếu của thông điệp
Register. 2 chức năng chính đó là:
Cho phép 1 router thông báo cho RP rằng nó có đại chỉ nguồn
cục bộ cho 1 nhóm multicast.
Cho phép 1 router truyền lưu lượng multicast đến RP, đóng gói
bên trong 1 gói unicast cho đến khi quá trình đăng kí hoàn tất
• Cây phân phối dùng chung
▪ Nếu có nhiều nguồn trong cùng 1 nhóm, lưu lượng từ các nguồn sẽ đi
về RP trước và sau đó sẽ đi theo cây dùng chung RPT đến tất cả các
máy nhận. Bởi vì tất cả các nguồn trong máy multicast là dùng chung 1
cây, cú pháp (*,G) được dùng để nhận ra 1 cây RPT.
• Hoạt động cập nhật trạng thái bằng thông điệp Join
▪ Để duy trì trạng thái của các cổng , PIM-SM phải gửi ra các thông điẹp
PIM Join định kì, PIM-SM đưa cácc cổng trạng thái loại bỏ pruned.
PIM-SM chọn lựa việc duy trì trạng thái forwarding trên các kết nối dựa
theo 2 tiêu chuẩn chung:
1 router downstream tiếp tục gửi thông điệp PIM Join cho nhóm
1 host kết nối cục bộ vẫn trả lời đến thông điệp truy vấn IGMP
bằng thông điệp IGMP Report.

11.4.5 Tìm hiểu về giao thức PIM-DM(PIM Dense Mode)


- PIM-DM thích hợp cho:
• Máy thu phân bố dày đặc
• Tỷ lệ ít người gửi so với nhiều người nhận (do lũ lụt thường xuyên)
• Lưu lượng truy cập đa hướng cao
• Luồng lưu lượng truy cập liên tục
-PIM-DM sử dụng bảng định tuyến unicast hiện có và cơ chế join, prune và graft để xây
dựng cây. PIM-DM tạo cây phân phối đường đi ngắn nhất dựa trên nguồn sử dụng
chuyển tiếp đường dẫn ngược (RPF). PIM-DM không thể được sử dụng để xây dựng cây
phân phối chia sẻ, vì PIM-SM có thể. PIM-DM giả định rằng khi một người gửi bắt đầu
gửi dữ liệu, tất cả các bộ định tuyến và máy chủ hạ lưu muốn nhận một sơ đồ dữ liệu đa
hướng. PIM-DM ban đầu làm ngập lưu lượng phát đa hướng trên toàn mạng. Các bộ định
tuyến không có bất kỳ hàng xóm nào ở hạ lưu sẽ loại bỏ lưu lượng không mong muốn.
Ngoài các thông điệp sơ lược, PIM-DM sử dụng thêm hai thông điệp: ghép và khẳng
định. Thông báo ghép được sử dụng bất cứ khi nào một máy chủ mới muốn tham gia
nhóm. Thông báo xác nhận được sử dụng để tắt các luồng trùng lặp trên cùng một mạng
đa truy cập.

- Để giảm thiểu việc lặp lại nhiều lần các biểu đồ dữ liệu và việc cắt tỉa tiếp theo liên
quan đến một cặp (S, G) cụ thể, PIM-DM sử dụng thông báo làm mới trạng thái. Thông
báo này được gửi bởi các bộ định tuyến được kết nối trực tiếp với nguồn và được truyền
trên toàn mạng. Khi nhận được bởi một bộ định tuyến trên giao diện RPF của nó, thông
báo làm mới trạng thái khiến trạng thái sơ lược hiện có được làm mới. Thông báo làm
mới trạng thái được tạo định kỳ bởi bộ định tuyến được gắn trực tiếp vào nguồn. Có hai
phiên bản PIM-DM. Phiên bản 2 không sử dụng tin nhắn IGMP; thay vào đó, nó sử dụng
một thông báo được đóng gói trong các gói IP với giao thức số 103. Trong phiên bản 2,
thông báo Hello được giới thiệu thay cho thông báo truy vấn.
- Hình sau đây cho thấy một nguồn đang gửi một gói tin đa hướng có màu đỏ, và các
downstream router sẽ sao chép gói tin đó và làm ngập nó đến các bộ định tuyến khác và
cuối cùng là tất cả các phân đoạn mạng LAN. Như chúng ta sẽ thấy ngay sau đây, đây là
hành vi ban đầu (và định kỳ) của giao thức định tuyến đa hướng độc lập theo giao thức
(PIM) của Cisco, khi hoạt động ở Dense Mode.
• Có thể có hai bản sao của mỗi gói đến một số bộ định tuyến hoặc phân
đoạn mạng LAN. Nhưng các bộ định tuyến không chuyển tiếp các gói
"ngược". Đây là một điều tốt: hãy nghĩ xem điều gì có thể xảy ra nếu bộ
định tuyến E chuyển tiếp một bản sao của gói mà nó nhận được từ C đến
bộ định tuyến B. Sau đó, B có chuyển tiếp gói đến A không, có thể chuyển
tiếp nó tới C, v.v. trong một vòng lặp chuyển tiếp? Đây sẽ là một loại
tương đương với Lớp 3 như những gì xảy ra ở Lớp 2 khi Spanning Tree bị
vô hiệu hóa trong cấu trúc liên kết vòng lặp: một cách tốt để lãng phí nhiều
băng thông và dung lượng bộ định tuyến.
• Để ngăn các vòng chuyển tiếp phát đa hướng, IP multicast luôn thực hiện
kiểm tra RPF mà chúng ta sẽ nói ngay sau đây.
• Ngoài kiểm tra RPF, các giao thức định tuyến đa hướng như PIM cũng có
thể hoạt động để ngăn chặn sự kém hiệu quả. Ví dụ, bộ định tuyến E trong
hình không cần nhận hai bản sao của mỗi gói phát đa hướng (một từ B,
một từ C).
• Giao thức định tuyến đa hướng(mulicast routing protocol) xác định giao
diện nào để gửi bản sao ra ngoài (hoặc không gửi bản sao ra ngoài). Như
hình trên gợi ý, chuyển tiếp đa hướng xảy ra dọc theo cây logic, các đường
dẫn phân nhánh thông qua mạng.
• Tất cả thông tin chuyển tiếp đa hướng được lưu trữ trong bảng trạng thái
phát đa hướng, mà một số người gọi là bảng định tuyến đa hướng. Thông
tin này có thể được xem bằng lệnh rất hữu ích, show ip mroute.
- Hãy xem xét các bộ định tuyến E và F trong hình trên. Khi hai bộ định tuyến PIM-DM
kết nối với một mạng LAN, chúng sẽ thấy các gói phát đa hướng từ nhau. Một gói nên
chuyển tiếp các gói đến mạng LAN, còn gói kia thì không. Cả hai đều gửi tin nhắn Khẳng
định. Chỉ số định tuyến tốt nhất chiến thắng, với địa chỉ IP cao hơn là yếu tố quyết định.
Nếu họ đang sử dụng các giao thức định tuyến khác nhau, một lược đồ số liệu định tuyến
có trọng số, giống như khoảng cách quản trị, sẽ giải quyết bộ định tuyến nào sẽ là Người
chuyển tiếp (chuyển tiếp các gói tin đa hướng vào mạng LAN). Bộ chuyển tiếp có thể bị
Prune tắt tiếng từ bộ định tuyến hạ lưu không có bộ thu, nếu cũng không có bộ thu nào
trên phân đoạn LAN. Các bộ định tuyến hạ nguồn có thể phải điều chỉnh hàng xóm RPF
của chúng, để phản ánh người chiến thắng trong Assert Process.
• Khi nhận được lưu lượng phát đa hướng trên giao diện không phải RPF, một thông
báo Prune sẽ được gửi, với điều kiện giao diện là point-to-point. Các tin nhắn
Prune này có giới hạn về tốc độ, để đảm bảo rằng khối lượng của chúng (có thể là
một tin nhắn trên mỗi phát đa hướng nhận được) không gây ra vấn đề gì thêm.
• Nếu giao diện không phải RPF là mạng LAN, một thông báo Assert sẽ được gửi.
Sau đó, các bộ định tuyến không phải của Forwarder sẽ gửi một Prune trên giao
diện RPF của chúng nếu chúng không cần luồng phát đa hướng. Chỉ một Prune
như vậy được gửi, tại thời điểm chuyển đổi sang không có giao diện nào trong
Danh sách giao diện đi (OILIST). Bộ thu LAN Prune trì hoãn hoạt động trên nó
trong 3 giây, do đó nếu một bộ định tuyến LAN khác vẫn cần luồng phát đa
hướng, nó có thể gửi thông báo PIM Join để chống lại (hủy) Prune.
• Giả sử một bộ định tuyến đã Pruned, và một thời gian sau, một bộ thu yêu cầu
luồng phát đa hướng với một thông điệp IGMP. Sau đó, bộ định tuyến sẽ gửi một
thông điệp Graft.
-Ví dụ về cấu hình PIM-DM:
Routing swtich duy trì các nhánh riêng lẻ trong cây đa hướng miễn là có ít nhất một máy
chủ duy trì tư cách thành viên trong nhóm phát đa hướng. Khi tất cả các máy chủ trong
một mạng con cụ thể thoát ra khỏi nhóm, PIM-DM sẽ loại bỏ giao diện đó khỏi cây đa
hướng. Tương tự, nếu routing switch phát hiện một liên kết từ một máy chủ lưu trữ trong
một giao diện được cắt tỉa, nó sẽ thêm nhánh đó trở lại cây.
Không giống như PIM-SM, số lần tắt tiếng được tạo với chế độ dày đặc thường cao vì bộ
định tuyến nguồn ban đầu làm ngập lưu lượng truy cập đến tất cả các hàng xóm PIM.
Nếu chúng ta có hai bộ định tuyến được kết nối với nhiều trung kế VLAN, số lần tắt tiếng
trên bộ định tuyến thu sẽ tỷ lệ với số SVI được cấu hình. Đảm bảo rằng các luồng đã cho
nằm trong giới hạn của thang tắt tiếng của bộ định tuyến thu.
Theo sơ dồ trên:
• Định tuyến E chọn B làm hàng xóm RPF của nó, dựa trên định tuyến unicast trở
lại nguồn. Sau đó, E nhận được một gói đa hướng trên giao diện điểm-điểm từ C.
Nó gửi một Prune giới hạn tốc độ đến C.
• Các bộ định tuyến E và F trên mạng LAN trao đổi gói Assert, khi E hoặc F thấy đa
tuyến được chuyển tiếp bởi hai bộ kia. Giả sử E thắng, dựa trên chỉ số hoặc địa chỉ
định tuyến unicast. Sau đó, F biết không chuyển tiếp đa tuyến trong mạng LAN.
Lưu ý rằng G và H không liên quan, vì Ethernet là giao diện RPF của chúng.
• Giả sử bộ định tuyến G không có bộ thu nào downstream. Sau đó, nó có thể gửi
một LAN Prune đến Forwarder cho mạng LAN, bộ định tuyến E.
• Nếu bộ định tuyến H có các local receiver hoặc downstream receiver, nó sẽ xử lý
điều này bằng Kết nối mạng LAN.
• Giả sử bộ định tuyến D không có downstream hoặc local receiver và đã gửi Prune
đến B. Giả sử một lúc sau PC ở bên phải của nó sẽ gửi cho nó một bản tin IGMP
cho cùng một nhóm phát đa hướng. Sau đó, bộ định tuyến D có thể gửi PIM Graft
tới B, yêu cầu B tiếp tục gửi nó nhóm phát đa hướng đã chỉ định.
11.4.6 So sánh PIM-DM và PIM-SM
- Sự giống nhau giữa PIM-DM và PIM-SM:
• Cả 2 đều dùng cơ chế hello để tìm ra láng giềng,
• Tính toán và kiểm tra RPF khi bảng định tuyến unicast thay đổi.
• Bầu chọn designated router trên môi trường multi-access. Router DR thực hiện tất
cả các tiến trình IGMP khi IGMPv1 được dùng.
• Sử dụng cơ chế prune trên môi trường multi-access.
• Sử dụng cơ chế Assert để bầu ra rooter forwarder trên môi trường multi-access.
Router thắng quá trình bầu chọn Assert sẽ chịu trách nhiệm đẩy lưu lượng vào
trong subnet đó.
- Sự khác nhau giữa PIM-DM và PIM-SM:
Mặc dù vậy, thay vì dùng cơ chế join tường minh như PIM-DM, PIM-SM dùng 1 giải
pháp khác. Cây multicast sẽ không mở rộng đến router cho đến khi nào 1 host đã tham
gia vào 1 nhóm. Cây multicast được xây dựng bằng các thành viên ở các node lá và mở
rộng ngược về root. Cây cũng được xây dựng từ dưới lên. SM cũng hoạt động dựa trên ý
tưởng cấu trúc shared-tree, trong đó gốc của cây không nhất thiết là nguồn của multicast.
Thay vào đó, root là router PIM-SM thường được đặt ở trung tâm của mạng. Router làm
gốc này gọi là Rendezvous Point (RP). Các router có thể nhận biết được RP bằng 3 cách:
• Địa chỉ RP có thể được cấu hình tĩnh trên từng router: kiểm soát được mạng nhưng
chi phí quản trị cao.
• Bầu chọn RP có thể dùng giao thức bootstrap.
• Dùng cơ chế Auto-RP của Cisco: phù hợp hệ thống mạng nhỏ.

You might also like