1、简述osi七层模型和TCP/IP五层模型
OSI七层模型
TCP/IP五层模型
2、总结描述TCP三次握手四次挥手
TCP的三次握手
客户A主动向服务器B请求建立连接:
1、客户A发送一个标识了SYN的数据段,表示期望与服务器B建立连接,此数据段的序列号(seq)为x;客户端进入同步已发送阶段
2、服务器B回复标识了SYN+ACK的数据段,此数据段的序列号(seq)为y,并确认下次序列号为客户A的序列号加1(ack=x+1),以此作为对客户A的SYN报文的确认;服务器进入同步收到阶段
3、客户A发送一个标识了ACK的数据段,此数据段的序列号(seq)为x+1,确认序列号为服务器B的序列号加1(ack=y+1),以此作为对服务器B的SYN报文的确认;客户A进入建立连接状态
此时服务器B收到客户A的确认后,也进入已建立连接状态。
TCP的四次挥手
假设客户A与服务器B均处于连接建立状态,客户端主动断开连接:
1、客户A想终止连接,于是发送一个标识了FIN(终止标识)的数据段,序列号 seq = u;客户端进入终止等待1阶段
2、服务器B回应一个标识了ACK的数据段,序列号 seq = v,确认序号 ack = u+1,作为对客户A的FIN报文的确认;服务器端进入关闭等待阶段,还会继续发送一些未完成的数据
3、客户A收到服务器B的确认后,进入终止等待2阶段
4、服务器B想终止连接,于是向客户A发送一个标识了FIN和ACK的数据段,序列号 seq = w,确认序列号ack=u+1;服务器端进入最后确认阶段
5、客户A回应一个标识了ACK的数据段,序列号 seq = u+1,确认序号ack = w+1,作为对服务器B的FIN报文的确认;此报文发送后,客户A进入时间等待阶段,过2MSL时间后,进入关闭状态
6、服务器B收到客户端确认后,也进入关闭状态;
至此,以上四次交互便完成了两个方向连接的关闭。
3、描述TCP和UDP区别
二者均是工作在传输层的协议,以下为主要区别
1、TCP是面向连接的协议,UDP为无连接协议;
2、TCP可实现可靠传输,使用流量控制和拥塞控制;UDP为不可靠传输
3、TCP面向字节流,UDP面向报文
4、TCP适用于要求可靠传输的应用,例如文件传输的场景;UDP适用于实时应用(例如语音,视频等)
4、总结ip分类以及每个分类可以分配的IP数量
IP地址是由网络号(net ID)与主机号(host ID)两部分组成的。
IP地址长度为32位,采用x.x.x.x的格式来表示,每个x为8位,每个x的值为0~255
A类地址
网络ID为前8位,以0为固定开头的地址,主机ID为后24位组成,
范围:允许有126个网段,每个网段可分配的ip数量2^24-2,允许有16777214台主机
子网掩码:255.0.0.0
私有地址:10.X.X.X是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址),范围10.0.0.1-10.255.255.254
保留地址:127.X.X.X是保留地址,也是本机地址,等效于localhost或本机IP。一般用于测试使用。例如:ping 127.0.0.1来测试本机TCP/IP是否正常。
B类地址
网络ID为前16位,以10为固定开头的地址,主机ID为后16位组成,
范围:128.0.0.1-191.255.255.254
数量:允许有16384个网段,每个网段允许有65534台主机
子网掩码:子网掩码为16位,255.255.0.0
私有地址:172.16.0.1 - 172.31.255.254是私有地址
保留地址:169.254.X.X是保留地址。如果IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器。就会得到其中一个IP
C类地址
网络ID为前24位,以110为固定开头的地址,主机ID为后8位组成,
范围:192.0.0.1 - 223.255.255.254
数量:网络数量2^21,允许有2097152个网段,每个网段可分配的ip数量254台主机
子网掩码:255.255.255.0
私有地址:192.168.X.X是私有地址。(192.168.0.1 - 192.168.255.254)
D类地址
以1110开头的地址,组播地址,范围:224.0.0.1-239.255.255.254
E类地址
以1111开头的地址,为保留地址,范围:240.0.0.1 - 255.255.255.254
无类地址
网络ID,主机ID任意位,
CIDR表示法:无类域间路由)IP/网络ID位数
netmask:子网掩码,
功能:确定网络ID的位数,32位二进制,对应IP网络ID位为1,对应IP中主机ID为0
实例:
172.16.0.100/16
192.168.37.7 255.255.255.0
5、总结IP配置方法
1、使用ifconfig命令配置 (临时生效,重启系统或网络服务后失效)
[root@centos7 ~]#ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.253.10 netmask 255.255.255.0 broadcast 192.168.253.255
[root@centos7 ~]#ifconfig ens33 192.168.253.200/24
[root@centos7 ~]#ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.253.200 netmask 255.255.255.0 broadcast 192.168.253.255
[root@centos7 ~]#systemctl restart network
[root@centos7 ~]#ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.253.10 netmask 255.255.255.0 broadcast 192.168.253.255
2、修改配置文件,持久生效
[root@centos7 /etc/sysconfig/network-scripts]#vim ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.253.10
NETMASK=255.255.255.0
GATEWAY=192.168.253.2
DNS1=114.114.114.114
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens33
UUID=caf9c329-3fca-4d06-ac0a-cb79ecd0c86e
DEVICE=ens33
:wq
3、使用ip命令添加IP地址
[root@centos7~]#ip addr add 172.16.10.100/16 dev ens33
[root@centos7~]#ip addr del172.16.10.100/16 dev ens33
4、使用nmcli命令添加IP地址
[root@centos7 ~]#nmcli con add con-name ens33-tmp ifname ens33 type ethernet ipv4.method manual ipv4.addresses 172.16.10.100/16
Connection 'ens33-tmp' (bfe8bdac-b5a1-445a-86e2-c338a5c4a21f) successfully added.
[root@centos7 ~]#nmcli con
NAME UUID TYPE DEVICE
ens33 caf9c329-3fca-4d06-ac0a-cb79ecd0c86e ethernet ens33
virbr0 4547ebfc-4c09-4243-9f9c-25af8e3b2215 bridge virbr0
ens33-tmp bfe8bdac-b5a1-445a-86e2-c338a5c4a21f ethernet --
[root@centos7 ~]#nmcli con up ens33-tmp
[root@centos7 ~]#ip a
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:06:01:c2 brd ff:ff:ff:ff:ff:ff
inet 172.16.10.100/16 brd 172.16.255.255 scope global noprefixroute ens33
[root@centos7 ~]#nmcli con up ens33