Скачать презентацию Network Input Output CS-3013 CS-502 Summer Скачать презентацию Network Input Output CS-3013 CS-502 Summer

f7ba8d03c5b55f35fb80e89d52e1cd7e.ppt

  • Количество слайдов: 20

Network Input & Output CS-3013 & CS-502, Summer 2006 Network Input & Output 1 Network Input & Output CS-3013 & CS-502, Summer 2006 Network Input & Output 1

Computer Networks • Much more than can be covered in this course • CS Computer Networks • Much more than can be covered in this course • CS 513, CS 577 • Outline • Protocol Stack • Kinds of network connections • Socket interface • Textbook: Networking is spread out over multiple chapters. • Distributed Computing • I/O Devices • Memory Management – Buffer allocation • Real Time OS CS-3013 & CS-502, Summer 2006 Network Input & Output 2

Computer C Process j Computer A The Network Process 1 Computer B Process i Computer C Process j Computer A The Network Process 1 Computer B Process i CS-3013 & CS-502, Summer 2006 Network Input & Output 3

Network Goal • Allow activities on multiple computer systems to communicate with each other Network Goal • Allow activities on multiple computer systems to communicate with each other • Shared memory (or data) • Message passing • Remote Procedure Call • Create abstractions that make these (relatively) transparent CS-3013 & CS-502, Summer 2006 Network Input & Output 4

Principal Abstraction – Socket • Originally created in BSD Unix • Subsequently, part of Principal Abstraction – Socket • Originally created in BSD Unix • Subsequently, part of most OS’s • Allows opening a connection between two processes across network • Connection: – a serial conversation between two processes, threads, etc. , on different machines – organized as a sequence of messages or datagrams – distinct from all other connections CS-3013 & CS-502, Summer 2006 Network Input & Output 5

Network Stack • 1983 – Open System Interconnection (OSI) 7 layer Reference Model – Network Stack • 1983 – Open System Interconnection (OSI) 7 layer Reference Model – Working group of the International Standards Organization (ISO) – Defines seven layers • Describe how applications communicate with each other – Via network-aware devices – Most day-to-day protocols • work on a slightly modified layer system • E. g. TCP/ IP uses a 6 -rather than a 7 -layer model CS-3013 & CS-502, Summer 2006 Network Input & Output 6

Network Stack (continued) • Arrived at 7 layer model – – Software architecture Created Network Stack (continued) • Arrived at 7 layer model – – Software architecture Created where a different layer of abstraction is needed Well defined function Layer chosen • with international standards being defined – Boundaries chosen • minimize information flow across interfaces – Number of layers: • Large enough – Distinct functions need not be thrown together – In the same layer out of necessity • Small enough – Architecture does not become unwieldy CS-3013 & CS-502, Summer 2006 Network Input & Output 7

The OSI 7 -layer model (in a nutshell) Application Layer Presentation Layer Session Layer The OSI 7 -layer model (in a nutshell) Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Silbershatz, §§ 16. 6 -16. 7 Physical Layer CS-3013 & CS-502, Summer 2006 Network Input & Output 8

The OSI 7 -layer model (continued) Application Layer Presentation Layer Session Layer Transport Layer The OSI 7 -layer model (continued) Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer CS-3013 & CS-502, Summer 2006 • Layer 1 – Physical Layer – Defines the physical and electrical characteristics of the network. • Transmitting of raw bits over the communication channel • Layer 2 – Data Link Layer – Take the raw transmission facility and transform it into an abstract link that appears free of errors to layer 3. • Error correcting coding (e. g. FEC) • Rate Control (Slow device not overrun by high speed device) Network Input & Output 9

The OSI 7 -layer model (continued) Application Layer Presentation Layer Session Layer Transport Layer The OSI 7 -layer model (continued) Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer CS-3013 & CS-502, Summer 2006 • Layer 3 – Network Layer – – Controlling the operation of the subnet How packets are routed Congestion Control Accounting function (billing) • Network Statistics – Example - IP layer (IPv 4, IPv 6) • Differences between v 4, v 6 source/destination addressing – V 4 – 32 bit addressing – V 6 – 128 bit addressing Network Input & Output 10

The OSI 7 -layer model (continued) Application Layer Presentation Layer Session Layer Transport Layer The OSI 7 -layer model (continued) Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer CS-3013 & CS-502, Summer 2006 • Layer 4 – Transport Layer – Accept data from layer 5 • Split it up into smaller units if need be • Passes these to the network layer • Ensures that the packets all arrive correctly at the destination • Isolates layer 5 from changes in the underlying hardware – Type of service to provide • Reliable or unreliable delivery – True end-to-end layer – Example - TCP or UDP Network Input & Output 11

The OSI 7 -layer model (continued) Application Layer Presentation Layer Session Layer Transport Layer The OSI 7 -layer model (continued) Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer CS-3013 & CS-502, Summer 2006 • Layer 5 - Session Layer – Allows users on different machines to establish sessions between them – Example SSL, RTP • Layer 6 – Presentation Layer – Performs certain functions that are requested sufficiently often to warrant finding a general solution for them rather than letting each user solve the problem – Example – encoding data • Layer 7 – Application Layer – User layer protocol, multiple protocols required – Example – http, ftp, smtp Network Input & Output 12

Example of OSI Model Sending Process Application Layer Presentation Layer Session Layer Transport Layer Example of OSI Model Sending Process Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer CS-3013 & CS-502, Summer 2006 Receiving Process Data AH PH Data SH TH NH DH Data Data Bits Network Input & Output DT Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer 13

TCP/IP – a subset Application Layer Presentation Layer Session Layer Transport Layer Network Layer TCP/IP – a subset Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer HTTP, DNS, Telnet, SMTP, FTP, SSH, etc. Not Defined TCP-UDP IP Device Physical Layer CS-3013 & CS-502, Summer 2006 Hardware Network Input & Output 14

Some Terms • Packet: – A unit of communication at Data Link layer – Some Terms • Packet: – A unit of communication at Data Link layer – aka datagram • IP Address: – A four-part “number” used by Network Layer to route a packet from one computer to another • Port: – A 16 -bit number used within one computer to identify who/where to send packet to • Well-known port: – A port with number < 1024, used by agreement for standard services (telnet, ftp, smtp, pop, etc. ) CS-3013 & CS-502, Summer 2006 Network Input & Output 15

More Terms • Socket: – End point of a communication – Usually used in More Terms • Socket: – End point of a communication – Usually used in pairs, one for each direction – Comprises [IP Address: Port #] • Connection: – A logical linkage between pairs of sockets at two endpoints for purposes of a particular communication between those endpoints CS-3013 & CS-502, Summer 2006 Network Input & Output 16

Establishing a Connection • Process a on machine m creates a socket • OS Establishing a Connection • Process a on machine m creates a socket • OS assigns a new port number q to that socket • Process a attempts to open a connection to machine n: p • p is a well-known port • Process b on machine n is listening on p • Receives request from m: q • Process b forks a process or spawns a thread c to talk with m: q, then resumes listening on p • Thread/process c • Creates a new socket r for this connection • Replies to m: q with return address n: r • a and c continue to communicate over this pair of sockets until they are finished. CS-3013 & CS-502, Summer 2006 Network Input & Output 17

Reliable Connections • Transport layer partitions messages into packets • TCP – Transmission Control Reliable Connections • Transport layer partitions messages into packets • TCP – Transmission Control Protocol • Sequence number of current packet • Sequence number of last packet received correctly • Receiver keeps track of seq. # of packets • Reassembles in right order • Notify sender of missing, broken packets • Sender keeps copy of each packet until receipt acknowledged • Retransmits packets if no acknowledgement CS-3013 & CS-502, Summer 2006 Network Input & Output 18

Connection-less communication • UDP – User Datagram Protocol – Used when a certain number Connection-less communication • UDP – User Datagram Protocol – Used when a certain number of errors can be tolerated and also – Where recovery from those errors is easy CS-3013 & CS-502, Summer 2006 Network Input & Output 19

Next Project 3 – a simple HTTP server and web client CS-3013 & CS-502, Next Project 3 – a simple HTTP server and web client CS-3013 & CS-502, Summer 2006 Network Input & Output 20