Presentation is loading. Please wait.

Presentation is loading. Please wait.

Networks. Computer-Computer Comm Comm Device Comm Device Memory CPU Comm Device Comm Device Memory CPU Modem Phone Modem Phone Switched Telephone Network.

Similar presentations


Presentation on theme: "Networks. Computer-Computer Comm Comm Device Comm Device Memory CPU Comm Device Comm Device Memory CPU Modem Phone Modem Phone Switched Telephone Network."— Presentation transcript:

1 Networks

2 Computer-Computer Comm Comm Device Comm Device Memory CPU Comm Device Comm Device Memory CPU Modem Phone Modem Phone Switched Telephone Network

3 Data Networks Network Device Network Device Memory CPU Network Device Network Device Memory CPU Specialized Data Network WANs, MANs, and LANs Specialized communication protocols Multidrop Packet oriented Looks like other devices… make it look like a file...

4 Multidrop Network S RR S Network Multiple senders Can address multiple receivers

5 Packet Network S R R S R S S R Circuit Based Packet Based Telephone Data

6 Multidrop Packet Network To transmit/receive: –Sender marshals data into a packet –Network interface hardware transforms data for physical transmission –Network deliver packets to variable destination –Receiver converts physical signal back into a data packet –Receiver unmarshals packet into data Need a widely-agreed upon set of protocols

7 Protocol Tasks Control information delivery rates Pass data across networks Provide fast/reliable IPC-like communication Support logical byte streams Create other models for communication –File transfer –Procedure call paradigm –Shared memory paradigm Translate machine-dependent data representations … and more …

8 Standardizing Protocols ANSI X.25 ARPAnet ISO Open Systems Interconnect (OSI) model –Now widely used as a reference architecture –7-layer model –Provides framework for specific protocols (such as IP, TCP, FTP, RPC, RSVP, …)

9 ISO OSI Model Application Presentation Session Transport Network Data Link Physical Application Presentation Session Transport Network Data Link Physical

10 ISO OSI Model Data Link Physical Data Link Physical Physical/Data Link layer networks: Ethernet, Wireless, ATM Examples

11 Low Level Protocols Physical layer: Signaling technology Data link layer: Frame management All done in hardware Examples –Ethernet –Token ring –X.25 –ATM Read pages 490-496

12 Ethernet (CSMA/CD) Asynchronous Carrier Sense Multiple Access Collision Detection Backoff

13 Wireless Backbone

14 ISO OSI Model Network Data Link Physical Network Data Link Physical Physical/Data Link layer networks: Ethernet, Token Ring, ATM Network layer net: The Internet Examples

15 Network Layer Primary purpose is to combine networks Internet protocol (IP) is dominant protocol Creates an internet address space Implements packet routing across networks Host X Host R Host S Host Y Network BNetwork CNetwork A

16 Addressing & Routing Host X Host R Host Y Network CNetwork A 3b4e87 3b4e623b4e553b621a 3b6209 Host X does not know how to send to Host Y Can send a frame to Host R for forwarding What should it tell Host R?

17 Addressing & Routing Host X Host R Host Y Network CNetwork A Host X does not know how to send to Host Y Can send a frame to Host R for forwarding What should it tell Host R? Internet address spans all machines 3b4e87 3b4e623b4e553b621a 3b6209 128.123.234.033 128.123.234.188128.229.244.006 128.229.244.109 128.123.234.063 To: 128.229.244.006 From: 128.123.234.033 Network Layer data

18 Addressing & Routing Host X Host R Host Y Network CNetwork A Host X does not know how to send to Host Y Can send a frame to Host R for forwarding What should it tell Host R? Internet address spans all machines Send encapsulated packet to Host R with Host Y 3b4e87 3b4e623b4e553b621a 3b6209 128.123.234.033 128.123.234.188128.229.244.006 128.229.244.109 128.123.234.063 To: 3b4e55 From: 3b4e87 To: 128.229.244.006 From: 128.123.234.033 Network Layer data

19 Addressing & Routing Host X Host R Host Y Network CNetwork A Host X does not know how to send to Host Y Can send a frame to Host R for forwarding What should it tell Host R? Internet address spans all machines Send encapsulated packet to Host R with Host Y 3b4e87 3b4e623b4e553b621a 3b6209 128.123.234.033 128.123.234.188128.229.244.006 128.229.244.109 128.123.234.063 Host S Network B

20 Addressing & Routing Host X Host R Host Y Network CNetwork A Host X does not know how to send to Host Y Can send a frame to Host R for forwarding What should it tell Host R? Internet address spans all machines Send encapsulated packet to Host R with Host Y Data Link frame is received by Host Y 3b4e87 3b4e623b4e553b621a 3b6209 128.123.234.033 128.123.234.188128.229.244.006 128.229.244.109 128.123.234.063 To: 3b621a From:... To: 128.229.244.006 From: 128.123.234.033 Network Layer data Network B

21 More on the Network Layer Implements internet addressing & routing ARPAnet IP protocol is dominant -- underlies the Internet Intermediate hosts are called gateways –Connected to two or more networks –Runs IP routing software –nag is a gateway for the teaching lab –Read pages 471-477

22 ISO OSI Model Transport Network Data Link Physical Transport Network Data Link Physical Physical/Data Link layer networks: Ethernet, Token Ring, ATM Network layer net: The Internet Transport layer net: TCP-based network Examples

23 Transport Layer Provides yet another address extension –IP references only networks and hosts –Transport layer adds ports -- logical endpoints –Address form is Two primary protocols (both from ARPAnet) –User Datagram Protocol (UDP) User-space interface to IP packets No guarantee that packet will be delivered –Transmission Control Protocol (TCP) Provides a stream-oriented interface to the network Reliable delivery

24 ISO OSI & TCP/IP X.25 ISO OSI Network ISO OSI TLI ISO OSI Session ISO OSI packet ISO OSI frame X.25 packet

25 ISO OSI & TCP/IP X.25 ISO OSI Network ISO OSI TLI ISO OSI Session ISO OSI packet ISO OSI frame X.25 packet Ethernet ARPAnet IP ARPAnet TCP ISO OSI Session ISO OSI packet IP frame Ethernet packet

26 Domain Name Server (DNS) IP uses 32-bit addresses –128.138.241.1 –“ anchor.cs.colorado.edu ” DNS: anchor.cs.colorado.edu  128.138.241.1 Huge table –Distributed/managed according to domain –.edu,.com,.net,.gov, ….us,.ca, are domains –.colorado is a sub domain managed by CU –.cs is a sub domain managed by Computer Sci –anchor is a computer in.cs (in.colorado, in.edu ) –anchor is on net 128.138.241, and is host number 1

27 DNS First-Level Domain.edu.colorado.cs anchor pawnee neon.edu Domain.colorado Domain.cs Domain Supports TCP Uses UDP

28 The DNS Protocol Stack X.25 ISO OSI Network ISO OSI TLI ISO OSI Session ISO OSI packet ISO OSI frame X.25 packet Ethernet ARPAnet IP ARPAnet UDP DNS Resolver UDP packet IP frame Ethernet packet UDP packet

29 Communication Ports Global name for a “mailbox” Will be many ports at one PPPP Transport Layer Network Layer Low Layers Machine X

30 Communication Ports Global name for a “mailbox” Will be many ports at one Each port can be bound to an address PPPP Transport Layer Network Layer Low Layers Machine X

31 BSD Sockets Sockets are comm ports in BSD UNIX Semantics resemble pipes (files) Bidirectional

32 BSD Sockets Sockets are comm ports in BSD UNIX Semantics resemble pipes (files) Bidirectional int socket(int addressFamily, int socketType, int protocolNo) s s = socket(…)

33 BSD Sockets (cont) Once a socket has been created, it can be bound to an internet port P s

34 BSD Sockets (cont) Once a socket has been created, it can be bound to an internet port int bind(int skt, struct sockadrr *addr, int addrLength) Example code available on the web page P s

35 UDP Datagram (“connectionless”) service –Similar to disk I/O level of service Logically associated with an IP packet & Data Link frame (but not physically) Best-effort delivery of datagrams, but: –Datagram may be dropped (lost) –Datagrams may be delivered out of order Efficient, relative to TCP

36 Using UDP /* Set up a socket to talk to the server */ skt = socket(AF_INET, SOCK_DGRAM, 0); host = gethostbyname(remoteHostName); bzero(&remote, sizeof(remote)); remote.sin_family = host->h_addrtype; remote.sin_port = htons(remotePort); bcopy(host->h_addr, &remote.sin_addr, host->h_length); /* Export the socket to a port (and IP address) */ host = gethostbyname(localHostName); bzero(&local, sizeof(local)); local.sin_family = host->h_addrtype; local.sin_port = htons(localPort); bcopy(host->h_addr, &local.sin_addr, host->h_length); if(bind(skt, &local, sizeof(local))) { printf("Bind error... restart\n"); exit(1); }... sendto(s, outBuf, strlen(outBuf), 0, remote, sizeof(remote)); if((len = recv(s, inBuf, BUFLEN, 0)) > 0) {...}

37 TCP Connected (or virtual circuit) protocol Interface allows programmer to read/write a byte stream over the network Byte stream is mapped into a series of packets –Reliable delivery –Each packet must be acknowledged –Effectively 2 packets per transmission Must open/close a connection before use

38 Using TCP -- Client skt = socket(AF_INET, SOCK_STREAM, 0); host = gethostbyname(serverHostName); bzero(&listener, sizeof(listener)); listener.sin_family = host->h_addrtype; listener.sin_port = htons(port); bcopy(host->h_addr, &listener.sin_addr, host->h_length); if(connect(skt, &listener, sizeof(listener))) { printf("Connect error... restart\n"); printf("(Must start Server end first)\n"); exit(1); };... write(s, outBuf, BUFLEN); if((len = read(s, inBuf, BUFLEN)) > 0) {...}

39 Using TCP -- Server skt = socket(AF_INET, SOCK_STREAM, 0); /* Produce an inet address */ host = gethostbyname(serverHostName); bzero(&listener, sizeof(listener)); listener.sin_family = host->h_addrtype; listener.sin_port = htons(port); bcopy(host->h_addr, &listener.sin_addr, host->h_length); if(bind(skt, &listener, sizeof(listener))) { printf("Bind error... restart\n"); exit(1); } listen(skt, BACKLOG); /* Listen for a request */ newSkt = accept(skt, &client, &clientLen); if (fork() == 0) { close(skt); /* Child doesn't need listener socket */... } close(newSkt); /* Parent doesn't need the new socket */ if((len = read(s, inBuf, BUFLEN)) > 0) {...} write(s, outBuf, BUFLEN);

40 ISO OSI Model Presentation Session Transport Network Data Link Physical Presentation Session Transport Network Data Link Physical Physical/Data Link layer networks: Ethernet, Token Ring, ATM Network layer net: The Internet Transport layer net: TCP-based network Presentation/Session layer net: http/html, RPC, PVM, MPI Examples

41 ISO OSI Model Application Presentation Session Transport Network Data Link Physical Application Presentation Session Transport Network Data Link Physical Physical/Data Link layer networks: Ethernet, Token Ring, ATM Network layer net: The Internet Transport layer net: TCP-based network Presentation/Session layer net: http/html, RPC, PVM, MPI Applications, e.g., WWW, window system, numerical algorithm Examples

42 Client-Server Paradigm Making a connection in TCP is an example of the client-server paradigm for distributed computing –Active component is the client Runs autonomously Decides when it wants to use server –Passive component is the server Persistent Always waiting for a client to request service Not a machine -- just software


Download ppt "Networks. Computer-Computer Comm Comm Device Comm Device Memory CPU Comm Device Comm Device Memory CPU Modem Phone Modem Phone Switched Telephone Network."

Similar presentations


Ads by Google