Linux_task6
2021/7/15 7:09:26
本文主要是介绍Linux_task6,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Linux_task6
- TCP三次握手/四次挥手
- TCP/UDP区别
- IP地址分类
- IP配置方法
- nmcli实现bonding
TCP三次握手/四次挥手
- 三次握手内容不多,涉及到5种有限状态机(Finite State Machine),小写的seq,ack字段代表TCP首部报文中的序列号和确认号,大写的SYN,ACK是6个flags中的字段,ack确认号表示期待对方下次发过来的seq序列号,window size机制表示不再采取一来一去的收发形式,而是当收到size个数据包时再作回复
- 四次挥手很少用到,重点讨论FIN-WAIT1和FIN-WAIT2之间的半关闭状态,涉及到5种新的有限状态机(还有一种特殊状态closing,例如当server收到client的FIN包时,直接回复一个FIN包,跳过了close-wait的状态),其中time-wait状态的时间是[2MSL][1](maximum segment length),意为TCP报文段最大生存时间的2倍,由于数据包的先发后至特性,因此client会在这段时间等待server端完成全部的数据传输,再进入closed状态。四次挥手中server/client都可以是主动发起方。在server回复第一次ACK包 到 第二次回复FIN包的过程中,如果server始终没有回复FIN包,那么称client在半关闭状态下进入孤儿连接,由内核来接管,内核中定义了表示孤儿连接最大连接数和生存时间的参数
TCP/UDP区别
TCP | UDP |
---|---|
Connection-oriented | Connectionless |
sequence | none |
FTP File-Sharing E-mail | Voice Streaming Video Streaming |
IP地址分类
- A类:
0 0000000 - 0 1111111.X.Y.Z : 0-127.X.Y.Z 网络ID位是最高8位,主机ID是24位低位 网络数:126=2^7(可变的网络ID位数)-2 每个网络中的主机数:2^24-2=16777214 默认子网掩码:255.0.0.0 私网地址:10.0.0.0 范例:114.114.114.114,8.8.8.8,1.1.1.1,58.87.87.99,119.29.29.29
127.0.0.1为回环地址,因此127.0.0.0网段被保留;其特殊性在于,只要是和loopback网卡在同一网段的ip地址,都能ping通,并且loopback网卡上新加的ip地址并不会生成路由记录,回环网卡因物理上比较稳定,在生产环境中时有用到
- B类:
10 000000 - 10 111111.X.Y.Z:128-191.X.Y.Z 网络ID位是最高16位,主机ID是16位低位 网络数:2^14=16384 每个网络中的主机数:2^16-2=65534 默认子网掩码:255.255.0.0 私网地址:172.16.0.0-172.31.0.0 范例:180.76.76.76,172.16.0.1 - C类:
110 0 0000 - 110 1 1111.X.Y.Z: 192-223.X.Y.Z 网络ID位是最高24位,主机ID是8位低位 网络数:2^21=2097152 每个网络中的主机数:2^8-2=254 默认子网掩码:255.255.255.0 私网地址:192.168.0.0-192.168.255.0 范例: 223.6.6.6 - D类:组(多)播,1110 0000 - 1110 1111.X.Y.Z: 224-239.X.Y.Z
- E类:保留未使用,240-255
IP配置方法
ifconfig IFACE IFADDR/MASK ifconfig IFACE up/down ifconfig IFACE:<Label> IP/MASK #来源于古老的net-tools工具包,现在已很少使用
ip address [add][del][change] IFADDR/MASK dev IFACE [label IFACE:NUM][scope {host,link,global}] [master] [type]
nmcli connection reload nmcli connection [up][down] IFACE nmcli connection [add][modify][del] con-name xxx ifname xxx ipv4.method {auto,manual}\ > ipv4.{addresses,gateway} type {ethernet,bond,bridge,team} # nmcli命令自动修改磁盘文件,永久保存 # nmcli的底层是NetworkManager守护进程
nmcli实现bonding
[root@linuxprobe ~]# nmcli connection add type bond con-name mybond ifname bond0 mode active-backup Connection 'mybond' (8f0d9cce-ed6a-4d0e-a9a2-cba48490d1d2) successfully added. [root@linuxprobe ~]# nmcli connection add type bond-slave master bond0 ifname ens37 Connection 'bond-slave-ens37' (c4f82c63-145d-4ec9-8432-f5ecbb7f3b3a) successfully added. [root@linuxprobe ~]# nmcli connection add type bond-slave master bond0 ifname ens38 Connection 'bond-slave-ens38' (c5a3f017-3a99-428a-8b9d-4a00af4152da) successfully added. [root@linuxprobe ~]# nmcli connection reload [root@linuxprobe ~]# nmcli connection up bond-slave-ens37 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6) [root@linuxprobe ~]# nmcli connection up bond-slave-ens38 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7) [root@linuxprobe ~]# nmcli connection up mybond Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8) [root@linuxprobe /]# nmcli connection NAME UUID TYPE DEVICE ens33 49da06d1-7851-3b3c-8025-39ac395471fc ethernet ens33 mybond 8f0d9cce-ed6a-4d0e-a9a2-cba48490d1d2 bond bond0 bond-slave-ens37 c4f82c63-145d-4ec9-8432-f5ecbb7f3b3a ethernet ens37 bond-slave-ens38 c5a3f017-3a99-428a-8b9d-4a00af4152da ethernet ens38 Wired connection 1 4e5d315c-274b-32eb-88a3-ca5cd71c07ce ethernet -- Wired connection 2 da549472-f269-3db4-af9b-47e66e7a1810 ethernet -- #此时查看网卡接口(ip addr)可以发现bond网卡的MAC地址统一 3: ens37: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000 link/ether 00:0c:29:13:dd:40 brd ff:ff:ff:ff:ff:ff altname enp2s5 4: ens38: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UNKNOWN group default qlen 1000 link/ether 00:0c:29:13:dd:40 brd ff:ff:ff:ff:ff:ff permaddr 00:0c:29:13:dd:4a altname enp2s6 5: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:0c:29:13:dd:40 brd ff:ff:ff:ff:ff:ff inet 192.168.142.134/24 brd 192.168.142.255 scope global dynamic noprefixroute bond0 valid_lft 1024sec preferred_lft 1024sec inet6 fe80::9647:c69d:cc99:d556/64 scope link noprefixroute valid_lft forever preferred_lft forever #查看一下bond网卡的真实MAC地址,可以看到这个MAC地址是属于ens37的 [root@linuxprobe /]# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v5.11.11-300.fc34.x86_64 Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: ens37 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Peer Notification Delay (ms): 0 Slave Interface: ens37 MII Status: up Speed: 10 Mbps Duplex: half Link Failure Count: 0 Permanent HW addr: 00:0c:29:13:dd:40 Slave queue ID: 0 Slave Interface: ens38 MII Status: up Speed: 10 Mbps Duplex: half Link Failure Count: 0 Permanent HW addr: 00:0c:29:13:dd:4a Slave queue ID: 0
这篇关于Linux_task6的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法