一、tcp_write_xmit()将发送队列上的SBK发送出去,返回值为0表示发送成功。函数执行过程如下: 1、检测拥塞窗口的大小。 2、检测当前报文是否完全处在发送窗口内。 3、检测报文是否使用nagle算法进行发送。 4、通过以上检测后将该SKB发送出去。 5、循环检测发送队列上所有未发送的SKB。 static int tcp_write_xmit(s...
tcp_write_xmit函数完成对待发送数据的分段发送,过程中会遍历发送队列,进行窗口检查,需要TSO分段则分段,然后调用tcp_transmit_skb发送数据段; 源码分析 1staticbooltcp_write_xmit(structsock *sk, unsignedintmss_now,intnonagle,2intpush_one, gfp_t gfp)3{4structtcp_sock *tp =tcp_sk(sk);5structsk_buff...
一、tcp_write_xmit()将发送队列上的SBK发送出去,返回值为0表示发送成功。函数执行过程如下: 1、检测拥塞窗口的大小。 2、检测当前报文是否完全处在发送窗口内。 3、检测报文是否使用nagle算法进行发送。 4、通过以上检测后将该SKB发送出去。 5、循环检测发送队列上所有未发送的SKB。 staticinttcp_write_xmit(struc...
TCP协议 2019-12-05 20:21 −TCP协议 三次握手,四次回收 TCP协议建立双侠通道 三次握手,建立连接: 1.客户端向服务端发送建立连接的请求 2.服务端返回受到请求信息反馈给客户端,并且发送向客户端建立连接的请求 3.客户端接收到服务端发来的请求,建立双向连接完成 四次挥手,断开连接: 1.客户端向服务段......
一、tcp_write_xmit()将发送队列上的SBK发送出去,返回值为0表示发送成功。函数执行过程如下: 1、检测拥塞窗口的大小。 2、检测当前报文是否完全处在发送窗口内。 3、检测报文是否使用nagle算法进行发送。 4、通过以上检测后将该SKB发送出去。 5、循环检测发送队列上所有未发送的SKB。
tcp_write_xmit函数完成对待发送数据的分段发送,过程中会遍历发送队列,进行窗口检查,需要TSO分段则分段,然后调用tcp_transmit_skb发送数据段; 源码分析 1staticbooltcp_write_xmit(structsock *sk, unsignedintmss_now,intnonagle,2intpush_one, gfp_t gfp)3{4structtcp_sock *tp =tcp_sk(sk);5structsk_buff...
一、tcp_write_xmit()将发送队列上的SBK发送出去,返回值为0表示发送成功。函数执行过程如下: 1、检测拥塞窗口的大小。 2、检测当前报文是否完全处在发送窗口内。 3、检测报文是否使用nagle算法进行发送。 4、通过以上检测后将该SKB发送出去。 5、循环检测发送队列上所有未发送的SKB。
一、tcp_write_xmit()将发送队列上的SBK发送出去,返回值为0表示发送成功。函数执行过程如下: 1、检测拥塞窗口的大小。 2、检测当前报文是否完全处在发送窗口内。 3、检测报文是否使用nagle算法进行发送。 4、通过以上检测后将该SKB发送出去。 5、循环检测发送队列上所有未发送的SKB。