TCP是一种可靠的,面向连接的全双工传输层协议。
TCP连接的建立是一个三次握手的过程。如图所示:
第一次握手:主机A发送一个标识了 SYN的数据段,表示希望与服务器A建立连接,此数据段的序列号( seq )为a。
第二次握手:服务器A回复标识了SYN+ ACK的数据段,此数据段的序列号( seq )为b ,确认序列号为主机A的序列号加1 ( a+1 ) ,此过程作为对主机A的SYN报文的确认。
第三次握手:主机A发送一个标识了ACK的数据段,此数据段的序列号( seq )为a+1 ,确认序列号为服务器A的序列号加1 ( b+1 ) ,以此作为对服务器A的SYN报文的确认。
TCP连接的建立是一个三次握手的过程,而TCP连接的终止则要经过四次握手。
第一次:主机A想终止连接,于是发送一个标识了FIN,ACK的数据段,列号为a ,确认序列号为b。
第二次:服务器A回应一个标识了ACK的数据段,列号为b , 确认号为a+1 ,作为对主机A的FIN报文的确认。
第三次:服务器A想终止连接,于是向主机A发送一个标识了FIN ,ACK的数据段,序列号为a,确认列号为a+1。
第四次主机A回应一个标识了ACK的数据段,列号为a+1 ,确认序号为b+1 ,作为对服务器A的FIN报文的确认。
以上四次交互便完成了两个方向连接的关闭。
TCP是- -种面向连接的传输层协议,可提供可靠的传输服务。UDP是一种面向无连接的传输层协议,传输可靠性没有保证。
UDP头部仅占8字节,传输数据时没有确认机制。UDP不提供重传机制,占用资源小,处理效率高。
流模式(TCP)与数据报模式(UDP),TCP保证数据安全,而UDP可能丢包。TCP保证数据顺序,UDP不保证。
linux操作系统下双网卡绑定有七种模式。现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多。inux 多网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6
常用的有三种
mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。
mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。
mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。
下面介绍网卡绑定bond0的实现过程:
/etc/sysconfig/network-scripts/ifcfg-bond0 NAME=bond0 TYPE=bond DEVICE=bond0 BOOTPROTO=none IPADDR=10.0.0.100 PREFIX=8 /etc/sysconfig/network-scripts/ifcfg-eth0 NAME=eth0 DEVICE=eth0 BOOTPROTO=none MASTER=bond0 SLAVE=yes ONBOOT=yes /etc/sysconfig/network-scripts/ifcfg-eth1 NAME=eth1 DEVICE=eth1 BOOTPROTO=none MASTER=bond0 SLAVE=yes ONBOOT=yes
/proc/net/bonding/bond0