当前位置: 首页 > Linux

W6网络

时间:2023-04-06 07:07:14 Linux

1.概要描述TCP三次握手,四次握手,三次握手,第一次握手:建立连接时,Client设置标志位SYN为1,序列号seq=j(或其他),以及向Server端发送SYN包,进入SYN_SEND状态,等待服务器确认第二次握手:服务器收到SYN包,标志位SYN=1知道客户端请求连接,服务器需要向客户端确认,确认包中的标志位SYN和ACK都为1,ack=j+1,序列号seq=k,发送完SYN+ACK包后,Server第三次进入SYN_RECV状态握手:Client收到Server的SYN+ACK包,检查ack是否为j+1,ACK是否为1,如果正确则设置标志位ACK为1,ack=k+1,回复数据包到服务器。服务器检查ack是否为k+1,ACK是否为1,如果正确则连接建立成功,client和server进入ESTABLISHED状态完成三次握手后,Client和Server开始建立连接传输数据并挥手四次。第一波:Client发送一个FIN给Server,关闭Client到Server的数据传输。客户端进入FIN_WAIT_1状态。第二次挥手:Server收到FIN,向Clinet发送ACK,确认序号为收到序号+1,Server进入CLOSE_WAIT状态第三次挥手:Server向Clinet发送FIN关闭数据服务端发送给客户端,服务端第四次进入LAST_ACK状态Waving:Clinet收到FIN后,进入TIME_WAIT状态,然后向服务端发送ACK,确认序号是收到的序号+1,服务器进入CLose状态,完成四次握手。2.描述TCP和UDP的区别。发送不分包数据,一次发送所有内容。连接需要建立和不需要建立。单向传输的传输性能不高。需要多次确认高交和完交。如果丢失,将重新传输。保证到达不能保证可靠的交付。丢了不会重传数据类型的数据段数据报,应用层给多少,打包多少,一次传输一个消息头20字节8字节有拥塞控制吗?3.总结IP分类及每个分类可分配的IP数量分类说明可分配IP个数A网络ID最多8位,主机ID24位,低位2^24-2=16777214B网络ID高16位,主机ID高16位,低位2^16-2=65534C网络ID最多24位,主机ID低8位2^8-2=254D组播11100000-11101111.X.Y.Z:224-239.X.Y.ZEreservedforunused,240-2554.总结IP配置方法IP配置可以动态DHCP配置,也可以静态指定配置改/etc/sysconfig/network-scripts/ifcfg-xx#开头的文件#静态IP配置TYPE=EthernetIPADDR=10.0.0.81PREFIX=8GATEWAY=10.0.0.1DNS1=10.0.0.8#也可以改成其他的NAME=eth0DEVICE=eth0ONBOOT=yes#动态IP配置BOOTPROTO=dhcpNAME=eth0DEVICE=eth0ONBOOT=yes可以使用ifconfig\ip\nmcli命令配置IP地址命令创建IPifconfigifconfigeth0192.168.1.125/24ipip地址添加192.168。1.125/24deveth0nucleinmclic修改eth0+ipv4.addresses192.168.1.125/245,使用nmcli实现bondingbonding绑定多个网卡到同一个IP对外提供服务实现高可用或者负载均衡使用配置文件实现/etc/sysconfig/network-scripts/ifcfg-bond0TYPE=bondDEVICE=bond0BOOTPROTO=noneIPADDR=10.0.0.100#共享IP地址,对外提供服务PREFIX=8#miimon指定链路监控时间间隔。如果miimon=100,那么系统每100ms监听一次链路连接状态,如果一条线路出现故障,则切换到另一条线路BONDING_OPTS="mode=1miimon=100"/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=noneMASTER=bond0SLAVE=yesONBOOT=yes/etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth1BOOTPROTO=noneMASTER=bond0SLAVE=yesONBOOT=yesusenmclitoimplement#Addbondinginterfacenmcliconaddtypebondcon-namemybond0ifnamebond0modeactive-backup#添加slave接口nmcliconaddtypebond-slaveifnameeth0masterbond0nmcliconaddtypebond-slaveifnameeth1masterbond0#注意:如果没有为slave接口提供连接名称,名称由接口名称加上类型组成#要启动bond,必须先启动slave接口nmcliconupbond-slave-eth0nmcliconupbond-slave-eth1#开始绑定nmcliconupmybond0