1 / 14

Advanced UNIX programming

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. Announcements. Reading assignment Chapters 1 and 2 of Unix Network programming Chapters 3 and 4

adonai
Download Presentation

Advanced UNIX programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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. Introduction • 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

  5. Introduction ... continued • 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

  6. Overview of TCP/IP • 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

  7. Overview of TCP/IP ... continued • 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)

  8. UDP: User Datagram Protocol • 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

  9. TCP: Transmission control protocol • 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:

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

  11. TCP connection establishment and termination • 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

  12. TCP state transition Diagram (Figure 2.4 from text)

  13. Packet exchange for TCP connection • See Figure 2.5 from text

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

More Related