Tải bản đầy đủ - 0 (trang)
CHƯƠNG 1: CÔNG NGHỆ IP MULTICAST

CHƯƠNG 1: CÔNG NGHỆ IP MULTICAST

Tải bản đầy đủ - 0trang

Đồ án tốt nghiệp đại học

 RFC 1075 định nghĩa Distance Vector Multicast Routing Protocol (DVMRP)

 RFC 1584 định nghĩa giao thức Multicast Open Shortest Path First (MOSPF),

một sự mở rộng cúa OSPF và hỗ trợ 1P Multicast.

 RFC 2117 định nghĩa giao thức Protocol Independent Multicast-Sparse Mode

(PIM-SM).

Địa chỉ multicast

Một địa chi multicast cho phép truyền các gói tin tới một tập hợp các thành viên

của cùng một nhóm. Một địa chi multicast định danh một nhóm các máy hoặc giao tiếp

mạng đại diện cho một nhóm là một địa chi lớp D.

28 bit

1



1



1



0



Multicast Group ID



Hình 1.1. Biểu diễn địa chỉ multicast

IP multicast sử dụng địa chỉ lớp D từ 224.0.0.0 đến 239.255.255.255 để cho các

thiết bị mạng có thể dễ dàng xác định được các địa chỉ multicast bằng cách đọc 4 bit bên

trái của một địa chỉ. Bốn bit này của một địa chi multicast luồn luôn bằng 1110.

Do khơng có cơ chế tương đương với giao thức phân giải địa chỉ (ARP) như trong

truyền thông unicast, một dạng giá trị đặc biệt dành riêng cho địa chỉ MAC của multicast

sẽ được dùng. Các địa chỉ này bắt đầu bằng 01005E, phần 28 bit sau của địa chỉ IP

multicast sẽ được ánh xạ vào 23 bit thấp của địa chỉ MAC bằng một giải thuật đơn giản.

Hình dưới cho thấy cơ chế ánh xạ địa chỉ.



Hình 1.2. Cơ chế ánh xạ địa chỉ multicast sang địa chỉ Ethernet MAC

Chỉ có 23 bit cuối của địa chỉ là được chép từ địa chỉ IP sang địa chỉ MAC, có 5

bit của địa chỉ IP là không được chuyển sang địa chỉ multicast. Khả năng này làm cho



Đậu Văn Thắng – D13VT6



2



Đồ án tốt nghiệp đại học

nảy sinh một vấn đề là có thể có 32 địa chỉ IP khác nhau có thể ánh xạ vào cùng một địa

chỉ MAC. Do vấn đề này, một host multicast có một vấn đề nhỏ khi nó nhận một Ethernet

frame của một địa chỉ multicast. Một MAC có thể tương ứng với 32 địa chỉ multicast

khác nhau. Vì vậy, khi một máy trạm phải nhận và kiểm tra tất cả các frame có MAC

mà nó quan tâm. Sau đó máy trạm này phải kiểm tra phần địa chỉ IP bên trong mỗi frame

để nhận ra phần địa chỉ của từng nhóm multicast.



Hình 1.3. Ví dụ minh họa cơ chế ánh xạ địa chỉ IP sang địa chỉ MAC

Một số loại địa chỉ dành riêng cho multicast:

 Tồn bộ khơng gian địa chỉ multicast: 224.0.0.0 - 239.255.255.255

 Địa chỉ link-local: 224.0.0.0-224.0.0.255 được dùng bởi các giao thức định

tuyến. Bộ định tuyến 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

 Địa chỉ tất cả các bộ định tuyến: 224.0.0.2

 Địa chỉ tất cả các OSPF bộ định tuyến : 224.0.0.5…

Đâ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ỉ dành cho quản trị (239.0.0.0-239.255.255.255) được dùng trong các

vùng multicast riêng, giống như dãy địa chỉ dành riêng trong RFC 1918. Địa

chỉ này khơng được route giữa các domain nên nó có thể được dùng lại nhiều

lần.

 Đị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 route trên Internet, vì vậy địa chỉ này phải

duy nhất.



Đậu Văn Thắng – D13VT6



3



Đồ án tốt nghiệp đại học

1.2. Một số giao thức trong Multicast

Multicast và quá trình định tuyến

Gửi thơng tin chỉ cần một lần duy nhất tới nhiều người có thể tiết kiệm rất nhiều

băng thông. Các thông điệp chỉ được nhân bản khi đi qua các bộ định tuyến, và chỉ xảy

ra khi bộ định tuyến đó là bộ định tuyến chuyển tiếp thay bộ định tuyến có chứa nhóm

cần gửi. Các bộ định tuyến có khả năng multicast chỉ chuyển tiếp các gói tin multicast

khi mà có các máy thuộc nhóm multicast nằm trong mạng của nó. Các máy sử dụng giao

thức IGMP để thơng báo cho bộ định tuyến biết các nhóm multicast nào mà nó tham

gia. Nếu các thành viên của nhóm trong cùng một phân đoạn mạng đều rời khỏi nhóm

đó thì bộ định tuyến sẽ khơng chuyển tiếp các gói tin đến phân đoạn mạng này nữa.

Bộ định tuyến chỉ nhân bản gói tin IP multicast khi có quá trình rẽ nhánh trong

đường đi, còn lại các trường hợp khác bộ định tuyến chỉ gửi một gói tin duy nhất cho

mỗi mạng. Các giao thức định tuyến cho multicast gồm có: PIM, MOSPF, DVMRP, …

IGMP (Internet Group Management Protocol)

Giao thức IGMP phát triển từ giao thức Host Membership Protocol. IGMP phát

triển từ IGMPvl (RFC 1112) đến IGMPv2 (RFC 2236) và phiên bản cuối cùng IGMPv3

(RFC 3376). Giao thức quản lý nhóm IGMP là cơ chế truyền thơng giữa trạm con và bộ

định tuyến gắn trực tiếp với mạng đó. Các thơng điệp IGMP được gửi bên trong gói tin

IP với trường Protocol Number bằng 2, trong đó trường Time To Live (TTL) có giá trị

bằng 1. Các gói IGMP chỉ được truyền trong LAN và không được tiếp tục chuyển sang

LAN khác do giá trị TTL của nó. Hai mục đích quan trọng nhất của IGMP là:

 Thơng báo cho bộ định tuyến multicast rằng có một máy muốn nhận

multicast traffic của một nhóm cụ thể.

 Thơng báo cho bộ định tuyến rằng một có một máy muốn rời một nhóm

multicast (nói cách khác, có một máy khơng còn quan tâm đến việc nhận

multicast traffic nữa). Các bộ định tuyến thường dùng IGMP để duy trì thơng

tin cho từng cổng của bộ định tuyến là những nhóm multicast nào bộ định

tuyến cần phải chuyển và những máy trạm nào muốn nhận.

1.2.2.1. IGMPv1

a. Khuôn dạng bản tin

Với IGMP phiên bản 1, khn dạng bản tin được thể hiện như hình 1.4



Đậu Văn Thắng – D13VT6



4



Đồ án tốt nghiệp đại học



Hình 1.4. Khuôn dạng bản tin IGMPv1

Bản tin IGMPv1 gồm 5 trường chính, đặc điểm và ý nghĩa của các trường giá trị

được mô tả trong bảng 1.1

Tên trường

Version



Bảng 1.1: Giá trị của các trường trong IGMPv1

Độ dài

Mô tả

Chỉ định phiên bản của giao thức và ln có giá trị là 1



4 bit



Xác định 2 kiểu thông điệp được định nghĩa bởi IGMPv1



4 bit



- Type = 0x1 : thông điệp truy vấn thành viên

Membership Query: Thông điệp truy vấn được gởi từ Bộ

định tuyến đến các máy trạm để kiểm tra xem các máy

trạm có muộn nhận multicast traffic khơng.



Unused



8 bit



- Type = 0x2 : thông điệp báo cáo thành viên

Membership Report Type: Thơng điệp đăng ký tham gia

vào nhóm multicast được gửi từ máy trạm đến bộ định

tuyến.

Chứa giá trị 0 khi gửi và bị bỏ qua khi nhận



Checksum



16 bit



Dùng để kiểm tra lỗi trong quá trình truyền dữ liệu



32 bit



Được gán về giá trị 0.0.0.0 khi bộ định tuyến gửi gói tin

Host Membership Query và được gán giá trị địa chỉ nhóm

multicast khi một máy gửi thơng điệp Host Membership

Report



Type



Group

Address



Lưu ý rằng khi kết hợp hai trường version và trường type, giá trị dạng thập lục

phân của một gói tin IGMPv1 Host Membership Query sẽ là 0x11 và IGMPv1 Host

Membership report là 0x12. Các giá trị này sẽ được so sánh với các giá trị của IGMPv2



Đậu Văn Thắng – D13VT6



5



Đồ án tốt nghiệp đại học

b. Hoạt động

 Cứ mỗi 60 giây, một bộ định tuyến trên mỗi phân đoạn mạng sẽ gửi truy vấn

đến tất cả các máy trạm để kiểm tra xem các máy trạm này có còn quan tâm

nhận multicast traffic nữa khơng? Bộ định tuyến này gọi là bộ định tuyến truy

vấn IGMPv1 Querier và chức năng của nó là mời các máy trạm tham gia vào

nhóm.

 Bộ định tuyến truy vấn IGMPv1 Querier: Để tăng tính dự phòng, ta có thể

triển khai nhiều bộ định tuyến multicast trên cùng một mạng. Tuy nhiên

nếu tất cả các bộ định tuyến 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, nên có một bộ định tuyến đượ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 subnet. Nếu một

bộ định tuyến bị down, bộ định tuyến thứ hai có thể đảm nhận trách nhiêm.

IGMPv1 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 bộ định tuyến này.

 Nếu một máy trạm muốn tham gia vào một nhóm, hoặc nó muốn tiếp tục

nhận traffic từ một nhóm mà nó đã tham gia, nó phải trả lời lại bằng thơng

điệp Membership Report. Các máy trạm có thể tham gia vào các nhóm

multicast ở bất kỳ thời điểm nào. Để 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 bộ định

tuyến cục bộ của nó. Thơng điệp này có tên là Membership Report IGMP.

Thơng điệp này sẽ thơng báo cho bộ định tuyến 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.

 Tuy nhiên IGMPv1 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 đó, bộ định tuyến sẽ kết luận là một cổng giao tiếp của nó

khơng còn thuộc về một nhóm multicast nào nếu bộ định tuyến khơng nhận

được thông điệp 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 traffic nữa.



Đậu Văn Thắng – D13VT6



6



Đồ án tốt nghiệp đại học

Ngồi ra, bộ định tuyến 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ó.



Hình 1.5. Ví dụ minh họa q trình hoạt động của IGMPv1

1.2.2.2. IGMPv2

a. Khuôn dạng bản tin

Với IGMP phiên bản 2, khuôn dạng bản tin được thể hiện như hình 1.6



Hình 1.6. Khn dạng bản tin IGMPv2

Bản tin IGMPv1 gồm 4 trường chính, đặc điểm và ý nghĩa của các trường giá trị

được mô tả trong bảng 1.2

Bảng 1.2: Các trường trong thông điệp IGMPv2

Tên trường



Độ dài



Đậu Văn Thắng – D13VT6



Mô tả



7



Đồ án tốt nghiệp đại học

Xác định 4 kiểu thơng điệp có giá trị:

- Type = 0x11: Thông điệp truy cấn thành viên Membership

Query, mang 2 nội dung:

Thứ nhất thông điệp General Query dùng để xác định nhóm nào

trên mạng có thành viên hoạt động.

Thứ hai là thơng điệp Group-Specific Query dùng để xác định

một nhóm multicast cụ thể có thành viên hoạt động.

Type



8 bit



- Type = 0x12: Thông điệp báo cáo thành viên Membership

Report Version 1: Dùng để tương thích với phiên bản IGMPv1

- Type = 0x16: Thông điệp báo cáo thành viên Membership

Report Version 2, được gởi bởi thành viên để thông báo cho bộ

định tuyến là còn ít nhất một thành viên trên mạng.

- Type = 0x17: Thông điệp Leave Group: Đượ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

membership report. Thông điệp này báo cho bộ định tuyến rằng

máy trạm đang rời khỏi nhóm.



Maximum

Response

Time



8 bit



Chỉ ra khoảng thời gian tối đa (tính bằng giây) mà một máy trạm

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



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

Host Membership Report hoặc thông điệp Leave Group có thể

mang địa chỉ của nhóm trong trường này



Group

Address



b. Hoạt động

 Giao thức IGMP phiên bản 2 là sự mở rộng các chức năng của IGMP phiên

bản 1 bao gồm:

 Một phương thức để xác định bộ định tuyến nào sẽ gửi các thơng điệp truy

vấn multicast khi có nhiều bộ định tuyến cùng kết nối vào một mạng con.

 Một thông điệp mới được sử dụng khi một máy trạm muốn rời nhóm.



Đậu Văn Thắng – D13VT6



8



Đồ án tốt nghiệp đại học

 Một thông điệp mới cho phép bộ định tuyến truy vấn cho từng nhóm cụ

thể thay vì tất cả các nhóm.

 Q trình Leave

Nhờ thơng điệp Leave Group, Group-Specific Query và Maximum Response

Time mà IGMPv2 giảm được việc các bộ định tuyến vẫn gửi truy vấn đến các nhánh

mạng dù các máy trạm không quan tâm đển gói multicast



Hình 1.7. Ví dụ minh họa q trình rời nhóm của máy trạm IGMPv2

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 membership report. Tuy nhiên phần

lớn trong thực tế IGMPv2 đều cho phép một máy trạm gửi ra thông điệp Leave Group

khi bất kỳ máy trạm nào rời khỏi nhóm.

1. Trạm 1 gửi một thơng điệp rời bỏ nhóm IGMPv2 Leave Group. Địa chỉ đích

của gói tin là 224.0.0.2. Đây là địa chỉ của tất cả các multicast bộ định tuyến. Thông

điệp này muốn báo rằng “Tôi không muốn nhận multicast traffic của 224.1.1.1”.

2. Bộ định tuyến sẽ gửi ra một thơng điệp cho riêng nhóm đó. Bởi vì trạm 1 đã

quyết định rời khỏi nhóm 224.1.1.1, Bộ định tuyến quyết định ngừng đẩy lưu lượng của

nhóm 224.1.1.1 trên cổng nếu trạm 1 là thành viên cuối cùng của 224.1.1.1. Tuy nhiên,

bộ định tuyến 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 224.1.1.1. Vì vậy, bộ định tuyến 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 224.1.1.1. Bộ định tuyến dùng địa chỉ đích

224.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, bộ định tuyến sẽ hỏi



Đậu Văn Thắng – D13VT6



9



Đồ án tốt nghiệp đại học

các máy trạm còn lại trong nhóm là “Có còn ai muốn nhận muticast traffic cho

224.1.1.1?”.

3. Trạm 3 gửi một thông điệp membership report. Trạm 3 vẫn là một thành viên

của nhóm 224.1.1.1. Trạm 3 nghe thơng điệp truy vấn theo nhóm và trả lời bằng một

thông điệp IGMPv2 report để thông báo cho bộ định tuyến là vẫn còn thành viên của

nhóm 224.1.1.1.

Bộ định tuyến IGMPv2 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ên, bộ định tuyến khơng ngừng việc gửi

traffic.



Hình 1.8. Ví dụ minh họa q trình rời nhóm của máy trạm IGMPv2

Trong hình trên Trạm 3 là máy trạm duy nhất còn lại của nhóm 224.1.1.1. Giả sử

rằng Trạm 3 cũng muốn rời bỏ khỏi nhóm.

Ba bước sau đây sẽ mơ tả q trình khi Trạm 3 rời khỏi nhóm:

1. Trạm 3 gửi ra một thơng điệp rời khỏi nhóm IGMPv2 LeaveGroup. Địa chỉ

đích của gói tin là 224.0.0.2 để thông báo cho tất cả các bộ định tuyến trên subnet là

“Tôi không muốn nhận traffic của nhóm 224.1.1.1”.

2. Bộ định tuyến gửi ra một thơng điệp truy vấn cho riêng nhóm đó. Bộ định

tuyến nhận thơng điệp rời khỏi nhóm từ trạm 3. Bộ định tuyến 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 224.1.1.1.

Bộ định tuyến dùng địa chỉ đích là 224.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.



Đậu Văn Thắng – D13VT6



10



Đồ án tốt nghiệp đại học

3. Khơng có thơng điệp report nào là nhận được, vì vậy bộ định tuyến sẽ ngừng

đẩy traffic. Bởi vì khơng còn thành viên nào của nhóm 224.1.1.1. Bộ định tuyến 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 bộ định

tuyến gửi ra. Kết quả là bộ định tuyến sẽ ngừng đẩy multicast traffic của nhóm 224.1.1.1

ra cổng.

Mặc định, bộ định tuyến 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 bộ định tuyến 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, bộ định

tuyến 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. Bộ định tuyến dùng tiến trình sau:

1. Gửi ra một thơng điệp truy vấn cho từng nhóm cụ thể khi bộ định tuyến nhận

được một thông điệp rời khỏi nhóm.

2. Nếu khơng có thơng điệp report nào nhận được trong khoảng thời gian MRT

(Last member query interval), lặp lại bước 1.

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 bộ định tuyến

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 ba giây để xác định không còn thành viên

nào trong nhóm. Trong khi đối với IGMPv1, thời gian này là ba phút.

1.2.2.3. IGMPv3

IGMP phiên bản 3 mở rộng chức năng của IGMPv2 bằng việc hỗ trợ tính năng

multicast cho từng nguồn cho phép các máy trạm lọc dữ liệu đi vào dựa trên địa chỉ IP

nguồn. Với IGMPv3 có thể có nhiều nguồn cho một dòng dữ liệu multicast vì thế các

máy trạm có thể gia nhập nhóm và nhận dữ liệu từ các nguồn gần nhất. IGMPv3 còn cải

tiến thơng điệp Host Membership Query 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 một máy trạm chỉ ra nó sẽ nhận nguồn dữ

liệu multicast từ địa chỉ nguồn xác định. IMGPv3 cho phép một máy trạm chỉ

rõ hai thuộc tính sau đây cho các nhóm multicast cụ thể:

 Danh sách các nguồn mà máy trạm nhận dữ liệu.

 Danh sách các nguồn mà máy trạm không nhận dữ liệu.

 Thơng điệp IGMPv3 Host Membership Query có cùng giá trị kiểu và có cùng

định dạng với IGMPv2 Host Membership Query ngoại trừ nó thêm một số



Đậu Văn Thắng – D13VT6



11



Đồ án tốt nghiệp đại học

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 bộ định tuyến và chỉ rõ các nguồn được chấp nhận và không đượ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 chỉ được sử dụng cho truy vấn tới một nhóm cụ thể

có sử dụng tính năng lọc dữ liệu.

 Khuôn dạng bản tin

Với IGMP phiên bản 3, khuôn dạng bản tin được thể hiện như hình 1.9



Hình 1.9. Khuôn dạng bản tin IGMPv2

Bản tin IGMPv3 gồm 10 trường chính, đặc điểm và ý nghĩa của các trường giá

trị được mô tả trong bảng 1.3



Đậu Văn Thắng – D13VT6



12



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

CHƯƠNG 1: CÔNG NGHỆ IP MULTICAST

Tải bản đầy đủ ngay(0 tr)

×