Introduction • Computer networks: – definition – computer networks from the perspectives of users and designers – Evaluation criteria – Some concepts: – packet switching & circuit switching – point-to-point networks & broadcast networks – multiplexing – performance metrics: delay & throughput – LAN & WAN • Definition : – Something that interconnects computers, allowing computers to exchange digital information (bits). – Hardware or software? • What do computer networks offer? – – – – Information collection / distribution access to shared computing resources provide high reliability …... • Computer Networks from the perspectives of network users/programmers and network designers: • Perspective from a user: – What do you care? • What services? Email, FTP, reliable communication, unreliable. • Service quality: How fast? • Service cost • Service interface: send_packet, receive_packet • Perspective from a designer: – What do you care? • How to make users happy? • How to achieve that at the lowest price? (how to provide the services effectively.) – Design issues – Design alternatives – Considerations in deciding which alternative is better? – Example: How to interconnect the machines in a network? • Pairwise interconnection (complete graph) • point-to-point networks. – No direct connections between all pairs of nodes. Messages must pass a number of intermediate nodes to reach the destination. E.g. Tree, Mesh. – point-to-point networks. • No direct connections between all pairs of nodes. Messages must pass a number of intermediate nodes to reach their destinations. E.g. Tree, Mesh. • How to do this? – Packet switching and circuit switching – Packet switching: » Messages are cut into packets » When an intermediate node receives a packet, it determines the next node and forward the packet (store-and-forward networks). – Circuit switching networks: » set up a circuit before transmission » all data from one session (connection) follow the same circuit. – Broadcast networks. • Each node can send messages to all nodes in the system. E.g. bus connection. • Contention problem: two nodes may want to send messages simultaneously. • Resolve the contention: multiplexing. – Time division multiplexing: divide time domain into time slots, different nodes use different time slots to transfer. – Design choice # 1: static assignment » A uses slot 1, B uses slot 2, … – Design choice # 2: dynamic assignment » dynamically allocate slots to communication channels. » Need a mechanism to allocate channels, both ends must agree a slot for communication – How to evaluate these design choices? – Evaluation criteria • Application requirements: – functionality: Can I do it? – performance: How fast I can send data? • Cost constraints: the cost of the network has to be within certain budget. – Application performance requirements: • delay: time from the data are transmitted to the time the data are received. – Propagation delay + queueing delay + transmission delay – propagation delay = distance / signal propagation speed speed of light (in vacuum): 3.0*10^8 m/s = 300km/ms propagation delay across continental USA (NY to LA): 3000 miles = 4800km, delay = ??? Geosynchronous Satellite: 36000km, delay = ? – Application performance requirements: • delay: time from the data are transmitted to the time the data are received. – – – – Propagation delay + queueing delay + transmission delay propagation delay = distance / signal propagation speed queueing delay: depend on the network load transmission delay: how fast can you put bits on the wire? » E.g. Ethernet 10Mb/s (bandwidth) » 500KB message, transmission delay = ? • Throughput: amount of data transmitted / time • High throughput = low delay? – E.g: transfer 10Kb data using 10Mb/s link, delay = ? – Using 1Gb/s link, delay = ? – Conclusion? – Applying the criteria, some case studies: – Case 1: topology choices for local area network(LAN) and wide area network (WAN). • LAN: computer networks that cover a small area (a single building up to a few kilometers) with a small number of computers. – Topology choices: all directly connected, point to point and broadcast? • WAN: computer networks that cover a large area (continent) with a lot of computers. – Topology choices: all directly connected, point to point and broadcast? – Case 2: the switching technique for telephone networks and computer networks application tele. Interactive voice computer rlogin traffic throughput continuous smooth 64kbps bursty varied delay <200ms web ftp telephone networks: circuit switching or packet switching? Circuit switching + TDM Computer networks: circuit switching + TDM? Integrated Service Digital Network (ISDN): supporting both telephone traffic and computer traffic. ATM. varied – Case 3: Network for Military use • military concerns: survivability – I still need to hear your voice even when most of the network components were gone. – Idea: each packet can find its way through the network, end system recover from the lost packets (due to the damaged links or congestion). • How ARPANET works: – End system chops messages into packets, each packet has a header with destination address. – Each packet finds its way to the destination independently. – End system put together the message. • Why not circuit switching + TDM?