Data Networks Lecture 1 Introduction Eytan Modiano Eytan Modiano Slide 1 6.263: Data Networks ? Fundamental aspects of network Design and Analysis: – Architecture Layering Topology design – Protocols Pt.-to-Pt. Multiple access End-to-end – Algorithms Error recovery Routing Flow Control – Analysis tools Probabilistic modeling Queueing Theory Eytan Modiano Slide 2 Course Information ? Lecturer: Professor Eytan Modiano ? Requirements & Grading – About one problem set per week (10% of grade) – Project (5% of grade) – Midterm exam (35 %) – Final Exam during finals week (50%) ? Prerequisite Policy: 6.041, or an equivalent class in probability ? Textbook: Bertsekas & Gallager, Data Networks (2nd Edition) Eytan Modiano Slide 3 Tentative syllabus LEC # TOPICS 1 Introduction, OSI 7-layer architecture 2 Data Link Layers, Framing, error detection 3 Retransmission Algorithms 4 Retransmission Algorithms 5 Queueing Models - Introduction & Little's theorem 6 M/M/1, M/M/m, queues etc. 7 Networks of queues 8 M/G/1 queues, M/G/1 w/ vacations 9 M/G/1 queues and reservations, priority queues 10 Stability of queueing systems 11 M/G/1 queue occupancy distribution 12 Quiz Eytan Modiano Slide 4 Tentative syllabus, continued LEC # TOPICS 13 Multiple access & Aloha 14 Stabilized Aloha, Tree Algorithms 15 CSMA, CSMA/CD and Ethernet 16 High-speed LANs, Token rings, Satellite reservations 17 Introduction to switch architecture 18 High Speed Switch Scheduling 19 Broadcast routing & Spanning trees 20 Shortest path routing 21 Distributed routing algorithms, optimal routing 22 Flow Control - Window/Credit Schemes 23 Flow Control - Rate Based Schemes 24 Transport layer and TCP/IP 25 ATM Networks 26 Special topic: Optical Networks, Wireless networks Final Exam during final exam week. Date and time to be announced. Eytan Modiano Slide 5 Network Applications ? Resource sharing – Computing – Mainframe computer (old days) Today, computers cheaper than comm (except LANS) Printers, peripherals – Information DB access and updates E.g., Financial, Airline reservations, etc. ? Services – Email, FTP, Telnet, Web access – Video conferencing – DB access – Client/server applications Eytan Modiano Slide 6 Network coverage areas ? Wide Area Networks (WANS) – Span large areas (countries, continents, world) – Use leased phone lines (expensive!) 1980’s: 10 Kbps, 2000’s: 2.5 Gbps User access rates: 56Kbps – 155 Mbps typical – Shared comm links: switches and routers E.g, IBM SNA, X.25 networks, Internet ? Local Area Networks (LANS) – Span office or building – Single hop (shared channel) (cheap!) – User rates: 10 Mbps – 1 Gbps E.g., Ethernet, Token rings, Apple-talk ? Metro Area networks (MANS) ? Storage area networks Eytan Modiano Slide 7 Network services ? Synchronous – Session appears as a continuous stream of traffic (e.g, voice) – Usually requires fixed and limited delays ? Asynchronous – Session appears as a sequence of messages – Typically bursty – E.g., Interactive sessions, file transfers, email ? Connection oriented services – Long sustained session – Orderly and timely delivery of packets – E.g., Telnet, FTP ? Connectionless services – One time transaction (e.g., email) ? QoS Eytan Modiano Slide 8 Switching Techniques ? Circuit Switching – Dedicated resources ? Packet Switching – Shared resources – Virtual Circuits – Datagrams Eytan Modiano Slide 9 Circuit Switching ? Each session is allocated a fixed fraction of the capacity on each link along its path – Dedicated resources – Fixed path – If capacity is used, calls are blocked E.g., telephone network ? Advantages of circuit switching – Fixed delays – Guaranteed continuous delivery ? Disadvantages – Circuits are not used when session is idle – Inefficient for bursty traffic – Circuit switching usually done using a fixed rate stream (e.g., 64 Kbps) Difficult to support variable data rates Eytan Modiano Slide 10 Problems with circuit switching ? Many data sessions are low duty factor (bursty), (message transmission time)/(message interarrival time) << 1 Same as: (message arrival rate) * (message transmission time) << 1 ? The rate allocated to the session must be large enough to meet the delay requirement. This allocated capacity is idle when the session has nothing to send ? If communication is expensive, then circuit switching is uneconomic to meet the delay requirements of bursty traffic ? Also, circuit switching requires a call set-up during which resources are not utilized. If messages are much shorter than the call set-up time then circuit switching is not economical (or even practical) – More of a problem in high-speed networks Eytan Modiano Slide 11 Circuit Switching Example L = message lengths λ = arrival rate of messages R = channel rate in bits per second X = message transmission delay = L/R – R must be large enough to keep X small – Bursty traffic => λx << 1 => low utilization ? Example – L = 1000 bytes (8000 bits) – λ = 1 message per second – X < 0.1 seconds (delay requirement) – => R > 8000/0.1 = 80,000 bps Utilization = 8000/80000 = 10% ? With packet switching channel can be shared among many sessions to achieve higher utilization Eytan Modiano Slide 12 Packet Switched Networks Packet Network PS PS PS PS PS PS PS Buffer Packet Switch Messages broken into Packets that are routed To their destination Eytan Modiano Slide 13 Eytan Modiano Slide 14 Packet Switching ? Datagram packet switching – Route chosen on packet-by-packet basis – Different packets may follow different routes – Packets may arrive out of order at the destination – E.g., IP (The Internet Protocol) ? Virtual Circuit packet switching – All packets associated with a session follow the same path – Route is chosen at start of session – Packets are labeled with a VC# designating the route – The VC number must be unique on a given link but can change from link to link Imagine having to set up connections between 1000 nodes in a mesh Unique VC numbers imply 1 Million VC numbers that must be represented and stored at each node – E.g., ATM (Asynchronous transfer mode) Eytan Modiano Slide 15 Virtual Circuits Packet Switching ? For datagrams, addressing information must uniquely distinguish each network node and session – Need unique source and destination addresses ? For virtual circuits, only the virtual circuits on a link need be distinguished by addressing – Global address needed to set-up virtual circuit – Once established, local virtual circuit numbers can then be used to represent the virtual circuits on a given link: VC number changes from link to link ? Merits of virtual circuits – Save on route computation Need only be done once at start of session – Save on header size – Facilitate QoS provisioning – More complex – Less flexible 3 6 5 8 2 9 Node 5 table (3,5) VC13 -> (5,8) VC3 (3,5) VC7 -> (5,8) VC4 (6,5) VC3 -> (5,8) VC7 VC3 VC13 VC7 VC4 VC3 VC7 Eytan Modiano Slide 16 Circuit vs packet switching ? Advantages of packet switching – Efficient for bursty data – Easy to provide bandwidth on demand with variable rates ? Disadvantages of packet switching – Variable delays – Difficult to provide QoS assurances (Best-effort service) – Packets can arrive out-of-order Switching Technique Network service Circuit switching => Synchronous (e.g., voice) Packet switching => Asynchronous (e.g., Data) Virtual circuits => Connection oriented Datagram => Connectionless Eytan Modiano Slide 17 Circuit vs Packet Switching ? Can circuit switched network be used to support data traffic? ? Can packet switched network be used for connection oriented traffic (e.g., voice)? ? Need for Quality of service (QoS) mechanisms in packet networks – Guaranteed bandwidth – Guaranteed delays – Guaranteed delay variations – Packet loss rate – Etc... Eytan Modiano Slide 18 7 Layer OSI Reference Model Virtual link for reliable packets Application Presentation Session Transport Network Data link Control Application Presentation Session Transport Network Data link Control Network Network DLC DLC DLC DLC Physical link Virtual bit pipe Virtual link for end to end packets Virtual link for end to end messages Virtual session Virtual network service External Site subnet node subnet node External site physical interface phys. int. phys. int. phys. int. phys. int. physical interface Eytan Modiano Slide 19 Layers ? Presentation layer – Provides character code conversion, data encryption, data compression, etc. ? Session layer – Obtains virtual end to end message service from transport layer – Provides directory assistance, access rights, billing functions, etc. ? Standardization has not proceeded well here, since transport to application are all in the operating system and don't really need standard interfaces ? Focus: Transport layer and lower Eytan Modiano Slide 20 Transport Layer ? The network layer provides a virtual end to end packet pipe to the transport layer. ? The transport layer provides a virtual end to end message service to the higher layers. ? The functions of the transport layer are: 1) Break messages into packets and reassemble packets of size suitable to network layer 2) Multiplex sessions with same source/destination nodes 3) Resequence packets at destination 4) recover from residual errors and failures 5) Provide end-to-end flow control Eytan Modiano Slide 21 Network layer ? The network layer module accepts incoming packets from the transport layer and transit packets from the DLC layer ? It routes each packet to the proper outgoing DLC or (at the destination) to the transport layer ? Typically, the network layer adds its own header to the packets received from the transport layer. This header provides the information needed for routing (e.g., destination address) DLC layer link 1 DLC layer link 2 DLC layer link 3 Network layer Transport layer Each node contains one network Layer module plus one Link layer module per link Eytan Modiano Slide 22 Link Layer ? Responsible for error-free transmission of packets across a single link – Framing Determine the start and end of packets – Error detection Determine which packets contain transmission errors – Error correction Retransmission schemes (Automatic Repeat Request (ARQ)) Eytan Modiano Slide 23 Physical Layer ? Responsible for transmission of bits over a link ? Propagation delays – Time it takes the signal to travel from the source to the destination Signal travel approximately at the speed of light, C = 3x10 8 meters/second – E.g., LEO satellite: d = 1000 km => 3.3 ms prop. delay GEO satellite: d = 40,000 km => 1/8 sec prop. delay Ethernet cable: d = 1 km => 3 μs prop. delay ? Transmission errors – Signals experience power loss due to attenuation – Transmission is impaired by noise – Simple channel model: Binary Symmetric Channel P = bit error probability Independent from bit to bit – In reality channel errors are often bursty 0 1 0 1 1-P 1-P PP Eytan Modiano Slide 24 Internet Sub-layer ? A sublayer between the transport and network layers is required when various incompatible networks are joined together ? This sublayer is used at gateways between the different networks ? It looks like a transport layer to the networks being joined ? It is responsible for routing and flow control between networks, so looks like a network layer to the end-to-end transport layer ? In the internet this function is accomplished using the Internet Protocol (IP) – Often IP is also used as the network layer protocol, hence only one protocol is needed Eytan Modiano Slide 25 Internetworking with TCP/IP FTP client FTP server FTP Protocol TCP TCP Protocol IP IP Protocol IP Protocol Ethernet Ethernet Protocol token ring driver token ring Protocol Ethernet driver TCP IP ROUTER IP Ethernet driver token ring driver token ring Eytan Modiano Slide 26 Encapsulation Ethernet Ethernet Application user data Appl user data header TCP header application data header IP TCP header application data IP datagram TCP header application data header IP Ethernet header Ethernet trailer Ethernet frame 46 to 1500 bytes 14 420 20 driver IP TCP TCP segment