Introduction1-1 Introduction To Computer Networks מבוא לרשתות תקשורת פרופ ' אמיר הרצברג Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July Based on foils by Kurose & Ross ©, see: My site: Course site:
Introduction1-2 Introduction To Computer Networks תקשורת ומחשוב פרטים Lecturer: Prof. Amir Herzberg m Research in applied cryptography, secure communication and commerce, networking, dist. algs.,… m Reception: Monday 2:00-3:45pm, room 324 m Physical mail: bin 23 m Will normally answer within a week Assistants: Mor Brosh, Igal Ioffe, Fridel Fainshtain Use the book and foils – read at home before lectures!!
Introduction1-3 Introduction To Computer Networks תקשורת ומחשוב ציונים 80% : exam 10% : theoretical assignments (few) m Will not consider the lowest-graded m But submit all – assignments are (rarely) lost 10%: programming assignment m Great for work interviews, experience Mandatory to pass both assignments and exam m Copying will lead to immediate disciplinary action (to all parties) – please do not. Class attendance optional But no noise… m You can pass notes, send – but no noise! m Offenders expelled from lecture – no warning Additional penalties possible (points, etc.)
Introduction1-4 Books Main book: Computer Networking: A Top Down Approach Featuring the Internet, 2nd edition. Jim Kurose, Keith Ross Addison-Wesley, July m In library and should (soon?) be in shop Also use: Tanenbaum: Computer Networks m Now in 4 th edition m Some copies in library
Introduction1-5 Online Content Lectures, exercises and other stuff will be posted at Hi-Learn system: Also: submit (most) exercises via Hi-Learn To login: m Use your `regular` BIU user-ID m Your password consists of 6 characters: XYnnnn X is the first letter of your first name, e.g. a for Avi Y is the first letter of your surname, e.g. c for Cohen nnnn is 4 digits code you received in the printed timetable you (should have) received, used to access the BIU information kiosks, e.g Example password is ac1234 Problems/not registered:
Introduction1-6 LectureK&R Chapter Topic 1,21Introduction 3,42Application layer protocols 5-73Transport layer, reliability, congestion 7,84Network (internet) layer 9,105Data-Link layer 11,127, but use notes Network Security 13 Overview Schedule
Introduction1-7 Chapter 1: Introduction (this and next lecture) Our goal: get context, overview, “feel” of networking more depth, detail later in course approach: m descriptive m use Internet as example Overview: what’s the Internet what’s a protocol? network edge network core access net, physical media Internet/ISP structure performance: loss, delay protocol layers, service models history
Introduction1-8 What’s the Internet: “nuts and bolts” view millions of connected computing devices: hosts, end-systems m PCs workstations, servers m PDAs phones, toasters running network apps communication links m fiber, copper, radio, satellite m transmission rate = bandwidth router/switch: forward packets (chunks of data) local ISP company network regional ISP router/switch workstation server mobile
Introduction1-9 What’s the Internet: “nuts and bolts” view Internet: specific standard technologies: m TCP, UDP, IP – and others… m Allowing interoperability m RFC: Request for comments m IETF: Internet Engineering Task Force An internet: “network of networks” m loosely hierarchical m public Internet versus private intranet local ISP company network regional ISP router/switch workstation server mobile
Introduction1-10 Computer Communication Network Connection btw computers Each pair can communicate (using `physical` network addresses) Different implementations Most ensure reliable communication
Introduction1-11 Network Types Each pair can communicate (using network addresses)
Introduction1-12 An internet: Connection of Networks (Using TCP/IP; `Internet` is the `big, public` internet.) Each pair can communicate (using Internet Protocol addresses (IP addresses))
Introduction1-13 What’s the Internet: a service view communication infrastructure enables distributed applications: m Web, , games, e- commerce, database., voting, file (MP3) sharing Communication transport services provided to apps: m connectionless m connection-oriented Use protocols to control send, receive messages m e.g., TCP, IP, HTTP, FTP, POP3, SMTP
Introduction1-14 What’s a protocol? human protocols: “what’s the time?” “I have a question” introductions … specific msgs sent … specific actions taken when msgs received, or other events network protocols: machines rather than humans all communication activity in Internet governed by protocols protocols define format, order of msgs sent and received among network entities, and actions taken on msg transmission, receipt
Introduction1-15 What’s a protocol? a human protocol and a computer network protocol: Q: Other human protocols? Hi Got the time? 2:00 TCP connection req TCP connection response Get time Q: What is this protocol?
Introduction1-16 A closer look at network structure: network edge: applications and hosts network core: m routers/switches m network of networks
Introduction1-17 Chapter 1: roadmap 1.1 What is the Internet? 1.3 Network core 1.2 Network edge 1.4 Network access and physical media 1.5 Internet structure and ISPs 1.6 Delay & loss in packet-switched networks 1.7 Protocol layers, service models 1.8 History
Introduction1-18 The Network Core mesh of interconnected routers and switches Hi speed, minimize work Routing: how is data transferred through net? m circuit switching: dedicated circuit per call: telephone net m packet-switching: data sent thru net in discrete “chunks”
Introduction1-19 Network Core: Circuit Switching End-end resources reserved for “call” link bandwidth, switch capacity dedicated resources: no sharing circuit-like (guaranteed) performance call setup required Example: phone network
Introduction1-20 Network Core: Circuit Switching network resources (e.g., bandwidth) divided into “pieces” pieces allocated to calls resource piece idle if not used by owning call (no sharing) dividing link bandwidth into “pieces” Division for Multiple Access: m Frequency division (FDMA) m Time division (TDMA) m Code division (CDMA) – much later
Introduction1-21 Circuit Switching: TDMA and FDMA FDMA frequency time TDMA frequency time 4 users Example:
Introduction1-22 Network Core: Packet Switching each end-end data stream divided into packets user A, B packets share network resources each packet uses full link bandwidth resources used as needed resource contention: aggregate resource demand can exceed amount available congestion: packets queue, wait for link use store and forward: packets move one hop at a time m transmit over link m wait turn at next link Bandwidth division into “pieces” Dedicated allocation Resource reservation
Introduction1-23 Packet Switching: Statistical Multiplexing Sequence of A & B packets does not have fixed pattern statistical multiplexing. In TDM each host gets same slot in revolving TDM frame. A B C 10 Mbs Ethernet 1.5 Mbs D E statistical multiplexing queue of packets waiting for output link
Introduction1-24 Packet switching versus circuit switching 1 Mbit link each user: m 100 kbps when “active” m active 10% of time circuit-switching: m 10 users packet switching: m with 35 users, probability > 10 active less than.0004 Packet switching allows more users to use network! N users 1 Mbps link
Introduction1-25 Packet switching versus circuit switching Great for bursty data m resource sharing m simpler, no call setup Excessive congestion: packet delay and loss m protocols needed for reliable data transfer, congestion control Q: How to guarantee bandwidth and Quality Of Service (QOS)? (easy with circuit switching!) m Needed for audio/video apps m Still an unsolved problem (chapter 6) Is packet switching always better?
Introduction1-26 Packet-switching: store-and-forward Takes L/R seconds to transmit (push out) packet of L bits on to link of R bps Entire packet must arrive at router before it can be transmitted on next link: store and forward End to end delay = (#hops)*L/R Example: L = 7.5 Mbits R = 1.5 Mbps One link (hop): L/R=5sec End to end delay = 3*L/R=15 sec R R R L
Introduction1-27 Packet Switching: Message Segmenting and Pipelining Now break up the message into 5000 packets Each packet 1,500 bits 1 msec to transmit packet on one link pipelining: each link works in parallel 5 sec for each link E2E Delay= *2 Delay reduced from 15 sec to sec
Introduction1-28 Packet-switched networks: routing Goal: move packets through routers from source to destination (using which path?) m we’ll study several path selection (i.e. routing) algorithms (chapter 4) datagram network/routing: m destination address in packet determines next hop m routes may change during session m analogy: driving, asking directions virtual circuit network/routing: m each packet carries tag (virtual circuit ID), tag determines next hop m fixed path determined at call setup time, remains fixed thru call m routers maintain per-call state
Introduction1-29 Chapter 1: roadmap 1.1 What is the Internet? 1.3 Network core 1.2 Network edge 1.4 Network access and physical media 1.5 Internet structure and ISPs 1.6 Delay & loss in packet-switched networks 1.7 Protocol layers, service models 1.8 History
Introduction1-30 The network edge: end systems (hosts): m Provide transport services m To application programs e.g. Web, m Idea: Do most work at edge client/server model m client host requests, receives service from always-on server m e.g. Web browser/server; client/server peer-peer model: m Both sides `equal` m E.g. `ad-hoc network` between palmtop personal devices
Introduction1-31 connection-oriented transport service Goal: reliable data transfer between end systems handshaking: setup (prepare for) data transfer ahead of time m Hello, hello back human protocol m set up “state” in two communicating hosts TCP - Transmission Control Protocol m Internet’s connection- oriented service TCP service [RFC 793] reliable, in-order byte- stream data transfer m loss: acknowledgements and retransmissions flow control: m sender won’t overwhelm receiver congestion control: m senders “slow down sending rate” when network congested m Prevents increased congestion m Improves performance to all (if all use it and delay, loss are mainly due to congestion)
Introduction1-32 connectionless transport service Goal: data transfer between end systems m same as before! UDP - User Datagram Protocol [RFC 768]: Internet’s connectionless service m unreliable data transfer Don’t resend (phone,…) m no flow control m no congestion control TCP congestion control harmful if delay, loss NOT due to congestion! m Simple, small App’s using TCP: HTTP (Web), FTP (file transfer), Telnet (remote login), SMTP ( ) App’s using UDP: streaming media, teleconferencing, DNS, Internet telephony Other transport services
Introduction1-33 Network Taxonomy Telecommunication networks Circuit-switched networks FDM TDM Packet-switched networks Networks with VCs Datagram Networks Internet is Packet-switched, Datagram network Transport services (on end-systems): connection-oriented (TCP) connectionless (UDP) Recently: others (DCCP, SCP) Packet-switched networks Networks with VCs Datagram Networks TCP Connection Service UDP Connection-less Service
Introduction1-34 Lecture 1: Main concepts Network, internet, Internet, intranet What’s a protocol? Network edge, core Network transport services m Connectionless (UDP) and connection (TCP) m Client/server vs. Peer to Peer Routing and switching m Router: connects two different networks in internet m Packet-switching versus circuit-switching (FDM,TDM) m Packet-switching: Datagram vs. virtual circuit (VC) Packet segmentation and pipelining Use book and course site (in Hi-Learn system)
Introduction1-35 Chapter 1: roadmap 1.1 What is the Internet? 1.2 Network edge 1.3 Network core 1.4 Network access and physical media 1.5 Internet structure and ISPs 1.6 Delay & loss in packet-switched networks 1.7 Protocol layers, service models 1.8 History
Introduction1-36 Internet History 1961: Kleinrock - queueing theory shows effectiveness of packet- switching 1964: Baran - packet- switching in military nets 1967: ARPAnet conceived by Advanced Research Projects Agency 1969: first ARPAnet node operational 1972: m ARPAnet demonstrated publicly m NCP (Network Control Protocol) first host- host protocol m first program m ARPAnet has 15 nodes : Early packet-switching principles
Introduction1-37 Internet History 1970: ALOHAnet satellite network in Hawaii 1973: Metcalfe’s PhD thesis proposes Ethernet 1974: Cerf and Kahn - architecture for interconnecting networks late70’s: proprietary architectures: DECnet, SNA, XNA late 70’s: switching fixed length packets (ATM precursor) 1979: ARPAnet has 200 nodes Cerf and Kahn’s internetworking principles: m minimalism, autonomy - no internal changes required to interconnect networks m best effort service model m stateless routers m decentralized control define today’s Internet architecture : Internetworking, new and proprietary nets
Introduction1-38 Internet History 1983: deployment of TCP/IP 1982: SMTP protocol defined 1983: DNS defined for name-to-IP- address translation 1985: FTP protocol defined 1988: TCP congestion control new national networks: Csnet, BITnet, NSFnet, Minitel 100,000 hosts connected to confederation of networks : new protocols, a proliferation of networks
Introduction1-39 Internet History Early 1990’s: ARPAnet decommissioned 1991: NSF lifts restrictions on commercial use of NSFnet (decommissioned, 1995) early 1990s: Web m hypertext [Bush 1945, Nelson 1960’s] m HTML, HTTP: Berners-Lee m 1994: Mosaic, later Netscape m late 1990’s: commercialization of the Web Late 1990’s – 2000’s: more killer apps: instant messaging, peer2peer file sharing (e.g., Naptser) network security to forefront est. 50 million host, 100 million+ users backbone links running at Gbps 1990, 2000’s: commercialization, the Web, new apps