{"id":100,"date":"2025-06-24T14:19:45","date_gmt":"2025-06-24T06:19:45","guid":{"rendered":"http:\/\/1.14.207.80\/?p=100"},"modified":"2025-06-24T14:28:46","modified_gmt":"2025-06-24T06:28:46","slug":"linux%e5%9f%ba%e7%a1%80%ef%bc%88%e7%bd%91%e7%bb%9c%ef%bc%89","status":"publish","type":"post","link":"https:\/\/www.zhangjianjia.xyz\/index.php\/2025\/06\/24\/linux%e5%9f%ba%e7%a1%80%ef%bc%88%e7%bd%91%e7%bb%9c%ef%bc%89\/","title":{"rendered":"Linux\u57fa\u7840\uff08\u7f51\u7edc\uff09"},"content":{"rendered":"\n<div class=\"wp-block-jetpack-markdown\"><h1>\u78c1\u76d8\u5b58\u50a8\u3001\u6587\u4ef6\u7cfb\u7edf\u4e0e\u7f51\u7edc\u7ba1\u7406\u6307\u5357<\/h1>\n<h2>\u4e00\u3001\u78c1\u76d8\u626b\u63cf\u4e0e\u7ba1\u7406<\/h2>\n<h3>1. \u6dfb\u52a0\u78c1\u76d8\u540e\u7acb\u5373\u751f\u6548\u65b9\u6cd5<\/h3>\n<pre><code class=\"language-bash\"># \u626b\u63cf\u65b0\u6dfb\u52a0\u7684\u78c1\u76d8\necho '- - -' &gt; \/sys\/class\/scsi_host\/host0\/scan  # \u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8c03\u6574host0\/1\/2\n\n# Ubuntu\u591ahost\u5904\u7406\nfor i in {0..2}; do\n  echo '- - -' &gt; \/sys\/class\/scsi_host\/host$i\/scan\ndone\n<\/code><\/pre>\n<h3>2. \u78c1\u76d8\u4f7f\u7528\u6d41\u7a0b<\/h3>\n<ol>\n<li><strong>\u8bbe\u5907\u5206\u533a<\/strong> &#8211; \u5212\u5206\u78c1\u76d8\u7a7a\u95f4<\/li>\n<li><strong>\u521b\u5efa\u6587\u4ef6\u7cfb\u7edf<\/strong> &#8211; \u683c\u5f0f\u5316\u5206\u533a<\/li>\n<li><strong>\u6302\u8f7d\u65b0\u6587\u4ef6\u7cfb\u7edf<\/strong> &#8211; \u4f7f\u5206\u533a\u53ef\u7528<\/li>\n<\/ol>\n<h3>3. \u6838\u5fc3\u78c1\u76d8\u547d\u4ee4<\/h3>\n<table>\n<thead>\n<tr>\n<th>\u547d\u4ee4<\/th>\n<th>\u529f\u80fd\u63cf\u8ff0<\/th>\n<th>\u5e38\u7528\u9009\u9879<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>dd<\/code><\/td>\n<td>\u8bfb\u53d6\u3001\u8f6c\u6362\u5e76\u8f93\u51fa\u6570\u636e<\/td>\n<td><code>if=<\/code>\u8f93\u5165\u6587\u4ef6, <code>of=<\/code>\u8f93\u51fa\u6587\u4ef6, <code>ibs=<\/code>\u8f93\u5165\u5757\u5927\u5c0f, <code>obs=<\/code>\u8f93\u51fa\u5757\u5927\u5c0f, <code>count=<\/code>\u5757\u6570, <code>skip=<\/code>\u8df3\u8fc7\u8f93\u5165\u5757, <code>seek=<\/code>\u8df3\u8fc7\u8f93\u51fa\u5757<\/td>\n<\/tr>\n<tr>\n<td><code>df<\/code><\/td>\n<td>\u663e\u793a\u78c1\u76d8\u7a7a\u95f4\u4f7f\u7528<\/td>\n<td><code>-h<\/code>\u4eba\u7c7b\u53ef\u8bfb\u683c\u5f0f, <code>-T<\/code>\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b, <code>-i<\/code>inode\u4f7f\u7528, <code>--total<\/code>\u603b\u8ba1\u4fe1\u606f<\/td>\n<\/tr>\n<tr>\n<td><code>du<\/code><\/td>\n<td>\u663e\u793a\u6587\u4ef6\/\u76ee\u5f55\u78c1\u76d8\u4f7f\u7528<\/td>\n<td><code>-h<\/code>\u4eba\u7c7b\u53ef\u8bfb\u683c\u5f0f, <code>-s<\/code>\u4ec5\u663e\u793a\u603b\u8ba1, <code>-c<\/code>\u6700\u540e\u663e\u793a\u603b\u8ba1, <code>-d<\/code>\u6307\u5b9a\u6df1\u5ea6, <code>--max-depth<\/code>\u6700\u5927\u6df1\u5ea6<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\u4e8c\u3001\u78c1\u76d8\u5206\u533a\u7ba1\u7406<\/h2>\n<h3>1. \u5206\u533a\u65b9\u6848\u5bf9\u6bd4<\/h3>\n<table>\n<thead>\n<tr>\n<th>\u7279\u6027<\/th>\n<th>MBR<\/th>\n<th>GPT<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>\u6700\u5927\u78c1\u76d8\u5bb9\u91cf<\/strong><\/td>\n<td>2TB<\/td>\n<td>8ZB<\/td>\n<\/tr>\n<tr>\n<td><strong>\u6700\u5927\u5206\u533a\u6570<\/strong><\/td>\n<td>4\u4e3b\u5206\u533a\u62163\u4e3b+1\u6269\u5c55(N\u903b\u8f91)<\/td>\n<td>128\u4e3b\u5206\u533a<\/td>\n<\/tr>\n<tr>\n<td><strong>\u5206\u533a\u6807\u8bc6<\/strong><\/td>\n<td>\/dev\/sda1-4(\u4e3b), \/dev\/sda5+(\u903b\u8f91)<\/td>\n<td>\/dev\/sda1-\/dev\/sda128<\/td>\n<\/tr>\n<tr>\n<td><strong>\u6280\u672f\u80cc\u666f<\/strong><\/td>\n<td>512\u5b57\u8282MBR(446\u5f15\u5bfc+64\u5206\u533a\u8868)<\/td>\n<td>\u4e3b+\u5907\u4efd\u5206\u533a\u8868<\/td>\n<\/tr>\n<tr>\n<td><strong>\u542f\u52a8\u517c\u5bb9\u6027<\/strong><\/td>\n<td>BIOS<\/td>\n<td>UEFI<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>2. MBR\u5206\u533a\u8868\u64cd\u4f5c<\/h3>\n<p><strong>\u5907\u4efd\u4e0e\u6062\u590d\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\"># \u5907\u4efdMBR\u5206\u533a\u8868\nmkdir \/data\ndd if=\/dev\/sda of=\/data\/dpt.img bs=1 count=64 skip=446\n\n# \u5149\u76d8\u6551\u63f4\u6062\u590d\u6b65\u9aa4\uff1a\n1. \u5f00\u673a\u6309Esc\u6216\u8c03\u6574BIOS\u4e3aCD-ROM\u542f\u52a8\n2. \u9009\u62e9&quot;Rescue a Rocky Linux system&quot;\n3. \u9009\u62e9&quot;Skip to shell&quot;\n4. \u83b7\u53d6\u5907\u4efd\uff1ascp root@10.0.0.157:~\/dpt.img .\/\n5. \u6062\u590d\uff1add if=dpt.img of=\/dev\/sda bs=1 seek=446\n6. \u91cd\u542f\uff1areboot\n<\/code><\/pre>\n<p><strong>fdisk\u4ea4\u4e92\u547d\u4ee4\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\">fdisk \/dev\/sda\n<\/code><\/pre>\n<ul>\n<li><code>a<\/code> \u5207\u6362\u542f\u52a8\u6807\u5fd7<\/li>\n<li><code>d<\/code> \u5220\u9664\u5206\u533a<\/li>\n<li><code>F<\/code> \u5217\u51fa\u7a7a\u95f2\u7a7a\u95f4<\/li>\n<li><code>l<\/code> \u5217\u51fa\u5df2\u77e5\u5206\u533a\u7c7b\u578b<\/li>\n<li><code>n<\/code> \u6dfb\u52a0\u65b0\u5206\u533a<\/li>\n<li><code>p<\/code> \u6253\u5370\u5206\u533a\u8868<\/li>\n<li><code>t<\/code> \u66f4\u6539\u5206\u533a\u7c7b\u578b<\/li>\n<li><code>v<\/code> \u9a8c\u8bc1\u5206\u533a\u8868<\/li>\n<li><code>w<\/code> \u5199\u5165\u5e76\u9000\u51fa<\/li>\n<li><code>q<\/code> \u4e0d\u4fdd\u5b58\u9000\u51fa<\/li>\n<li><code>g<\/code> \u521b\u5efa\u65b0GPT\u5206\u533a\u8868<\/li>\n<li><code>o<\/code> \u521b\u5efa\u65b0DOS\u5206\u533a\u8868<\/li>\n<\/ul>\n<h3>3. GPT\u5206\u533a\u7ba1\u7406<\/h3>\n<p><strong>gdisk\u64cd\u4f5c\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\">gdisk \/dev\/nvme0n1\n<\/code><\/pre>\n<p>\u4ea4\u4e92\u547d\u4ee4\u4e0efdisk\u7c7b\u4f3c<\/p>\n<h3>4. \u5206\u533a\u67e5\u770b\u547d\u4ee4<\/h3>\n<pre><code class=\"language-bash\">fdisk -l      # \u67e5\u770b\u5206\u533a\u8868(dos\u8868\u793aMBR)\nlsblk         # \u6811\u72b6\u663e\u793a\u5757\u8bbe\u5907\nhexdump -C -n 512 \/dev\/sda -v  # \u67e5\u770b\u524d512\u5b57\u8282\n<\/code><\/pre>\n<h2>\u4e09\u3001\u6587\u4ef6\u7cfb\u7edf\u7ba1\u7406<\/h2>\n<h3>1. Linux\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b<\/h3>\n<table>\n<thead>\n<tr>\n<th>\u7c7b\u578b<\/th>\n<th>\u7279\u70b9<\/th>\n<th>\u521b\u5efa\u547d\u4ee4<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>ext2<\/td>\n<td>\u65e9\u671fLinux\u6587\u4ef6\u7cfb\u7edf<\/td>\n<td><code>mkfs.ext2<\/code><\/td>\n<\/tr>\n<tr>\n<td>ext3<\/td>\n<td>\u5e26\u65e5\u5fd7\u7684ext2<\/td>\n<td><code>mkfs.ext3<\/code><\/td>\n<\/tr>\n<tr>\n<td>ext4<\/td>\n<td>\u4e4c\u73ed\u56fe\u63a8\u5d07<\/td>\n<td><code>mkfs.ext4<\/code><\/td>\n<\/tr>\n<tr>\n<td>xfs<\/td>\n<td>rocky\u63a8\u5d07<\/td>\n<td><code>mkfs.xfs<\/code><\/td>\n<\/tr>\n<tr>\n<td>swap<\/td>\n<td>\u865a\u62df\u5185\u5b58<\/td>\n<td><code>mkswap<\/code><\/td>\n<\/tr>\n<tr>\n<td>iso9660<\/td>\n<td>\u5149\u76d8\u6587\u4ef6\u7cfb\u7edf<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<tr>\n<td>btrfs<\/td>\n<td>\u9ad8\u7ea7\u6587\u4ef6\u7cfb\u7edf<\/td>\n<td><code>mkfs.btrfs<\/code><\/td>\n<\/tr>\n<tr>\n<td>reiserfs<\/td>\n<td>\u9ad8\u6548\u5c0f\u6587\u4ef6\u5b58\u50a8<\/td>\n<td><code>mkfs.reiserfs<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>2. \u6587\u4ef6\u7cfb\u7edf\u64cd\u4f5c<\/h3>\n<pre><code class=\"language-bash\"># \u67e5\u770b\u5206\u533a\u6587\u4ef6\u7cfb\u7edf\nlsblk -f\n\n# \u521b\u5efa\u6587\u4ef6\u7cfb\u7edf\nmkfs.ext4 \/dev\/sdb1\nmkfs.xfs \/dev\/sdc1\n<\/code><\/pre>\n<h3>3. \u6302\u8f7d\u7ba1\u7406<\/h3>\n<p><strong>\u4e34\u65f6\u6302\u8f7d\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\">mount \/dev\/sdb1 \/mnt\/data\numount \/mnt\/data   # \u6216 umount \/dev\/sdb1\n<\/code><\/pre>\n<p><strong>\u6301\u4e45\u6302\u8f7d\uff08\/etc\/fstab\uff09\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\"># \u683c\u5f0f\uff1a&lt;\u8bbe\u5907&gt; &lt;\u6302\u8f7d\u70b9&gt; &lt;\u7c7b\u578b&gt; &lt;\u9009\u9879&gt; &lt;\u5907\u4efd&gt; &lt;\u68c0\u67e5&gt;\n\n# \u6839\u5206\u533a\u793a\u4f8b\nUUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \/ ext4 defaults 0 1\n\n# \u6570\u636e\u5206\u533a\u793a\u4f8b\nUUID=1234-5678 \/home\/data ext4 defaults,noatime 0 2\n\n# \u8bbe\u5907\u540d\u6302\u8f7d\u793a\u4f8b\n\/dev\/sdb1 \/mnt\/backup xfs defaults 0 0\n\n# \u865a\u62df\u6587\u4ef6\u7cfb\u7edf\nproc \/proc proc defaults 0 0\n\n# \u751f\u6548\u547d\u4ee4\nmount -a\nmount -o remount \/mountpoint  # \u91cd\u65b0\u6302\u8f7d\n<\/code><\/pre>\n<p><strong>\u67e5\u770b\u6302\u8f7d\u4fe1\u606f\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\">cat \/etc\/fstab\nblkid        # \u67e5\u770bUUID\n<\/code><\/pre>\n<h2>\u56db\u3001\u6587\u4ef6\u7cfb\u7edf\u5f02\u5e38\u4fee\u590d<\/h2>\n<h3>1. \u4fee\u590d\u6d41\u7a0b<\/h3>\n<pre><code class=\"language-bash\">1. \u5378\u8f7d\u6587\u4ef6\u7cfb\u7edf\uff1aumount \/dev\/sdX\n2. \u6267\u884c\u4fee\u590d\u5de5\u5177\uff1afsck\/xfs_repair\n3. \u91cd\u65b0\u6302\u8f7d\u9a8c\u8bc1\uff1amount \/dev\/sdX \/mountpoint\n<\/code><\/pre>\n<h3>2. \u4fee\u590d\u5de5\u5177<\/h3>\n<p><strong>ext\u7cfb\u5217\u4fee\u590d(e2fsck)\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\">e2fsck \/dev\/sdb1\n<\/code><\/pre>\n<ul>\n<li><code>-y<\/code> \u81ea\u52a8\u56de\u7b54yes<\/li>\n<li><code>-f<\/code> \u5f3a\u5236\u4fee\u590d<\/li>\n<li><code>-p<\/code> \u81ea\u52a8\u5b89\u5168\u4fee\u590d<\/li>\n<\/ul>\n<p><strong>xfs\u4fee\u590d(xfs_repair)\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\">xfs_repair \/dev\/sdb1\n<\/code><\/pre>\n<ul>\n<li><code>-f<\/code> \u4fee\u590d\u6587\u4ef6\u800c\u975e\u8bbe\u5907<\/li>\n<li><code>-n<\/code> \u53ea\u68c0\u67e5\u4e0d\u4fee\u590d<\/li>\n<li><code>-d<\/code> \u5141\u8bb8\u4fee\u590d\u53ea\u8bfb\u6302\u8f7d\u8bbe\u5907<\/li>\n<\/ul>\n<h3>3. \u4fee\u590d\u6848\u4f8b<\/h3>\n<p><strong>\u573a\u666f\uff1a\u6587\u4ef6\u7cfb\u7edf\u635f\u574f<\/strong><\/p>\n<pre><code class=\"language-bash\"># \u51c6\u5907\u73af\u5883\nrm -rf \/mount ; mkdir \/mount\/ext -p\nmkfs.ext4 \/dev\/sdb1\nmount \/dev\/sdb1 \/mount\/ext\/\ncp \/etc\/fstab \/mount\/ext\/f{1,2}\n\n# \u4eba\u4e3a\u7834\u574f\ndd if=\/dev\/zero of=\/dev\/sdb1 bs=1M count=1\n\n# \u4fee\u590d\u8fc7\u7a0b\numount \/dev\/sdb1\ne2fsck \/dev\/sdb1\n\n# \u9a8c\u8bc1\u4fee\u590d\nmount \/dev\/sdb1 \/mount\/ext\/\nls \/mount\/ext\/\n<\/code><\/pre>\n<p><strong>fstab\u9519\u8bef\u5904\u7406\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\"># \u6ce8\u91ca\u9519\u8bef\u6761\u76ee\nsed -i '\/mount\\\/xfs\/s@^@#@' \/etc\/fstab\n\n# \u68c0\u67e5\u4fee\u6539\ngrep 'mount\/xfs' \/etc\/fstab\n\n# \u91cd\u65b0\u6302\u8f7d\nsystemctl daemon-reload\nmount -a\nmount | grep \/mount\n\n# \u91cd\u542f\u9a8c\u8bc1\nreboot\n<\/code><\/pre>\n<h2>\u4e94\u3001SWAP\u7ba1\u7406<\/h2>\n<pre><code class=\"language-bash\"># \u7981\u7528SWAP\n1. sed -i '\/swap\/s\/^\/#\/' \/etc\/fstab  # \u6ce8\u91ca\u914d\u7f6e\n2. swapoff -a                        # \u7981\u7528\u6240\u6709swap\n\n# \u542f\u7528SWAP\n1. sed -i '\/swap\/s\/^#\/\/' \/etc\/fstab  # \u53d6\u6d88\u6ce8\u91ca\n2. swapon -a                         # \u542f\u7528\u6240\u6709swap\n<\/code><\/pre>\n<h2>\u516d\u3001RAID\u6280\u672f<\/h2>\n<h3>1. RAID\u7ea7\u522b\u5bf9\u6bd4<\/h3>\n<table>\n<thead>\n<tr>\n<th>\u7c7b\u578b<\/th>\n<th>\u6700\u5c11\u78c1\u76d8<\/th>\n<th>\u5bb9\u9519\u80fd\u529b<\/th>\n<th>\u7279\u70b9<\/th>\n<th>\u5229\u7528\u7387<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>RAID0<\/td>\n<td>2<\/td>\n<td>\u65e0<\/td>\n<td>\u6570\u636e\u5206\u5757\u5b58\u50a8\uff0c\u63d0\u5347\u6027\u80fd<\/td>\n<td>100%<\/td>\n<\/tr>\n<tr>\n<td>RAID1<\/td>\n<td>2<\/td>\n<td>1\u76d8<\/td>\n<td>\u5b8c\u5168\u955c\u50cf<\/td>\n<td>50%<\/td>\n<\/tr>\n<tr>\n<td>RAID4<\/td>\n<td>3<\/td>\n<td>1\u76d8<\/td>\n<td>\u4e13\u7528\u6821\u9a8c\u76d8<\/td>\n<td>(n-1)\/n<\/td>\n<\/tr>\n<tr>\n<td>RAID5<\/td>\n<td>3<\/td>\n<td>1\u76d8<\/td>\n<td>\u5206\u5e03\u5f0f\u6821\u9a8c<\/td>\n<td>(n-1)\/n<\/td>\n<\/tr>\n<tr>\n<td>RAID6<\/td>\n<td>4<\/td>\n<td>2\u76d8<\/td>\n<td>\u53cc\u5206\u5e03\u5f0f\u6821\u9a8c<\/td>\n<td>(n-2)\/n<\/td>\n<\/tr>\n<tr>\n<td>RAID10<\/td>\n<td>4<\/td>\n<td>1\u7ec4<\/td>\n<td>\u5148\u955c\u50cf\u540e\u5206\u6761<\/td>\n<td>50%<\/td>\n<\/tr>\n<tr>\n<td>RAID01<\/td>\n<td>4<\/td>\n<td>1\u7ec4<\/td>\n<td>\u5148\u5206\u6761\u540e\u955c\u50cf<\/td>\n<td>50%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>2. RAID\u521b\u5efa\u793a\u4f8b<\/h3>\n<pre><code class=\"language-bash\"># \u521b\u5efaRAID5\nmdadm --create \/dev\/md0 --level=5 --raid-devices=3 \/dev\/sd{b,c,d}1\n<\/code><\/pre>\n<h2>\u4e03\u3001LVM\u903b\u8f91\u5377\u7ba1\u7406<\/h2>\n<h3>1. LVM\u7ed3\u6784<\/h3>\n<ul>\n<li><strong>PV(\u7269\u7406\u5377)<\/strong> &#8211; \u7269\u7406\u78c1\u76d8\/\u5206\u533a<\/li>\n<li><strong>VG(\u5377\u7ec4)<\/strong> &#8211; PV\u7684\u96c6\u5408(\u76f8\u5f53\u4e8e\u5927\u786c\u76d8)<\/li>\n<li><strong>LV(\u903b\u8f91\u5377)<\/strong> &#8211; \u4eceVG\u5212\u5206\u7684\u903b\u8f91\u5206\u533a<\/li>\n<li><strong>PE(\u7269\u7406\u5757)<\/strong> &#8211; \u9ed8\u8ba44M<\/li>\n<li><strong>LE(\u903b\u8f91\u5757)<\/strong> &#8211; \u9ed8\u8ba44M<\/li>\n<\/ul>\n<h3>2. LVM\u64cd\u4f5c\u547d\u4ee4<\/h3>\n<table>\n<thead>\n<tr>\n<th>\u5bf9\u8c61<\/th>\n<th>\u547d\u4ee4<\/th>\n<th>\u529f\u80fd<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>PV<\/td>\n<td><code>pvcreate \/dev\/sdXn<\/code><\/td>\n<td>\u521b\u5efa\u7269\u7406\u5377<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><code>pvdisplay<\/code><\/td>\n<td>\u663e\u793a\u7269\u7406\u5377\u4fe1\u606f<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><code>pvremove<\/code><\/td>\n<td>\u79fb\u9664\u7269\u7406\u5377<\/td>\n<\/tr>\n<tr>\n<td>VG<\/td>\n<td><code>vgcreate vg00 \/dev\/sdXn<\/code><\/td>\n<td>\u521b\u5efa\u5377\u7ec4<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><code>vgextend vg00 \/dev\/sdYn<\/code><\/td>\n<td>\u6269\u5c55\u5377\u7ec4<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><code>vgreduce vg00 \/dev\/sdXn<\/code><\/td>\n<td>\u7f29\u5c0f\u5377\u7ec4<\/td>\n<\/tr>\n<tr>\n<td>LV<\/td>\n<td><code>lvcreate -L 10G -n lvdata vg00<\/code><\/td>\n<td>\u521b\u5efa\u903b\u8f91\u5377<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><code>lvextend -L +5G \/dev\/vg00\/lvdata<\/code><\/td>\n<td>\u6269\u5c55\u903b\u8f91\u5377<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><code>lvreduce -L 5G \/dev\/vg00\/lvdata<\/code><\/td>\n<td>\u7f29\u5c0f\u903b\u8f91\u5377<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>3. LVM\u521b\u5efa\u6d41\u7a0b<\/h3>\n<pre><code class=\"language-bash\"># 1. \u51c6\u5907\u78c1\u76d8\uff08\u5206\u533aID\u6539\u4e3a8e\uff09\n# 2. \u521b\u5efa\u7269\u7406\u5377\npvcreate \/dev\/sdb\n\n# 3. \u521b\u5efa\u5377\u7ec4\nvgcreate vg_data \/dev\/sdb\n\n# 4. \u521b\u5efa\u903b\u8f91\u5377\nlvcreate -L 20G -n lv_www vg_data\n\n# 5. \u521b\u5efa\u6587\u4ef6\u7cfb\u7edf\nmkfs.xfs \/dev\/vg_data\/lv_www\n\n# 6. \u6302\u8f7d\u4f7f\u7528\nmkdir \/www\nmount \/dev\/vg_data\/lv_www \/www\n<\/code><\/pre>\n<h3>4. LVM\u6269\u5bb9\u4e0e\u7f29\u51cf<\/h3>\n<p><strong>EXT4\u6269\u5bb9\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\">lvextend -L +5G \/dev\/vg_data\/lv_db\nresize2fs \/dev\/vg_data\/lv_db\n<\/code><\/pre>\n<p><strong>EXT4\u7f29\u51cf\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\">umount \/db\nfsck -f \/dev\/vg_data\/lv_db\nresize2fs \/dev\/vg_data\/lv_db 15G\nlvreduce -L 15G \/dev\/vg_data\/lv_db\nmount -a\n<\/code><\/pre>\n<p><strong>XFS\u6269\u5bb9\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\">lvextend -L +5G -r \/dev\/vg_data\/lv_www  # -r\u81ea\u52a8\u8c03\u6574\u6587\u4ef6\u7cfb\u7edf\n<\/code><\/pre>\n<h2>\u516b\u3001\u8f6f\u4ef6\u5305\u7ba1\u7406<\/h2>\n<h3>1. RPM\/YUM (RedHat\u7cfb)<\/h3>\n<p><strong>RPM\u547d\u4ee4\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\">rpm -ivh package.rpm  # \u5b89\u88c5\nrpm -e package        # \u5378\u8f7d\nrpm -qi package       # \u67e5\u8be2\u4fe1\u606f\nrpm -ql package       # \u67e5\u8be2\u6587\u4ef6\u5217\u8868\nrpm -qf \/path\/file    # \u67e5\u8be2\u6587\u4ef6\u6240\u5c5e\u5305\n<\/code><\/pre>\n<p><strong>YUM\u4ed3\u5e93\u914d\u7f6e\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\"># \/etc\/yum.repos.d\/rocky.repo\n[baseos]\nname=Rocky Linux $releasever BaseOS\nbaseurl=https:\/\/mirrors.aliyun.com\/rockylinux\/$releasever\/BaseOS\/$basearch\/os\/\ngpgcheck=1\ngpgkey=file:\/\/\/etc\/pki\/rpm-gpg\/RPM-GPG-KEY-rockyofficial\n<\/code><\/pre>\n<p><strong>YUM\u547d\u4ee4\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\">yum repolist          # \u67e5\u770b\u4ed3\u5e93\u5217\u8868\nyum search keyword    # \u641c\u7d22\u5305\nyum list available    # \u67e5\u770b\u53ef\u7528\u5305\nyum install package   # \u5b89\u88c5\u5305\nyum provides *\/cmd    # \u67e5\u627e\u547d\u4ee4\u6240\u5c5e\u5305\nyum --downloadonly --downloaddir=\/path\/ install package  # \u53ea\u4e0b\u8f7d\u4e0d\u5b89\u88c5\nyum clean all         # \u6e05\u9664\u7f13\u5b58\nyum makecache         # \u91cd\u5efa\u7f13\u5b58\n<\/code><\/pre>\n<h3>2. DPKG\/APT (Debian\u7cfb)<\/h3>\n<p><strong>DPKG\u547d\u4ee4\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\">dpkg -i package.deb   # \u5b89\u88c5\ndpkg -r package       # \u79fb\u9664\ndpkg -p package       # \u5b8c\u5168\u79fb\u9664\uff08\u542b\u914d\u7f6e\uff09\ndpkg -l               # \u5217\u51fa\u5df2\u5b89\u88c5\u5305\ndpkg -l | grep nginx  # \u67e5\u627e\u7279\u5b9a\u5305\n<\/code><\/pre>\n<p><strong>APT\u64cd\u4f5c\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\"># \u6e90\u914d\u7f6e\uff1a\/etc\/apt\/sources.list\napt update              # \u66f4\u65b0\u7f13\u5b58\napt install package     # \u5b89\u88c5\napt purge package       # \u5b8c\u5168\u79fb\u9664\napt autoremove          # \u81ea\u52a8\u79fb\u9664\u4e0d\u9700\u8981\u7684\u5305\napt-cache madison nginx # \u67e5\u770b\u53ef\u7528\u7248\u672c\n\n# \u5f7b\u5e95\u6e05\u7406\napt purge ufw lxd lxd-client lxcfs liblxc-common\napt purge $(dpkg -l | grep '^rc' | awk '{print $2}')\n<\/code><\/pre>\n<h2>\u4e5d\u3001\u7f51\u7edc\u8bca\u65ad\u5de5\u5177<\/h2>\n<h3>tcpdump\u9ad8\u7ea7\u7528\u6cd5<\/h3>\n<p><strong>\u57fa\u672c\u9009\u9879\uff1a<\/strong><\/p>\n<ul>\n<li><code>-i<\/code> \u6307\u5b9a\u63a5\u53e3<\/li>\n<li><code>-D<\/code> \u5217\u51fa\u53ef\u7528\u63a5\u53e3<\/li>\n<li><code>-c<\/code> \u6355\u83b7\u5305\u6570\u91cf<\/li>\n<li><code>-w<\/code> \u5199\u5165\u6587\u4ef6<\/li>\n<li><code>-r<\/code> \u8bfb\u53d6\u6587\u4ef6<\/li>\n<li><code>-s<\/code> \u8bbe\u7f6e\u5305\u957f\u5ea6<\/li>\n<\/ul>\n<p><strong>\u8fc7\u6ee4\u9009\u9879\uff1a<\/strong><\/p>\n<ul>\n<li><code>host<\/code> \u6307\u5b9a\u4e3b\u673a<\/li>\n<li><code>port<\/code> \u6307\u5b9a\u7aef\u53e3<\/li>\n<li><code>net<\/code> \u6307\u5b9a\u7f51\u7edc<\/li>\n<li><code>src\/dst<\/code> \u6e90\/\u76ee\u6807\u5730\u5740<\/li>\n<li><code>and\/or\/not<\/code> \u903b\u8f91\u7ec4\u5408<\/li>\n<\/ul>\n<p><strong>\u8f93\u51fa\u9009\u9879\uff1a<\/strong><\/p>\n<ul>\n<li><code>-n<\/code> \u4e0d\u89e3\u6790\u5730\u5740<\/li>\n<li><code>-v<\/code> \u8be6\u7ec6\u8f93\u51fa<\/li>\n<li><code>-X<\/code> \u5341\u516d\u8fdb\u5236+ASCII\u8f93\u51fa<\/li>\n<li><code>-t<\/code> \u4e0d\u663e\u793a\u65f6\u95f4\u6233<\/li>\n<\/ul>\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\">tcpdump -i eth0 host 192.168.1.100\ntcpdump tcp port 22\ntcpdump -c 5 -w capture.pcap\ntcpdump -r capture.pcap\n<\/code><\/pre>\n<h2>\u5341\u3001\u7cfb\u7edf\u7ba1\u7406\u6280\u5de7<\/h2>\n<h3>1. Ubuntu\u684c\u9762\u5b89\u88c5<\/h3>\n<pre><code class=\"language-bash\">apt install ubuntu-desktop -y\n<\/code><\/pre>\n<h3>2. \u642d\u5efaYUM\u4ed3\u5e93<\/h3>\n<pre><code class=\"language-bash\">yum -y install httpd\nsystemctl enable --now httpd\n# \u5c06\u4ed3\u5e93\u6587\u4ef6\u653e\u5165\/var\/www\/html\n<\/code><\/pre>\n<h3>3. \u66f4\u6539Ubuntu\u6e90<\/h3>\n<pre><code class=\"language-bash\">1. vim \/etc\/apt\/sources.list\n2. \u66ff\u6362\u4e3a\u963f\u91cc\u4e91\u955c\u50cf\n3. apt update\n4. apt-cache policy package\n<\/code><\/pre>\n<h3>4. \u5305\u7ba1\u7406\u5668\u5bf9\u6bd4<\/h3>\n<table>\n<thead>\n<tr>\n<th>\u64cd\u4f5c<\/th>\n<th>RPM<\/th>\n<th>YUM<\/th>\n<th>DPKG<\/th>\n<th>APT<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u5b89\u88c5<\/td>\n<td><code>rpm -ivh<\/code><\/td>\n<td><code>yum install<\/code><\/td>\n<td><code>dpkg -i<\/code><\/td>\n<td><code>apt install<\/code><\/td>\n<\/tr>\n<tr>\n<td>\u79fb\u9664<\/td>\n<td><code>rpm -e<\/code><\/td>\n<td><code>yum remove<\/code><\/td>\n<td><code>dpkg -r<\/code><\/td>\n<td><code>apt remove<\/code><\/td>\n<\/tr>\n<tr>\n<td>\u67e5\u8be2<\/td>\n<td><code>rpm -qa<\/code><\/td>\n<td><code>yum list<\/code><\/td>\n<td><code>dpkg -l<\/code><\/td>\n<td><code>apt list<\/code><\/td>\n<\/tr>\n<tr>\n<td>\u6e05\u7f13\u5b58<\/td>\n<td>&#8211;<\/td>\n<td><code>yum clean all<\/code><\/td>\n<td>&#8211;<\/td>\n<td><code>apt clean<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\u5341\u4e00\u3001\u5149\u76d8\u81ea\u52a8\u6302\u8f7d<\/h2>\n<pre><code class=\"language-bash\"># 1. \u5b89\u88c5autofs\nyum install -y autofs\n\n# 2. \u542f\u52a8\u670d\u52a1\nsystemctl start autofs\nsystemctl enable --now autofs\n\n# 3. \u914d\u7f6eautofs\n# \/etc\/auto.master \u6dfb\u52a0:\n\/misc \/etc\/auto.misc\n\n# \/etc\/auto.misc \u6dfb\u52a0:\ncdrom -fstype=iso9660,ro,nosuid,nodev :\/dev\/cdrom\n\n# 4. \u521b\u5efa\u6302\u8f7d\u70b9\nmkdir -p \/misc\/cdrom\n<\/code><\/pre>\n<h2>\u5341\u4e8c\u3001\u6e90\u7801\u7f16\u8bd1\u5b89\u88c5<\/h2>\n<h3>1. \u7f16\u8bd1\u6d41\u7a0b<\/h3>\n<pre><code class=\"language-bash\">.\/configure --prefix=\/custom\/path\nmake -j $(nproc)  # \u5e76\u884c\u7f16\u8bd1\nmake install\n<\/code><\/pre>\n<h3>2. Nginx\u7f16\u8bd1\u793a\u4f8b<\/h3>\n<pre><code class=\"language-bash\"># 1. \u4e0b\u8f7d\u89e3\u538b\ntar xf nginx-1.25.3.tar.gz\ncd nginx-1.25.3\n\n# 2. \u914d\u7f6e\u9009\u9879\n.\/configure --prefix=\/opt\/nginx --with-http_ssl_module\n\n# 3. \u89e3\u51b3\u4f9d\u8d56\nyum install -y gcc pcre-devel openssl-devel zlib-devel\n\n# 4. \u7f16\u8bd1\u5b89\u88c5\nmake -j $(nproc)\nmake install\n<\/code><\/pre>\n<h3>3. \u521b\u5efasystemd\u670d\u52a1<\/h3>\n<pre><code class=\"language-ini\"># \/etc\/systemd\/system\/nginx.service\n[Unit]\nDescription=NGINX Web Server\nAfter=network.target\n\n[Service]\nType=forking\nPIDFile=\/run\/nginx.pid\nExecStartPre=\/opt\/nginx\/sbin\/nginx -t\nExecStart=\/opt\/nginx\/sbin\/nginx\nExecReload=\/opt\/nginx\/sbin\/nginx -s reload\nExecStop=\/bin\/kill -s QUIT $MAINPID\nPrivateTmp=true\n\n[Install]\nWantedBy=multi-user.target\n<\/code><\/pre>\n<pre><code class=\"language-bash\"># \u751f\u6548\u547d\u4ee4\nsystemctl daemon-reload\nsystemctl start nginx\nsystemctl enable nginx\n<\/code><\/pre>\n<h2>\u5341\u4e09\u3001\u7f51\u7edc\u914d\u7f6e<\/h2>\n<h3>1. Rocky\u7f51\u5361\u914d\u7f6e<\/h3>\n<pre><code class=\"language-bash\"># \/etc\/sysconfig\/network-scripts\/ifcfg-eth0\nDEVICE=eth0\nNAME=eth0\nIPADDR=192.168.1.100\nPREFIX=24\nGATEWAY=192.168.1.1\nDNS1=8.8.8.8\nBOOTPROTO=static\nONBOOT=yes\n<\/code><\/pre>\n<p><strong>\u751f\u6548\u547d\u4ee4\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\">nmcli connection reload\nnmcli connection up eth0\n<\/code><\/pre>\n<h3>2. Ubuntu\u7f51\u5361\u914d\u7f6e<\/h3>\n<pre><code class=\"language-yaml\"># \/etc\/netplan\/01-netcfg.yaml\nnetwork:\n  version: 2\n  renderer: networkd\n  ethernets:\n    eth0:\n      dhcp4: no\n      addresses: [192.168.1.100\/24]\n      gateway4: 192.168.1.1\n      nameservers:\n        addresses: [8.8.8.8, 1.1.1.1]\n<\/code><\/pre>\n<p><strong>\u751f\u6548\u547d\u4ee4\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\">netplan apply\n<\/code><\/pre>\n<h3>3. \u591a\u7f51\u5361\u7ed1\u5b9a<\/h3>\n<p><strong>bonding\u6a21\u5f0f\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\"># \u521b\u5efabond0\nnmcli connection add type bond con-name bond0 ifname bond0 mode active-backup\n\n# \u6dfb\u52a0\u4ece\u5c5e\u7f51\u5361\nnmcli connection add type bond-slave ifname eth0 master bond0\nnmcli connection add type bond-slave ifname eth1 master bond0\n\n# \u914d\u7f6eIP\nnmcli connection modify bond0 ipv4.addresses 192.168.1.200\/24 ipv4.gateway 192.168.1.1\nnmcli connection up bond0\n<\/code><\/pre>\n<p><strong>\u7f51\u7edc\u7ec4\u6a21\u5f0f\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\"># \u521b\u5efateam0\nnmcli connection add type team con-name team0 ifname team0 config '{&quot;runner&quot;:{&quot;name&quot;:&quot;activebackup&quot;}}'\n\n# \u6dfb\u52a0\u4ece\u5c5e\u7f51\u5361\nnmcli connection add type team-slave con-name team0-eth0 ifname eth0 master team0\nnmcli connection add type team-slave con-name team0-eth1 ifname eth1 master team0\n\n# \u914d\u7f6eIP\nnmcli connection modify team0 ipv4.method manual ipv4.addresses 192.168.1.200\/24\nnmcli connection up team0<\/code><\/pre>\n<\/div>\n\n\n\n<div class=\"wp-block-jetpack-markdown\"><h2>\u5341\u56db\u3001\u7f51\u7edc\u534f\u8bae<\/h2>\n<h3>1. TCP\u4e09\u6b21\u63e1\u624b<\/h3>\n<\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/1.14.207.80\/wp-content\/uploads\/2025\/06\/deepseek_mermaid_20250624_799f9b-1024x617.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"617\" data-original=\"http:\/\/1.14.207.80\/wp-content\/uploads\/2025\/06\/deepseek_mermaid_20250624_799f9b-1024x617.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-102\"  sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/div><\/figure>\n\n\n\n<div class=\"wp-block-jetpack-markdown\"><h3>2. TCP\u56db\u6b21\u6325\u624b<\/h3>\n<\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/1.14.207.80\/wp-content\/uploads\/2025\/06\/deepseek_mermaid_20250624_ed32dc-1024x844.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"844\" data-original=\"http:\/\/1.14.207.80\/wp-content\/uploads\/2025\/06\/deepseek_mermaid_20250624_ed32dc-1024x844.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-101\"  sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/div><\/figure>\n\n\n\n<div class=\"wp-block-jetpack-markdown\"><h1>TCP\u6ed1\u52a8\u7a97\u53e3<\/h1>\n<p>TCP\u6ed1\u52a8\u7a97\u53e3\u662fTCP\u534f\u8bae\u4e2d\u7684\u4e00\u79cd\u91cd\u8981\u673a\u5236\uff0c\u7528\u4e8e\u63a7\u5236\u3001\u7ba1\u7406\u53d1\u9001\u65b9\u548c\u63a5\u6536\u65b9\u4e4b\u95f4\u7684\u6570\u636e\u4f20\u8f93\uff0c\u662f\u5b9e\u73b0\u6d41\u91cf\u63a7\u5236\u548c\u62e5\u585e\u63a7\u5236\u7684\u57fa\u7840\u3002<\/p>\n<h2>\u4e00\u3001\u5b9a\u4e49\u4e0e\u7ed3\u6784<\/h2>\n<p>TCP\u6ed1\u52a8\u7a97\u53e3\u662f\u53d1\u9001\u65b9\u548c\u63a5\u6536\u65b9\u4e4b\u95f4\u7684\u4e00\u79cd\u534f\u8bae\u7ea6\u5b9a\uff0c\u7531\u4e24\u4e2a\u90e8\u5206\u7ec4\u6210\uff1a<\/p>\n<h3>1. \u53d1\u9001\u7a97\u53e3<\/h3>\n<p>\u8868\u793a\u53ef\u4ee5\u8fde\u7eed\u53d1\u9001\u7684\u6570\u636e\u6bb5\u8303\u56f4\uff0c\u5927\u5c0f\u53d6\u51b3\u4e8e\u7f51\u7edc\u72b6\u51b5\u548c\u63a5\u6536\u65b9\u80fd\u529b\uff1a<\/p>\n<ul>\n<li>\u2705 <strong>\u5df2\u53d1\u9001\u4e14\u5df2\u6536\u5230ACK\u786e\u8ba4\u7684\u6570\u636e<\/strong><br>\n\uff08\u6211\u5df2\u53d1\u6211\u5df2\u6536\uff09<\/li>\n<li>\u23f3 <strong>\u5df2\u53d1\u9001\u4f46\u672a\u6536\u5230ACK\u786e\u8ba4\u7684\u6570\u636e<\/strong><br>\n\uff08\u6211\u5df2\u53d1\u6211\u672a\u6536\uff09<\/li>\n<li>\ud83d\udce4 <strong>\u672a\u53d1\u9001\u4f46\u53ef\u4ee5\u53d1\u9001\u7684\u6570\u636e<\/strong><br>\n\uff08\u6211\u672a\u53d1\u4f60\u80fd\u6536\uff09<\/li>\n<li>\u26d4 <strong>\u672a\u53d1\u9001\u4e5f\u4e0d\u53ef\u4ee5\u53d1\u9001\u7684\u6570\u636e<\/strong><br>\n\uff08\u6211\u672a\u53d1\u4f60\u4e0d\u6536\uff09<\/li>\n<\/ul>\n<h3>2. \u63a5\u6536\u7a97\u53e3<\/h3>\n<p>\u8868\u793a\u53ef\u4ee5\u63a5\u6536\u7684\u6570\u636e\u6bb5\u8303\u56f4\uff0c\u5927\u5c0f\u53d6\u51b3\u4e8e\u63a5\u6536\u65b9\u7f13\u51b2\u533a\u5927\u5c0f\u548c\u5904\u7406\u80fd\u529b\uff1a<\/p>\n<ul>\n<li>\u2705 <strong>\u5df2\u6210\u529f\u63a5\u6536\u5e76\u786e\u8ba4\u7684\u6570\u636e<\/strong><br>\n\uff08\u7b49\u5f85\u5e94\u7528\u8fdb\u7a0b\u8bfb\u53d6\uff0c\u4f60\u5df2\u53d1\u6211\u5df2\u6536\uff09<\/li>\n<li>\ud83d\udce5 <strong>\u672a\u6536\u5230\u6570\u636e\u4f46\u53ef\u4ee5\u63a5\u6536\u7684\u6570\u636e<\/strong><br>\n\uff08\u4f60\u672a\u53d1\u6211\u80fd\u6536\uff09<\/li>\n<li>\u26d4 <strong>\u672a\u6536\u5230\u6570\u636e\u5e76\u4e0d\u53ef\u4ee5\u63a5\u6536\u7684\u6570\u636e<\/strong><br>\n\uff08\u4f60\u672a\u53d1\u6211\u4e0d\u6536\uff09<\/li>\n<\/ul>\n<h2>\u4e8c\u3001\u5de5\u4f5c\u539f\u7406<\/h2>\n<ol>\n<li>\n<p><strong>\u7a97\u53e3\u6ed1\u52a8<\/strong><\/p>\n<ul>\n<li>\u63a5\u6536\u65b9\u6210\u529f\u63a5\u6536\u6570\u636e\u540e\u7a97\u53e3\u524d\u79fb\uff0c\u901a\u77e5\u53d1\u9001\u65b9\u53ef\u53d1\u9001\u66f4\u591a\u6570\u636e<\/li>\n<li>\u53d1\u9001\u65b9\u6536\u5230ACK\u786e\u8ba4\u540e\u53d1\u9001\u7a97\u53e3\u524d\u79fb<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u6d41\u91cf\u63a7\u5236<\/strong><\/p>\n<ul>\n<li>\u63a5\u6536\u65b9\u901a\u8fc7\u8c03\u6574\u7a97\u53e3\u5927\u5c0f\u63a7\u5236\u53d1\u9001\u901f\u7387<\/li>\n<li>\u7f13\u51b2\u533a\u6ee1\u65f6\u51cf\u5c0f\u7a97\u53e3 \u2192 \u964d\u4f4e\u53d1\u9001\u901f\u7387<\/li>\n<li>\u7f13\u51b2\u533a\u7a7a\u65f6\u589e\u5927\u7a97\u53e3 \u2192 \u63d0\u9ad8\u53d1\u9001\u901f\u7387<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u63d0\u9ad8\u4f20\u8f93\u6548\u7387<\/strong><\/p>\n<ul>\n<li>\u5141\u8bb8\u8fde\u7eed\u53d1\u9001\u591a\u4e2a\u6570\u636e\u6bb5\uff08\u65e0\u9700\u7b49\u5f85\u5355\u4e2aACK\u786e\u8ba4\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h2>\u4e09\u3001\u5173\u952e\u53c2\u6570\u4e0e\u8ba1\u7b97<\/h2>\n<h3>1. \u7a97\u53e3\u5927\u5c0f<\/h3>\n<table>\n<thead>\n<tr>\n<th>\u5c5e\u6027<\/th>\n<th>\u8bf4\u660e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>TCP\u5934\u90e8\u5b57\u6bb5<\/td>\n<td><code>Window<\/code> (16\u4f4d)<\/td>\n<\/tr>\n<tr>\n<td>\u9ed8\u8ba4\u6700\u5927\u503c<\/td>\n<td>65,535\u5b57\u8282<\/td>\n<\/tr>\n<tr>\n<td>\u7a97\u53e3\u7f29\u653e\u56e0\u5b50<\/td>\n<td>\u6700\u592714 (RFC 7323)<\/td>\n<\/tr>\n<tr>\n<td>\u7406\u8bba\u6700\u5927\u5c3a\u5bf8<\/td>\n<td>65,535 \u00d7 2&lt;sup&gt;14&lt;\/sup&gt; = 1,073,725,440\u5b57\u8282<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>2. \u5173\u952e\u6307\u9488<\/h3>\n<table>\n<thead>\n<tr>\n<th>\u6307\u9488<\/th>\n<th>\u542b\u4e49<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>SND.UNA<\/code><\/td>\n<td>\u5df2\u53d1\u9001\u672a\u786e\u8ba4\u7684\u9996\u5b57\u8282\u5e8f\u5217\u53f7<\/td>\n<\/tr>\n<tr>\n<td><code>SND.NXT<\/code><\/td>\n<td>\u5f85\u53d1\u9001\u6570\u636e\u7684\u9996\u5b57\u8282\u5e8f\u5217\u53f7<\/td>\n<\/tr>\n<tr>\n<td><code>RCV.NXT<\/code><\/td>\n<td>\u671f\u671b\u63a5\u6536\u7684\u4e0b\u4e2a\u6570\u636e\u5b57\u8282\u5e8f\u5217\u53f7<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\u56db\u3001\u5e94\u7528\u4e0e\u610f\u4e49<\/h2>\n<ul>\n<li>\u5b9e\u73b0\u52a8\u6001\u6d41\u91cf\u63a7\u5236\u4e0e\u62e5\u585e\u63a7\u5236<\/li>\n<li>\u786e\u4fdd\u6570\u636e\u4f20\u8f93\u53ef\u9760\u6027<\/li>\n<li>\u63d0\u9ad8\u7f51\u7edc\u5229\u7528\u7387\uff08\u51cf\u5c11\u7a7a\u95f2\u7b49\u5f85\u65f6\u95f4\uff09<\/li>\n<li>\u964d\u4f4e\u4f20\u8f93\u5ef6\u8fdf<\/li>\n<\/ul>\n<hr>\n<h2>\u6d41\u91cf\u63a7\u5236\u5b9e\u73b0\u673a\u5236<\/h2>\n<h3>\u6838\u5fc3\u539f\u7406<\/h3>\n<p>\u901a\u8fc7\u63a7\u5236\u53d1\u9001\u7a97\u53e3\u7684 <strong>\u23f3 \u5df2\u53d1\u9001\u4f46\u672a\u6536\u5230ACK\u786e\u8ba4\u7684\u6570\u636e<\/strong> \u90e8\u5206\u5b9e\u73b0\u52a8\u6001\u8c03\u8282\uff1a<\/p>\n<h3>\u5de5\u4f5c\u6d41\u7a0b<\/h3>\n<ol>\n<li>\n<p><strong>\u63a5\u6536\u7a97\u53e3\u53cd\u9988<\/strong><br>\n\u63a5\u6536\u65b9\u901a\u8fc7TCP\u62a5\u6587\u5934\u7684 <code>Window<\/code> \u5b57\u6bb5\u901a\u544a\u53ef\u7528\u7f13\u51b2\u533a\u5927\u5c0f<\/p>\n<\/li>\n<li>\n<p><strong>\u53d1\u9001\u7a97\u53e3\u8c03\u6574<\/strong><\/p>\n<pre><code class=\"language-mermaid\">graph LR\nA[\u63a5\u6536\u65b9\u51cf\u5c0f\u7a97\u53e3] --&gt; B[\u53d1\u9001\u65b9\u7f29\u51cf\u5f85\u53d1\u6570\u636e\u533a]\nB --&gt; C[\u964d\u4f4e\u53d1\u9001\u901f\u7387]\nD[\u63a5\u6536\u65b9\u589e\u5927\u7a97\u53e3] --&gt; E[\u53d1\u9001\u65b9\u6269\u5c55\u5f85\u53d1\u6570\u636e\u533a]\nE --&gt; F[\u63d0\u9ad8\u53d1\u9001\u901f\u7387]\n<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>\u52a8\u6001\u5e73\u8861<\/strong><\/p>\n<ul>\n<li>\u7f51\u7edc\u62e5\u585e\/\u63a5\u6536\u65b9\u5904\u7406\u80fd\u529b\u4e0d\u8db3 \u2192 \u7a97\u53e3\u7f29\u5c0f \u2192 \u53d1\u9001\u51cf\u901f<\/li>\n<li>\u7f51\u7edc\u901a\u7545\/\u63a5\u6536\u65b9\u80fd\u529b\u589e\u5f3a \u2192 \u7a97\u53e3\u6269\u5927 \u2192 \u53d1\u9001\u52a0\u901f<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<hr>\n<h2>\u4f20\u8f93\u8fc7\u7a0b\u7c7b\u6bd4\uff08\u5361\u8f66\u8fd0\u8f93\u793a\u4f8b\uff09<\/h2>\n<table>\n<thead>\n<tr>\n<th>\u6279\u6b21<\/th>\n<th>\u53d1\u9001\u91cf<\/th>\n<th>\u63a5\u6536\u80fd\u529b<\/th>\n<th>\u7ed3\u679c<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u7b2c\u4e00\u6b21<\/td>\n<td>6\u4ef6<\/td>\n<td>5\u4ef6<\/td>\n<td>\u2705 \u6210\u529f\u9001\u8fbe5\u4ef6\uff0c1\u4ef6\u6ede\u7559<\/td>\n<\/tr>\n<tr>\n<td>\u7b2c\u4e8c\u6b21<\/td>\n<td>6\u4ef6<\/td>\n<td>4\u4ef6<\/td>\n<td>\u2705 \u9001\u8fbe4\u4ef6+\u6ede\u75591\u4ef6=5\u4ef6<\/td>\n<\/tr>\n<tr>\n<td>\u7b2c\u4e09\u6b21<\/td>\n<td>4\u4ef6<\/td>\n<td>5\u4ef6<\/td>\n<td>\u2705 \u6210\u529f\u9001\u8fbe4\u4ef6<\/td>\n<\/tr>\n<tr>\n<td>\u7b2c\u56db\u6b21<\/td>\n<td>5\u4ef6<\/td>\n<td>5\u4ef6<\/td>\n<td>\u2705 \u52a8\u6001\u8c03\u6574\u81f3\u6700\u4f73\u4f20\u8f93\u91cf<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-100","post","type-post","status-publish","format-standard","hentry","category-linux"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.zhangjianjia.xyz\/index.php\/wp-json\/wp\/v2\/posts\/100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zhangjianjia.xyz\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.zhangjianjia.xyz\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.zhangjianjia.xyz\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.zhangjianjia.xyz\/index.php\/wp-json\/wp\/v2\/comments?post=100"}],"version-history":[{"count":2,"href":"https:\/\/www.zhangjianjia.xyz\/index.php\/wp-json\/wp\/v2\/posts\/100\/revisions"}],"predecessor-version":[{"id":105,"href":"https:\/\/www.zhangjianjia.xyz\/index.php\/wp-json\/wp\/v2\/posts\/100\/revisions\/105"}],"wp:attachment":[{"href":"https:\/\/www.zhangjianjia.xyz\/index.php\/wp-json\/wp\/v2\/media?parent=100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zhangjianjia.xyz\/index.php\/wp-json\/wp\/v2\/categories?post=100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhangjianjia.xyz\/index.php\/wp-json\/wp\/v2\/tags?post=100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}