--- title: Lab Meeting Minutes 2022/03/11 tags: lab_meeting --- > Outline > [TOC] --- # PERAL Lab Meeting - 時間:111 年 03 月 11 日 10:00 - 地點:TC 321 - 出席者:吳坤熹老師、謝萬霖、周以恆、吳騰然、劉怡君、田蕙瑜、洪胤勛、丘世宇、莊才賢 - 會議主題: [Multicast](https://docs.google.com/presentation/d/18wVTdPGgZO5vtf4PN78zbbZa3mG0wbekJY8t8sizp0o/edit?fbclid=IwAR3lt8mvOGoEB9M3MloOyC2RcqYKOpEA7xRswnl5ME1JocpGhE9uAftVVLw#slide=id.g118b365b23b_0_138) - 主講者: 丘世宇 - 主記: 莊才賢 ## 會議內容 ### intro - mulitcast - 1 to many - das - unicast - 1 to 1 - multicast adddress - 透過 group ID 決定 - IPv4: - 224.0.0.0 ~ 239.244.244.244 - IPv6: - FF00::/8 - [IP list](https://en.wikipedia.org/wiki/Multicast_address) ### IGMP - 主機回應 router 的查詢封包(query packet) - router - 60 秒發出一個查詢封包 - 根據回報封包 (report packet) 檢查在自己的子網路裡是否有人加入特定群組 - 當有人離開群組,確定子網路裡這個群組還有沒有人 (IGMPv2) ### IGMPv1 - router 每 60 秒發送 membership query 給 224.0.0.1 - 主機可以傳送一個或多個 membership report 來表示加入某些群組 - 主機可以不處理群組的資料或是 IGMP query 來離開群組(timeout) ### IGMPv2 - 增加離開群組訊息(Leave Group Message) - 特定群組查詢功能 (Group Query Message) - IGMPv1 的查詢是針對所有 multicast group 做查詢 - v2 則增加查詢特定群組的功能 - 最大回應時間欄位 (Maximum Reponse Time field) - 可調整 query message 的回應時間 (v1 預設為 10 秒) ### IGMPv3 - 可以過濾來源,也就是可以選擇要接收或是不接收的 source ### Multicast security * IPsec 不能用在 multicast 上,因為他只能被用在一對一的情況 * Group Domain of Interpretation (GDOI) (RFC 6407) * Timed Efficient Stream Loss-Tolerant Authentication (TESLA) (RFC 4082) ### demo arch -- bingo game ![](https://i.imgur.com/QnCDH0C.png) > - [repo link](https://github.com/chofinn/multicast_bingo) > - [Program](https://github.com/chofinn/multicast_bingo/blob/master/mcast.py) - sender - 廣播 1-25 的數字 - receiver 1. 輸入 5*5 的 bingo 表 2. 等待 sender 送出數字 3. (接到資料後) 找出該數字在 table 上的位置 4. 檢查是否有連線 5. 檢查是否已連三條線 6. 回到 2. ### 建議&問題 1. p6 第三點是指能未經同意離開群組?[name=Angela] Ans : 是。[name=Chofinn] 2. Multicast 前需要 arp broadcast? [name=Branko] 3. What is the diiferance between multicast floodingforwarding? [name=Jerry] - flooding - ttl and degree - ttl 深度 - degree 廣度 - six-degree ?? -- [Six degrees of separation](https://en.wikipedia.org/wiki/Six_degrees_of_separation) - sensor network - multicast 4. reuse option [name=劉怡君] - 可以用在 mulitcasting 5. IGMP 常見的 message - wiki 6. 如何 maintain table - 一個程式要收某個 group 的資料 - join group 的 function call 會傳送 IGMP packet ```py= s.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_JOIN_GROUP, mreq) ``` - routing table 和這個 function call 是不同的東西 7. 既然不能使用 IPsec 有甚麼辦法可以保護 packet 內容[name=toby] - Group Domain of Interpretation(RFC 6407) - GREtunnel - 可能可以在上層的 layer 加密再 multicast(DTLS) 8. demo 的 ip 是 hardcode,那是如何產生的[name=henry] 9. multicast address 是如何知道是否可以使用[name=henry] - 有 private 的 ip - ttl 沒超過 3 就不會出暨大 10. query 的部分有點匱乏[name=] - multicast 和 unicast 的差別 - multicast 的 sender 不必加入 group 合理嗎? - IGMP 沒有說明 - 可以說明一下 header - multicast 沒辦法做驗證就送出了? - 在這邊的比較對象是 unicast 和 anycast 在這邊也都沒有驗證 - 可以直接截圖就行,不要再 wiki(or any browser) 滾來滾去 - 程式上面跑的是 IPMPv1, v2, v3? ## 待追蹤事項 1. [name=] Ans : ## 臨時動議 1. [name=] Ans : --- 散會結束時間:11:48