1、总结描述TCP三次握手四次挥手
三次握手
第一次握手:建立连接时,Client将标志位SYN置为1,序号seq=j(也可能是其他),并发送该SYN包到Server端,进入SYN_SEND状态,等待Server确认
第二次握手:Server收到SYN包,由标志位SYN=1知道Client请求连接,Server要给Client确认,确认包中标志位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,并将该包回复给Server,Server检查ack是否为k+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,Client和Server开始传送数据
四次挥手
第一次挥手:Client发送一个FIN给Server,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态
第二次挥手:Server收到FIN后,发送一个ACK给Clinet,确认序号为收到序号+1,Server进入CLOSE_WAIT状态
第三次挥手:Server发送一个FIN给Clinet,用来关闭Server到Client的数据传送,Server进入到LAST_ACK状态
第四次挥手:Clinet收到FIN后,进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLose状态,完成四次握手.
2、描述TCP和UDP区别
协议区别 | TCP | UDP |
---|---|---|
数据包发送 | 对数据进行分包 | 不分包,一次发送全部内容 |
连接 | 需要建立 | 不需要建立,单向传输 |
传输性能 | 不高,需要多次确认 | 高 |
交付 | 完整交付,丢失会重传,保证到达 | 无法保证可靠交付,丢失不会重传 |
数据类型 | 数据段 | 数据报,应用层给多少,就包装多少,一次传输一个报文 |
首部 | 20字节 | 8字节 |
拥堵控制 | 有 | 没有 |
3、总结ip分类以及每个分类可以分配的IP数量
分类 | 说明 | 可分配IP数 |
---|---|---|
A | 网络ID最高8位,主机ID24位低位 | 2^24-2=16777214 |
B | 网络ID最高16位,主机ID16位低位 | 2^16-2=65534 |
C | 网络ID最高24位,主机ID8位低位 | 2^8-2=254 |
D | 组播1110 0000 - 1110 1111.X.Y.Z: 224-239.X.Y.Z | |
E | 保留未使用,240-255 |
4、总结IP配置方法
IP配置可以动态DHCP配置,也可以静态指定配置
需要更改/etc/sysconfig/network-scripts/ifcfg-xx
开头的文件
# 静态IP配置
TYPE=Ethernet
IPADDR=10.0.0.81
PREFIX=8
GATEWAY=10.0.0.1
DNS1=10.0.0.8 # 也可以改成其他的
NAME=eth0
DEVICE=eth0
ONBOOT=yes
# 动态IP配置
BOOTPROTO=dhcp
NAME=eth0
DEVICE=eth0
ONBOOT=yes
可以使用 ifconfig\ip\nmcli命令配置IP地址
命令 | 创建IP |
---|---|
ifconfig | ifconfig eth0 192.168.1.125/24 |
ip | ip addr add 192.168.1.125/24 dev eth0 |
nuclei | nmcli c modify eth0 +ipv4.addresses 192.168.1.125/24 |
5、使用nmcli实现bonding
bonding 将多网卡绑定同一IP对外提供服务,实现高可用或负载均衡
使用配置文件实现
/etc/sysconfig/network-scripts/ifcfg-bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=10.0.0.100 # 共用的IP地址,对外提供服务
PREFIX=8
#miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一 条线路不通就转入另一条线路
BONDING_OPTS="mode=1 miimon=100"
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
使用nmcli实现
#添加bonding接口
nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup #添加从属接口
nmcli con add type bond-slave ifname eth0 master bond0
nmcli con add type bond-slave ifname eth1 master bond0 #注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
#要启动绑定,则必须首先启动从属接口
nmcli con up bond-slave-eth0
nmcli con up bond-slave-eth1
#启动绑定
nmcli con up mybond0
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。