Jaimin chp-6 - transport layer- 2011 batch


Published on

GTU-MCA-SEM IV - Fundamentals of Networking

Published in: Education
1 Comment
  • Hi! Would you mind to share slide thru my emails? pingolluz@gmail.com..Thanks!
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • The UDP checksum provides for error detection. UDP at the sender side performs the one's complement of the sum of all the 16-bit words in the segment. This result is put in the checksum field of the UDP segment. You can find details about efficient implementation of the calculation in the RFC 1071 and performance over real data in [ Stone 1998 and Stone 2000 ].
  • Jaimin chp-6 - transport layer- 2011 batch

    1. 1. Chapter 6
    2. 2. <ul><li>It’s task is to provide efficient, reliable and cost-effective transport from the source to destination. </li></ul><ul><li>Hardware and/or Software within transport layer that does the work is called Transport entity . </li></ul><ul><li>Transport layer services: </li></ul><ul><ul><li>Connectionless </li></ul></ul><ul><ul><li>Connection-oriented </li></ul></ul><ul><li>Very similar to Network layer! So why we need this layer?! </li></ul><ul><ul><li>Transport layer runs on user’s machine, Network layer mostly runs on routers and result inadequate services. </li></ul></ul><ul><li>Provides Primitive functions to application layer for programmers. </li></ul>
    3. 3. <ul><li>Network layer: logical communication between hosts </li></ul><ul><li>Transport layer: logical communication between processes </li></ul><ul><ul><li>relies on, enhances, network layer services </li></ul></ul><ul><li>University analogy: </li></ul><ul><li>7 students sending letters to 7 students </li></ul><ul><li>processes = students </li></ul><ul><li>app messages = letters in envelopes </li></ul><ul><li>hosts = universities </li></ul><ul><li>transport protocol = post office of universities </li></ul><ul><li>network-layer protocol = postal service </li></ul>
    4. 4. <ul><li>The primitives for a simple transport service: </li></ul><ul><li>Nesting of TPDU (Transport Protocol Data Unit) , packets and frames: </li></ul>
    5. 5. <ul><li>Connection/Transmission scenario: </li></ul>Listen Connect Connection Request TPDU Connection Accept TPDU Send Receive Send Receive Data Disconnect Disconnect TPDU Send Disconnect Host A Host B
    6. 6. Transport Service Access Pint = Port No. Network Service Access Pint = IP No.
    7. 7. <ul><li>Two types: </li></ul><ul><ul><li>UDP (User Datagram Protocol) </li></ul></ul><ul><ul><ul><li>Connectionless transport, Like IP! </li></ul></ul></ul><ul><ul><ul><li>unreliable, unordered delivery </li></ul></ul></ul><ul><ul><li>TCP: Transmission Control Protocol </li></ul></ul><ul><ul><ul><li>Connection-oriented transport </li></ul></ul></ul><ul><ul><ul><li>reliable, in-order delivery (TCP) </li></ul></ul></ul><ul><ul><ul><li>Congestion control </li></ul></ul></ul><ul><ul><ul><li>Flow control </li></ul></ul></ul><ul><ul><ul><li>Connection setup </li></ul></ul></ul>
    8. 8. <ul><li>N o connection establishment (which can add delay) </li></ul><ul><li>Simple: no connection state at sender, receiver </li></ul><ul><li>Small segment header </li></ul><ul><li>No congestion control: UDP can blast away as fast as desired </li></ul><ul><li>UDP segments may be: </li></ul><ul><ul><li>lost </li></ul></ul><ul><ul><li>delivered out of order to app </li></ul></ul><ul><li>Applications: </li></ul><ul><ul><li>RPC: Remote Procedure Call </li></ul></ul><ul><ul><ul><li>In DNS servers </li></ul></ul></ul><ul><ul><li>RTP: Real-Time Transport Protocol </li></ul></ul><ul><ul><ul><li>Audio, video, … </li></ul></ul></ul>
    9. 9. <ul><li>Reliable transfer over UDP: add reliability at application layer </li></ul><ul><ul><li>application-specific error recovery! </li></ul></ul><ul><li>UDP segment format </li></ul>source port # dest port # 32 bits Application data (message) length checksum Length, in bytes of UDP segment, including header
    10. 10. <ul><li>Full duplex data: </li></ul><ul><ul><li>bi-directional data flow in same connection </li></ul></ul><ul><li>Connection-oriented: </li></ul><ul><ul><li>handshaking (exchange of control msgs) init’s sender, receiver state before data exchange </li></ul></ul><ul><li>Flow controlled: </li></ul><ul><ul><li>sender will not overwhelm receiver </li></ul></ul><ul><li>Point-to-point: </li></ul><ul><ul><li>one sender, one receiver </li></ul></ul><ul><li>Reliable, in-order byte steam: </li></ul><ul><ul><li>no “message boundaries” </li></ul></ul><ul><li>Pipelined: </li></ul><ul><ul><li>TCP congestion and flow control set window size </li></ul></ul><ul><li>send & receive buffers </li></ul>Process writes data TCP send buffer Socket Process reads data TCP receive buffer Socket segment segment
    11. 11. <ul><li>A TCP entity accepts user data stream and breaks them to segments . </li></ul><ul><li>For obtaining TCP services, both sender and receiver creating end points called sockets . </li></ul><ul><li>Socket No.= IP address of machine+ 16 bits local add. (Port No.) </li></ul><ul><li>Port No.s bellow 1024 are called Well-known ports </li></ul><ul><li>TCP does not support multicasting or broadcasting </li></ul>
    12. 12. <ul><li>Some standard ports : </li></ul>Port Protocol Use 21 FTP File transfer 23 Telnet Remote login 25 SMTP E-mail 69 TFTP Trivial File Transfer Protocol 79 Finger Lookup info about a user 80 HTTP World Wide Web 110 POP-3 Remote e-mail access 119 NNTP USENET news
    13. 13. source port # dest port # 32 bits application data (variable length) sequence number acknowledgement number Receive window Urg data pnter checksum F S R P A U head len not used Options (variable length) URG: urgent data (generally not used) ACK: ACK # valid PSH: push data now (generally not used) RST, SYN, FIN: connection estab (setup, teardown commands) # bytes rcvr willing to accept Internet checksum (as in UDP) window scaling factor, Time-stamping, maximum segment length,… RFCs: 854, 1323 [4Bytes] seq # is byte-stream number of first data byte in segment
    14. 14. <ul><li>Connection Establishment </li></ul><ul><ul><li>Tree-way handshaking </li></ul></ul><ul><ul><li>Use Sliding Window Protocol </li></ul></ul><ul><ul><ul><li>Go-Back-N and Selective Repeat </li></ul></ul></ul>Host B Host A
    15. 15. <ul><li>Services Provided to the Upper Layers </li></ul><ul><li>Transport Service Primitives </li></ul><ul><li>Berkeley Sockets </li></ul><ul><li>An Example of Socket Programming: </li></ul><ul><ul><li>An Internet File Server </li></ul></ul>
    16. 16. <ul><li>The network, transport, and application layers. </li></ul>
    17. 17. <ul><li>The primitives for a simple transport service. </li></ul>
    18. 18. <ul><li>The nesting of TPDUs, packets, and frames. </li></ul>
    19. 19. A state diagram for a simple connection management scheme. Transitions labeled in italics are caused by packet arrivals. The solid lines show the client's state sequence. The dashed lines show the server's state sequence.
    20. 20. <ul><li>The socket primitives for TCP. </li></ul>
    21. 21. <ul><li>Addressing </li></ul><ul><li>Connection Establishment </li></ul><ul><li>Connection Release </li></ul><ul><li>Flow Control and Buffering </li></ul><ul><li>Multiplexing </li></ul><ul><li>Crash Recovery </li></ul>
    22. 22. <ul><li>(a) Environment of the data link layer. </li></ul><ul><li>(b) Environment of the transport layer. </li></ul>
    23. 23. <ul><li>TSAPs, NSAPs and transport connections. </li></ul>
    24. 24. <ul><li>How a user process in host 1 establishes a connection with a time-of-day server in host 2. </li></ul>
    25. 25. <ul><li>(a) TPDUs may not enter the forbidden region. </li></ul><ul><li>(b) The resynchronization problem. </li></ul>
    26. 29. Three protocol scenarios for establishing a connection using a three-way handshake. CR denotes CONNECTION REQUEST. (a) Normal operation, (b) Old CONNECTION REQUEST appearing out of nowhere. (c) Duplicate CONNECTION REQUEST and duplicate ACK.
    27. 30. <ul><li>Abrupt disconnection with loss of data. </li></ul>
    28. 31. <ul><li>The two-army problem. </li></ul>
    29. 32. <ul><li>Fou </li></ul><ul><li>(a) Normal case of a three-way handshake. (b) final ACK lost. </li></ul>6-14, a, b
    30. 33. <ul><li>(c) Response lost. ( d) Response lost and subsequent DRs lost. </li></ul>6-14, c,d
    31. 35. <ul><li>(a) TCP header. (b) IP header. In both cases, the shaded fields are taken from the prototype without change. </li></ul>