EEC-484/584 Computer Networks

32
EEC-484/584 EEC-484/584 Computer Networks Computer Networks Lecture 13 Lecture 13 Wenbing Zhao Wenbing Zhao [email protected] [email protected] (Part of the slides are based on Drs. Kurose & (Part of the slides are based on Drs. Kurose & Ross’s slides for their Ross’s slides for their Computer Networking Computer Networking book, book, and and on materials supplied by on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) Dr. Louise Moser at UCSB and Prentice-Hall)

description

EEC-484/584 Computer Networks. Lecture 13 Wenbing Zhao [email protected] (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book, and on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall). Outline. Classful IP address allocation - PowerPoint PPT Presentation

Transcript of EEC-484/584 Computer Networks

Page 1: EEC-484/584 Computer Networks

EEC-484/584EEC-484/584Computer NetworksComputer Networks

Lecture 13Lecture 13

Wenbing ZhaoWenbing Zhao

[email protected]@ieee.org(Part of the slides are based on Drs. Kurose & Ross’s slides (Part of the slides are based on Drs. Kurose & Ross’s slides

for their for their Computer Networking Computer Networking book, and book, and on materials supplied by on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall)Dr. Louise Moser at UCSB and Prentice-Hall)

Page 2: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

22

OutlineOutline

• Classful IP address allocation

• CIDR

• Network address translation

• ICMP

• IPv6

Page 3: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

33

IP AddressesIP Addresses

• Classful addressing - every host and router has unique IP address consisting of network number and host number (2 level hierarchy)– E.g., Class A: up to 27 = 128 networks with up to 224

= 16,777,216 hosts each

• Network numbers are managed by ICANN (Internet Corporation for Assigned Names and numbers) to avoid conflicts

• No longer used, but references to it are still common

Page 4: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

44

IP AddressesIP Addresses

Page 5: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

55

IP AddressesIP Addresses• IP address are usually written in dotted decimal

notation– Each of the 4 bytes is written in decimal, from 0 to 255– Lowest IP 0.0.0.0, highest 255.255.255.255

• Special IP addresses

Page 6: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

66

SubnetsSubnets• Allow a network to be split into several parts for internal use,

but to act as a single network to outside world• Take some bits away from host numbers• Subnet mask – needed by the main router. Indicates split

between network + subnet number and host– Write the address and the mask as a binary number– If mask bit is 1, then corresponding bit of address matters

Page 7: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

77

SubnetsSubnets

• E.g., A class B network can be subnetted into 64 subnets– Originally 16 bits for host info. Now, 6 bits used for subnet and 10

bits for host numbers– Subnet mask can be written as 255.255.252.0 or /22

Subnet 1: 10000010 00110010 000001 00 00000001 130.50.4.1Subnet 2: 10000010 00110010 000010 00 00000001 130.50.8.1Subnet 3: 10000010 00110010 000011 00 00000001 130.50.12.1

Page 8: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

88

Routing without SubnetsRouting without Subnets

• Each router has a table listing two types of entries:– (network, 0): tells how to get to distant networks– (this-network, host): tells how to get to a local host

• When an IP packet arrives, its destination address is looked up in the routing table– If the packet is for a distant network, it is forwarded to the

next router on the interface given in the table– If it is for a local host, it is sent directly to the destination– If the network is not present, the packet is forwarded to a

default router with more extensive tables

Page 9: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

99

Routing with SubnetsRouting with Subnets• Three-level hierarchy: entries in a routing table take the

form – (network, 0)– (this-network, subnet, 0) and – (this-network, this-subnet, host)

• A router on subnet k knows how to get to all the other subnets and also how to get to all the hosts on subnet k

• If a packet is for this network– Do a Boolean AND of the destination address with the network’s

subnet mask to get rid of the host number– Look up the resulting address in the routing table

Page 10: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

1010

Routing with SubnetsRouting with Subnets• For example, a packet address to 130.50.15.6, the

subnet mask is 255.255.252.0/22, AND them, we get 130.50.12.0 and this address is looked up in the routing table to find out which output line to use

10000010 00110010 00000100 00000000 Output to line A10000010 00110010 00001000 00000000 Output to line B10000010 00110010 00001100 00000000 Output to line C

10000010 00110010 00001111 00000110 (Destination IP Addr: 130.50.15.6)

11111111 11111111 11111100 00000000 (Subnet mask: 255.255.252.0)

10000010 00110010 00001100 00000000 (After AND operation)

Subnet base address

Page 11: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

1111

Problems with Classful AddressingProblems with Classful Addressing

• A class is obviously too large for any organization• C class is too small (only 256 addresses

available)• B class is requested and allocated, but it is still too

large for most organizations

Many IP addresses are wasted

Shortage of IP addresses

Page 12: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

1212

CIDR – Classless InterDomain RoutingCIDR – Classless InterDomain Routing

• For the remaining IP addresses, classless allocation is used– Allocate remaining IP addresses in variable-sized

blocks (must be power of 2), without regard to the classes

– The starting address must fall on the boundary of the block size

– E.g., if a site needs, say, 2000 addresses, it is given a block of 2048 addresses on a 2048-byte boundary

Page 13: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

1313

Classless Allocation – ExampleClassless Allocation – Example

5-59

• Routing tables are updated with the three assigned entries. Each entry contains a base address and a subnet mask (in short: base address/subnet mask)

Base address Subnet mask

C: 11000010 00011000 00000000 00000000 11111111 11111111 11111000 00000000E: 11000010 00011000 00001000 00000000 11111111 11111111 11111100 00000000O: 11000010 00011000 00010000 00000000 11111111 11111111 11110000 00000000

Page 14: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

1414

Classless InterDomain RoutingClassless InterDomain Routing• Each routing table is extended by giving it a 32-bit mask• The routing table contains entries of

(IP address, subnet mask, outgoing line) triples• When a packet comes in, its destination IP address is first

extracted• Then, the routing table is scanned entry by entry, masking

the destination address and comparing it to the table entry looking for a match

• If multiple entries (with different subnet mask lengths) match, the longest mask is used– E.g., if there is a match for a /20 mask and a /24 mask, the /24

mask is used

Page 15: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

1515Classless InterDomain Routing: Classless InterDomain Routing: ExampleExample

• If a packet is addressed to 194.24.17.4, in binary 11000010 00011000 00010001 00000100

• First it is Boolean ANDed with the Cambridge mask to get 11000010 00011000 00010000 00000000

• This value does not match the Cambridge base address, so next try Edinburgh mask, to get11000010 00011000 00010000 00000000

• This value still does not match, so Oxford is tried, yielding 11000010 00011000 00010000 00000000

• This value matches the Oxford base. If no longer matches are found, the Oxford entry is used and the packet is sent along the line named in it

Base address Subnet mask

C: 11000010 00011000 00000000 00000000 11111111 11111111 11111000 00000000E: 11000010 00011000 00001000 00000000 11111111 11111111 11111100 00000000O: 11000010 00011000 00010000 00000000 11111111 11111111 11110000 00000000

Page 16: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

1616

Classless InterDomain RoutingClassless InterDomain Routing

• Aggregate entry – all three new entries can be combined into a single aggregate entry 194.24.0.0/19 with a binary address and submask as follows:11000010 00000000 00000000 00000000 11111111 11111111 11100000 00000000

• By aggregating the three entries, a router has reduced its table size by two entries

• Aggregation is heavily used throughout the Internet

Page 17: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

1717

NAT – Network Address TranslationNAT – Network Address Translation

• Another workaround for the IP addresses shortage problem: network address translation– One public IP address, many private IP addresses– When a packet exits the private network and goes to the ISP, an

address translation takes place

• Three ranges of IP addresses have been declared as private:– 10.0.0.0 – 10.255.255.255 (16,777,216 hosts)– 172.16.0.0 – 172.31.255.255/12 (1,048,576 hosts)– 192.168.0.0 – 192.168.255.255/16 (65,536 hosts)

Page 18: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

1818

NAT – Network Address TranslationNAT – Network Address Translation

Placement and operation of a NAT box

Page 19: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

1919NAT – What about the Incoming NAT – What about the Incoming Traffic?Traffic?

• Solution is based on the assumption all traffic is TCP/UDP• TCP/UDP has two port fields, one for source port, the other for

destination port, each 16 bits wide• The source port is used as an index to an internal table

maintained by the NAT box• The internal sender’s private IP and original port info are

stored in the table• When the reply comes back, it will carry the index as the

destination port, the NAT box then translates the address back• For both outgoing and incoming address translations, the

TCP/UDP and IP header checksums are recomputed

Page 20: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

2020

Drawback of NATDrawback of NAT

• NAT violates the architectural model of IP, which states that every IP address uniquely identifies a single machine worldwide

• NAT box must maintain mapping info for each connection passing through it. This changes the Internet from a connectionless network to a kind of connection-oriented network

• NAT violates the most fundamental rule of protocol layering: layer k may not make any assumptions about what layer k+1 has put into the payload field

• NAT only support UDP/TCP traffic• NAT has problem supporting apps that include local IPs in payload,

such as FTP and H.323• Each NAT box can support at most 65,536 (216) hosts

Page 21: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

2121

Internet Control Message ProtocolInternet Control Message Protocol• ICMP messages are sent using the basic IP header • The first byte of the data portion of the datagram is a

ICMP type field– The type field determines the format of the remaining data

• Typical format: type, code plus first 8 bytes of IP datagram causing error

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | unused | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Internet Header + 64 bits of Original Data Datagram | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Destination Unreliable Message Format

Page 22: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

2222

Internet Control Message ProtocolInternet Control Message Protocol

• When something unexpected occurs in Internet, the event is reported by routers using ICMP

• Principal ICMP message types

Page 23: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

2323

Internet Protocol Version 6Internet Protocol Version 6

• IPv4 current version• IPv5 experimental real-time stream protocol• IPv6

– Longer addresses than IPv4 – 16 bytes– Fixed-length 40 byte header

• No checksum field• No fragmentation (by intermediate routers) allowed. Only

sender is allowed to fragment a packet, using fragment extension

– Better support for options

Page 24: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

2424

The Main IPv6 HeaderThe Main IPv6 Header

8000:0000:0000:0000:0123:4567:89AB:CDEF

Page 25: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

2525

The Main IPv6 HeaderThe Main IPv6 Header• Version 6• Priority

– 0-7 slow down in event of congestion– 8-15 real-time traffic

• Flow label – allows source and destination to set up pseudo-connection with particular properties and requirements

• Payload length (as opposed to total length in IPv4)• Next header – additional optional extension header• Hop limit (time to live in IPv4)• Source/destination address – 128 bits (32 bits in IPv4)

Page 26: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

2626

IPv6 Extension HeadersIPv6 Extension Headers

Page 27: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

2727

IPv6 Extension HeadersIPv6 Extension Headers

http://www.tcpipguide.com/free/t_IPv6DatagramExtensionHeaders-2.htm

Page 28: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

2828

IPv6 Extension HeadersIPv6 Extension Headers

• Two types of extension header formats– Fixed format– Variable number of variable-length fields

• Each item is encoded as a (type, length, value) tuple

• Type: 1-byte field telling which option this is• Length: 1-byte field telling how long the value is (0-

255 bytes)• Value: any info required

Page 29: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

2929

IPv6 Extension HeadersIPv6 Extension Headers• Hop-by-hop options: used for info that all routers

along the path must examine– One option has been defined to support datagrams

exceeding 64K• Next header: 1-byte field telling type of header• Length field: 1-byte field telling how long the hop-by-hop header

is in bytes, excluding the first 8 bytes, which are mandatory• 1-byte field indicating that this option defines the datagram size• 1-byte field telling the size is a 4-byte number• 4-byte field: size of datagram

Page 30: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

3030

IPv6 Extension HeadersIPv6 Extension Headers• Routing option header: lists one or more routers that

must be visited on the way to destination– Routing type field: 1-byte giving format of the rest of the header– Segments left field: 1-byte keeping track of how many of the

addresses in the list have not yet been visited

Page 31: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

3131

Exercise - CIDRExercise - CIDR• According to Classless InterDomain Routing, the

remaining IP addresses are allocated in variable-sized blocks, without regard to the classes. However, the starting address must fall on the boundary of the block size allocated. Assuming that a large number of consecutive IP address are available starting at 194.24.0.0. Suppose that three organizations, A, B, and C, request 4000, 1000, and 2000 addresses, respectively, and in that order. For each of these, give the first IP address assigned, the last IP address assigned, both must be in dotted decimal form, and the mask in the w.x.y.z/s notation.

Page 32: EEC-484/584 Computer Networks

Spring Semester 2006Spring Semester 2006 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao

3232

Exercise - CIDRExercise - CIDR

• A router has just received the following new IP addresses: 57.6.96.0/21, 57.6.104.0/21, 57.6.112.0/21, and 57.6.120.0/21. If all of them use the same outgoing line, can they be aggregated? If so, to what? If not, why not?