计算机网络-网络层(五)下

一:TCP概述

    1:特点

        (1):TCP是面向连接的运输层协议,在使用之前需要先建立TCP连接,传输结束之后,需要释放连接。

        (2):每个TCP连接只能有两个端点

        (3):TCP提供可靠交付服务,通过TCP传送的数据 无差错、不丢失、不重复、按序到达

        (4):TCP提供全双工通信    允许应用进程在任何时间发送数据。

        (5):面向字节流 TCP根据对方所给的窗口值和当前的网络拥塞情况来决定一个报文段应该包含多少个字节。

    2:TCP的连接

            使用套接字连接 也就是  ip地址:端口号

     3:可靠传输的工作原理

            (1):停止等待协议     

                           无差错情况下    发送M1-确认M1-发送M2-确认M2...

              (2):出现差错

                        使用超时重传策略,每次发送一个分组之后就设置一个超时计时器,并且在发送完一个分组之后,暂时保留已发送的分组的副本

                        分组和确认分组都必须进行编号            

                        超时计时器设置的重传时间应当数据在分组传输的平均往返时间更长一些。

    4:连续ARQ协议

            发送方维持发送窗口,窗口内的分组可以一次发送出去,接收方使用累积确认的方式,对按序到达的最后一个分组发送确认。

  二:TCP报文的首部格式

        1:TCP报文段的前20字节是固定的

                源端口和目的端口   各占用2字节        序号  4字节            确认号    4字节            数据偏移    4位

                保留    6位    紧急URG        确认ACK        推送        复位        同步 SYN    终止SYN  窗口    检验和        紧急指针        选项

三:TCP可靠传输的实现

    以字节为单位的滑动窗口,当对方的通知窗口缩小了,可向后收缩,对按序收到的数据中的最高序号给出确认

    超时重传的时间选择

    RTT  报文段的往返时间            RTTS     加权平均往返时间                新的RTTS=(1-a)*旧的RTTS+ a*新的RTT

 其中a的选择影响新的RTTS的值偏向于新值还是旧值。推荐位0.125

    RTO超时重传时间   应大于上述的RTTS

    RTO=RTTS+4*RTTD

RTTD是RTT的偏差加权平均值 

        新的RTTD=(1-b)* (旧的RTTD) +B*|RTTS-新的RTT样本|

  选择确认SACK

        对收到的数据中缺失的部分描述。左边界和右边界

四:TCP的连接

 三次握手: 

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。

第二次握手服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:

四次挥手

(1)四次握手过程
  假设主机A为客户端,主机B为服务器,其释放TCP连接的过程如下:
    1) 关闭客户端到服务器的连接:首先客户端A发送一个FIN,用来关闭客户到服务器的数据传送,然后等待服务器的确认。其中终止标志位FIN=1,序列号seq=u
   2) 服务器收到这个FIN,它发回一个ACK,确认号ack为收到的序号加1。
   3) 关闭服务器到客户端的连接:也是发送一个FIN给客户端。
   4) 客户段收到FIN后,并发回一个ACK报文确认,并将确认序号seq设置为收到序号加1。
     首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。








  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值