Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Mạng máy tính] Multicast MAC từ IP

    Một địa chỉ IPv4 multicast (lớp D, 224.0.0.0/4) được ánh xạ sang địa chỉ MAC Ethernet multicast theo quy tắc: lấy 23 bit thấp của địa chỉ IP đặt vào 23 bit thấp của tiền tố MAC 01:00:5e:00:00:00.

    Cụ thể với IP a.b.c.d: 23 bit thấp = ((b & 0x7f) << 16) | (c << 8) | d. Ba octet cuối của MAC chính là 23 bit này (bit cao nhất của octet thứ 4 luôn bằng 0).

    In MAC ở định dạng 01:00:5e:xx:xx:xx, mỗi octet 2 chữ số hệ 16 chữ thường có đệm 0. Không dùng ipaddress.

    Ví dụ

    224.0.0.1: b=0,c=0,d=1 → 23 bit thấp = 1 → MAC 01:00:5e:00:00:01.

    • Định dạng đầu vào:

      Dòng đầu n. n dòng sau, mỗi dòng một địa chỉ IPv4 multicast.

    • Ràng buộc đầu vào:

      1 ≤ n ≤ 100. IP thuộc 224.0.0.0/4.

    • Định dạng đầu ra:

      In n dòng, mỗi dòng MAC tương ứng định dạng 01:00:5e:xx:xx:xx.

    Ví dụ:

    Đầu vào:

    3
    224.0.0.1
    239.255.255.255
    224.1.1.1
    

    Đầu ra:

    01:00:5e:00:00:01
    01:00:5e:7f:ff:ff
    01:00:5e:01:01:01

    Giải thích:

    224.0.0.1 → 23 bit thấp =1 → 01:00:5e:00:00:01. 239.255.255.255: b=255&0x7f=127 → octet4=0x7f, c=d=255 → 01:00:5e:7f:ff:ff. 224.1.1.1: b=1 → (1<<16)|(1<<8)|1=0x010101 → 01:00:5e:01:01:01.

    Đang tải editor...