5 - Unix Net Prog

5 - Unix Net Prog - Last Lecture Introduction to Networking...

Info icon This preview shows pages 1–10. Sign up to view the full content.

View Full Document Right Arrow Icon
Last Lecture Introduction to Networking and the Internet Protocol Architecture SUNY at Buffalo; CSE 489/589 – Modern Networking Concepts; Fall 2010; Instructor: Hung Q. Ngo 1
Image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
This Lecture Elementary BSD socket API for network programming in C under Unix Client/server design alternatives ( No time for ) Some brief mentioning of several advanced features Multicasting/broadcasting, Socket options, IPv4/v6, interoperability, Daemon processes, Raw sockets, Out of band data SUNY at Buffalo; CSE 489/589 – Modern Networking Concepts; Fall 2010; Instructor: Hung Q. Ngo 2
Image of page 2
TCP/IP Protocol Suite – A Reminder SUNY at Buffalo; CSE 489/589 – Modern Networking Concepts; Fall 2010; Instructor: Hung Q. Ngo 3 Supports Network Applications Transports applications’ messages TCP: connection-oriented, reliable UDP: connectionless, unreliable Routes data packets from hosts to hosts IP: Internet Protocol, and many routing protocols Deals with algorithms to achieve reliable, efficient communication between two adjacent machines Moves raw bits (0/1) between adjacent nodes depending on the physical medium used
Image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
TCP Overview Establish connection : 3-way handshake Data transmission Byte-stream service Reliable (retransmission with timer) In-order delivery (reorder packets if necessary) Support flow control (fast sender vs slow receiver) Full-duplex (data transferred both ways) Close connection SUNY at Buffalo; CSE 489/589 – Modern Networking Concepts; Fall 2010; Instructor: Hung Q. Ngo 4
Image of page 4
Typical TCP Client-Server SUNY at Buffalo; CSE 489/589 – Modern Networking Concepts; Fall 2010; Instructor: Hung Q. Ngo 5
Image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Why Connection Establishment? TCP is a “ reliable ” transport protocol Before the protocol can be realized, connection establishment phase is needed for Allowing each side to know the other exists Negotiation of optional parameters Max segment size Initial Sequence Numbers (ISN) Triggering allocation of transport entity resources Buffer Timers (if any) The above are done by mutual agreement SUNY at Buffalo; CSE 489/589 – Modern Networking Concepts; Fall 2010; Instructor: Hung Q. Ngo 6
Image of page 6
TCP Connection Establishment Server gets ready ( socket, bind, listen ) Client gets ready ( socket ) Client requests connection ( connect ) SUNY at Buffalo; CSE 489/589 – Modern Networking Concepts; Fall 2010; Instructor: Hung Q. Ngo 7
Image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Timeout of Connection Establishment Retransmissions of SYNs (typically on Unix): 6 seconds after the first SYN 24 seconds after the second SYN 48 seconds after the third SYN give up Most Berkeley derived OSs have an upper limit of 75 sec In reality, there is one timer that goes off every 500ms All timeouts are based on this timer (just a count of the number of ticks) SUNY at Buffalo; CSE 489/589 – Modern Networking Concepts; Fall 2010; Instructor: Hung Q. Ngo 8
Image of page 8
Tips and Tricks What’s a quick way to find out how long your machine’s TCP module would try to establish a connection?
Image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 10
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern