1 / 34

Computer Networks

Computer Networks. Text has no relevant information. Learning Outcomes. Be able to explain the differences between different types of computer networks Be able to identify differences in connection based and connectionless communication protocols

kellan
Download Presentation

Computer Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Networks Text has no relevant information

  2. Learning Outcomes • Be able to explain the differences between different types of computer networks • Be able to identify differences in connection based and connectionless communication protocols • Be able to explain the way data are exchanged between two machines in term of the standard protocols and their data headers

  3. What do we know about Networking? • So far we have • looked at the socket API • discussed the basic actions that applications have to perform to communicate • been aware of threads and how to use them • seen how to use semaphores to deal with problems that require the application to process more than one thing at a time

  4. Is this enough? • What happens when we send our data from one machine to another? • With respect to network programming: • Is it certain that the data will always arrive? • Should we care how long it might take for data to arrive? • Should we care about the data arrival rate? • etc. • Would knowledge about any of these things change the way we design a program?

  5. How can computers be connected?

  6. Communication paths • When data is exchanged between computers it may traverse many different network types and travel at different speeds • 100 Mb/s - local Ethernet (copper wire) • 1 Gb/s - local backbone (fiber) • 155 Mbs/s - OC3 leased line • 10 Gb/s – OC192 backbone • 11 Mb/s - 802.11g to the laptop

  7. What’s a Network? • A network is a Collection of interconnected computers. • Depending on the number of computers and the distance between them we can form: • Local Area Networks (LAN) • cover small local area, like a home, office, or campus • are fast • can be wireless • Metropolitan Area Networks (MAN) • usually spanning a campus or a city • typically use wireless structure or optical fiber connections to link their sites. • Wide Area Networks (WAN) • cover a wide area, involve a large number of computers • usually connect LAN’s and MAN’s • Internet is a WAN

  8. Local Area Networks or • Bus: Computers are connected to a central cable (bus). Also called Ethernet. • Ring:Computers are connected into a loop. • Star:Computers are connected to a hub or a switch • most popular nowadays • Network Hub: • has ports where computers are attached • repeats the signal received at one port out each of the other ports • Network Switch: • Like a hub, but it only sends the signal to one other port

  9. Metropolitan Area Networks[Tan02]

  10. Wide Area Networks [Tan02] • Notes in the subnet are usually routers. • A router acts as a junction between two or more networks to transfer data among them. Backbone

  11. Satellite Links

  12. Architecture of the Internet [Tan02] • Network Access Point: huge interconnection points • Points Of Presence: connects clients to an ISP • To connect a computer to Internet, we connect it to an ISP computer via a modem.

  13. Distinguishing Network Characteristics • Latency - how long it takes data to get from one location to the next • Bandwidth – the amount of data that can be moved in a given unit of time • Jitter – the variability in latency • Error rate – how frequently data becomes corrupted during transmission

  14. Data transmission • Signal transmission over cables, fiber optics, or other media generates errors; Sender may have to re-send a message many times • For efficiency, messages are divided into fix-size packets before they sent • Two ways to send the packets: • Using Connectionless Service (or Datagram) • Using Connection-Oriented Service (or virtual circuit )

  15. Connection Based Service(TCP/IP) • Sending and receiving hosts establish a connection • Sender • Splits sequence of outgoing bytes into packets • Remembers sent packets in case they are lost and need to be resent • Receiver • Receives packets • Reassembles packets into a sequence of bytes • If packets don’t arrive in a given time requests the sender to retransmit them • Produces a reliable streamed delivery of data • The most common protocol supported by most OS’s is TCP/IP • TCP – Transmission Control Protocol • IP – Internet Protocol

  16. Datagram (UDP) • Not streamed – data arrives in the “chunks” that the sender sent, called datagrams • Datagrams have a maximum size • Datagrams are individually addressed • Datagrams may be lost • Datagrams may arrive out of order • No connection setup • No connection state • The most common protocol supported by most OS’s is • UDP – User Datagram Protocol

  17. Protocol • A formally agreed upon convention for performing or engaging in some sort of activity • A data communication protocol is an example of a protocol to exchange data between machines • A connection protocol describes how two machines establish a connection. (Usually a subset of a data communication protocol)

  18. Introducing Protocol Layers • Communication protocols are usually designed as a stack of layers • Similar idea to virtual machine • Add layers to perform various functions • Lowest layer deals with hardware • Next layer deals with moving data to the destination machine • Next layer handles correcting errors and lost data (if appropriate) and getting data to application • Last layer is the application

  19. Layering Yet Again! Application programs Operating system Hardware General Layering Structure Application Application Transport Unix I/O Network File System Link Disk Drive File System Layering Network Layering

  20. Application telnet, FTP, SMTP, HTTP Transport TCP, UDP Network IP Link Ethernet, token ring, wireless Protocol Layers Application Transport Network Link

  21. Layers of Functionality • Each layer hides the details from the layer above and uses the services of the layer below • A layer in a node A interacts with the same layer in another node B (using the layers below it ) Specifically: • Link – moves the data between directly connected nodes on the path to the destination • Network – used to route the data between the source/destination end points • Transport – application to application delivery • Application – application level interchanges

  22. Encapsulation • To achieve the desired functionality each layer adds “headers” to the data it receives • Headers are meant for the corresponding layer at the destination • Headers are removed at the destination layer

  23. Protocol headers Application A. Data Application data A. Data Transport TCP Header A. Data TCP Header A. Data Network IP Header TCP Header A. Data Link Ethernet Header IP Header TCP Header A. Data

  24. Protocol headers: Going Down Application A. Data Transport TCP Header A. Data Network IP Header TCP Header A. Data Link Ethernet Header IP Header TCP Header A. Data

  25. Protocol headers: Coming up Application Transport Network Link Ethernet Header IP Header TCP Header A. Data

  26. Source Port Destination Port Sequence Number Control Fields (Includes transport protocol type) Source. Ethernet Addr Type/Size Destination IP Address Options Dest Ethernet Addr Source IP Address ACK Number Additional Fields Header Contents TCP IP Ethernet

  27. Application Application Transport Transport Network Network Network Link Link Link Link Routing example Source Destination Application data TCP Header IP Header Ethernet Header 802.11G Header

  28. Routing

  29. AP1 AP2 AP3 Application Protocol 1 Application Protocol 2 Application Protocol 3 Protocol Processing TCP UDP IP Ethernet Wireless

  30. Send pkt0 pkt0 recv pkt0 Send ACK0 ACK0 recv ACK0 Send pkt1 pkt1 recv pkt1 Send ACK1 ACK1 recv ACK1 Send pkt2 pkt2 recv pkt2 Send ACK2 ACK2 recv ACK2 TCP Acknowledgement Normal Operation, no loss

  31. Send pkt0 pkt0 recv pkt0 Send ACK0 ACK0 recv ACK0 Send pkt1 pkt1 X Timeout loss Send pkt1 pkt1 recv pkt1 Send ACK1 ACK1 recv ACK0 pkt2 TCP Acknowledgement Lost Packet

  32. Extending Device I/O • Layering makes it “easy” to • incorporate networking in the OS • extend I/O to devices that are connected to computer through a network • Example: • Network File Systems (NFS) • Just insert the new service at the appropriate layer

  33. Application UNIX I/O Inserting New Functionality File System UNIX FFS Logging FS NFSClient Other Devices Virtual Disk Interface Virtual Disk Interface Network Protocol Stack SCSI IDE

  34. GCC GCC Mozilla Firefox emacs emacs STDIO STDIO Transport IP Protocol Stack UNIX I/O UNIX I/O Link FFS FFS LFS LFS Protocol Stack Virtual Disk interface Virtual Disk interface IDE IDE SCSI SCSI Other devices Other devices Virtual Machine Monitor Virtual Machine Monitor Display Display Network card Network card Disks Disks CPU CPU Motherboard Motherboard etc etc From the beginning to the end Application programs Operating system Hardware

More Related