Network Programming TDC 561



Similar documents
IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP

Objectives of Lecture. Network Architecture. Protocols. Contents

Indian Institute of Technology Kharagpur. TCP/IP Part I. Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology

Ethernet. Ethernet. Network Devices

Chapter 11. User Datagram Protocol (UDP)

Network Models and Protocols

IP - The Internet Protocol

First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring

Transport Layer. Chapter 3.4. Think about

TCP/IP Fundamentals. OSI Seven Layer Model & Seminar Outline

Protocols and Architecture. Protocol Architecture.

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

Overview of TCP/IP. TCP/IP and Internet

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

8.2 The Internet Protocol

RARP: Reverse Address Resolution Protocol

Introduction to TCP/IP

PART OF THE PICTURE: The TCP/IP Communications Architecture

Computer Networks/DV2 Lab

Chapter 3. Internet Applications and Network Programming

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX

Slide 1 Introduction cnds@napier 1 Lecture 6 (Network Layer)

Transport and Network Layer

Limi Kalita / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3), 2014, Socket Programming

Algemene Theorie en Vaardigheden 2. April 2014 Theaterschool OTT-2 1

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

The TCP/IP Reference Model

CONNECTING WINDOWS XP PROFESSIONAL TO A NETWORK

CPS221 Lecture: Layered Network Architecture

Protocols. Packets. What's in an IP packet

Guide to TCP/IP, Third Edition. Chapter 3: Data Link and Network Layer TCP/IP Protocols

EITF25 Internet Techniques and Applications L5: Wide Area Networks (WAN) Stefan Höst

IP address format: Dotted decimal notation:

Transport Layer Protocols

Internet Architecture and Philosophy

Internet Protocols. Background CHAPTER

Basic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet

TCP/IP and the Internet

Network Models OSI vs. TCP/IP

Lecture 28: Internet Protocols

Address Resolution Protocol (ARP), Reverse ARP, Internet Protocol (IP)

Unix System Administration

How do I get to

Lecture Computer Networks

Introduction To Computer Networking

Network Security TCP/IP Refresher

What is CSG150 about? Fundamentals of Computer Networking. Course Outline. Lecture 1 Outline. Guevara Noubir noubir@ccs.neu.

Mathatma Gandhi University

Networking Test 4 Study Guide

Socket = an interface connection between two (dissimilar) pipes. OS provides this API to connect applications to networks. home.comcast.

Guide to Network Defense and Countermeasures Third Edition. Chapter 2 TCP/IP

TCP/IP Fundamentals. Edmund Lam IT Audit Manager University of California 7/25/99 1

ICS 153 Introduction to Computer Networks. Inst: Chris Davison

Mobile IP Network Layer Lesson 02 TCP/IP Suite and IP Protocol

Computer Networks CS321

1 Data information is sent onto the network cable using which of the following? A Communication protocol B Data packet

The OSI and TCP/IP Models. Lesson 2

Writing Client/Server Programs in C Using Sockets (A Tutorial) Part I. Session Greg Granger grgran@sas. sas.com. SAS/C & C++ Support

Internetworking and IP Address

Internetworking. Problem: There is more than one network (heterogeneity & scale)

TCP/IP Protocol Suite. Marshal Miller Chris Chase

Review: Lecture 1 - Internet History

Internet Concepts. What is a Network?

Topics. Computer Networks. Let s Get Started! Computer Networks: Our Definition. How are Networks Used by Computers? Computer Network Components

Computer Networks/DV2 Lab

Raritan Valley Community College Academic Course Outline. CISY Advanced Computer Networking

Network Programming with Sockets. Process Management in UNIX

Introduction to IP networking

IP Networking. Overview. Networks Impact Daily Life. IP Networking - Part 1. How Networks Impact Daily Life. How Networks Impact Daily Life

finger, ftp, host, hostname, mesg, rcp, rlogin, rsh, scp, sftp, slogin, ssh, talk, telnet, users, w, walla, who, write,...

Basic Operation & Management of TCP/IP Networks

CSIS CSIS 3230 Spring Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture

Interconnection of Heterogeneous Networks. Internetworking. Service model. Addressing Address mapping Automatic host configuration

EXPLORER. TFT Filter CONFIGURATION

Internet Working 5 th lecture. Chair of Communication Systems Department of Applied Sciences University of Freiburg 2004

Overview of Computer Networks

Data Communication Networks and Converged Networks

Protocol Specification & Design. The Internet and its Protocols. Course Outline (trivia) Introduction to the Subject Teaching Methods

Lecture 8. IP Fundamentals

Introduction to Socket Programming Part I : TCP Clients, Servers; Host information

Chapter 3: Review of Important Networking Concepts. Magda El Zarki Dept. of CS UC Irvine

Solution of Exercise Sheet 5

LESSON Networking Fundamentals. Understand TCP/IP

The TCP/IP Protocol Suite

: Interconnecting Cisco Networking Devices Part 1 v2.0 (ICND1)

CS335 Sample Questions for Exam #2

Introduction to Analyzer and the ARP protocol

OSI Model. Application Presentation Session Transport Network Data Link Physical. EE156 Computer Network Architecture

Chapter 5. Transport layer protocols

ΕΠΛ 674: Εργαστήριο 5 Firewalls

TCP Performance Management for Dummies

ICOM : Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM

TCP/IP Networking Terms you ll need to understand: Techniques you ll need to master:

Data Communication Networks Introduction

CSET 4750 Computer Networks and Data Communications (4 semester credit hours) CSET Required IT Required

TCP/IP Basis. OSI Model

Network Layer: Network Layer and IP Protocol

Network Layer IPv4. Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS. School of Computing, UNF

CSCI 362 Computer and Network Security

Transcription:

Network Programming TDC 561 Lecture # 1 Dr. Ehab S. Al-Shaer School of Computer Science & Telecommunication DePaul University Chicago, IL 1 Network Programming Goals of this Course: Studying, evaluating and developing alternative client-server network architectures Perquisites Text Books Assignments and the course Project Rules and Policies What do you expect? Applications of this course 2 Applications of Network Programming Network Tools traditional: telnet, ftp, rsh, rlogin, SMTP, Internet Tools gopher, HTTP, NTP, Chat rooms Collaborative Tools Application Sharing, Desktop Conferencing, Distance Learning Distributed Object Computing SUN RPC, CORBA, JAVA RMI Distributed Databases 3 1

IRI: Interactive Distance Learning 4 MASH: Internet-based Video Conferencing 5 Network Overview OSI Seven Layer Model Layering (service abstraction) Problem decomposition Modular design Interoperability OSI Principles: Different level of abstraction Well-defined functions Supporting open system Well-defined interfaces (layers boundaries) Different functions are in different layers 6 2

Network Overview OSI Seven Layer Model OSI Seven Layers - Physical Layer - Transport Layer - Data Link Layer - Session Layer - Network Layer - Presentation Layer - Application Layer Internet (TCP/IP) Model - Application Layer (telnet, ftp) - Transport Layer (TCP) - Network Layer (IP) - Host-to-Network: device drivers of various MAC protocols (Ethernet, token-ring) 7 TCP/IP Overview (Transmission Control Protocol/Internet Protocol) Internet Protocol (IPv4 and IPv6) IP is the network layer: a packet delivery service (host-to-host). Connectionless: each datagram is independent of all others. Unreliable: there is no guaranteed delivery Fragmentation / Reassembly (based on MTU). Routing. Error detection (link). 8 Class IP Address Formats A 0 NetID HostID B 10 NetID HostID C 110 NetID HostID D 1110 Multicast Address 8 bits 8 bits 8 bits 8 bits 9 3

TCP/IP Overview (cont.) IP Addresses 32 bit, Logical, unique eg. condor.cs.depaul.edu is 140.192.1.6 IP Packet Format: VERS HL TOS Fragment Length Datagram ID FLAG Fragment Offset TTL Protocol Header Checksum Source Address Destination Address Options (if any) Data 10 ARP (Address Resolution Protocols) HEY - Everyone please listen! Will 128.213.1.5 please send me his/her Ethernet address not me Hi Red! I m 128.213.1.5, and my Ethernet address is 87:A2:15:35:02:C3 11 RARP (Reverse Address Resolution Protocols) HEY - Everyone please listen! My Ethernet address is22:bc:66:17:01:75. Does anyone know my IP address? not me Hi Red! Your IP address is 128.213.1.17. 12 4

Transport Layer of TCP/IP IP is the network protocols, means TCP is the transport protocol, right? Not exactly, TCP is part of the transport protocol, and the other part is UDP (User Datagram Protocol). Ports Abstract destination point 16 bit positive integer for UDP and TCP Reserved/ Well-known ports: 1-1023 Registered ports: 1024-49151 Dynamic ports: 49151-65535 13 Process Process Process Layer TCP UDP Transport Layer IP Network Layer Hardware Data-Link Layer 14 Transport Layer of TCP/IP TCP supports: Connection-oriented (establish, terminate, notify) Reliable (ordered, no loose, and no duplicates) Buffering (configurable, though) Byte stream Full-duplex UDP supports: Connectionless Unreliable Message stream (Datagram) 15 Full-duplex 5

TCP Segment Format Source Port Destination Port Sequence Number Request Number offset Reser. Control Window Checksum Urgent Pointer Options (if any) Data 16 TCP/IP Overview UDP Datagram Format Source Port Length Destination Port Checksum Data Hmmmmm, Which one to use: TCP or UDP? 17 Client-Server Architecture Design Terminology A client initiates communication A server waits for incoming requests Integrated model (e.g. server as client) Does TCP/IP care? Client-Server Paradigms Message passing (Synch and Asynch) Remote Procedure Call (Syncg and Asynch) 18 6

Client-Server Architecture Design (cont.) Client-Server Communication Models Point-to-point Vs. Multi-point/Group A client to multiple servers A server to multiple clients Broadcast Vs. Multicast Connection-oriented Vs. Connectionless 19 Client-Server Architecture Design (cont.) Servers Design Issues System Ports Vs. User Ports Statefull Vs. Stateless Servers Privileges and Complexity: authentication, authorization, data sharing, privacy, protection Robustness and Reliability Client or Message Independent Client or Message Independent (dispatching) Concurrency - Multi-processes - Multi-threaded - I/O Multiplexing - Asynchronous I/O 20 Client-Server Architecture Design (cont.) Client Design Issues Server Independent (dispatching) Stateless Protocol/Messages (e.g. slide tool) Rich and Flexible Parameters (e.g. telnet ) 21 7

Sockets Programming Network API Socket Structures Socket Functions 22 Network Application Programming Interface (API) The services provided by the operating system that provide the interface between application and protocol software. Application Network API Protocol A Protocol B Protocol C 23 Network API Generic Programming Interface. Support for message oriented and connection oriented communication. Uses the existing I/O services Operating System independence. Support multiple communication protocol suites (families): IPv4, IPv6, XNS, UNIX. Provide special services for Client and Server? 24 8

TCP/IP There are a variety of APIs for use with TCP/IP: Sockets TLI Winsock MacTCP 25 Functions needed Specify local and remote communication endpoints Initiate a connection Wait for incoming connection Send and receive data Terminate a connection gracefully Error handling 26 Berkeley Sockets Generic: support for multiple protocol families. address representation independence Uses existing I/O programming interface as much as possible. 27 9

Unix Descriptor Table Descriptor Table 0 1 2 3 4 Data structure for file 0 Data structure for file 1 Data structure for file 2 28 Socket A socket is a process-level abstract representation of a communication endpoint. Sockets work with Unix I/O services just like files, pipes & FIFOs. Sockets (obviously) have special needs: establishing a connection specifying communication endpoint addresses 29 10