Computer Networks Lecture 1 Adrian Sergiu DARABANT.

Slides:



Advertisements
Similar presentations
Introduction 2 1: Introduction.
Advertisements

Taekyung Kim 0x410 ~ 0x International Standards Organization (ISO) is a multinational body dedicated to worldwide agreement on international.
Eighth Edition by William Stallings
COS 461 Fall 1997 Networks and Protocols u networks and protocols –definitions –motivation –history u protocol hierarchy –reasons for layering –quick tour.
Björn Landfeldt School of Information Technologies NETS3303 Network Programming Intro.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Communicating over the Network Network Fundamentals – Chapter 2.
Spring 2004 EE4272 EE4272: Computer Networks Instructor: Dr. Tricia Chigan Dept.: Elec. & Comp. Eng.
Socket Programming.
Introduction1-1 Introduction to Computer Networks Our goal:  get “feel” and terminology  more depth, detail later in course  approach:  use Internet.
COMP361 by M. Hamdi1 COMP 361, Fall 2000 Computer Communication Networks I Dr. Mounir Hamdi
EECS122 Communications Networks Socket Programming January 30th, 2003 Jörn Altmann.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
Networking Basics: A Review Carey Williamson iCORE Chair and Professor Department of Computer Science University of Calgary.
1 CPE 400 / 600 Computer Communication Networks Dr. Mehmet Gunes slides are modified from S.K. Kasera and J. Kurose & K. Ross.
EE 4272Spring, 2003 Protocols & Architecture A Protocol Architecture is the layered structure of hardware & software that supports the exchange of data.
Data Communications Architecture Models. What is a Protocol? For two entities to communicate successfully, they must “speak the same language”. What is.
Inside the Internet. INTERNET ARCHITECTURE The Internet system consists of a number of interconnected packet networks supporting communication among host.
Review on Networking Technologies Linda Wu (CMPT )
Computer Networks Eyad Husni Elshami. Computer Network A computer network is a group of interconnected computers to share data resources ( printer, data.
COMPUTER NETWORKS CS610 Lecture-1 Hammad Khalid Khan.
1 Networking Basics: A Review Carey Williamson iCORE Professor Department of Computer Science University of Calgary.
G52CCN Computer Communications and Networks Milena Radenkovic Room: B47
Computer Networks (CSC 345) Fall 2004 Professor Haimeng Zhang IVERS 234F x4742.
Lecture 1, 1Spring 2003, COM1337/3501Computer Communication Networks Rajmohan Rajaraman COM1337/3501 Textbook: Computer Networks: A Systems Approach, L.
Chapter 1: Overview Lecturer: Alias Mohd Telecommunications Department Faculty of Electrical Engineering UTM SET 4573: Data Communication and Switching.
1: Introduction1 Part I: Introduction Goal: r get context, overview, “feel” of networking r more depth, detail later in course r approach: m descriptive.
Chapter 1 Introduction Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Data Communications and Networking
Process-to-Process Delivery:
1 Computer Networks and Internets Spring 2005 Assistant Professor JainShing Liu.
Chapter 2 The Infrastructure. Copyright © 2003, Addison Wesley Understand the structure & elements As a business student, it is important that you understand.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
Computer Networks An Introduction Prepared by S.Perry (February 2010)
Introduction1-1 Course Code:EE/TE533 Instructor: Muddathir Qamar.
1 Computer Networks DA Chapter 1-3 Introduction.
CS 3214 Computer Systems Godmar Back Lecture 23. Announcements Project 5 due Dec 8 Exercise 10 handed out Exercise 11 coming before Thanksgiving CS 3214.
G52CCN Computer Communications and Networks Milena Radenkovic Room: B47
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
William Stallings Data and Computer Communications 7 th Edition Chapter 1 Data Communications and Networks Overview.
University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department INTRODUCTION TO COMPUTER NETWORKS Dr. Abdelhamid.
CSC 600 Internetworking with TCP/IP Unit 2: Client-Server Model and Sockets(Ch.2, 3, 21, 22) Dr. Cheer-Sun Yang Fall 2000.
1 CHAPTER 8 TELECOMMUNICATIONSANDNETWORKS. 2 TELECOMMUNICATIONS Telecommunications: Communication of all types of information, including digital data,
Computer Networks with Internet Technology William Stallings
NSH0503/01/11041 Overview Computer Network Technology By Diyurman Gea.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
Chapter 1 Communication Networks and Services Network Architecture and Services.
Introduction1-1 Data Communications and Computer Networks Chapter 1 CS 3830 Lecture 1 Omar Meqdadi Department of Computer Science and Software Engineering.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 4 Switching Concepts.
Computer Security Workshops Networking 101. Reasons To Know Networking In Regard to Computer Security To understand the flow of information on the Internet.
Socket programming case study NCKU Multimedia Networking Lab Pei Chuan Liu.
Networking Tutorial Special Interest Group for Software Engineering Luke Rajlich.
William Stallings Data and Computer Communications
Communication Networks - Overview CSE 3213 – Fall November 2015.
Introduction1-1 Chapter 1 Computer Networks and the Internet Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose,
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Protocols and Architecture Slide 1 Use of Standard Protocols.
WAN Transmission Media
COMPUTER NETWORKS Hwajung Lee. Image Source:
Client-server communication Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Socket Programming(1/2). Outline  1. Introduction to Network Programming  2. Network Architecture – Client/Server Model  3. TCP Socket Programming.
Computer Engineering and Networks, College of Engineering, Majmaah University INTRODUCTION TO COMPUTER NETWORKS Mohammed Saleem Bhat
COMPUTER NETWORKS COMPUTER NETWORKS AIM To understand the basic concepts of data communication, networking and the usage of protocols. OBJECTIVES To study.
Data and Computer Communications Eighth Edition by William Stallings Chapter 1 – Data Communications, Data Networks, and the Internet.
Data Communications Chapter 1 – Data Communications, Data Networks, and the Internet.
Slides taken from: Computer Networking by Kurose and Ross
Jim Fawcett CSE 681 – Software Modeling & Analysis Fall 2002
TCP/IP Socket Programming in C
Chapter 15 – Part 2 Networks The Internal Operating System
Socket Programming(1/2)
EEC4113 Data Communication & Multimedia System Chapter 1: Introduction by Muhazam Mustapha, July 2010.
Computer Networks DA2402.
Presentation transcript:

Computer Networks Lecture 1 Adrian Sergiu DARABANT

Introduction - Administrative Weekly lectures + lab Final grade: Final written examination Labs Practical exam  Don’t know yet – it depends on your lab activity Prerequisites C/C++ system programming (Unix and Windows) Operating systems

Bibliography 1. A.S. Tanenbaum – Computer Networks 4 th ed., Prentice Hall, J. Kurose, K. Ross, Computer Networking: A Top Down Approach, Addison-Wesley, rev2,3, Douglas E. Comer, Internetworking with TCP/IP 1. Vol 1- Principles, Protocols, and Architecture 2. Vol 3- Client-Server Programming and Applications 4. G.R.Wright, R. Stevens, TCP/IP Illustrated – vol 1,2, Addison Wesley. 5. Matt Naugle, Illustrated TCP/IP – A Graphic Guide to protocol suite, John Willey & Sons, W. Richard Stevens, Bill Fenner, Andrew M. Rudoff, UNIX® Network Programming Volume 1, Third Edition: The Sockets Networking API

Course Information

Required (?!) Tools/Materials Windows 32/64 – Development Env ! VMware Player/ Virtual Box, etc Install Linux / Windows ! Integration Tools Development Environment Or Vi ?!? Set networking as bridged on VM! You will thank me later :P

Syllabus Communication basics Media and signals Asynchronous and synchronous communication Relationship among bandwidth, throughput, and noise Frequency-division and time-division multiplexing

Sylabus-2 Networking and network technologies Packing switching Framing, parity, and error detection Local and wide area technologies Network addressing Connection, wiring and extension (repeaters, bridges, hubs, switches) Forwarding and measuring of delay and throughput Protocol layers

Syllabus-3 Internets and Internetworking Motivation and concept Internet Protocol (IP) datagram format and addressing Internet routers and routing Address binding (ARP) Internet Control Message Protocol (ICMP) User Datagram Protocol (UDP) Transmission Control Protocol (TCP) Network Security

Syllabus-4 Network Applications Domain Name System (DNS) File Transfer Protocol (FTP) Remote Login Protocol (TELNET) Transfer (SMTP) Web technologies and protocol (HTTP)

What is a Computer Network ? A collection of computers (PCs, Workstations) and other devices interconnected. Components: Hosts (computers) Links (coaxial cable, twisted pair, optical fiber, radio, satellite) Switches/routers (intermediate systems)

Major Network Categories The global Internet Internal corporate networks The worldwide telephone system

What is a Computer Network? Client Station Mobile Client Station Server Station Server Station Stations communicate by sending messages called Frames Frame

What is a Computer Network? Frame Switch Frames may pass through multiple switches; Each switch reads the frame And passes it on

What is a Computer Network? Access Link Access Link Access Link Access Link Access links connect stations to the first switch Usually copper wire

What is a Computer Network? Trunk Link Trunk Link Trunk Link Trunk Link Trunk Link Trunk links connect switches Higher capacity than access links Often optical fiber

Classifications 1. Types of links Direct links Bus type links Type of transmission Circuit switched networks Packet switched networks Frame Relay Asynchronous Transfer Mode (ATM)

Types of communication 1. Types of links (connectivity) Direct -Point-to-point communication Direct - BUS Type / Multiple-access

Types of Communication 2. Switched Networks Circuit - switched network: public telephone network Packet switched network: Internet (collection of networks)

Circuit-Switching Set up a connection path (circuit) between the source and the destination (permanent for the lifetime of the connection) All bytes follow the same dedicated path Used in telephony Advantages: dedicated resources Disadvantages: not very efficient (lower utilization, e.g., a person talks < 35% of the time during a call) While A talks to C, B cannot talk to D on the same line.

Packet-Switching Packets from different sources are interleaved Efficient use of resources (since they are used on a demand): statistical multiplexing. Nobody reserves a lane on a freeway. Can accommodate bursty traffic (as opposed to circuit-switching where transmission is at constant rate).

Types of Communication Frame Relay Alternative for Packet switching systems Packet switching have large overheads to compensate for errors. ATM Asynchronous Transfer Mode Evolution of Frame Relay Little overhead for error control Fixed packet length

Communication infrastructure - Goals Reliable data delivery Error free data transmission Messages delivered in the same order they where sent Minimum guaranteed throughput Limited maximum delay Confidentiality Authentification

Network programming Programmer does not need to understand the hardware part of network technologies. Network facilities accessed through an Application Program Interface - API Communication Connection oriented Datagram Oriented

Connection oriented-API The BSD socket library Socket Bind Listen, Accept Connect Read, Write, Recv, Send Close, Shutdown Where do we get info on these ? man, msdn

Socket Example Server.c #include #include /* close */ #define SERVER_PORT 1500 int main (int argc, char *argv[]) { int sd, newSd, cliLen; struct sockaddr_in cliAddr, servAddr; char line[MAX_MSG]; int len; sd = socket (AF_INET, SOCK_STREAM, 0); if(sd<0) { perror("cannot open socket "); return ERROR; } /* bind server port */ servAddr.sin_family = AF_INET ; servAddr.sin_addr.s_addr = htonl (INADDR_ANY); servAddr.sin_port = htons (SERVER_PORT);

if ( bind (sd, (struct sockaddr *) &servAddr, sizeof(servAddr))<0) { perror("cannot bind port "); return ERROR; } listen (sd,5); while(1) { printf("%s: waiting for data on port TCP %u\n",argv[0],SERVER_PORT); cliLen = sizeof(cliAddr); newSd = accept (sd, (struct sockaddr *) &cliAddr, &cliLen); if(newSd<0) { perror("cannot accept connection "); return ERROR; } // end if /* init line */ memset(line,0,MAX_MSG); /* receive segments */ if ( (len= read (newSd,line,MAX_MSG))> 0) { printf("%s: received from %s:TCP%d : %s\n", argv[0], inet_ntoa (cliAddr.sin_addr), ntohs (cliAddr.sin_port), line); write(newSd,line,len); } else printf("Error receiving data\n"); close (newSd); } //end if } //end while

CLIENT.C include #include #include /* close */ #define SERVER_PORT 1500 #define MAX_MSG 100 int main (int argc, char *argv[]) { int sd, rc, i; struct sockaddr_in servAddr; struct hostent *h; char msg[300]; if(argc < 3) { printf("usage: %s \n",argv[0]); exit(1); } h = gethostbyname (argv[1]); if (h==NULL) { printf("%s: unknown host '%s'\n",argv[0],argv[1]); exit(1); } servAddr.sin_family = h->h_addrtype; memcpy((char *) &servAddr.sin_addr.s_addr, h->h_addr_list[0], h->h_length); servAddr.sin_port = htons (SERVER_PORT);

/* create socket */ sd = socket (AF_INET, SOCK_STREAM, 0); if(sd<0) { perror("cannot open socket "); exit(1); } /* connect to server */ rc = connect (sd, (struct sockaddr *) &servAddr, sizeof(servAddr)); if(rc<0) { perror("cannot connect "); exit(1); } write (rc, argv[1],strlen(argv[1]+1) ); read (rc, msg, 300); printf(”Received back: %s\n”, msg); close (rc); return 0; }