1 / 44

Chapter 10

Chapter 10. Internet Group Management Protocol. Objectives. Upon completion you will be able to:. Know the purpose of IGMP Know the types of IGMP messages Understand how a member joins a group and leaves a group Understand membership monitoring

krista
Télécharger la présentation

Chapter 10

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 10 Internet GroupManagement Protocol Objectives Upon completion you will be able to: Know the purpose of IGMP Know the types of IGMP messages Understand how a member joins a group and leaves a group Understand membership monitoring Understand how an IGMP message is encapsulated Understand the interactions of the modules of an IGMP package

  2. CONTENTS GROUP MANAGEMENT IGMP MESSAGES IGMP OPERATION ENCAPSULATION IGMP PACKAGE

  3. 멀티캐스팅 • One-to-many 통신 • 주식 중개인이 주식 가격 변동 동시 전달 • 여행사가 취소된 여행 정보 전달 • 원격 학습(distance learning) • VOD(Video on Demand)

  4. 멀티캐스팅 • 멀티캐스트 주소 • 32 비트 중 1110 으로 시작되는 D 클래스 주소 • 2 억 5 천 만개 이상의 주소 배정(28 비트) • 목적지 주소로만 사용 • Group id라고도 함 • D클래스 주소

  5. 네트워크 계층에서 IGMP 위치 • Position of IGMP in the network layer

  6. 10.1 GROUP MANAGEMENT IGMP is a protocol that manages group membership. The IGMP protocol gives the multicast routers information about the membership status of hosts (routers) connected to the network. .

  7. 10.1 그룹 관리 • IGMP • 그룹 멤버쉽을 관리하는 프로토콜 • 멀티캐스트 라우터가 그룹 멤버들의 리스트를 생성하고 갱신 • 멀티캐스트 라우터에게 네트워크에 연결된 호스트와 라우터들의 멤버쉽 상태 정보 제공

  8. 10.1 그룹 관리 Note: IGMP is a group management protocol. It helps a multicast router create and update a list of loyal members related to each router interface.

  9. 10.2 IGMP MESSAGES IGMP has three types of messages: the query, the membership report, and the leave report. There are two types of query messages, general and special. The topics discussed in this section include: Message Format

  10. 10.2 IGMP 메시지 • IGMP 메시지 유형

  11. 10.2 IGMP 메시지 • IGMP 메시지 형식

  12. 10.2 IGMP 메시지 • 메시지 형식 • 유형(type) : 메시지 유형 • IGMP 유형 필드 • 최대 응답시간(maximum response time) : 질의가 응답되어야 할 시간 • 검사합(checksum) : 8바이트 메시지에 대한 계산 • 그룹 주소(group address) : 질의 메시지- 0, 그 밖의 메시지 - groupid

  13. 10.3 IGMP OPERATION A multicast router connected to a network has a list of multicast addresses of the groups with at least one loyal member in that network. For each group, there is one router that has the duty of distributing the multicast packets destined for that group. The topics discussed in this section include: Joining a Group Leaving a Group Monitoring Membership

  14. 10.3 IGMP 동작 • 한 지역(local)내에서만 동작

  15. 10.3 IGMP 동작 • 그룹 가입 (joining) • 그룹에 가입하고자 하는 요청을 라우터에 보고 • 그룹 멤버쉽 모니터링 (monitoring) • 멤버쉽에 관한 질의 메시지를 보내서 응답을 기다린다 • 멤버쉽 연속 (member continuation) • 계속해서 유지하기 원하는 보고 메시지 • 그룹 탈퇴 (leavinig) • 탈퇴에 대한 응답메시지를 보내지 않음

  16. 10.3 IGMP 동작 • 그룹 가입(Group Join) • 멤버쉽 보고(Membership Report) Note: In IGMP, a membership report is sent twice, one after the other.

  17. 10.3 IGMP 동작 • 탈퇴 보고(Leaving Report)

  18. 10.3 IGMP 동작 Note: The general query message does not define a particular group.

  19. 10.3 IGMP 동작 • 일반적인 질의 메시지(주기적으로 125초 간격)

  20. Example 1 Imagine there are three hosts in a network as shown in Figure 10.8. A query message was received at time 0; the random delay time (in tenths of seconds) for each group is shown next to the group address. Show the sequence of report messages.

  21. 10.3 IGMP 동작 • 예제 1

  22. Example 1 SolutionThe events occur in this sequence: a.Time 12: The timer for 228.42.0.0 in host A expires and a membership report is sent, which is received by the router and every host including host B which cancels its timer for 228.42.0.0. b.Time 30: The timer for 225.14.0.0 in host A expires and a membership report is sent, which is received by the router and every host including host C which cancels its timer for 225.14.0.0. c.Time 50: The timer for 238.71.0.0 in host B expires and a membership report is sent, which is received by the router and every host.

  23. Example 1 d.Time 70: The timer for 230.43.0.0 in host C expires and a membership report is sent, which is received by the router and every host including host A which cancels its timerfor 230.43.0.0. Note that if each host had sent a report for every group in its list, there would have been seven reports; with this strategy only four reports are sent.

  24. 10.4 ENCAPSULATION The IGMP message is encapsulated in an IP datagram, which is itself encapsulated in a frame. The topics discussed in this section include: IP Layer Data Link Layer Netstat Utility

  25. 10.4 캡슐화 • IGMP 패킷의 캡슐화

  26. 10.4 캡슐화 • IP 계층 • 프로토콜 필드, TTL 필드, 목적지 IP 주소 Note: The IP packet that carries an IGMP packet has a value of 2 in its protocol field. Note: The IP packet that carries an IGMP packet has a value of 1 in its TTL field.

  27. 10.4 캡슐화 • IGMP 패킷의 캡슐화 • IGMP 메시지 프로토콜 값 : 2 • 멀티캐스트 주소 224.0.0.1 을 사용하여 질의 메시지를 보낸다 • 보고 메시지를 멀티캐스트 주소가 목적지 주소가 된다 • 캡슐화 될 때 TTL 값 : 1 – 범위가 LAN 이기 때문

  28. 10.4 캡슐화 • 목적지 IP 주소

  29. 10.4 캡슐화 • 데이터 링크 계층 • 클래스 D의 물리주소 매핑 • 물리 멀티캐스트 주소를 지원하는 경우

  30. 10.4 캡슐화 Note: An Ethernet multicast physical address is in the range01:00:5E:00:00:00 to 01:00:5E:7F:FF:FF.

  31. Example 2 Change the multicast IP address 230.43.14.7 to an Ethernet multicast physical SolutionWe can do this in two steps: a. We write the rightmost 23 bits of the IP address in hexadecimal. This can be done by changing the rightmost 3 bytes to hexadecimal and then subtracting 8 from the leftmost digit if it is greater than or equal to 8. In our example, the result is 2B:0E:07. b. We add the result of part a to the starting Ethernet multicast address, which is (01:00:5E:00:00:00). The result is 01:00:5E:2B:0E:07

  32. Example 3 Change the multicast IP address 238.212.24.9 to an Ethernet multicast address. Solution a. The right-most three bytes in hexadecimal are D4:18:09. We need to subtract 8 from the leftmost digit, resulting in 54:18:09.. b. We add the result of part a to the Ethernet multicast starting address. The result is 01:00:5E:54:18:09

  33. 10.4 캡슐화 • Tunneling

  34. Example 4 We use netstat with three options, -n, -r, and -a. The -n option gives the numeric versions of IP addresses, the -r option gives the routing table, and the -a option gives all addresses (unicast and multicast). Note that we show only the fields relative to our discussion. $ netstat -nraKernel IP routing tableDestination Gateway Mask Flags Iface153.18.16.0 0.0.0.0 255.255.240.0 U eth0169.254.0.0 0.0.0.0 255.255.0.0 U eth0127.0.0.0 0.0.0.0 255.0.0.0 U lo224.0.0.0 0.0.0.0 224.0.0.0 U eth00.0.0.0 153.18.31.254 0.0.0.0 UG eth0 Any packet with a multicast address from 224.0.0.0 to 239.255.255.255 is masked and delivered to the Ethernet interface.

  35. 10.5 IGMP PACKAGE We can show how IGMP can handle the sending and receiving of IGMP packets through our simplified version of an IGMP package. In our design an IGMP package involves a group table, a set of timers, and four software modules. The topics discussed in this section include: Group Table Timers Group-Joining Module Group-Leaving Module Input Module Output Module

  36. 10.5 IGMP 설계 • 응용 계층(Application Layer)

  37. 10.5 IGMP 설계 • 그룹 테이블 • 타이머 집합 • Group-join Module • Group-leaving Module • Input Module • Output Module

  38. 10.5 IGMP 설계 • 그룹 테이블 • 프로세스를 멤버로 갖는 멀티캐스트 주소 정보 • 상태(State) : FREE, DELAYING, IDLE • 인터페이스 번호 : 패킷이 송수신되는 인터페이스 • 그룹 주소 : 그룹 멀티캐스트 주소 • 참조 계수 : 그룹과 연관된 프로세스 수 State: Free, Delaying, Idle Reference Count: Number of processes interested

  39. 10.5 IGMP 설계 • 타이머(Timer) • DELAYING 상태에 있는 각 엔트리는 보고 전송을 관장하는 타이머 운영 • 각 타이머는 임의의 선택 만료 시간을 가지고 있어서 시간이 다 되면 신호가 출력 모듈에 전달되어 보고 패킷을 보냄

  40. 10.5 IGMP 설계 • 그룹 가입 모듈 Receive: a request from a process to join a group 1. Look for the corresponding entry in the table. 2. If (found) 1. Increment the reference count. 3. If (not found) 1. Create an entry with reference count set to one. 2. Add the entry to the table. 3. Inform the data link layer to update its configuration table. 4. Set the state to DELAYING. 5. Start a timer. 6. Return.

  41. 10.5 IGMP 설계 • 그룹 탈퇴 모듈 Receive: a request from a process to leave a group 1. Look for the corresponding entry in the table. 2. If (found) 1. Decrement the reference count. 2. If (reference count is zero) 1. If (any timer for this entry) 1. Cancel the timer. 2. Change the state to FREE. 3. Return.

  42. 10.5 IGMP 설계 • 입력 모듈 Receive: an IGMP message 1. Check the message type. 2. If (query) 1. Start a timer for each entry in the table with the state IDLE. 2. Change each IDLE state to DELAYING state. 3. Return. 3. If (membership) 1. Look for the corresponding entry in the table. 2. If (found and state is DELAYING) 1. Cancel the timer for this entry. 2. Change the state to IDLE. 4. Return.

  43. 10.5 IGMP 설계 • 출력 모듈 Receive: a signal from a timer or a request from joining or leaving module 1. If (found and state is DELAYING) 1. Create a membership report. 2. Reset the state to IDLE. 2. If the message comes from a timer

  44. 알림 연습문제 풀이해서 Report로 다음주까지(일주일 후) 제출해 주세요!

More Related