Analysis of Reliable Multicast Protocols
Download
Report
Transcript Analysis of Reliable Multicast Protocols
ITEC4610
Network Switching and Routing
ดร. ประวิทย์ ชุมชู
หัวหน้าสาขาวิชาวิศวกรรมสารสนเทศและการสื่ อสาร(ICE)
MUT
Email: [email protected]
ห้องทางาน: F402
เบอร์โทรศัพท์ที่ทางาน: (02)9883655 ต่อ 220
เบอร์โทรศัพท์เคลื่อนที่: 065343850
MUT
Class IV
ICMPv4, IPv6 และ ICMPv6
ดร. ประวิทย์ ชุมชู
หัวหน้าสาขาวิชาวิศวกรรมสารสนเทศและการสื่ อสาร(ICE)
MUT
Email: [email protected]
ห้องทางาน: F402
เบอร์โทรศัพท์ที่ทางาน: (02)9883655 ต่อ 220
เบอร์โทรศัพท์เคลื่อนที่: 065343850
MUT
หัวข้อที่บรรยาย
Introduction
• ICMPv4
• IPv6
• ICMPv6
MUT
Introduction
ระดับชั้นสื่ อสารที่ 3 ของ TCP/IP
IGMP ICMP
ICMPv6
IPv4
IPv6
ARP RARP
Network layer in IPv4
IGMP = will talk in the class of multicasting
ICMPv4= This class
IPv4 = Last Class
ARP = Last Classes
MUT
IPv6 = This class
ICMPv6 = This class
Network layer in IPv6
หัวข้อที่บรรยาย
• Introduction
ICMPv4
• IPv6
• ICMPv6
MUT
Internet Control Message Protocol version 4
Objectives
Upon completion you will be able to:
• Be familiar with the ICMP message format
• Know the types of error reporting messages
• Know the types of query messages
• Be able to calculate the ICMP checksum
• Know how to use the ping and traceroute commands
• Understand the modules and interactions of an ICMP package
MUT
Position of ICMP in the network
MUT
ICMP encapsulation
ICMP is network layer protocol but its messages
are first encapsulated inside IP datagrams
Protocol Field in IP header =1
MUT
TYPES OF MESSAGES
ICMP messages are divided into error-reporting messages and query
messages. The error-reporting messages report problems that a router or
a host (destination) may encounter. The query messages get specific
information from a router or another host.
MUT
ICMP messages
MUT
MESSAGE FORMAT
An ICMP message has an 8-byte header and a variable-size data section.
Although the general format of the header is different for each message
type, the first 4 bytes are common to all.
Type : defined in the previous slide
Code: the reason for particular message types
Checksum: calculated over the entire message (header and data).
Rest of the header: specific for each message types
MUT
DATA: Error message information for finding the error packet
Query messages extra information
ERROR REPORTING
IP, as an unreliable protocol, is not concerned with error checking and
error control. ICMP was designed, in part, to compensate for this
shortcoming. ICMP does not correct errors, it simply reports them.
The topics discussed in this section include:
Destination Unreachable
Source Quench
Time Exceeded
Parameter Problem
Redirection
MUT
Note:
ICMP always reports error messages
to the original source.
MUT
Error-reporting messages
MUT
Note:
The following are important points about ICMP
error messages:
❏ No ICMP error message will be generated in response
to a datagram carrying an ICMP error message.
❏ No ICMP error message will be generated for a
fragmented datagram that is not the first fragment.
❏ No ICMP error message will be generated for a
datagram having a multicast address.
❏ No ICMP error message will be generated for a
datagram having a special address such as 127.0.0.0 or
0.0.0.0.
MUT
Contents of data field for the error messages
8 bytes :
Received datagram IP header:
Sent datagram IP header :
MUT
Destination-unreachable format
MUT
Error code
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
MUT
0 : The network is unreachable
1 : The host is unreachable
2 : The protocol is unreachable
3 : The port is unreachable
4 : Fragmentation is required
5 : Source routing could not be accomplished
6 : The destination network is unknown
7 : The destination host is unknown
8 : The source is isolated
9 : Communication with the destination network is administratively prohibited
10 : Communication with the destination host is administratively prohibited
11 : The network is unreachable for the specified type of service
12 : The host is unreachable for the specified type of service
13 : The host is unreachable because the administrator has put a filter on it
14 : The host is unreachable because the host precedence is violated
15 : The host is unreachable because the host precedence was cut off
Note:
Destination-unreachable messages
with codes 2 or 3 can be created only
by the destination host.
Other destination-unreachable
messages can be created only by
routers.
MUT
Note:
A router cannot detect all problems
that prevent the delivery of a packet.
MUT
Note:
There is no flow-control mechanism in
the IP protocol.
MUT
Source-quench format
Cause of Congestion
MUT
Note:
A source-quench message informs the
source that a datagram has been
discarded due to congestion in a router
or the destination host.
The source must slow down the
sending of datagrams until the
congestion is relieved.
MUT
Note:
One source-quench message is sent for
each datagram that is discarded due to
congestion.
MUT
Note:
Whenever a router decrements a
datagram with a time-to-live value to
zero, it discards the datagram and
sends a time-exceeded message to the
original source.
MUT
Note:
When the final destination does not
receive all of the fragments in a set
time, it discards the received fragments
and sends a time-exceeded message to
the original source.
MUT
Note:
In a time-exceeded message, code 0 is
used only by routers to show that the
value of the time-to-live field is zero.
Code 1 is used only by the destination
host to show that not all of the
fragments have arrived within a set
time.
MUT
Time-exceeded message format
- TTL
MUT
- Timeout
Note:
A parameter-problem message can be
created by a router or the destination
host.
MUT
Parameter-problem message format
0: Wrong header
MUT
1: Need options
Redirection concept
MUT
Note:
A host usually starts with a small
routing table that is gradually
augmented and updated. One of the
tools to accomplish this is the
redirection message.
MUT
Redirection message format
MUT
Note:
A redirection message is sent from a
router to a host on the same local
network.
MUT
QUERY
ICMP can also diagnose some network problems through the query
messages, a group of four different pairs of messages. In this type of
ICMP message, a node sends a message that is answered in a specific
format by the destination node.
The topics discussed in this section include:
Echo Request and Reply
Timestamp Request and Reply
Address-Mask Request and Reply
Router Solicitation and Advertisement
MUT
Query messages
MUT
Note:
An echo-request message can be sent
by a host or router. An echo-reply
message is sent by the host or router
which receives an echo-request
message.
MUT
Note:
Echo-request and echo-reply messages
can be used by network managers to
check the operation of the IP protocol.
MUT
Note:
Echo-request and echo-reply messages
can test the reachability of a host. This
is usually done by invoking the ping
command.
MUT
Echo-request and echo-reply messages
MUT
Echo-request and echo-reply messages
MUT
Note:
Timestamp-request and timestampreply messages can be used to
calculate the round-trip time between
a source and a destination machine
even if their clocks are not
synchronized.
MUT
Note:
The timestamp-request and timestampreply messages can be used to
synchronize two clocks in two
machines if the exact one-way time
duration is known.
MUT
Mask-request and mask-reply message format
MUT
Router-solicitation message format
MUT
Router-advertisement message format
MUT
CHECKSUM
In ICMP the checksum is calculated over the entire message (header
and data).
The topics discussed in this section include:
Checksum Calculation
Checksum Testing
MUT
Example 1
The following Figure shows an example of checksum
calculation for a simple echo-request message. We randomly
chose the identifier to be 1 and the sequence number to be 9.
The message is divided into 16-bit (2-byte) words. The words
are added together and the sum is complemented. Now the
sender can put this value in the checksum field.
See Next Slide
MUT
Example of checksum calculation
MUT
DEBUGGING TOOLS
We introduce two tools that use ICMP for debugging: ping and
traceroute.
The topics discussed in this section include:
Ping
Traceroute
MUT
Example 2
We use the ping program to test the server fhda.edu. The resul
is shown below:
$ ping fhda.edu
PING fhda.edu (153.18.8.1) 56 (84) bytes of data.
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=0 ttl=62 time=1.91 ms
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=1 ttl=62 time=2.04 ms
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=2 ttl=62 time=1.90 ms
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=3 ttl=62 time=1.97 ms
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=4 ttl=62 time=1.93 ms
See Next Slide
MUT
Example 2 (Continued)
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=5 ttl=62 time=2.00 ms
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=6 ttl=62 time=1.94 ms
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=7 ttl=62 time=1.94 ms
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=8 ttl=62 time=1.97 ms
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=9 ttl=62 time=1.89 ms
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=10 ttl=62 time=1.98 ms
--- fhda.edu ping statistics --11 packets transmitted, 11 received, 0% packet loss, time 10103ms
rtt min/avg/max = 1.899/1.955/2.041 ms
MUT
Example 3
For the this example, we want to know if the adelphia.net mail server is alive and running. The
result is shown below:
$ ping mail.adelphia.net
PING mail.adelphia.net (68.168.78.100) 56(84) bytes of data.
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=0 ttl=48 time=85.4 ms
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=1 ttl=48 time=84.6 ms
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=2 ttl=48 time=84.9 ms
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=3 ttl=48 time=84.3 ms
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=4 ttl=48 time=84.5 ms
See Next Slide
MUT
Example 3
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=5 ttl=48 time=84.7 ms
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=6 ttl=48 time=84.6 ms
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=7 ttl=48 time=84.7 ms
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=8 ttl=48 time=84.4 ms
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=9 ttl=48 time=84.2 ms
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=10 ttl=48 time=84.9 ms
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=11 ttl=48 time=84.6 ms
64 bytes from mail.adelphia.net (68.168.78.100): icmp_seq=12 ttl=48 time=84.5 ms
--- mail.adelphia.net ping statistics --14 packets transmitted, 13 received, 7% packet loss, time 13129ms
rtt min/avg/max/mdev = 84.207/84.694/85.469
MUT
Example 3
MUT
Example 4
We use the traceroute program to find the route from the
computer voyager.deanza.edu to the server fhda.edu. The
following shows the result:
$ traceroute fhda.edu
traceroute to fhda.edu (153.18.8.1), 30 hops max, 38 byte packets
1 Dcore.fhda.edu (153.18.31.254) 0.995 ms 0.899 ms 0.878 ms
2 Dbackup.fhda.edu (153.18.251.4) 1.039 ms 1.064 ms 1.083 ms
3 tiptoe.fhda.edu (153.18.8.1) 1.797 ms 1.642 ms 1.757 ms
See Next Slide
MUT
Example 4 (Continued)
The un-numbered line after the command shows that the destination is 153.18.8.1. The TTL value is 30 hops.
The packet contains 38 bytes: 20 bytes of IP header, 8 bytes of UDP header, and 10 bytes of application data. The
application data is used by traceroute to keep track of the packets.
The first line shows the first router visited. The router is named Dcore.fhda.edu with IP address
153.18.31.254. The first round trip time was 0.995 milliseconds, the second was 0.899 milliseconds, and the third
was 0.878 milliseconds.
The second line shows the second router visited. The router is named Dbackup.fhda.edu with IP address
153.18.251.4. The three round trip times are also shown.
The third line shows the destination host. We know that this is the destination host because there are no more
lines. The destination host is the server fhda.edu, but it is named tiptoe. fhda.edu with the IP address 153.18.8.1.
The three round trip times are also shown.
MUT
Example 5
In this example, we trace a longer route, the route to xerox.com
$ traceroute xerox.com
traceroute to xerox.com (13.1.64.93), 30 hops max, 38 byte packets
1 Dcore.fhda.edu (153.18.31.254) 0.622 ms 0.891 ms 0.875 ms
2 Ddmz.fhda.edu (153.18.251.40) 2.132 ms 2.266 ms 2.094 ms
...
18 alpha.Xerox.COM (13.1.64.93) 11.172 ms 11.048 ms 10.922 ms
Here there are 17 hops between source and destination. Note that some round trip times look unusual. It could be
that a router is too busy to process the packet immediately.
MUT
Example 6
An interesting point is that a host can send a traceroute packet to itself. This can be done by
specifying the host as the destination. The packet goes to the loopback address as we expect.
$ traceroute voyager.deanza.edu
traceroute to voyager.deanza.edu (127.0.0.1), 30 hops max, 38 byte packets
1 voyager (127.0.0.1) 0.178 ms 0.086 ms 0.055 ms
MUT
Example 7
Finally, we use the traceroute program to find the route
between fhda.edu and mhhe.com (McGraw-Hill server). We
notice that we cannot find the whole route. When traceroute
does not receive a response within 5 seconds, it prints an
asterisk to signify a problem, and then tries the next hop..
$ traceroute mhhe.com
MUT
traceroute to mhhe.com (198.45.24.104), 30 hops max, 38 byte packets
1 Dcore.fhda.edu (153.18.31.254) 1.025 ms 0.892 ms 0.880 ms
2 Ddmz.fhda.edu (153.18.251.40) 2.141 ms 2.159 ms 2.103 ms
3 Cinic.fhda.edu (153.18.253.126) 2.159 ms 2.050 ms 1.992 ms
...
16 * * *
17 * * *
...............
ICMP PACKAGE
To give an idea of how ICMP can handle the sending and receiving of
ICMP messages, we present our version of an ICMP package made of
two modules: an input module and an output module.
The topics discussed in this section include:
Input Module
Output Module
MUT
ICMP package
MUT
คาถาม?
MUT
แบบฝึ กหัดท้ายบทลองทาดู
L5
L4
L3
L2
L1
H
1
8
DATA
1010101011…..
1
L3
L3
C
L2
L2
L2
B L2
L1
L1
L1
L1
A L1
101011…..
101011…..
L3
L1
IPA1=X,IPA2=Z IPA1=W,IPA2=Y
IPA1=2, IPA2=3
IPA1=4, IPA2=5
SA DA
DATA
ถ้ าแพ็คเก็ตหายทีจ่ ุดต่ าง ๆ ดังรู ป ICMP ตอบสนองอย่ างไรบ้ าง
A, B, C, D, E, F,G
3
C
IPA=8
IPA1=6, IPA2=7
SA=Source IP Address
DA=Destination IP Address
IPA=IP Address
H
MUT
L2
L1
101010…..
2
A
IPA=1
B
L2
L1
L5
L4
G L3
F L2
D
E L1
1010101010001011…..
D
แบบฝึ กหัดท้ายบทลองทาดู
• Exercise 13: How can we determine if an IP packet is carrying an
ICMP packet?
MUT
แบบฝึ กหัดท้ายบทลองทาดู
• Exercise 17: An ICMP message has arrived with the header (in
hexadecimal): 03 03 10 20 00 00 00 00 00
– What is the type of the message?
– What is the code ?
– What is purpose of the message ?
MUT
แบบฝึ กหัดท้ายบทลองทาดู
• ถ้าคุณต้องการทราบว่าคอมพิวเตอร์ IPv4 เครื่ องหนึ่งมีการเปิ ดให้บริ การ
โปรแกรมประยุกต์อะไรบ้างนักศึกษาสามารถทาได้อย่าง ถ้านักศึกษามี
คอมพิวเตอร์ที่มีการเชื่อมต่อเครื อข่าย IPv4 กับคอมพิวเตอร์เครื่ องนั้น
MUT
หัวข้อที่บรรยาย
• Introduction
• ICMPv4
IPv6
• ICMPv6
MUT
Next Generation: IPv6 and ICMPv6
Objectives
Upon completion you will be able to:
• Understand the shortcomings of IPv4
• Know the IPv6 address format, address types, and abbreviations
• Be familiar with the IPv6 header format
• Know the extension header types
• Know the differences between ICMPv4 and ICMPv6
• Know the strategies for transitioning from IPv4 to IPv6
MUT
IPv6
IPv6 has these advantages over IPv4:
1. larger address space 128 bits 32 bits
2. better header format keep header overhead to a minimum
3. new options additional functionalities
4. allowance for extension for new technologies or applications
5. support for resource allocation using flow label for QoS
6. support for more security confidentially and integrity of the packets
The topics discussed in this section include:
IPv6 Addresses
Address Space Assignment
Packet Format
Comparison between IPv4 and IPv6
MUT
IPv6 address
MUT
Abbreviated address
MUT
Abbreviated address with consecutive zeros
ย่ อได้ ครั้งเดียวเท่ านั้นต่ อ 1 หมายเลข IP
MUT
CIDR address
MUT
Address structure
See next slide for types of prefix
MUT
Type prefixes for IPv6 addresses
MUT
Provider-based address
Type identifier 010:a provider-based address
Registry 11000:North America
01000:European
MUT
10100:Asian and Pacific countries
Address hierarchy
Provider prefix an ISP, variable-length
Subscriber prefix an organization subscriber, 24 bits
Subnet prefix a network under a territory of the subscriber, 32 bits
Node Identifier the identity of node connected to the subnet 48 bits
MUT
Unspecified address
For:
- a host does no know its own address
- A host sends an inquiry to find its address
MUT
Loopback Address
For:
-used by a host to test itself without going on the networks
MUT
Compatible address
-Used when a computer using IPv6 wants to send a packet to another computer using
IPv6
- the packet passes through IPv4 networks
IPv6 IPv4 IPv6
0x02 2
0x0D13
MUT
0x1117
0x0E14
Mapped address
For:
-Used when a computer that has migrated
to IPv6 want to sent a packet to a computer
still using IPv4
MUT
Link local address
For:
- Used in an isolated network
- Does not have a global effect
MUT
Site local address
For:
-Used for a site with several networks
- Used in isolated networks
- Does not have a global effect
MUT
Multicast address
For:
- For a group of hosts
MUT
IPv6 datagram
MUT
Format of an IPv6 datagram
Version: version 6
Priority: packet priorities
Flow label: a particular flow of data
Payload length: length of IP datagram excluding the base
header(40 bytes)
Next Header: Header following the base header
Hop limit: TTL
MUT
Source Address: the original source IP address
Destination Address: the final destination IP address
Next header codes
MUT
Priorities for congestion-controlled
traffic
MUT
Priorities for noncongestion-controlled
traffic
MUT
Comparison between IPv4 and IPv6 packet header
MUT
Extension header format
MUT
Extension header types
MUT
Hop-by-hop option header format
Used when the source needs to pass information to all
router visited by the datagram
MUT
The format of options in a hop-by-hop option header
MUT
Pad1
MUT
PadN
MUT
Jumbo payload
For:
- normally the IP datagram can be a maximum of 65535 bytes
- Jumbo payload =2^32-1 (4,294,967,295 bytes)
MUT
Source routing
MUT
Source routing example
MUT
Fragmentation
- Only the source could do
- PATH MTU Discovery technique
-If no path MTU discovery, a size of 576 bytes of smaller
MUT
Authentication
MUT
Calculation of authentication data
The authentication header validates the message sender
and ensures the integrity of data
MUT
Encrypted security payload
Providing confidentiality (รักษาความลับ) and guards against eavesdropping
(ดังฟัง)
MUT
Transport mode encryption
MUT
Tunnel-mode encryption
MUT
Comparison between IPv4 options and IPv6
extension headers
MUT
คาถาม?
MUT
แบบฝึ กหัดลองทาดู
•
Exercise 2: Show the original (unabbreviated) form of the following
address:
a.
b.
c.
d.
MUT
0::0
0:AA::0
0:1234::3
123::1:2
แบบฝึ กหัดลองทาดู
•
Exercise 3: What is the type of the following addresses:
a.
b.
c.
d.
MUT
FE80::12
FEC0::24A2
FE02::0
0::01
แบบฝึ กหัดลองทาดู
•
MUT
Exercise 14: A host has the address 581E:1456:2314:ABCD::1211.
If the node identification is 48 bits and the subnet identification is 32
bits, find the provider prefix?
แบบฝึ กหัด
• Exercise 28: what is the ip-compatible address for 119.254.254.254?
MUT
แบบฝึ กหัด
• Exercise 29: what is the ip-mapped address for 119.254.254.254?
MUT
หัวข้อที่บรรยาย
• Introduction
• ICMPv4
• IPv6
ICMPv6
MUT
ICMPv6
ICMPv6, while similar in strategy to ICMPv4, has changes that makes it
more suitable for IPv6. ICMPv6 has absorbed some protocols that were
independent in version 4.
The topics discussed in this section include:
Error Reporting
Query
MUT
Comparison of network layers in
version 4 and version 6
MUT
Categories of ICMPv6 messages
MUT
General format of ICMP messages
MUT
Error-reporting messages
Destination Unreachable: The same concept as in ICMPv4
Packet too big: a router receives a packet that is larger than MTU
Time exceed: Have not arrived within the time limit
Parameter problems: Error in header fields, an unrecognized
extension header, an unrecognized option
Redirection: the same concept as in ICMPv4
MUT
Comparison of error-reporting messages in
ICMPv4 and ICMPv6
MUT
Destination-unreachable message format
0: No path to destination
1: Communication is prohibited
2: Strict source routing is impossible.
3: Destination address is unreachable.
4: Port is not available.
MUT
Packet-too-big message format
MUT
Time-exceeded message format
0: a hop limit field =0
1: not arrived within the time limit for fragments of datagram
MUT
Parameter-problem message format
0: Error in header fields
1:an unrecognized extension header
2: an unrecognized option
MUT
Redirection message format
MUT
Query messages
MUT
Comparison of query messages in
ICMPv4 and ICMPv6
MUT
Echo request and reply messages
MUT
Router-solicitation and advertisement message formats
MUT
Neighbor-solicitation and advertisement message formats
MUT
Group-membership messages
MUT
Group-membership message formats
MUT
Four situations of group-membership operation
MUT
TRANSITION FROM IPv4
TO IPv6
Three strategies have been devised by the IETF to provide for a smooth
transition from IPv4 to IPv6.
The topics discussed in this section include:
Dual Stack
Tunneling
Header Translation
MUT
Three transition strategies
MUT
Dual stack
MUT
Automatic tunneling
MUT
Configured tunneling
MUT
Header translation
MUT
Header translation
MUT
Summary
•
•
•
•
MUT
ICMPv4
IPv6
ICMP6
Next Class RIPv1 และ RIPv2
คาถาม?
MUT
แบบฝึ กหัดลองทาดู
• Exercise 18: what type of ICMP messages contain of the IP datagram?
Why is this included?
MUT