* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download CSE524: Lecture 2
Multiprotocol Label Switching wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Network tap wikipedia , lookup
Net neutrality law wikipedia , lookup
Airborne Networking wikipedia , lookup
Distributed firewall wikipedia , lookup
Computer network wikipedia , lookup
SIP extensions for the IP Multimedia Subsystem wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
TCP congestion control wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Deep packet inspection wikipedia , lookup
Internet protocol suite wikipedia , lookup
Hypertext Transfer Protocol wikipedia , lookup
Real-Time Messaging Protocol wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
CSE524: Lecture 2 Protocols in practice, Internet history (Part 1) 1 Administrative • Reading assignment – Chapter 1, due by Monday 10/1/2001 • Homework assignments – http://www.cse.ogi.edu/class/cse524/ 2 Administrative • Results of diagnostic quiz – Majority • Have not had an Internet networking course (or slept through the one you took) • This course will be directed at you – A small handful • In danger of being very very bored • OK, if you need easy credits, but don’t sleep 3 A day in the life of an Internet host… • Booting – Dynamically configure network settings • • • • DHCP, BOOTP UDP (unreliable datagrams) IP and data-link broadcast IP address, DNS server and route configuration Datalink broadcast header Datalink header 00:50:7e:0d:30:20 IP broadcast 255.255.255.255 IP of Host UDP header UDP Header DHCP request Host’s datalink (MAC) address 00:50:7e:0d:30:20 DHCP reply Host’s network settings 4 A day in the life of an Internet host… • Web request http://www.yahoo.com/index.html – Find DNS server • ARP (IP to hardware address mapping) • Data-link broadcast • Reply often broadcast back and cached on each host of network Datalink header broadcast Datalink header MAC of requestor or broadcast addr ARP request: Who has MAC address of IP addr “X”? (X=next-hop router, dns server) MAC address of requestor ARP reply: MAC address of “X” is a:b:c:d:e:f 5 A day in the life of an Internet host… • Send DNS request – UDP, IP, data-link header Datalink header (DNS server or next-hop router) IP of DNS Server UDP Header DNS request www.yahoo.com “A” record request Datalink header (host or next-hop router) IP of host UDP Header DNS reply www.yahoo.com is 216.115.105.2 6 A day in the life of an Internet host… • Send HTTP request • • • • “GET index.html HTTP/1.0” HTTP (application request data) TCP (reliable byte stream) IP, data-link header Datalink header (next-hop router) IP of 216.115.105.2 TCP Header HTTP request GET /index.html HTTP/1.0 Datalink header (next-hop router) IP of host TCP Header HTTP reply HTTP/1.0 200 OK Date: Mon, 24 Sep 2001 Content-Type: text/html <HTML> etc… 7 A day in the life of an Internet host… • Role of TCP and UDP? • Demultiplex at end hosts. – Which process gets this request? FTP HTTP NV TCP IPX NET1 TFTP UDP IP NET2 … NETn Network IP Type Field Protocol Field TCP/UDP Port Number 8 A day in the life of an Internet host…. • What about…. – Reliability • Corruption • Lost packets – Flow and congestion control – Fragmentation – Out-of-order delivery • The beauty of TCP, IP, and layering – All taken care of transparently 9 What if the Data gets Corrupted? Problem: Data Corruption GET index.html Internet GET windex.html Solution: Add a checksum 0,9 9 6,7,8 21 X 4,5 7 1,2,3 6 10 What if the Data gets Lost? Problem: Lost Data GET index.html Internet Solution: Timeout and Retransmit GET index.html Internet GET index.html GET index.html 11 What if receiver has no resources (flow control)? Problem: Overflowing receiver buffers PUT remix.mp3 Internet Solution: Receiver advertised window PUT remix.mp3 Internet 16KB free 12 What if Network is Overloaded? Problem: Network Overload Solution: Buffering and Congestion Control • Short bursts: buffer • What if buffer overflows? – Packets dropped and retransmitted – Sender adjusts rate until load = resources • Called “Congestion control” 13 What if the Data Doesn’t Fit? Problem: Packet size • On Ethernet, max IP packet is 1.5kbytes • Typical web page is 10kbytes Solution: Fragment data across packets ml x.ht inde GET GET index.html 14 What if the Data is Out of Order? Problem: Out of Order ml inde x.th GET GET x.thindeml Solution: Add Sequence Numbers ml 4 inde 2 x.th 3 GET 1 GET index.html 15 Internet History • Those who ignore the past are doomed to repeat it • http://www.worldcom.com/about_the_company/c erfs_up/ • Where did it come from? • Who built it? • Why does it work? 16 Packet switching • Kleinrock, MIT (July 1961) – Theoretical feasibility of communications using packets instead of circuits – L. Kleinrock, "Information Flow in Large Communication Nets", RLE Quarterly Progress Report, July 1961. – L. Kleinrock, Communication Nets: Stochastic Message Flow and Delay, Mcgraw-Hill (New York), 1964. 17 Conceptual “Internet” • J.C.R. Licklider, W. Clark, MIT (August 1962) – “On-line Man Computer Communication” – “Galactic network” concept of globally interconnected set of computers – Licklider goes to DARPA as head of computer research program (Oct. 1962) 18 First WAN • Roberts, (1966) – Licklider convinces Roberts of internetworking – Kleinrock convinces Roberts of packet switching – First WAN • TX-2 computer in Massachusetts connected to the Q-32 in California with a low speed dial-up telephone • L. Roberts, T. Merrill, “Toward a Cooperative Network of Time-Shared Computers”, Fall AFIPS Conf., Oct. 1966 – Roberts goes to DARPA as program manager • Plans for building “ARPANET” based on system • L. Roberts, "Multiple Computer Networks and Intercomputer Communication", ACM Gatlinburg Conf., October 1967. 19 ARPANET • Roberts finishes ARPANET structure and specification (August 1968) – RFQ for implementation of IMPs (Interface Message Processors) – Packet switches which route packets – BBN (Bolt, Beranek, and Newman) wins contract – Kahn at BBN updates ARPANET design • Run over any fabric • Multiple independent networks 20 ARPANET • First ARPANET node UCLA (Sept. 1969) – SRI second node • Part of a project which includes early hypertext system NLS • Initial hostname/address database – First message from UCLA to SRI – UCSB and Univ. of Utah add nodes – 4 node ARPANET (Dec. 1969) 21 RFCs • 1969: Crocker establishes RFC series of notes – – – – Informal distribution of ideas Printed on paper and snail mailed at first Then available via ftp and now http Jon Postel RFC editor and protocol number assignment – Open and free access to RFCs – Positive feedback loop 22 NCP • Crocker leads Network Working Group – Host-to-Host protocol standard for two ends to talk to each other – NCP (Network Control Protocol) defined (Dec. 1970) – Precursor to TCP – Deployed from 1971-1972 – Allows applications to be developed on top of network 23 E-mail • BBN’s Tomlinson (Mar. 1972) – Time-shared systems at the time – Idea: leave messages to each other on shared systems, extend to remote systems – Writes first e-mail application to send and read – Infamous “@” used – Roberts later updates with listing, filing, forwarding, selective read, reply 24 Internetting • International Network Working Group (Sept. 1973) – Goal: run protocols over packet satellite net, packet radio net, and wired ARPANET – Problems • NCP can only address networks connected to IMPs on ARPANET • NCP relied on ARPANET for end2end reliability • NCP assumed no packet loss: applications halt upon loss • NCP had no end-end host error control – Kahn redesigns protocols for internetworking 25 Internetting • Kahn’s Architecture – Each network stands alone. No changes required to connect to Internet. – Communication on a “best-effort” basis – Source in charge of retransmission – Black boxes connecting networks (gateways and routers) have no per-flow information • Simple • Avoids complicated adaptation and recovery from failure – No global control at the operations level – Host-to-Host flow control (sliding windows and acks) 26 Internetting • Other issues – Host-to-Host data pipelining (multiple packets en route) – Gateway interprets IP headers for routing and performs fragmentation to other networks – End2end checksums, reassembly of fragments, duplicate detection (virtual circuit model) – Global addressing via 32-bit address • 8-bit network number, 24 bit host number • Fails to forsee development of the LAN – Interfaces to operating systems • R. Kahn, Communications Principles for Operating Systems. Internal BBN memo, Jan. 1972. 27 Internetting • Kahn brings in Cerf (Stanford) to help implement ideas on multiple OS platforms – V. Cerf, R. Kahn “A protocol for packet network intercommunication” IEEE Transactions on Communications, May 1974 – TCP draft produced (includes IP) Dec. 1974 • ARPA sponsors 3 groups to implement on hosts – Stanford (Cerf), BBN (Tomlinson), UCL (Kirstein) – All interoperate • IP later separated (not all apps need reliability) – UDP added 28 Internetting • IP – Internet Protocol (Sept. 1981) Postel – http://www.rfc-editor.org/rfc/rfc791.txt • TCP – Transmission Control Protocol (Sept. 1981) Postel – http://www.rfc-editor.org/rfc/rfc793.txt • Initial applications – Goal is resource sharing of systems on ARPANET • • • • File transfer Remote login (telnet) E-mail Packet voice, packet video (late 1970s) 29 Internetting • NCP replaced by TCP/IP (1978-1983) – Implementations of TCP/IP on many platforms (Clark) – Mandate from to switch all users on ARPANET from NCP to TCP/IP (1980) • Not well received • One-day shutoff of NCP in mid-1982 makes people angry, but not sufficiently convincing • January 1983: NCP banned from ARPANET • Some older computers allowed to operate with old NCP for a short time • Full transition takes several months, finishes at end of 1983 • “I survived the TCP/IP transition” buttons (Y2K bug?) – MILNET created for military 30