Presentation is loading. Please wait.

Presentation is loading. Please wait.

Advanced UNIX programming Fall 2002, lecture 16 Instructor: Ashok Srinivasan Acknowledgements: The syllabus and power point presentations are modified.

Similar presentations


Presentation on theme: "Advanced UNIX programming Fall 2002, lecture 16 Instructor: Ashok Srinivasan Acknowledgements: The syllabus and power point presentations are modified."— Presentation transcript:

1 Advanced UNIX programming Fall 2002, lecture 16 Instructor: Ashok Srinivasan Acknowledgements: The syllabus and power point presentations are modified versions of those by T. Baker and X. Yuan

2 Announcements Reading assignment –Chapters 1 and 2 of Unix Network programming –Chapters 3 and 4 No quiz Oct 7

3 Week 6 Topics Introduction to UNIX network programming –Introduction –Overview of TCP/IP

4 Application layer (telnet, ssh, http, ftp, etc) –Things that we use daily Transport layer (TCP, UDP) –Allows processes (on different machines) to communicate (reliably or unreliably) with each other Network layer (IPv4, IPv6) –Handles routing, fragmentation, and internetworking Host to Network layer (Ethernet) –Communication between two machines that are directly connected Introduction

5 The entities that implement each layer can be processes, system calls, hardware, etc Protocol – Rules that govern how peer entities in the same layer (on different machines) communicate Each layer provides services to the upper layer defined by the service interface –Example: TCP service interface is defined by a set of system calls socket, bind, listen, accept, connect, read and write Introduction... continued

6 Some TCP/IP protocols: –TCP: transmission control protocol Connection-oriented, reliable, full duplex, byte stream service –UDP: User datagram protocol Connectionless, unreliable –IPv4: Internet Protocol, version 4. The protocol that glues the Internet together. Provides (unreliable) packet delivery service for TCP, UDP, ICMP, IGMP –IPv6: Internet Protocol, version 6. 128 bits address, newer version of Internet Protocol Overview of TCP/IP

7 Some TCP/IP protocols... continued –ICMP: Internet Control Message Protocol Handles errors and control information for IP (ping, traceroute) –IGMP: Internet Group Management Protocol Used in IP multicast Socket Programming –The use of TCP and UDP Can also access the lower layers directly (raw socket) Overview of TCP/IP... continued

8 Interface socket, bind, sendto, recvfrom Can also use the TCP interface (connect, read, write) Unreliable, connectionless service –Data may be lost, duplicated, or reordered –Client and server do not have any long term relation Can perform (unreliable) multicast UDP: User Datagram Protocol

9 Interface – socket, bind, listen, accept, connect, read, write, close An analogy Socket: telephone Bind: assign telephone number to a telephone Listen: turn on the ringer so that you can hear the phone call Connect: dial a phone number Accept: answer the phone Read and write: listening and talking Close: TCP: Transmission control protocol

10 Implementing reliable communication may require –Sequence number, acknowledgement, retransmission, timeout (RTT) –Sliding window protocol for efficiency –Flow control –Connection establishment and release Reliable communication

11 TCP connection establishment –Three way handshake –Figure 2.2 TCP connection termination –Four way handshake Can release the connection reliably Practical solution: make the client wait for a while –Figure 2.3 TCP connection establishment and termination

12 (Figure 2.4 from text) TCP state transition Diagram

13 See Figure 2.5 from text Packet exchange for TCP connection

14 Need both –Source IP address and port –Destination IP address and port Identifying a TCP connection


Download ppt "Advanced UNIX programming Fall 2002, lecture 16 Instructor: Ashok Srinivasan Acknowledgements: The syllabus and power point presentations are modified."

Similar presentations


Ads by Google