Presentation is loading. Please wait.

Presentation is loading. Please wait.

© Original by Donald Acton; Changes by George Tsiknis Computer Networks Text has no relevant information.

Similar presentations


Presentation on theme: "© Original by Donald Acton; Changes by George Tsiknis Computer Networks Text has no relevant information."— Presentation transcript:

1 © Original by Donald Acton; Changes by George Tsiknis Computer Networks Text has no relevant information

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

4 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?

5 Unit 19 5 How can computers be connected?

6 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 - 802.11g to the laptop

7 Unit 19 7 Whats 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 LANs and MANs Internet is a WAN

8 Unit 19 8 Local Area Networks 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 or

9 Unit 19 9 Metropolitan Area Networks[Tan02]

10 Unit 19 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 Unit 19 11 Satellite Links

12 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.

13 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

14 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 )

15 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 dont 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 OSs is TCP/IP TCP – Transmission Control Protocol IP – Internet Protocol

16 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 OSs is UDP – User Datagram Protocol

17 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)

18 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

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

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

21 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

22 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

23 Unit 19 23 Protocol headers Application Transport Network Link Application data TCP Header A. DataTCP HeaderIP Header A. DataTCP HeaderIP HeaderEthernet Header A. Data TCP Header A. Data

24 Unit 19 24 Protocol headers: Going Down Application Transport Network Link A. Data TCP Header A. DataTCP HeaderIP Header A. Data TCP HeaderIP HeaderEthernet Header

25 Unit 19 25 Protocol headers: Coming up Application Transport Network Link A. DataTCP HeaderIP HeaderEthernet Header

26 Unit 19 26 Header Contents Source Port Destination Port Sequence Number ACK Number Additional Fields Control Fields (Includes transport protocol type) Source IP Address Destination IP AddressOptions Dest Ethernet Addr Source. Ethernet AddrType/Size TCPIPEthernet

27 Unit 19 27 Routing example Application Transport Network Link Network Link Application Transport Network Link SourceDestination Application dataTCP HeaderIP HeaderEthernet Header802.11G Header

28 Unit 19 28 Routing

29 Unit 19 29 Protocol Processing TCPUDP IP EthernetWireless AP1 Application Protocol 1 AP2 Application Protocol 2 AP3 Application Protocol 3

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

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

32 Unit 19 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 Unit 19 33 File System Inserting New Functionality SCSIIDE Virtual Disk Interface UNIX FFSLogging FS NFS Client Network Protocol Stack UNIX I/O Application Virtual Disk Interface Other Devices

34 Unit 19 34 From the beginning to the end Application programs Hardware Operating system STDIO GCCMozillaemacs STDIO GCCFirefoxemacs UNIX I/O FFSLFS Virtual Disk interface IDESCSIOther devices Protocol Stack UNIX I/O FFSLFS Virtual Disk interface IDESCSIOther devices Protocol Stack Link IP Transport Virtual Machine Monitor CPUMotherboard DisksDisplayNetwork card etc Virtual Machine Monitor CPUMotherboard DisksDisplayNetwork card etc


Download ppt "© Original by Donald Acton; Changes by George Tsiknis Computer Networks Text has no relevant information."

Similar presentations


Ads by Google