Test 6

# 1、总结描述TCP三次握手四次挥手 ## 三次握手 TCP是传输层协议,面向连接,保证数据的可靠传输。 ~~~bash 第一次握手:发送端首先发送一个带有SYN=1标志,序列号为seq=x的数据包给接收方,并进入SYN_SENT状态,发送请求连接等待服务器确认,此时服务端由被动地CLOSED状态变成LISTEN状态 第二次握手:接收方收到发送方的的数据报文以后,回传一个带有SYN=1 ACK=1标志且发送一个seq=y ack=x+1数据包传递确认信息,表示收到了seq=x 的发送包,希望发送方发送seq=x+1的数据包。保证发送方的数据可以有效地发送给接收方。此时的发送方状态变成SYN-SENT同步已发送状态务端变成SYN-RCVD同步收到状态 第三次握手:发送方收到接收方发来的包,发送一个ACK=1 seq=x+1 ack=y+1的数据包 。保证接收方的数据可以有效地发送到发送方。连接建立成功。发送方和接收方都成为ESTAB-LISHED状态 ~~~ ## 四次挥手 ~~~bash 第一次挥手:发送方发送一个FIN=1 seq=u,用来关闭发送方到接收方的数据传送,发送方进入FIN_WAIT_1状态。 第二次挥手:接收方收到发送方的报文后,接收方发送一个ACK=1 seq=v ack=u+1 表示已经收到发送方的挥手请求,此时,服务端就进入了CLOSE-WAIT(关闭等待)状态。发送方已经没有数据要发送了,但是接收*发送数据,发送方依然要接受。这个状态还要持续一段时间,也就是整个CLOSE-WAIT状态持续的时间。待接送方发送完数据就完成了发送方到接收方的挥手请求 第三次挥手:接收方发送 FIN=1 ACK=1 seq=w ack=u+1用来关闭接收方到发送方的数据传送,发送方进入FIN_WAIT_2状态。由于在半关闭状态,接收方很可能又发送了一些数据,此时,接收方就进入了LAST-ACK(最后确认)状态,等待发送方的确认。 第四次挥手:发送方收到接收方发来的数据报文后,发送方进入TIME_WAIT状态,接着发送一个ACK=1 seq=u+1 ack=w+1 给接收方,确认序号为收到序号+1, 双方进入CLOSED状态,完成四次挥手 ~~~ # 2、描述TCP和UDP区别 | | UDP | TCP | | ------------ | ------------------------------------ | ------------------------------------ | | 是否连接 | 无连接 | 面向连接 | | 是否可靠 | 不可靠连接,不使用流量控制和拥塞控制 | 可靠连接,使用流量连接和拥塞控制 | | 连接对象个数 | 支持一对一,一对多,多对多,多对一 | 一对一 | | 传输方式 | 面向报文 | 面向字节流 | | 首部开销 | 首部开销小,仅仅8个字节 | 首部开销最小20个字节,最大60个字节 | | 适应的场景 | 视频会议 直播 Ip电话 | 适用要求可靠的传输的应用,如文件传输 | # 3、总结ip分类以及每个分类可以分配的IP数量 ~~~bash 网络ID 主机ID A类 1~126 每个网段可有的主机2^24-2 范围:1.0.0.1-126.255.255.254 B类 128~191 每个网段可有的主机2^16-2 范围:128.0.0.1-191.255.255.254 C类 192~223 每个网段可有的主机2^8-2 范围:192.0.0.1 - 223.255.255.254 D类 224~239 是多播地址。 范围:224.0.0.1 - 239.255.255.254 E类 240 未使用 范围:240.0.0.1 - 255.255.255.254 私有IP(不直接用于互联网,在局域网使用,公网地址世界唯一) 10.0.0.0 10.255.255.255 172.16.0.0 172.31.255.255 192.168.0.0 192.168.255.255 特殊地址: 169.254.x.x 主机使用DHCP分配的,但是却分配不到,系统给的 0.0.0.0 所有不清楚的主机和目标网络 255.255.255.255 限制广播地址 0.0.0.0 0.0.0.0不是一个真正意义上的IP地址。它表示所有不清楚的主机和目的网络 本机回环地址,主要用于测试。 127.0.0.1~127.255.255.254 224.0.0.0到239.255.255.255 组播地址,224.0.0.1特指所有主机,224.0.0.2特指所有路由器。224.0.0.5指OSPF 路由器,地址 多用于一些特定的程序以及多媒体程序 169.254.x.x 如果Windows主机使用了DHCP自动分配IP地址,而又无法从DHCP服务器获取地址,系统会为主 机分配这样地址 ~~~ # 4、总结IP配置方法 ~~~bash 静态Ip地址的配置: 第一步: [root@localhost ~]# cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet net.ifnames=0 " GRUB_DISABLE_RECOVERY="true" GRUB_ENABLE_BLSCFG=true 第二步: [root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... done 第三步: [root@centos7 pam.d]#cd /etc/sysconfig/network-scripts/ [root@centos7 network-scripts]#cat ifcfg-eth0 BOOTPROTO="static" NAME="eth0" DEVICE="eth0" ONBOOT="yes" IPADDR=10.0.0.17 NETMASK=255.255.255.0 GATEWAY=10.0.0.2 =========================================================================== 动态Ip地址的配置方法用DHCP服务器获取: [root@centos7 pam.d]#cd /etc/sysconfig/network-scripts/ [root@centos7 network-scripts]#cat ifcfg-eth0 BOOTPROTO="dhcp" NAME="eth0" DEVICE="eth0" ~~~ # 5、使用nmcli实现bonding ~~~bash 准备两张网卡。因为目标是坏了一张网卡依然可以工作。 #创建一个名字叫 mybond0的bond [root05:12 PMcentos8]#nmcli connection add con-name mybond0 ifname bond0 type bond ipv4.method manual ipv4.addresses 10.0.0.100/24 Connection 'mybond0' (3e7d1d3f-0615-475d-ac78-8c30c52f0c77) successfully added. #将eth1网卡命名为 mybond0-eth1添加到bond中 [root05:24 PMcentos8 /etc/sysconfig/network-scripts]#nmcli connection add con-name mybond0-eth1 ifname eth1 type bond-slave master bond0 Connection 'mybond0-eth1' (d8ac4db5-9c62-440a-88fc-80b61457d77a) successfully added. [root05:27 PMcentos8 /etc/sysconfig/network-scripts]#nmcli connection NAME UUID TYPE DEVICE eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0 mybond0 3e7d1d3f-0615-475d-ac78-8c30c52f0c77 bond bond0 mybond0-eth1 d8ac4db5-9c62-440a-88fc-80b61457d77a ethernet eth1 #将eth0网卡命名为 mybond0-eth0添加到bond中 root05:29 PMcentos8 /etc/sysconfig/network-scripts]#nmcli connection add con-name mybond0-eth0 ifname eth0 type bond-slave master bond0 Connection 'mybond0-eth0' (fb22a8c7-ece4-4436-9239-a1dc7acb137b) successfully added. #清除上次实验的eth0 root05:31 PMcentos8 /etc/sysconfig/network-scripts]#nmcli connection delete eth0 #删除了mybond-eth0才可以顶上去 Connection 'eth0' (5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03) successfully deleted. [root05:34 PMcentos8 ~]#cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: load balancing (round-robin) MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Peer Notification Delay (ms): 0 Slave Interface: eth1 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:0c:29:41:8d:34 Slave queue ID: 0 Slave Interface: eth0 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:0c:29:41:8d:2a Slave queue ID: 0 #两张网卡绑定在bond上了,查看一下 [root05:34 PMcentos8 ~]#nmcli connection NAME UUID TYPE DEVICE mybond0 3e7d1d3f-0615-475d-ac78-8c30c52f0c77 bond bond0 mybond0-eth0 fb22a8c7-ece4-4436-9239-a1dc7acb137b ethernet eth0 mybond0-eth1 d8ac4db5-9c62-440a-88fc-80b61457d77a ethernet eth1 [root@ ~]#ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000 link/ether 00:0c:29:d4:60:b6 brd ff:ff:ff:ff:ff:ff 3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000 link/ether 00:0c:29:d4:60:b6 brd ff:ff:ff:ff:ff:ff 4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:0c:29:d4:60:b6 brd ff:ff:ff:ff:ff:ff inet 10.0.0.100/24 brd 10.0.0.255 scope global noprefixroute bond0 valid_lft forever preferred_lft forever inet6 fe80::4cb:a977:92b7:fddf/64 scope link noprefixroute valid_lft forever preferred_lft forever #测试: ~~~
上一篇:热点 | MongoDB最全面的增强版本 4.4 新特性曝光


下一篇:浅谈Linux主机bonding采用主备模式与ARP检测配置的区别