CS 428/528 Computer Networks Lecture 01. Yan Wang

Similar documents
Introduction. Communication

Lecture 2. Outline. Layering and Protocols. Network Architecture. Layering and Protocols. Layering and Protocols. Chapter 1 - Foundation

CMPE 344 Computer Networks Spring Foundations. Reading: Peterson and Davie,

Module 2 Overview of Computer Networks

Module 2 Overview of. Computer Networks

Network Software Implementations

L1: Introduction. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806

Processes communicating. Network Communication. Sockets. Addressing processes 4/15/2013

Agenda. Before we start: Assignment #1. Routing in a wide area network. Protocols more concepts. Internetworking. Congestion control

Computer Communication Networks

UNIX Sockets. Developed for the Azera Group By: Joseph D. Fournier B.Sc.E.E., M.Sc.E.E.

CLIENT-SIDE PROGRAMMING

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

Network Communication

Computer Networking. Introduction. Quintin jean-noël Grenoble university

Introduction to Networks

CPS 214: Computer Networks. Slides by Adolfo Rodriguez

Oral. Total. Dated Sign (2) (5) (3) (2)

CS3600 SYSTEMS AND NETWORKS

Need For Protocol Architecture

Need For Protocol Architecture

Introductions. Computer Networking Lecture 01. January 16, HKU SPACE Community College. HKU SPACE CC CN Lecture 01 1/36

Introduction to computer networking

Chapter 2 Communicating Over the Network

ECE 650 Systems Programming & Engineering. Spring 2018

Networking Applications

Announcements. CS 5565 Network Architecture and Protocols. Outline for today. The Internet: nuts and bolts view. The Internet: nuts and bolts view

ECE 650 Systems Programming & Engineering. Spring 2018

5105: BHARATHIDASAN ENGINEERING COLLEGE NATTARMPALLI UNIT I FUNDAMENTALS AND LINK LAYER PART A

Data & Computer Communication

Networked Applications: Sockets. Goals of Todayʼs Lecture. End System: Computer on the ʻNet. Client-server paradigm End systems Clients and servers

The TCP Protocol Stack

EEC-484/584 Computer Networks

CSE3213 Computer Network I

Layering in Networked computing. OSI Model TCP/IP Model Protocols at each layer

Distributed Systems. 02. Networking. Paul Krzyzanowski. Rutgers University. Fall 2017

Operating Systems CS 571

Computer Networks. Text Book By Larry L Peterson & Bruce S. Davie

Computer Networks Principles

CSCI Computer Networks

CS1302-COMPUTER NETWORKS UNIT I -DATA COMMUNICATION PART A

BABU MADHAV INSTITUTE OF INFORMATION TECHNOLOGY, UTU 2017

Computer Communication & Networks / Data Communication & Computer Networks Week # 03

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ

Chapter 16 Networking

Introduction to Networking

Networking and Internetworking 1

Chapter 2. Communicating Over The Network. CCNA1-1 Chapter 2

Internet Architecture & Performance. What s the Internet: nuts and bolts view

CS1302 / Computer Networks

Module 1. Introduction. Version 2, CSE IIT, Kharagpur

Ports under 1024 are often considered special, and usually require special OS privileges to use.

COMPUTER NETWORKS CS CS 55201

COMPUTER NETWORKS CS CS 55201

EEC-484/584 Computer Networks

Data Communications and Networks Spring Syllabus and Reading Assignments

Chapter 2 Network Models 2.1

Copyleft 2005, Binnur Kurt. Objectives

SUBJECT: DATA COMMUNICATION AND NETWORK SEMESTER: V SEMESTER COURSE: BCA SUBJECT TEACHER: Dr.K.Chitra Assistant Professor, Department of Computer

Data and Computer Communications

Switching Networks (Fall 2010) EE 586 Communication and. August 27, Lecture 2. (modified by Cheung for EE586; based on K&R original) 1-1

Question Score 1 / 19 2 / 19 3 / 16 4 / 29 5 / 17 Total / 100

Lecture 2: Internet Structure

PLEASE READ CAREFULLY BEFORE YOU START

Computer Networks (Introduction to TCP/IP Protocols)

Communicating over the Network

System Programming. Introduction to computer networks

Lecture 3 Protocol Stacks and Layering

Context. Distributed Systems: Sockets Programming. Alberto Bosio, Associate Professor UM Microelectronic Departement

Overview of Networks

Computer Networks. General Course Information. Addressing and Routing. Computer Networks 9/8/2009. Basic Building Blocks for Computer Networks

Lecture (02) Network Protocols and Standards

CS4700/CS5700 Fundaments of Computer Networks

Part VI. Appendixes. Appendix A OSI Model and Internet Protocols Appendix B About the CD

CCNA Exploration1 Chapter 7: OSI Data Link Layer

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

Chapter -4 OSI Reference Model

Tutorial on Socket Programming

Chapter 2 Network Models 2.1

Overview. Performance metrics - Section 1.5 Direct link networks Hardware building blocks - Section 2.1 Encoding - Section 2.2 Framing - Section 2.

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

The Client Server Model and Software Design

Networked Applications: Sockets. End System: Computer on the Net

Introduction to Open System Interconnection Reference Model

Introduction to Protocols

TCP: Three-way handshake

E&CE 358: Tutorial 1. Instructor: Sherman (Xuemin) Shen TA: Miao Wang

Chapter 1. Computer Networks and the Internet

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print,

NETWORK SECURITY ITEC 435

Chapter 1: Conceptual Basis Section 1

Lecture-4. TCP/IP-Overview:

CS-435 spring semester Network Technology & Programming Laboratory. Stefanos Papadakis & Manolis Spanakis

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

Computer Network : Lecture Notes Nepal Engineering College Compiled by: Junior Professor: Daya Ram Budhathoki Nepal Engineering college, Changunarayan

COMPONENTS OF DATA COMMUNICATION

Chapter 2. Communicating Over The Network

What s a protocol? What s a protocol? A closer look at network structure: What s the Internet? What s the Internet? What s the Internet?

QUESTION BANK EVEN SEMESTER

PLEASE READ CAREFULLY BEFORE YOU START

Transcription:

1 CS 428/528 Computer Lecture 01 Yan Wang

2 Motivation: Why bother? Explosive growth of networks 1989, 100,000 hosts on the Internet Distributed Applications and Systems E-mail, WWW, multimedia, distributed file systems and databases Source: Internet Systems Consortium. [9] Wireless/Mobile and Cellular telecommunications Used for voice, data, multimedia Ad hoc and sensor systems Most computer systems of interest are now networked

3 Pervasive Data Communications How much of your time is spent on the Internet every day?

4 Position of Computer Distributed Systems Communications

5 Building Blocks Nodes: PC, special purpose hardware, Hosts Switches Links: coax cable, optical fiber Point-to-point Multiple access

6 Design Issues Connectivity Resource sharing Reliability, make system design simpler

7 How do we study networks? Best way: build it Algorithmically Analytically By argument Through simulation

8 Model Of Communication Model of Communication Sender- Transmit- Receiver- Receive- (Medium)- Noise- Communications: transferring information over a distance Communications: transferring information over a Requires a shared symbol set that can be transmitted as a signal distance through a medium, received, and understood Encoding: the physical forms of signals Requires a shared symbol set that can be Medium: anything capable of passing information: copper wire, glass fiber, radio waves, and so on transmitted as a signal through a medium, received, Some noise and always understood exists corrupt the signal Medium can be anything capable of passing

9 Network (Hardware) Connections Two types of communications connections: Broadcast networks have a single communication channel that is shared by all machines on the network. Point-to-point networks consist of many connections between individual machines. In general, small local networks use broadcasting, larger networks use point-to-point There are many exceptions

10 Local Area Network Typically a single logical wire shared by multiple hosts A popular arbitration protocol is Ethernet and IEEE 802.11 Different topologies possible RING BUS

11 Wide Area Network Typically point to point links connecting specialized hardware (routers, switches) Router LAN

12 General Network Topologies STAR RING TREE MESH (PARTIAL) BUS

13 Multiplexing Time-Division Multiplexing (TDM) Frequency-Division Multiplexing (FDM)

14 Statistical Multiplexing On-demand time-division Schedule link on a per-packet basis Packets from different sources interleaved on link Buffer packets that are contending for the link Buffer (queue) overflow is called congestion

15 Network Software are organized as a series of layers, in order to reduce complexity Each layer builds upon the one below it and offers services to the one above it. Between each layer is an interface A list of protocols is called a network stack A set of layers and protocols is called a Network Architecture Understanding a general purpose network architecture is the focus of the course

16 Layer Design Issues Identify senders and receivers Error control Message ordering Control message rates Connection-oriented versus connectionless Rules for data transfer

17 Network Services A service is a formally specified set of primitives Examples are REQUEST, INDICATION, RESPONSE, CONFIRM Purpose is to provide a way of invoking operations to the layer above it Different from a protocol A protocol is a set of rules governing the format and meaning of the frames, packets or messages exchanged by the peer entities or layers

18 Protocols/Standards Building blocks of a network architecture Typical protocols: FTP, HTTP, BGP, DHCP, POP, SMTP, TCP, UDP, IP, IPsec, ARP, MAC, PPP Each protocol object has two different interfaces Service interface: operations on this protocol Peer-to-peer interface: messages exchanged with peer Term protocol is overloaded Specification of peer-to-peer interface Module that implements this interface

19 Interfaces

20 Protocols/Standards Reasons for networking standards Allow different computers to communicate Decrease price through economies of scale Disadvantages of standards Tend to freeze technology: by the time the standard is developed, reviewed, agreed upon, and distributed, better technologies become available. Often multiple, conflicting standards for the same thing.

21 Discussion 1 What does the topology of the INTERNET look like??

22 The Topology of the INTERNET

23 OSI Reference Model International Organization for Standardization (ISO) has defined a seven layer model: Open Systems Interconnection (OSI) reference model. Application Presentation Session Transport Network Data Link Physical Upper Layers Communications Media Application Presentation Session Transport Network Data Link Physical

24 Physical and Data Link layers Physical Layer: Transmit and receive bits on physical media Analog and digital transmission A definition of the 0 and 1 bits Bit rates (bandwidth) Data Link Layer: Provide error-free bit streams across physical media Error detection/correction: Reliability Flow control

25 Network Layer Controls the operations of the network Routing: determining the path from the source of a message to its destination Congestion Control: handling traffic jams Internetworking of both homogeneous and heterogeneous networks Homogeneous networks: similar configuration and protocols Heterogeneous networks: different

26 Transport Layer Provides end to end (host to host) connections Packetization: cut the messages into smaller chunks (packets) An ensuing issue is ordering: the receiving end must make sure that the user receives the packets in the right order Host to host flow control

27 Upper Layers Session Layer User to user connection Synchronization, checkpoint, and error recovery Presentation Layer Data representation/compression Cryptography and authentication Application Layer File transfer, email, WWW, and so on

28 Data Communication based on OSI

29 Data Encapsulation in OSI

30 Shortcomings of the OSI Model Just because someone says it is a model/standard does not mean you have to follow it Layers do not have the same size and importance Session and presentation layers seldom present Data link, network, and transport layers often very full Little agreement on where to place various features Encryption, network management Large number of layers increases overheads

31 Internet Protocol Suite Reference Model Application Transport Internet Application Transport Internet Host to Network Physical Link Host to Network

32 Internet Protocol Suite Reference Model Also called TCP/IP Reference Model There is NO presentation and session layers in the Internet model Internet layer = network layer (OSI model) The physical and data link layers in the OSI model are merged to the Host to Network layer

33 Internet Architecture Defined by Internet Engineering Task Force (IETF) Hourglass Design Application vs. Application Protocol (FTP, HTTP) Application Transport Internet Host to Network Does not imply strict layering. The application is free to bypass the defined transport layers and to directly use IP or other underlying networks

34 OSI/TCP-IP Comparison

35 Another View Another View LLC: logic link control MAC: media access control

36 Inter-Process Communication Turn host-to-host connectivity into process-toprocess communication Fills the gap between what applications expect and what the underlying technology provides

37 Socket What is a socket? The point where a local application process attaches to the network An interface between an application and the network An application creates the socket The interface defines operations for Creating a socket Attaching a socket to the network Sending and receiving messages through the socket Closing the socket

38 Socket API int sockfd = socket(address_family, type, protocol); The socket number returned is the socket descriptor for the newly created socket int sockfd = socket (PF_INET, SOCK_STREAM, 0); int sockfd = socket (PF_INET, SOCK_DGRAM, 0); The combination of PF_INET and SOCK_STREAM implies TCP

39 Socket Socket Family (denote the address domain) PF_INET denotes the Internet family IP + port PF_UNIX denotes the Unix pipe facility name + port PF_PACKET denotes direct access to the network interface (i.e., it bypasses the TCP/IP protocol stack) Socket Type (protocol related) SOCK_STREAM is used to denote a byte stream reliable TCP SOCK_DGRAM is an alternative that denotes a message oriented service unreliable UDP SOCK_RAW bypasses the transport layer, and packet headers are made accessible to the application

40 Socket API Passive Open (on server) int bind(int socket, struct sockaddr *addr, int addr_len) int listen(int socket, int backlog) int accept(int socket, struct sockaddr *addr, int addr_len) Active Open (on client) int connect(int socket, struct sockaddr *addr, int addr_len) Sending/Receiving Messages int send(int socket, char *msg, int mlen, int flags) int recv(int socket, char *buf, int blen, int flags)

41 Network Performance Communication overhead Throughput, e.g., 45 Mbps Latency, e.g., 50 ms coast-to-coast, round-trip ~100 ms. Depends on the application: A 1 byte message is dominated by Round-trip Time Loading a 25 MB file dominated by throughput (10 Mbps link takes 20 seconds.

42 Performance Metrics Bandwidth Meaning changes from case by case: The real definition is the range of frequencies in a signal. The commonly used definition in networking: data transmitted per time unit, e.g., throughput Throughput - Link versus end-to-end Notation KB = 2 10 bytes Mbps = 10 6 bits per second You must distinguish between these two!

43 Performance Metrics Latency (delay) Time to send message from point A to point B One-way versus round-trip time (RTT) Latency = Propagation + Transmit + Queue Propagation = Distance / c Transmit = Size / Bandwidth Queue??

44 Bandwidth versus Latency Relative importance 1-byte: 1ms vs. 100ms (latency) dominates 1Mbps vs. 100Mbps (bandwidth) 25MB: 1Mbps vs. 100Mbps dominates 1ms vs. 100ms

45 Delay x Bandwidth Product Amount of data in flight or in the pipe Usually relative to RTT Example: 100ms x 45Mbps = 550KB If the sender does not fill the pipe (send a whole delay bandwidth product s worth of data before it stops to wait for a signal), the sender will not fully utilize the network

46 Delay x Bandwidth Product Relative importance of bandwidth and latency depends on application For large file transfer, bandwidth is critical For small messages (HTTP, NFS, etc.), latency is critical Variance in latency (jitter) can also affect some applications (e.g., audio/video conferencing)

47 Summary We have defined a layered architecture for computer networks that will serve as a blueprint for our study We have discussed the socket interface which will be used by applications for invoking the services of the network subsystem We have discussed two performance metrics using which we can analyze the performance of computer networks

48 Reading Chapter 1 of textbook