从比特到云端:TCP/IP全景与数制子网速通手册
目录
前言
命令
rsync
整个文件夹
将远程目录同步到本地:
同步文件时,排除某些文件:
上传压缩包
ssh
功能:
登录到远程服务器
使用不同端口登录:
通过 SSH 执行远程命令:
reboot
延迟1min后开机重启
shutdown
立即关闭系统:
延迟关闭系统:
重启系统:
free
常用选项
以人类可读的方式显示
以 MB 为单位显示内存
显示内存总和
每3s更新一次
改端口
首先 vim /etc/ssh/sshd_config
但是这个时候我们不一定能开启它,因为它可能被阻止了,这时我们应该
最后开启sshd,并连接到另一台主机中
OSI参考模型
总结:QQ为案列
TCP/IP 协议
计算机的数值
子网划分
IP地址:
IPv4地址由两部分组成:
私有网络地址
总结
前言
在数字世界中,一切信息最终都归结为 0 与 1 的舞蹈。
从 TCP/IP 协议族如何让相隔万里的主机精准对话,到 OSI 七层模型如何逐层封装与解封数据;从十进制、二进制、八进制、十六进制之间的优雅换算,到 IPv4/IPv6 地址与掩码背后的子网奥秘——这些看似冰冷的规则,正是现代互联网与每一台计算机运转的“血脉”。
本章节将以结构化速查表的形式,带你纵览网络协议、数制转换与子网划分三大主题:既给出可直接落地的命令与端口清单,也呈现清晰的层次逻辑与计算思路,为后续深入网络排障、系统调优或安全加固奠定扎实的“数字底座”。
命令
rsync
rsync
是一个非常强大的文件同步工具,支持增量同步,减少了文件传输的时间和带宽消耗。它可以同步文件和目录,不仅可以在本地计算机之间同步,也支持远程同步。
本机[root@localhost ~]# rsync -auv /etc/ root@192.168.10.101:/opt/ceshi/目标[root@localhost ~]# ls /opt/ceshiabrt dracut.conf javaPackageKit setuptool.dadjtime dracut.conf.d jvm pam.d sgmlaliases e2fsck.conf jvm-commmon papersize shadowaliases.db egl kdump.conf passwd shadow-alsa enscript.cfg kernel passwd- shellsalternatives environment krb5.conf pbm2ppa.conf skel...(此处省略)
整个文件夹
整个文件夹本机[root@localhost ~]# rsync -auv /etc root@192.168.10.101:/opt/ceshi/目标[root@localhost ~]# ls /opt/ceshietc
将远程目录同步到本地:
rsync -avz user@remote:/remote/dir/ /local/dir/
同步文件时,排除某些文件:
# 本机[root@localhost opt]# rsync -avz --exclude=\"*.txt\" /opt/ root@192.168.10.100:/opt/root@192.168.10.100\'s password: sending incremental file listA/B/C/D/sent 176,906 bytes received 1,458 bytes 20,984.00 bytes/sectotal size is 101,363,424 speedup is 568.30# 目标机[root@localhost ~]# ls /opt111.txt A B C ceshi ceshi2 D rh yjs0805
上传压缩包
本机[root@localhost ~]# rsync -auv usr.tar.gz root@192.168.10.101:/opt/ceshi/root@192.168.10.101\'s password: sending incremental file listusr.tar.gzsent 4,982,040 bytes received 35 bytes 664,276.67 bytes/sectotal size is 4,980,736 speedup is 1.00目标[root@localhost ~]# ls /opt/ceshiusr.tar.gz
仅同步文件变化:
rsync -avz --ignore-existing /local/dir/ user@remote:/remote/dir/
ssh
功能:
ssh
(Secure Shell)命令用于通过加密连接远程登录到计算机。它使得你可以安全地访问远程机器并执行命令。
-
登录到远程服务器
[root@localhost ~]# ssh root@192.168.10.101root@192.168.10.101\'s password: Permission denied, please try again.root@192.168.10.101\'s password: Last failed login: Mon Aug 18 11:36:49 CST 2025 from 192.168.10.100 on ssh:nottyThere was 1 failed login attempt since the last successful login.Last login: Mon Aug 18 10:36:20 2025 from 192.168.10.90
使用不同端口登录:
ssh -p 2222 root@192.168.10.101
通过 SSH 执行远程命令:
# 本机[root@localhost ~]# ssh -p 2222 root@192.168.10.101 \'ls -lh /opt\'root@192.168.10.101\'s password: 总用量 0-rw-r--r--. 1 root root 0 8月 17 08:46 111.txt-rw-r--r--. 1 root root 0 8月 18 19:12 1.txt-rw-r--r--. 1 root root 0 8月 18 19:12 2.txt-rw-r--r--. 1 root root 0 8月 18 19:12 3.txt-rw-r--r--. 1 root root 0 8月 18 19:12 4.txt-rw-r--r--. 1 root root 0 8月 18 19:12 5.txtdrwxr-xr-x. 2 root root 6 8月 18 19:12 Adrwxr-xr-x. 2 root root 6 8月 18 19:12 Bdrwxr-xr-x. 2 root root 6 8月 18 19:12 Cdrwxr-xr-x. 4 root root 81 8月 18 10:51 ceshidrwxr-xr-x. 2 root root 6 8月 18 19:12 ceshi2drwxr-xr-x. 2 root root 6 8月 18 19:12 Ddrwxr-xr-x. 2 root root 6 10月 31 2018 rh# 本机该目录下面没有txt文档
reboot
开机重启
[root@localhost ~]# rebootConnection closing...Socket close.Connection closed by foreign host.Disconnected from remote host(zard3) at 19:41:24.Type `help\' to learn how to use Xshell prompt.
延迟1min后开机重启
[root@localhost opt]# reboot +1Connection closing...Socket close.Connection closed by foreign host.Disconnected from remote host(zard3-copy) at 19:43:09.Type `help\' to learn how to use Xshell prompt.
shutdown
shutdown
命令用于关闭计算机。它可以指定一个延迟时间,或者立即关闭系统。
-
立即关闭系统:
[root@localhost ~]# sudo shutdown -h nowConnection closing...Socket close.Connection closed by foreign host.Disconnected from remote host(zard3) at 19:45:02.Type `help\' to learn how to use Xshell prompt.
-
延迟关闭系统:
[root@localhost ~]# shutdown -h +5Shutdown scheduled for 一 2025-08-18 19:53:37 CST, use \'shutdown -c\' to cancel.[root@localhost ~]# Broadcast message from root@localhost.localdomain (Mon 2025-08-18 19:48:37 CST):The system is going down for power-off at Mon 2025-08-18 19:53:37 CST!
-
重启系统:
[root@localhost ~]# shutdown -r nowConnection closing...Socket close.Connection closed by foreign host.Disconnected from remote host(zard3-copy) at 19:50:28.Type `help\' to learn how to use Xshell prompt.
free
常用选项
-
-h
:以人类可读的方式显示(自动选择合适的单位,如 KB, MB, GB)。 -
-m
:以 MB 为单位显示内存。 -
-g
:以 GB 为单位显示内存。 -
-t
:显示内存的总和(即总内存 + 总交换空间)。 -
-s
:以秒为单位指定显示刷新时间间隔。 -
-l
:显示低内存和高内存的详细信息。
以人类可读的方式显示
[root@localhost ~]# free -h total used free shared buff/cache availableMem: 1.8G 1.1G 142M 22M 539M 492MSwap: 3.9G 22M 3.9G
以 MB 为单位显示内存
[root@localhost ~]# free -m total used free shared buff/cache availableMem: 1819 1137 142 22 539 492Swap: 3967 22 3945
显示内存总和
[root@localhost ~]# free -t total used free shared buff/cache availableMem: 1863004 1164452 145632 22780 552920 504048Swap: 4063228 23152 4040076Total: 5926232 1187604 4185708
每3s更新一次
[root@localhost ~]# free -s 3 total used free shared buff/cache availableMem: 1863004 1165232 141012 22780 556760 503268Swap: 4063228 23152 4040076 total used free shared buff/cache availableMem: 1863004 1165232 141012 22780 556760 503268Swap: 4063228 23152 4040076 total used free shared buff/cache availableMem: 1863004 1165232 141012 22780 556760 503268Swap: 4063228 23152 4040076 total used free shared buff/cache availableMem: 1863004 1165232 141012 22780 556760 503268Swap: 4063228 23152 4040076 total used free shared buff/cache availableMem: 1863004 1165232 141012 22780 556760 503268Swap: 4063228 23152 4040076 total used free shared buff/cache availableMem: 1863004 1165232 141012 22780 556760 503268Swap: 4063228 23152 4040076^Z[3]+ 已停止 free -s 3
改端口
首先 vim /etc/ssh/sshd_config
但是这个时候我们不一定能开启它,因为它可能被阻止了,这时我们应该
[root@localhost ~]# yum install policycoreutils-python -y # 先安装这个软件已加载插件:fastestmirror, langpacksLoading mirror speeds from cached hostfile * epel: mirror.2degrees.nz base | 3.6 kB 00:00:00 extras | 2.9 kB 00:00:00 file:///mnt/repodata/repomd.xml: [Errno 14] curl#37 - \"Couldn\'t open file /mnt/repodata/repomd.xml\" 正在尝试其它镜像。 mysql-connectors-community | 3.0 kB 00:00:00 mysql-tools-community | 3.0 kB 00:00:00 mysql80-community | 3.0 kB 00:00:00 updates | 2.9 kB 00:00:00 软件包 policycoreutils-python-2.5-34.el7.x86_64 已安装并且是最新版本 无须任何处理 [root@localhost ~]# semanage port -a -t ssh_port_t -p tcp 2222 #之后运行端口,使之同意
最后开启sshd,并连接到另一台主机中
[root@localhost ~]# systemctl restart sshd然后再另一台主机中[root@localhost /]# ssh -p 2222 root@192.168.10.101The authenticity of host \'[192.168.10.101]:2222 ([192.168.10.101]:2222)\' can\'t be established.ECDSA key fingerprint is SHA256:BtqDFQoC1zKTJ59QW2QO66+pyyPk9wRd5KTv6/XbVlo.ECDSA key fingerprint is MD5:bd:ba:11:bc:05:b1:8d:6b:f1:04:51:d9:a0:18:c0:35.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added \'[192.168.10.101]:2222\' (ECDSA) to the list of known hosts.root@192.168.10.101\'s password: Last login: Mon Aug 18 11:36:58 2025 from 192.168.10.100
此时,主机IP端口会和目标端口一致,除非退出
另外,值得注意的是防火墙要及时关上
OSI参考模型
应用层 网络服务与最终用户的一个接口(用户操作)
人机交互窗口,把人的语言输入到计算机当中。例如,在QQ的对话窗口输入字符
表示层 数据的表示、安全、压缩(人的语言翻译成计算机)
将接收到的数据翻译成二进制数组成的计算机语言,并对数据进行压缩和解压、数据加密和解密等工作
会话层 建立、管理、中止会话 (通信软件建立会话,比如:QQ)
管理是否允许不同机器上的用户之间建立会话连接关系
传输层 定义传输数据的协议端口号,以及流控和差错校验(防火墙 端到端)
将上层数据分片并加上端口号封装成数据段,或通过对报文头中的端口识别,实现网络中不同主机上的用户进程之间的数据
网络层 进行逻辑地址寻址,实现不同网络之间的路径选择(路由器)
将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源端到目的端的传输
数据链路层 建立逻辑连接、进行硬件地址寻址、差错校验等功能(交换机 网卡)
将上层数据加上源和目的方的物理(MAC)地址封装成数据帧,MAc地址是用来标识网卡的物理地址,建立数据链路;
当发现数据错误时,可以重传数据帧。
物理层 建立、维护、断开物理连接(网卡,网线,光纤,集线器,中继器,调制解调器)
报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数字组成的比特流转换成电信号在网络中传输
总结:QQ为案列
用户在QQ界面输入文字这就是应用层,QQ为了安全,要文件加密或解密,这就是表示层,会话层是找到对方实体,也就是对方的qq进程。传输层要找到对方端口,就是qq传输的信息用的是哪个端口。网络层负责通过路由器要找到对方网络地址。数据链路层要通过物理地址找到主机。物理层负责二进制比特流的传输。
TCP/IP 协议
TCP/IP 协议(Transmission Control Protocol/Internet Protocol)不是单一协议,而是一整套用于实现网络互联的通信协议族(protocol suite)。它以两个最核心的协议——TCP(传输控制协议) 和 IP(网际协议) 命名,定义了数据如何在异构网络中封装、寻址、传输、路由、接收与重组的完整规则体系。
计算机的数值
计算机的数值
十进制数(Decimal(/ˈdesɪm(ə)l/) number)
(1010)10,1010D,1010
八进制数(Octal(/ˈɒktl/ ) Number)
(1010)8,1010O
二进制数(Binary number)
(1010)2,1010B
十六进制数(Hexadecimal(/ˌheksəˈdesɪml/ ) number)
(1010)16,1010H, 0x1010
高位1 1 1 0 0 0 1 0低位
7 6 5 4 3 2 1 0
二进制由 0 和 1
在数制中,还有一个规则,就是N进制必须是逢N进一。
十进制数的特点是逢十进一。例如:
(1010)10=1×10^3+0×10^2+1×10^1+0×10^0
1 0 1 0
3 2 1 0
1* 10^3 + 0*10^2 + 1*10^1 + 0*10^0=1010
二进制数的特点是逢二进一。例如:
(1010)2=1×2^3+0×2^2+1×2^1+0×2^0=(10)10
八进制数的特点是逢八进一。例如:
(1010)8=1×8^3+0×8^2+1×8^1+0×8^0=(520)10
十六进制数的特点是逢十六进一。例如:
(1010)16=1×16^3+0×16^2+1×l6^1+0×16^0=(4112) 10
(40102504)8=4*8^7+1*8^5+2*8^3+5*8^2+4*8^0
子网划分
IP地址:
IPv4由32位二进制数组成,一般用点分十进制来表示
IPv4是由32位二进制数组成,分成四组,第组八位。例如:11000000.10101000.00000000.00000010
为了便于配置通常表示成点分十进制形式例如:192.168.0.2 255.255.255.0
IPv4地址由两部分组成:
网络部分(NETWORK) 主机部分(HOST)192.168.1.132
网络部分(192.168.1)主机部分(132) 192.168.1.0(网络地址) 192.168.1.255(广播)
IPv4私有网络地址和公有网络地址
公有网络地址(以下简称公网地址)是指在互联网上全球唯一的IP地址。2019年11月26日,是人类互联网时代值得纪念的一天,全球近43亿个IPv4地址已正式耗尽。
私有网络地址
私有网络地址〈(以下简称私网地址)是指内部网络或主机的IP地址,IANA(互联网数字分配机构)规定将下列的IP地址保留用作私网地址
,不在Internet上被分配,可在一个单位或公司内部使用。RFC1918中规定私有地址如下:
A类私有地址:10.0.0.0~10.255.255.255 10.0.0.0/8
B类私有地址:172.16.0.0一172.31.255.255 172.16.0.0/12
c类私有地址:192.168.0.0~192.168.255.255 192.168.0.0/16
总结
本章以“协议-命令-数值”三线并进,系统梳理了网络通信全景:TCP/IP族精确定义数据如何封装、寻址、路由与交付;OSI七层模型给出跨层协作范式;rsync、ssh等工具将理论落地为日常运维操作。随后回归计算机最底层的数制世界,阐明二、八、十、十六进制互转原理,并延伸到IPv4/IPv6地址与子网划分方法,使宏观协议与微观比特无缝衔接。掌握这些,既能快速定位端口、掩码、路由问题,又可在脚本中灵活转换数值、精确切割网段,为后续自动化部署、安全加固及性能调优奠定坚实数字底座。