Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.