TCP: Reliable Data transfer 3


TCP: Reliable Data transfer

  • Reliable Data Transfer with TCP

    • Data transfer in TCP uses the Go-back-N sliding window protocol whereeach byte is assigned a sequence number


    • Example: Simple transfer (server has no data to send back to client)

        • Client sends a 10 bytes message:


        • Client accepts (update ACK#) message and sends ACK:


        • After client processed ACK:


        • NOTE:

            • Only acknowledge a TCP segment that:

                • has non-zero length data, or           
                • the SYN bit set or
                • the FIN bit set.

          If you acknowledge a zero-length TCP segment (such as an ACK message), then the "other side" will also acknowledge your zero-length ACK message...

          You would enter an infinite loop --- sending each other ACKs....

          Rule:       never ACK an ACK message !!!


    • Example: Bi-directional transfer (server returns a reply to client)

        • Client sends a 10 bytes message:


        • Server accepts (update ACK no) message (sends ACK) and sends a 30 bytes reply:


        • Clients accepts (update ACK no) message (sends ACK):


        • Server processes ACK:

          NOTE:

            • The TCP segment contains no data - the server must not send ACK for this segment !






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值