Presentation is loading. Please wait.

Presentation is loading. Please wait.

Text has no relevant information

Similar presentations


Presentation on theme: "Text has no relevant information"— Presentation transcript:

1 Text has no relevant information
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 Unit 19

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 The question we want to raise at this point is what happens when we send our packet is there anything else we need to know about that might be of interest to a programmer? Unit 19

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? Are there other issues that might be of interest to us and help us write more robust programs? What we really need to talk about is would knowledge about any of these things change the way we design a program Unit 19

5 How can computers be connected?
Ask the students for ideas on how networks are connected in particular go looking for technologies - should get back various comments about wired and hopefully wireless networks the Unit 19

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 g to the laptop Unit 19

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 Unit 19

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 Unit 19

9 Metropolitan Area Networks[Tan02]
Unit 19

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

11 Satellite Links Unit 19

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. Unit 19

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 Public transit vs cars Latecy is the same but the BW is difference Unit 19

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 ) Unit 19

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 Remind about the Socket interface so we know how to do the connection so this is the other type of work that needs to be done Explain what is mean by reliable and streamed Unit 19

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 Talk about postcards as being like packets and what happens if you drop them into the mailbox – they don’t come out in that order at the destination Unit 19

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) Not sure if this is an important slide or not, it is a bit of an aside and the important point to get across is that everyone has to agree on what the rules are for things to work Unit 19

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 Unit 19

19 Layering Yet Again! Application Application Transport Unix I/O Network
Application programs Operating system Hardware General Layering Structure File System Link Disk Drive Draw lines from the operating system part of things to indicate that the Unix/IO model and transport and network part of things are all part of the OS On the network side of things talk about all the things that we learned at each part Network Layering File System Layering Unit 19

20 Ethernet, token ring, wireless
Protocol Layers Application Application Transport Network Link telnet, FTP, SMTP, HTTP TCP, UDP IP Ethernet, token ring, wireless Transport Network Link Draw a physical layer on the bottom to indicate that there is some form of actual signaling going on Unit 19

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 Unit 19

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 Unit 19

23 Protocol headers Application Application data Transport TCP Header
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 Unit 19

24 Protocol headers: Going Down
Application A. Data Transport TCP Header A. Data Network IP Header TCP Header A. Data Link It should be possible to animate this slide so that we can actually see it move through the layers. Idea would be to put the moving stuff on the top and have a transparent version below so that we can see what was done at the previous layers Ethernet Header IP Header TCP Header A. Data Unit 19

25 Protocol headers: Coming up
Application Transport Network Link It should be possible to animate this slide so that we can actually see it move through the layers. Idea would be to put the moving stuff on the top and have a transparent version below so that we can see what was done at the previous layers Ethernet Header IP Header TCP Header A. Data Unit 19

26 Header Contents TCP IP Ethernet Source Port Destination Port
Sequence Number ACK Number Additional Fields Control Fields (Includes transport protocol type) Source IP Address Destination IP Address Options Dest Ethernet Addr Source. Ethernet Addr Type/Size TCP Port can be the application port or the running program’s port. Unit 19

27 Routing example Source Destination Application data TCP Header
Transport Network Link Application Transport Network Link Network Link Draw out each part of the movement through the stack Application data TCP Header IP Header 802.11G Header Ethernet Header Unit 19

28 Routing Unit 19

29 Protocol Processing AP1 Application Protocol 1 AP2 Application
TCP UDP IP Relate this back to the socket API and how the calls tell these layers what to do. In particular point out how bind is needed in this situation so that the application can inform the system of where it should be accepting packets. Ethernet Wireless Unit 19

30 TCP Acknowledgement Normal Operation, no loss
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 recv ACK2 ACK2 Unit 19

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

32 Extending Device I/O Layering makes it “easy” to Example:
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 Unit 19

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

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


Download ppt "Text has no relevant information"

Similar presentations


Ads by Google