600 likes | 766 Views
Computer Networks (Graduate level). Lecture 6: Internetworking. University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani. Internetworking. How to connect existing networks TCP/IP protocol Assigned Reading [CK74]: A Protocol for Packet Network Intercommunication.
E N D
Computer Networks(Graduate level) Lecture 6: Internetworking University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Computer Network
Internetworking • How to connect existing networks • TCP/IP protocol • Assigned Reading • [CK74]: A Protocol for Packet Network Intercommunication. • [Hin96]: IP Next Generation Overview Computer Network
The Problem • Before Internet • different packet-switching networks (e.g., ARPANET, ARPA packet radio) • only nodes on the same physical/link layer network could communicate • want to share room-size computers, storage to reduce expense Computer Network
The Challenge • Interconnect existing networks • … but, packet switching networks differ widely • different services • e.g., degree of reliability • different interfaces • e.g., length of the packet that can be transmitted, address format • different protocols • e.g., routing protocols Computer Network
Key problem: Heterogeneity • Not described as such in paper • Heterogeneous addressing conventions => common addressing scheme • Heterogeneous MTU => fragmentation • Heterogeneous queuing/transit delays =>adaptive “timing procedures” • Heterogeneous reliability => end-to-end recovery mechanisms • Heterogeneous control/status info => common error/coordination mechanism Computer Network
Possible solutions • Reengineer and develop one global packet switching network standard • not economically feasible • not deployable • Have every host implement the protocols of any network it wants to communicate with • Complexity/node = O(n) • O(n2) global complexity Computer Network
Solution • Add an extra layer: internetworking layer • hosts: • understand one network protocol • understand one physical/link protocol • gateways: • understand one network protocol • understand the physical/link protocols of the networks they gateway • Complexity to add a node/network: O(1) with respect to number of existing nodes Computer Network
Solution Gateways Computer Network
Challenge 1: Different Address Formats • Options: • Map one address format to another. Why not? • Provide one common format • map lower level addresses to common format • Format: • Initially: 8b network 16b host 24b total • Before Classless InterDomain Routing (CIDR): • 7b/24b, 14b/16b, or 21b/8b 32b total • After CIDR: Arbitrary division 32b total • NAT: 32b + 16b simultaneously active • IPv6: 128b total Computer Network
Address Formats • 256 networks? What were they thinking? • Why CIDR? • What happens if they run out before IPv6? • Why IPv6? • Why 128b for IPv6? 1048=281 trillion. • Why not variable length addresses? Computer Network
Challenge 2: Different Packet Sizes • Need to define maximum packet size • Options: • Take the minimum of the maximum packets sizes over all networks • Implement fragmentation/reassembly • Flexibility to adjust packet sizes as new technologies arrive • IP: fragment at routers, reassemble at host • Why not reassemble at routers? • Still stuck with 1500B as de facto maximum Computer Network
Other Challenges • Errors require end-to-end reliability • Thought to be rarely invoked, but necessary • Different (routing) protocols coordinate these protocols • Accounting • Did not envision script kiddies • Quality of Service • Not addressed Computer Network
Transmission Control Program • Original TCP/IP (Cerf & Kahn) • no separation between transport (TCP) and network (IP) layers • one common header flow control, but not congestion control (why not?) • fragmentation handled by TCP • Today’s TCP/IP • separate transport (TCP) and network (IP) layer (why?) • split the common header in: TCP and UDP headers • fragmentation reassembly done by IP • congestion control Computer Network
Devil’s Advocate • Who cares about resource sharing? • 1974: cycles, storage, bandwidth expensive, people cheap • 2002: resources cheap, people expensive • 1974: Share computer resources • 2002: Communicate with people, access documents, buy, sell • Does it still make sense to make processes the endpoint? • Where do people and organizations fit into the ISO layering model? Computer Network
Back to the big picture Computer Network
Goals (Clark’88) • Connect existing networks • initially ARPANET and ARPA packet radio network • Survivability • ensure communication service even in the presence of network and router failures • Support multiple types of services • Must accommodate a variety of networks • Allow distributed management • Allow host attachment with a low level of effort • Be cost effective • Allow resource accountability Computer Network
1. Survivability • continue to operate even in the presence of network failures (e.g., link and router failures) • failures (excepting network partition) should be transparent to endpoints • maintain state only at end-points (fate-sharing) • no need to replicate and restore router state • Internet: stateless network architecture • disadvantages? • no per-flow state, still have state in address allocation, DNS Computer Network
2. Types of Services • Add UDP to TCP to better support other types of applications • e.g., “real-time” applications • Probably main reason for separating TCP and IP • Provide datagram abstraction: lower common denominator on which other services can be built • service differentiation considered (ToS header bits) • was not widely deployed (why?) Computer Network
3. Variety of Networks • Very successful • because the minimalist service; it requires from underlying network only to deliver a packet with a “reasonable” probability of success • …does not require: • reliability, in-order delivery, single delivery, QoS guarantees • IP over everything • Then: ARPANET, X.25, DARPA satellite network.. • Now: ATM, SONET, WDM, PPP, USB, 802.11b, GSM, GPRS, DSL, cable modems, power lines Computer Network
Internet Architecture • Packet-switched datagram network • IP is the glue • Hourglass architecture • all hosts and routers run IP • Common Intermediate Representation TCP UDP IP Satellite Ethernet ATM Computer Network
Other Goals • Allow distributed management • each network can be managed by a different organization • different organizations need to interact only at the boundaries • doesn’t work so well for routing, accounting • Cost effective • sources of inefficiency • header overhead • retransmissions • routing • …but routers relatively simple to implement (especially software side) Computer Network
Other Goals (Cont) • Low cost of attaching a new host • not a strong point higher than other architecture because the intelligence is in hosts (e.g., telephone vs. computer) • Moore’s law made this moot point, both <$100 • bad implementations or malicious users can produce considerably harm (remember fate-sharing?) • DDoS possibly biggest threat to Internet • Accountability • very little so far Computer Network
What About the Future? • Datagram not the best abstraction for: • resource management,accountability, QoS • A new abstraction: flow? • Routers require to maintain per-flow state (what is the main problem with this raised by Clark?) • state management • Solution • soft-state: end-hosts responsible to maintain the state Computer Network
Summary: Minimalist Approach • Dumb network • IP provide minimal functionalities to support connectivity • addressing, forwarding, routing • Smart end system • transport layer or app does more sophisticated functionalities • flow control, error control, congestion control • Advantages • accommodate heterogeneous technologies • support diverse applications (telnet, ftp, Web, X windows) • decentralized network administration • Disadvantages • poor realtime performance • poor accountability Computer Network
Common View of the Telco Network Brick Computer Network
Common View of the IP Network Computer Network
routing Needs some intelligence! Computer Network
How is IP Design Standardized? • IETF • Voluntary organization • Meeting every 4 months • Working groups and email discussions • “We reject kings, presidents, and voting; we believe in rough consensus and running code” (Dave Clark 1992) • Need 2 independent, interoperable implementations for standard Computer Network
Network 1 (Ethernet) H7 R3 H8 H2 H1 H3 Network 4 (point-to-point) Network 2 (Ethernet) R1 R2 H4 Network 3 (FDDI) H5 H6 IP Internet • Concatenation of Networks or “networks of Networks”. • “R” is routers and “H” is hosts. Computer Network
0 4 8 16 19 31 TOS Length V ersion HLen Ident Flags Offset TTL Protocol Checksum SourceAddr DestinationAddr Pad Options (variable) (variable) Data Service Model • Connectionless (datagram-based) • Best-effort delivery (unreliable service) • packets are lost. No recover from lost. • packets are delivered out of order • duplicate copies of a packet are delivered • packets can be delayed for a long time • Datagram format Contains all information for routing! Computer Network
Packet Headers • The current Version is 4 or IPv4. • HLen- the Header Length: from 5-15 in 32-bit words. • Length- the total length of the packet including headers. Max length is 64K. • TTL: Time To Live is expressed in second. It is to prevent packet from permanently circulating in a loop. • Protocol: specify the packet application ex. 1 for ICMP. It is for demultiplexing to higher layer protocols. • Checksum: is a 1-complement error checksum for the header only. Computer Network
Packet Headers (Cont) • TOS: type of Service • Precedence Specify the priority • Type of Services Specify routing, for instance cheapest, fastest and more reliable • D for Delay • T for Throughput • R for Reliability • C for low cost. • Note: Precedence is only for inside channel queuing. • Replaced by DiffServ. Computer Network
Packet Headers (Cont) • Options If C set, the option will copied to all fragments. Otherwise, only to the first one. • Class 0 for control • Class 2 for debugging and measurement. Options are rarely used in today except for ‘loose’ and ‘strict’ source routing parameters. ‘loose’ and ‘strict’ source option sometimes, is used for IP encapsulation in another IP or “Tunneling” Computer Network
Fragmentation and Reassembly • Flags • DF: Don’t Fragment • MF: More Fragment coming In fragmentation, IP copy the original header and only modify The length, which is the new length, and offset. Offset is used for reassembly. • Note: Fragmentation may degrade the network performance. That is why the IP packet should be the same of TCP packets Modern TCP implement “Path MTU discovery”. It start with large packet and with DF set flag, if it passed TCP keeps the same packet size, otherwise, it reduces it. Computer Network
Fragmentation and Reassembly (cont) • Each network has a Maximum Transfer Unit size, MTU • Strategy • fragment when necessary (MTU < Datagram) • fragments are self-contained datagrams • do not recover from lost fragments • Where to do reassembly? • End nodes – avoids unnecessary work • Dangerous to do at intermediate nodes • Buffer space • Multiple paths through network Computer Network
Fragmentation is Harmful • Uses resources poorly • Forwarding costs per packet • Best if we can send large chunks of data • Worst case: packet just bigger than MTU • Poor end-to-end performance • Loss of a fragment • Reassembly is hard • Buffering constraints Computer Network
Path MTU Discovery • Hosts dynamically discover minimum MTU of path • Algorithm: • Initialize MTU to MTU for first hop • Send datagrams with Don’t Fragment bit set • If ICMP “pkt too big” msg, decrease MTU • What happens if path changes? • Periodically (>5mins, or >1min after previous increase), increase MTU • Some routers will return proper MTU • MTU values cached in routing table Computer Network
Addressing in IP • IP addresses are names of interfaces • Domain Name System (DNS) names names of hosts • DNS binds host names to interfaces • Routing binds interface names to paths Computer Network
Addressing Considerations • Fixed length or variable length? • Issues: • Flexibility • Processing costs • Header size • Engineering choice: IP uses fixed length addresses Computer Network
Addressing Considerations • Structured vs flat • Issues • What information would routers need to route to Ethernet addresses? • Need structure for designing scalable binding from interface name to route! • How many levels? Fixed? Variable? Computer Network
IP Addresses • Fixed length: 32 bits • Initial classful structure (1981) • Total IP address size: 4 billion • Class A: 128 networks, 16M hosts • Class B: 16K networks, 64K hosts • Class C: 2M networks, 256 hosts High Order Bits 0 10 110 Format 7 bits of net, 24 bits of host 14 bits of net, 16 bits of host 21 bits of net, 8 bits of host Class A B C Computer Network
IP Address Classes (Some are Obsolete) Network ID Host ID 8 16 24 32 Class A 0 Network ID Host ID Class B 10 Class C 110 Class D Multicast Addresses 1110 Class E 1111 Reserved for experiments Computer Network
Some Special IP Addresses • 127.0.0.1: local host (a.k.a. the loopback address • Host bits all set to 0: network address • Host bits all set to 1: broadcast address Computer Network
Subnet Addressing – RFC917 (1984) • For class B & C networks • Very few LANs have close to 64K hosts • For electrical/LAN limitations, performance or administrative reasons • Need simple way to get multiple “networks” • Use bridging, multiple IP networks or split up single network address ranges (subnet) • Must reduce the total number of network addresses that are assigned Computer Network
Subnetting • Variable length subnet masks • Could subnet a class B into several chunks Network Host Network Subnet Host 1111.. ..1111 00000000 Mask Computer Network
Subnetting Example • Assume an organization was assigned address 150.100 • Assume < 100 hosts per subnet • How many host bits do we need? • Seven • What is the network mask? • 11111111 11111111 11111111 10000000 • 255.255.255.128 Computer Network
Subnet Addressing Example • Assume a packet arrives with address 150.100.12.176 • Step 1: AND address with subnet mask 150.100.12.154 150.100.12.176 H1 H2 150.100.12.128 150.100.12.129 150.100.12.24 150.100.12.55 150.100.0.1 R1 H3 H4 To Internet 150.100.12.4 150.100.12.0 Computer Network
IP Address Problem (1991) • Address space depletion • In danger of running out of classes A and B • Why? • Class C too small for most domains • Very few class A – IANA (Internet Assigned Numbers Authority) very careful about giving • Class B – greatest problem Computer Network
IP Address Utilization (‘98) http://www.caida.org/outreach/resources/learn/ipv4space/ Computer Network
Some Problems • Class B sparsely populated • But people refuse to give it back • Solution • Assign multiple class C addresses • Assign consecutive blocks • RFC1338 – Classless Inter-Domain Routing (CIDR) Computer Network