1、简述TCP三次握手
第一次握手
客户端发送确认报文到服务器(其首部内容 SYN=1 seq=x),并进入SYN_SENT状态,等待服务器确认
第二次握手
服务器收到包,同时自己也回应确认报文(其首部内容 SYN=1,ACK=1,ack=x+1,seq=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手
客户端收到服务器的报文,向服务器发送报文(其首部内容 ACK=1,ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手
至此,TCP连接就建立了,客户端和服务器可以愉快地玩耍了。只要通信双方没有一方发出连接释放的请求,连接就将一直保持
2、简述TCP和UDP的区别
1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接
2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
TCP通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制
3、UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。
4.每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
5、TCP对系统资源要求较多,UDP对系统资源要求较少
3、总结IP地址规划
总体分2种 有类无类
有类:A B C D E 还有一些额外的广播和私有地址
类型 范围 网络数 可分配主机数
A 0.0.0.0到127.255.255.255 2^7 2^24-2
B 128.0.0.0到191.255.255.255 2^14 2^16-2
C 192.0.0.0到223.255.255.255 2^21 2^8-2
D 224.0.0.0到239.255.255.255 组播地址
E 240.0.0.0到247.255.255.255 保留地址
特殊地址集合
0.0.0.0
0.0.0.0不是一个真正意义上的IP地址。它表示一个集合,在某些场景指
回还地址
127.0.0.0到127.255.255.255
本机回环地址,主要用于测试。在传输介质上永远不应该出现目的地址为?127.0.0.1”的 数据包
广播地址
255.255.255.255
限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机
组播地址
224.0.0.1特指所有主机,224.0.0.2特指所有路由器
windows错误地址
169.254.x.x
如果Windows主机使用了DHCP自动分配IP地址,而又无法从DHCP服务器获取地址,系统会为主机分配这样地址
私有地址集合
类型 范围
A 10.0.0.0~10.255.255.255
B 172.16.0.0~172.31.0.0
C 192.168.0.0~192.168.255.255
无类
CIDR 无类域间路由表示法 ip地址/子网掩码
不按照传统进行分类,而只是以X.X.X.X/Y为格式书写,Y是子网掩码位数,这种格式告知其子网划分
网络号 = ip和掩码的或与计算
4、总结常见网络管理命令
ifconfig #查看配置网卡
route #查看配置路由
traceroute #查看路由
tcpdump #抓包工具
ping #icmp协议,测试网络连接状态
netstat 与ss 功能差不多,本人更习惯于netstat
5、给定IP地址167.77.88.99和掩码255.255.255.192,子网号是什么?广播地址是什么?有效IP地址是什么?
167.77.88.01100011
255.255.255.11000000
167.77.88.01000000子网号等于167.77.88.64
广播地址167.77.88.64+2^6=128
有效地址167.77.88.65-127
6、添加IP地址192.168.2.2/24到eth0网卡上:
两种配置模式
临时
ifconfig eth0 192.168.2.2/24
永久
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=YES
BOOTPROTO=STATIC
IPADDR=192.168.2.2
NETMASK=255.255.255.0
#PREFIX=24 两选一即可
#重启网络服务
service NetworkManager stop
service network restart
7、总结网络组创建方法,并实例演示创建网络组
范例 创建Network Teaming的loadbalance模式
#创建会话为team、网卡为team0、模式为loadbalance的网络组
nmcli con add type team con-name team ifname team0 config '{"runner":{"name":"loadbalance"}}'
#为网络组指定静态ip、网关、dns
nmcli con modify team ipv4.method manual ipv4.addresses 10.88.62.168/24 ipv4.gateway 10.88.62.1 ipv4.dns 8.8.8.8
#创建网卡1、网卡2的端口
nmcli con add type team-slave con-name team-eth0 ifname eth1 master team0
nmcli con add type team-slave con-name team-eth1 ifname eth2 master team0
#启用网络组、网卡1、2的会话
nmcli con up team
nmcli con up team-eth0
nmcli con up team-eth1