<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_辛勤耕耘</title><subtitle type="text">未曾清贫难成人，不经打击老天真，从来英雄出炼狱，自古富贵入凡尘，醉生梦死谁成器，拓马长枪定乾坤</subtitle><id>http://feed.cnblogs.com/blog/u/57270/rss</id><updated>2011-07-26T03:02:36Z</updated><author><name>辛勤耕耘</name><uri>http://www.cnblogs.com/dubingsky/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dubingsky/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/57270/rss"/><entry><id>http://www.cnblogs.com/dubingsky/archive/2011/07/05/2098237.html</id><title type="text">Kernel panic调试方法</title><summary type="text">Oops: 0000 [#1] PREEMPT SMP Modules linked in: capidrv kernelcapi isdn slhc ipv6loop dm_multipath snd_ens1371 gameport snd_rawmidi snd_ac97_codecac97_bus snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seqsnd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm snd_timer sndparport_pc floppy parport pcnet3</summary><published>2011-07-05T05:58:00Z</published><updated>2011-07-05T05:58:00Z</updated><author><name>辛勤耕耘</name><uri>http://www.cnblogs.com/dubingsky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dubingsky/archive/2011/07/05/2098237.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dubingsky/archive/2011/07/05/2098237.html"/><content type="html">&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;Oops: 0000 [#1] PREEMPT SMP&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Modules linked in: capidrv kernelcapi isdn slhc ipv6&lt;br /&gt;loop dm_multipath snd_ens1371 gameport snd_rawmidi snd_ac97_codec&lt;br /&gt;ac97_bus snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq&lt;br /&gt;snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd&lt;br /&gt;parport_pc floppy parport pcnet32 soundcore mii pcspkr snd_page_alloc&lt;br /&gt;ac i2c_piix4 i2c_core button power_supply sr_mod sg cdrom ata_piix&lt;br /&gt;libata dm_snapshot dm_zero dm_mirror dm_mod BusLogic sd_mod scsi_mod&lt;br /&gt;ext3 jbd mbcache uhci_hcd ohci_hcd ehci_hcd&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pid: 1726, comm: kstopmachine Not tainted (2.6.24-rc3-module #2)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EIP: 0060:[&amp;lt;c04e53d6&amp;gt;] EFLAGS: 00010092 CPU: 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EIP is at list_del+0xa/0x61&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EAX: e0c3cc04 EBX: 00000020 ECX: 0000000e EDX: dec62000&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESI: df6e8f08 EDI: 000006bf EBP: dec62fb4 ESP: dec62fa4&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Process kstopmachine (pid: 1726, ti=dec62000&lt;br /&gt;task=df8d2d40 task.ti=dec62000)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Stack: 000006bf dec62fb4 c04276c7 00000020 dec62fbc&lt;br /&gt;c044ab4c dec62fd0 c045336c&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; df6e8f08 c04532b4 00000000 dec62fe0 c043deb0&lt;br /&gt;c043de75 00000000 00000000&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c0405cdf df6e8eb4 00000000 00000000 00000000&lt;br /&gt;00000000 00000000&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call Trace:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;lt;c0406081&amp;gt;] show_trace_log_lvl+0x1a/0x2f&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;lt;c0406131&amp;gt;] show_stack_log_lvl+0x9b/0xa3&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;lt;c04061dc&amp;gt;] show_registers+0xa3/0x1df&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;lt;c0406437&amp;gt;] die+0x11f/0x200&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;lt;c0613cba&amp;gt;] do_page_fault+0x533/0x61a&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;lt;c06123ea&amp;gt;] error_code+0x72/0x78&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;lt;c044ab4c&amp;gt;] __unlink_module+0xb/0xf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;lt;c045336c&amp;gt;] do_stop+0xb8/0x108&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;lt;c043deb0&amp;gt;] kthread+0x3b/0x63&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;lt;c0405cdf&amp;gt;] kernel_thread_helper+0x7/0x10&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =======================&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Code: 6b c0 e8 2e 7e f6 ff e8 d1 16 f2 ff b8 01 00 00&lt;br /&gt;00 e8 aa 1c f4 ff 89 d8 83 c4 10 5b 5d c3 90 90 90 55 89 e5 53 83 ec&lt;br /&gt;0c 8b 48 04 &amp;lt;8b&amp;gt; 11 39 c2 74 18 89 54 24 08 89 44 24 04 c7 04 24 be 32&lt;br /&gt;6b c0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EIP: [&amp;lt;c04e53d6&amp;gt;] list_del+0xa/0x61 SS:ESP 0068:dec62fa4&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; note: kstopmachine[1726] exited with preempt_count 1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1, 有自己编译的vmlinux： 使用gdb&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 编译时打开complie with debug info选项。&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 注意这行：&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EIP is at list_del+0xa/0x61&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 这告诉我们，list_del函数有0x61这么大，而Oops发生在0xa处。 那么我们先看一下list_del从哪里开始：&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # &lt;span style="color: #000080;"&gt;grep list_del /boot/System.map-2.6.24-rc3-module&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c10e5234 T plist_del&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c10e53cc T list_del&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c120feb6 T klist_del&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c12d6d34 r __ksymtab_list_del&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c12dadfc r __ksymtab_klist_del&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c12e1abd r __kstrtab_list_del&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c12e9d03 r __kstrtab_klist_del&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 于是我们知道，发生Oops时的EIP值是：&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c10e53cc + 0xa&amp;nbsp; == c10e53d6&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 然后用gdb查看：&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&lt;strong&gt;&lt;span style="color: #000080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # gdb /home/arc/build/linux-2.6/vmlinux&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000080;"&gt;(gdb) b *0xc10e53d6&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Breakpoint 1 at 0xc10e53d6: file&lt;br /&gt;/usr/src/linux-2.6.24-rc3/lib/list_debug.c, line 64.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 看，gdb直接就告诉你在哪个文件、哪一行了。&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gdb中还可以这样：&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # gdb Sources/linux-2.6.24/vmlinux&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (gdb) l *do_fork+0x1f&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xc102b7ac is in do_fork (kernel/fork.c:1385).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1380&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1381&amp;nbsp;&amp;nbsp;&amp;nbsp; static int fork_traceflag(unsigned clone_flags)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1382&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1383&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (clone_flags &amp;amp; CLONE_UNTRACED)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1384&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1385&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (clone_flags &amp;amp; CLONE_VFORK) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1386&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (current-&amp;gt;ptrace &amp;amp; PT_TRACE_VFORK)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1387&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return PTRACE_EVENT_VFORK;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1388&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if ((clone_flags &amp;amp; CSIGNAL) != SIGCHLD) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1389&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (current-&amp;gt;ptrace &amp;amp; PT_TRACE_CLONE)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (gdb)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 也可以直接知道line number。&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 或者：&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (gdb) l *(0xffffffff8023eaf0 + 0xff)&amp;nbsp; /* 出错函数的地址加上偏移 */&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2, 没有自己编译的vmlinux： TIPS&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 如果在lkml或bugzilla上看到一个Oops，而自己不能重现，那就只能反汇编以"Code:"开始的行。 这样可以尝试定位到&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 源代码中。&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 注意，Oops中的Code:行，会把导致Oops的第一条指令，也就是EIP的值的第一个字节， 用尖括号&amp;lt;&amp;gt;括起来。 但是，有些&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 体系结构(例如常见的x86)指令是不等长的(不一样的指令可能有不一样的长度)，所以要不断的尝试(trial-and-error)。&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Linus通常使用一个小程序，类似这样：&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const char array[] = "\xnn\xnn\xnn...";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int main(int argc, char *argv[])&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;详细出处参考：&lt;/span&gt;&lt;a href="http://www.itqun.net/content-detail/274662.html"&gt;&lt;span size="3" style="font-size: small;"&gt;http://www.itqun.net/content-detail/274662.html&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span size="3" style="font-size: small;"&gt;人） ; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;printf("%p\n", array);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*(int *)0 = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;br /&gt;e.g. /*{{{*/ /* 注意， array一共有从array[0]到array[64&lt;wbr&gt;&lt;/wbr&gt;]这65个元素， 其中出错的那个操作码&amp;lt;8b&amp;gt;&lt;br /&gt;== arry[43] */&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;const char array[]&lt;br /&gt;="\x6b\xc0\xe8\x2e\x7e\xf6\xff&lt;wbr&gt;&lt;/wbr&gt;\xe8\xd1\x16\xf2\xff\xb8\x01&lt;wbr&gt;&lt;/wbr&gt;\x00\x00\x00\xe8\xaa\x1c\xf4&lt;wbr&gt;&lt;/wbr&gt;\xff\x89\xd8\x83\xc4\x10\x5b&lt;wbr&gt;&lt;/wbr&gt;\x5d\xc3\x90\x90\x90\x55\x89&lt;wbr&gt;&lt;/wbr&gt;\xe5\x53\x83\xec\x0c\x8b\x48&lt;wbr&gt;&lt;/wbr&gt;\x04\x8b\x11\x39\xc2\x74\x18&lt;wbr&gt;&lt;/wbr&gt;\x89\x54\x24\x08\x89\x44\x24&lt;wbr&gt;&lt;/wbr&gt;\x04\xc7\x04\x24\xbe\x32\x6b&lt;wbr&gt;&lt;/wbr&gt;\xc0";&lt;br /&gt;int main(int argc, char *argv[])&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;printf("%p\n", array);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*(int *)0 = 0;&lt;br /&gt;}&lt;br /&gt;/*}}}*/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 用gcc -g编译，在gdb里运行它：&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[arc@dhcp-cbjs05-218-251 ~]$ gdb hello&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GNU gdb Fedora (6.8-1.fc9)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Copyright (C) 2008 Free Software Foundation, Inc.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;License GPLv3+: GNU GPL version 3 or later&lt;br /&gt;&amp;lt;[url]&lt;span color="#0000cc" style="color: #0000cc;"&gt;http://gnu.org/licenses/gpl&lt;wbr&gt;&lt;/wbr&gt;.html[/url]&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This is free software: you are free to change and&lt;br /&gt;redistribute it.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;There is NO WARRANTY, to the extent permitted by law.&lt;br /&gt;Type "show copying"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and "show warranty" for details.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This GDB was configured as "x86_64-redhat-linux-gnu"...&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(no debugging symbols found)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(gdb) r&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Starting program: /home/arc/hello&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x80484e0&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Program received signal SIGSEGV, Segmentation fault.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 注意，这时候就可以反汇编0x80484e0这个地址：&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;strong&gt;&lt;span style="color: #000080;"&gt;&amp;nbsp;(gdb) disassemble 0x80484e0&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dump of assembler code for function array:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x080484e0 &amp;lt;array+0&amp;gt;: &amp;nbsp; imul &amp;nbsp; $0xffffffe8,%eax,%eax&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x080484e3 &amp;lt;array+3&amp;gt;: &amp;nbsp; jle,pn 0x80484dc &amp;lt;__dso_handle+20&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x080484e6 &amp;lt;array+6&amp;gt;: &amp;nbsp; ljmp &amp;nbsp; *&amp;lt;internal disassembler error&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x080484e8 &amp;lt;array+8&amp;gt;: &amp;nbsp; rcll &amp;nbsp; (%esi)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x080484ea &amp;lt;array+10&amp;gt;: &amp;nbsp;repnz (bad)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x080484ec &amp;lt;array+12&amp;gt;: &amp;nbsp;mov &amp;nbsp; &amp;nbsp;$0x1,%eax&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x080484f1 &amp;lt;array+17&amp;gt;: &amp;nbsp;call &amp;nbsp; 0x7f8a1a0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x080484f6 &amp;lt;array+22&amp;gt;: &amp;nbsp;mov &amp;nbsp; &amp;nbsp;%ebx,%eax&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x080484f8 &amp;lt;array+24&amp;gt;: &amp;nbsp;add &amp;nbsp; &amp;nbsp;$0x10,%esp&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x080484fb &amp;lt;array+27&amp;gt;: &amp;nbsp;pop &amp;nbsp; &amp;nbsp;%ebx&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x080484fc &amp;lt;array+28&amp;gt;: &amp;nbsp;pop &amp;nbsp; &amp;nbsp;%ebp&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x080484fd &amp;lt;array+29&amp;gt;: &amp;nbsp;ret&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x080484fe &amp;lt;array+30&amp;gt;: &amp;nbsp;nop&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x080484ff &amp;lt;array+31&amp;gt;: &amp;nbsp;nop&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x08048500 &amp;lt;array+32&amp;gt;: &amp;nbsp;nop&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x08048501 &amp;lt;array+33&amp;gt;: &amp;nbsp;push &amp;nbsp; %ebp&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x08048502 &amp;lt;array+34&amp;gt;: &amp;nbsp;mov &amp;nbsp; &amp;nbsp;%esp,%ebp&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x08048504 &amp;lt;array+36&amp;gt;: &amp;nbsp;push &amp;nbsp; %ebx&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x08048505 &amp;lt;array+37&amp;gt;: &amp;nbsp;sub &amp;nbsp; &amp;nbsp;$0xc,%esp&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x08048508 &amp;lt;array+40&amp;gt;: &amp;nbsp;mov &amp;nbsp; &amp;nbsp;0x4(%eax),%ecx&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x0804850b &amp;lt;array+43&amp;gt;: &amp;nbsp;mov &amp;nbsp; &amp;nbsp;(%ecx),%edx&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x0804850d &amp;lt;array+45&amp;gt;: &amp;nbsp;cmp &amp;nbsp; &amp;nbsp;%eax,%edx&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x0804850f &amp;lt;array+47&amp;gt;: &amp;nbsp;je &amp;nbsp; &amp;nbsp; 0x8048529&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x08048511 &amp;lt;array+49&amp;gt;: &amp;nbsp;mov &amp;nbsp; &amp;nbsp;%edx,0x8(%esp)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x08048515 &amp;lt;array+53&amp;gt;: &amp;nbsp;mov &amp;nbsp; &amp;nbsp;%eax,0x4(%esp)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x08048519 &amp;lt;array+57&amp;gt;: &amp;nbsp;movl &amp;nbsp; $0xc06b32be,(%esp)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x08048520 &amp;lt;array+64&amp;gt;: &amp;nbsp;add &amp;nbsp; &amp;nbsp;%ah,0xa70&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End of assembler dump.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(gdb)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;OK, 现在你知道出错的那条指令是array[43]，也就是mov&lt;br /&gt;(%ecx),%edx，也就是说，(%ecx)指向了一个错误&lt;wbr&gt;&lt;/wbr&gt;内存地址。&lt;br /&gt;&lt;br /&gt;补充：&lt;br /&gt;&lt;br /&gt;为了使汇编代码和C代码更好的对应起来， Linux内核的Kbuild子系统提供了这样一个功能： 任何一个C文件都可以单独编译成汇编文件，例如：&lt;br /&gt;&lt;br /&gt;make path/to/the/sourcefile.s&lt;br /&gt;&lt;br /&gt;例如我想把kernel/sched.c编译成汇编，那么：&lt;br /&gt;&lt;br /&gt;make kernel/sched.s V=1&lt;br /&gt;&lt;br /&gt;或者：&lt;br /&gt;&lt;br /&gt;make kernel/sched.lst V=1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;另外， 内核源代码目录的./scripts/decodecode文件&lt;wbr&gt;&lt;/wbr&gt;是用来解码Oops的：&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color: #000080;"&gt;./scripts/decodecode &amp;lt; Oops.txt&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;此外可以：将faulty模块反汇编出汇编代码：&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;strong&gt;&lt;span style="color: #000080;"&gt; objdump -d faulty.ko &amp;gt; faulty.s&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;或&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; objdump -d faulty.o &amp;gt; faulty.s&lt;/div&gt;&lt;img src="http://www.cnblogs.com/dubingsky/aggbug/2098237.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dubingsky/archive/2011/07/05/2098237.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/dubingsky/archive/2011/07/05/2098228.html</id><title type="text">Linux系统下MTD/CFI驱动介绍</title><summary type="text">某些Intel的FLASH芯片（如StrataFlash系列）支持多分区，也就是各个分区可以同时进行操作。应该说这是不错的特性，但是也会带来些问题。记得当初移植Linux-2.4.21，挂JFFS2文件系统的时候，经常会报一些\"Magic bitmask not found\"之类的错误，跟进去发现FLASH读出来的都是些0x80之类的数据，查看资料发现该款FLASH有分区的特性，而Linux的FLASH驱动只用一个状态变量表示整个FLASH的状态，这就会造成某个分区的实际状态和系统记录的不符,从而导致读FLASH的时候该点实际上不处在读状态。当时的解决办法是，每次读的时</summary><published>2011-07-05T05:40:00Z</published><updated>2011-07-05T05:40:00Z</updated><author><name>辛勤耕耘</name><uri>http://www.cnblogs.com/dubingsky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dubingsky/archive/2011/07/05/2098228.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dubingsky/archive/2011/07/05/2098228.html"/><content type="html">&lt;p&gt;&amp;nbsp;某些Intel的FLASH芯片（如StrataFlash系列）支持多分区，也就是各个分区可以同时进行操作。应该说这是不错的特性，但是也会带来些问题。记得当初移植Linux-2.4.21，挂JFFS2文件系统的时候，经常会报一些\"Magic bitmask not found\"之类的错误，跟进去发现FLASH读出来的都是些0x80之类的数据，查看资料发现该款FLASH有分区的特性，而Linux的FLASH驱动只用一个状态变量表示整个FLASH的状态，这就会造成某个分区的实际状态和系统记录的不符,从而导致读FLASH的时候该点实际上不处在读状态。当时的解决办法是，每次读的时候，不管记录的状态是什么，先进入读状态再说，当然这会带来性能的下降，具体损失多少个时钟周期就不算了。&amp;nbsp;话说进入Linux-2.6.x的时代（具体是2.6.13）,除了Lock/Unlock（Linux在擦/写的时候不先Unlock，解决办法就是初始化的时候先全部Unlock）这个老问题外，竟然多分区的错误没有出现，惊讶之下决定好好研究下Linux的MTD/FLASH驱动。&lt;br /&gt;&lt;br /&gt;说驱动之前，先明确几个编程要点：&lt;br /&gt;&lt;br /&gt;1：读写，要按照总线位宽读写，注意不是FLASH芯片位宽（例如背靠背）。&lt;br /&gt;&lt;br /&gt;2：寻址，程序要访问的地址和FLASH芯片地址引脚得到的值是不一样的，例如16位的FLASH芯片，对于CPU，0x00和0x01表示2个不同的字节，但是到了FLASH引脚得到的都是0，也就是都指向FLASH的第一个WORD。可以认为地址总线的bit0悬空，或者认为转换总线, bit0上实际输出的是bit1。这个解释了要点1。&lt;br /&gt;&lt;br /&gt;3：芯片手册提到偏移量都是基于WORD的，而WORD的位宽取决于芯片的位宽，因此在下命令的时候，实际偏移=手册偏移*buswidth/8。&lt;br /&gt;&lt;br /&gt;4：芯片手册提到的变量长度（典型如CFI信息）例如2，指的是，变量是个16bit数，但是读的时候，要读2个WORD，然后把每个WORD的低8位拼成1个16bit数。读WORD再拼凑确实挺麻烦，尤其是读取大结构的时候，不过参照cfi_util.c的cfi_read_pri函数的做法就简单了。&lt;br /&gt;&lt;br /&gt;5：背靠背，也就是比方说2块16位的芯片一起接在32位的总线上。带来的就是寻址的问题，很显然，首先要按32位读写；其次就是下命令的地址，实际偏移=手册偏移*interleave*device_type/8，device_type=buswidth/interleave，而buswidth这个时候是32(总线位宽)。另外就是背靠背的时候，命令和返回的状态码是&amp;ldquo;双份的&amp;rdquo;，例如2块16位背靠背，读命令是0x00ff00ff。&lt;br /&gt;&lt;br /&gt;如果不是想写像Linux那么灵活的代码（考虑各种接法/位宽/CFI获取信息等），那事情就简单很多，只要考虑要点1以及擦除块的大小就好了，当然如果是背靠背接法，擦除块的实际大小要乘个interleave。&lt;br /&gt;&lt;br /&gt;进入Linux代码&lt;br /&gt;&lt;br /&gt;关于CHIP/MAP/MTD之间绕来绕去的关系现在还糊涂着呢，因此下面只是简单的跟一下脉络和各个编程要点。&lt;br /&gt;&lt;br /&gt;1：构造map_info结构，指定基址/位宽/大小等信息以及\"cfi_probe\"限定，然后调用do_map_probe()。&lt;br /&gt;&lt;br /&gt;2：do_map_probe()根据名字\"cfi_probe\"找到芯片驱动\"cfi_probe.c\"直接调用cfi_probe()。&lt;br /&gt;&lt;br /&gt;3：cfi_probe()直接调用mtd_do_chip_probe()，传入cfi_probe_chip()函数指针。&lt;br /&gt;&lt;br /&gt;4：mtd_do_chip_probe()分2步，先调用genprobe_ident_chips()探测芯片信息，后调用check_cmd_set()获取和初始化芯片命令集（多分区初始化就在里面）。&lt;br /&gt;&lt;br /&gt;5：genprobe_ident_chips()函数如果不考虑多芯片串连的情况，那只需看前面的genprobe_new_chip()调用，完成后cfi.chipshift=cfi.cfiq-&amp;gt;DevSize，２^chipshift=FLASH大小。&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; 6：genprobe_new_chip()枚举各种不同的芯片位宽和背靠背数量，结合配置设定依次调用步骤３的cfi_probe_chip()，注意cfi-&amp;gt;device_type=bankwidth/nr_chips，bankwidth是总线位宽，device_type是芯片位宽。这里我们只需要注意有限复杂情况即可，所谓有限复杂指的是编译时确定的复杂连接。这样，cfi_probe_chip()只有第1次调用才成功，如果考虑32位宽的FLASH插在16bit总线上的情况，那第2次调用成功。&lt;br /&gt;&lt;br /&gt;7：cfi_probe_chip()，由于步骤6的原因，函数就在cfi_chip_setup()直接返回，后面的代码就不用考虑了。&lt;br /&gt;&lt;br /&gt;8：cfi_chip_setup()读取CFI信息，可以留意下Linux是怎么实现要点4的。&lt;br /&gt;&lt;br /&gt;9：回到步骤4的check_cmd_set()阶段，进入cfi_cmdset_0001()函数，先调用read_pri_intelext()读取Intel的扩展信息，然后调用cfi_intelext_setup()初始化自身结构。&lt;br /&gt;&lt;br /&gt;10：read_pri_intelext()函数，可以留意下怎么读取变长结构的技巧，也就是\"need_more\"的用法。这里说明下一些变量的含义，例如对于StrataFlash 128Mb Bottom类型的的FLASH芯片，块结构是4*32KB+127*128KB=16MB，一共16个分区，每个分区1MB。nb_parts=2。&lt;br /&gt;&lt;br /&gt;第1部分&lt;br /&gt;&lt;br /&gt;NumIdentPartitions=1 // 有1个重复的分区&lt;br /&gt;&lt;br /&gt;NumBlockTypes=2 &amp;nbsp; &amp;nbsp; &amp;nbsp;// 分区内有2种不同的Block类型&lt;br /&gt;&lt;br /&gt;第1类型&lt;br /&gt;&lt;br /&gt;NumIdentBlocks=3 &amp;nbsp; // 有4个Block(3+1)&lt;br /&gt;&lt;br /&gt;BlockSize=0x80 &amp;nbsp; &amp;nbsp; // 32KB(0x80*256)&lt;br /&gt;&lt;br /&gt;第2类型&lt;br /&gt;&lt;br /&gt;NumIdentBlocks=6 &amp;nbsp; // 有7个Block(6+1)&lt;br /&gt;&lt;br /&gt;BlockSize=0x200 &amp;nbsp; &amp;nbsp;// 128KB(0x200*256)&lt;br /&gt;&lt;br /&gt;第2部分&lt;br /&gt;&lt;br /&gt;NumIdentPartitions=15// 有15个重复的分区NumBlockTypes=1 &amp;nbsp; &amp;nbsp; &amp;nbsp;// 分区内有1种Block类型&lt;br /&gt;&lt;br /&gt;第1类型&lt;br /&gt;&lt;br /&gt;NumIdentBlocks=7 &amp;nbsp; // 有8个Block(7+1)&lt;br /&gt;&lt;br /&gt;BlockSize=0x200 &amp;nbsp; &amp;nbsp;// 128KB(0x200*256)&lt;br /&gt;&lt;br /&gt;11：cfi_intelext_setup()函数首先根据CFI建立mtd_erase_region_info信息，然后调用cfi_intelext_partition_fixup()来支持分区。&lt;br /&gt;&lt;br /&gt;12：cfi_intelext_partition_fixup()用来建立虚拟Chip，每个分区对应1个Chip，不过并没有完全根据CFI扩展信息来建立，而是假定每个分区的大小都一致。cfi-&amp;gt;chipshift调整为partshift，各个虚拟chip-&amp;gt;start调整为各分区的基址。将来访问FLASH的入口函数cfi_varsize_frob()就根据ofs得到chipnum(chipnum=ofs&amp;gt;&amp;gt;cfi-&amp;gt;chipshift)，这也是为什么要假定分区一致的原因。&lt;br /&gt;]]--&amp;gt;&lt;/p&gt;&lt;p&gt;原文：&lt;a href="http://blogold.chinaunix.net/u3/110728/showart_2179893.html"&gt;http://blogold.chinaunix.net/u3/110728/showart_2179893.html&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/dubingsky/aggbug/2098228.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dubingsky/archive/2011/07/05/2098228.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/dubingsky/archive/2011/05/25/2056746.html</id><title type="text">Ramdisk根文件系统</title><summary type="text">Ramdisk根文件系统生成在哪里？可以参考一下linux/usr/Makefile, 会调用scripts/gen_initramfs_list.sh根据变量CONFIG_INITRAMFS_SOURCE指定（定义为./root），调用usr/ gen_init_cpio工具，来生成cpio格式的压缩的根文件系统镜像initramfs_data.cpio.gz，然后链接到Kernel映像中。./usr/Makefile:initramfs:= $(CONFIG_SHELL) $(srctree)/scripts/gen_initramfs_list.sh./usr/.initramfs_da</summary><published>2011-05-25T07:56:00Z</published><updated>2011-05-25T07:56:00Z</updated><author><name>辛勤耕耘</name><uri>http://www.cnblogs.com/dubingsky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dubingsky/archive/2011/05/25/2056746.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dubingsky/archive/2011/05/25/2056746.html"/><content type="html">&lt;p&gt;&lt;b&gt;Ramdisk&lt;/b&gt;&lt;b&gt;根文件系统生成在哪里？&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;可以参考一下linux/usr/Makefile, 会调用scripts/gen_initramfs_list.sh根据变量CONFIG_INITRAMFS_SOURCE指定（定义为./root），调用usr/ gen_init_cpio工具，来生成cpio格式的压缩的根文件系统镜像initramfs_data.cpio.gz，然后链接到Kernel映像中。&lt;/p&gt;&lt;p&gt;./usr/Makefile:initramfs&amp;nbsp;&amp;nbsp;:= $(CONFIG_SHELL) $(srctree)/scripts/gen_initramfs_list.sh&lt;/p&gt;&lt;p&gt;./usr/.initramfs_data.cpio.gz.cmd:cmd_usr/initramfs_data.cpio.gz:= /bin/bash/home/bdu/projects/onu/dare/sfu-opulan1-new/os/linux-2.6.21.5/scripts/gen_initramfs_list.sh-o usr/initramfs_data.cpio.gz&amp;nbsp; -u 0&amp;nbsp; -g 0&amp;nbsp; ./root&lt;/p&gt;&lt;img src="http://www.cnblogs.com/dubingsky/aggbug/2056746.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dubingsky/archive/2011/05/25/2056746.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/dubingsky/archive/2011/05/25/2056726.html</id><title type="text">Linux Makefile分析-vmlinux生成</title><summary type="text">1, 顶层Makefile跟踪：找到vmlinux目标# vmlinux image - including updated kernelsymbolsvmlinux: $(vmlinux-lds) $(vmlinux-init)$(vmlinux-main) $(kallsyms.o) FORCEifdef CONFIG_HEADERS_CHECK $(Q)$(MAKE)-f $(srctree)/Makefile headers_checkendif $(callif_changed_rule,vmlinux__) $(Q)$(MAKE)-f $(srctree)/scripts/Make</summary><published>2011-05-25T07:47:00Z</published><updated>2011-05-25T07:47:00Z</updated><author><name>辛勤耕耘</name><uri>http://www.cnblogs.com/dubingsky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dubingsky/archive/2011/05/25/2056726.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dubingsky/archive/2011/05/25/2056726.html"/><content type="html">&lt;p&gt;&lt;strong&gt;&lt;strong&gt;1, 顶层Makefile跟踪：&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;找到vmlinux目标&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;# vmlinux image - including updated kernelsymbols&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #888888;"&gt;vmlinux&lt;/span&gt;: $(vmlinux-lds) $(vmlinux-init)$(vmlinux-main) $(kallsyms.o) FORCE&lt;/p&gt;&lt;p&gt;ifdef CONFIG_HEADERS_CHECK&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(Q)$(MAKE)-f $(srctree)/Makefile headers_check&lt;/p&gt;&lt;p&gt;endif&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(callif_changed_rule,vmlinux__)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(Q)$(MAKE)-f $(srctree)/scripts/Makefile.modpost $@&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(Q)rm-f .old_version&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @echo"========================vmlinux============================"&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @echo$(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) $(kallsyms.o)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @cpvmlinux vmlinux.full&lt;/p&gt;&lt;p&gt;&lt;strong&gt;找到vmlinux-init:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #888888;"&gt;vmlinux-ini&lt;/span&gt;t := $(head-y) $(init-y)&lt;/p&gt;&lt;p&gt;head-y是和机器有关的变量，定义在arch内的Makefile里：&lt;/p&gt;&lt;p&gt;&lt;strong&gt;head-y &lt;/strong&gt;:= arch/mips/kernel/head.oarch/mips/kernel/init_task.o&lt;/p&gt;&lt;p&gt;这个是通过include $(srctree)/arch/$(SRCARCH)/Makefile 包含这个Makefile的。&lt;/p&gt;&lt;p&gt;init-y定义在本Makefile：&lt;/p&gt;&lt;p&gt;init-y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; := init/ &lt;/p&gt;&lt;p&gt;... &lt;/p&gt;&lt;p&gt;&lt;strong&gt;init-y&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; := $(patsubst %/, %/built-in.o,$(init-y)) &lt;/p&gt;&lt;p&gt;最终结果就是：&lt;/p&gt;&lt;p&gt;init-y := init/built-in.o。这个build-in.o这个中间文件可能听说过，其实这个文件就是有这个目录下所有obj-y来合成的。&lt;/p&gt;&lt;p&gt;此外，下面两变量自己找一下：&lt;/p&gt;&lt;p&gt;&lt;strong&gt;vmlinux-main&lt;/strong&gt; := $(core-y) $(libs-y)$(drivers-y) $(net-y)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;vmlinux-lds&lt;/strong&gt;&amp;nbsp;:= arch/$(ARCH)/kernel/vmlinux.lds&lt;/p&gt;&lt;p&gt;&lt;strong&gt;vmlinux-dirs&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;还要注意一下，下面这句：&lt;/p&gt;&lt;p&gt;$(sort $(vmlinux-init) $(vmlinux-main))$(vmlinux-lds): $(vmlinux-dirs) ;&lt;/p&gt;&lt;p&gt;这句在执行vmlinux目标前由依赖关系产生，我们来看看最关键的vmlinux-dirs。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;vmlinux-dirs&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; := $(patsubst %/,%,$(filter %/, $(init-y)$(init-m) \&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(core-y) $(core-m) $(drivers-y)$(drivers-m) \&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(net-y) $(net-m) $(libs-y)$(libs-m))) &lt;/p&gt;&lt;p&gt;其实$(vmlinux-dirs)还是一个目标。&lt;/p&gt;&lt;p&gt;PHONY += $(vmlinux-dirs)&lt;/p&gt;&lt;p&gt;&amp;nbsp;$(vmlinux-dirs): prepare scripts&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(Q)$(MAKE) $(build)=$@&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffff00; font-size: 16px;"&gt;用到了Makefile.kbuild规则。将vmlinux-dirs里面的目录进行了递归处理产生出那些.o的文件，特别是build-in.o,&amp;nbsp;在执行vmlinux时候，$(vmlinux-dirs)目标肯定会先得到执行。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffff00; font-size: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;链接得到vmlinux&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;在哪里链接的，看看 endif后面：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(callif_changed_rule,vmlinux__)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(Q)$(MAKE)-f $(srctree)/scripts/Makefile.modpost $@&lt;/p&gt;&lt;p&gt;$(call if_changed_rule,vmlinux__)会调用rule_vmlinux_,即下面内容：&lt;/p&gt;&lt;p&gt;# Link of vmlinux&lt;/p&gt;&lt;p&gt;# If CONFIG_KALLSYMS is set .version isalready updated&lt;/p&gt;&lt;p&gt;# Generate System.map and verify that thecontent is consistent&lt;/p&gt;&lt;p&gt;# Use + in front of the vmlinux_versionrule to silent warning with make -j2&lt;/p&gt;&lt;p&gt;# First command is ':' to allow us to use +in front of the rule&lt;/p&gt;&lt;p&gt;define &lt;strong&gt;rule_vmlinux__&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(if$(CONFIG_KALLSYMS),,+$(call cmd,vmlinux_version))&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(callcmd,vmlinux__)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(Q)echo'cmd_$@ := $(cmd_vmlinux__)' &amp;gt; $(@D)/.$(@F).cmd&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(Q)$(if$($(quiet)cmd_sysmap),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; echo '&amp;nbsp;$($(quiet)cmd_sysmap)&amp;nbsp; System.map'&amp;amp;&amp;amp;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(cmd_sysmap)$@ System.map;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if[ $$? -ne 0 ]; then&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rm-f $@;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /bin/false;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(verify_kallsyms)&lt;/p&gt;&lt;p&gt;endef&lt;/p&gt;&lt;p&gt;在这上面有命令vmlinux__, _vmlinux_version和sysmap定义， 其中vmlinux_命令中有LD的链接生成vmlinux.&lt;/p&gt;&lt;p&gt;# Rule to link vmlinux - also used duringCONFIG_KALLSYMS&lt;/p&gt;&lt;p&gt;# May be overridden byarch/$(ARCH)/Makefile&lt;/p&gt;&lt;p&gt;quiet_cmd_vmlinux__ ?= LD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $@&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;cmd_vmlinux__&lt;/strong&gt; ?= $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) -o $@ \&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-T $(vmlinux-lds) $(vmlinux-init)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--start-group $(vmlinux-main) --end-group&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(filter-out $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) FORCE ,$^)&lt;/p&gt;&lt;p&gt;# Generate new vmlinux version&lt;/p&gt;&lt;p&gt;quiet_cmd_vmlinux_version = GEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .version&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cmd_vmlinux_version = set -e;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if[ ! -r .version ]; then&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; rm -f .version;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; echo 1 &amp;gt;.version;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; mv .version .old_version;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; expr 0$$(cat .old_version) + 1 &amp;gt;.version;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(MAKE)$(build)=init&lt;/p&gt;&lt;p&gt;# Generate System.map&lt;/p&gt;&lt;p&gt;quiet_cmd_sysmap = SYSMAP&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cmd_sysmap = $(CONFIG_SHELL) $(srctree)/scripts/mksysmap&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2. Makefile.kbuild规则：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(Q)$(MAKE) -f $(if$(KBUILD_SRC),$(srctree)/)scripts/Makefile.build&amp;nbsp; \ &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;obj =$(vmlinux-dirs)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;找到目标__build：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;__build: $(if$(KBUILD_BUILTIN),$(builtin-target) $(lib-target) $(extra-y)) \ &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(if $(KBUILD_MODULES),$(obj-m)) \ &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(subdir-ym) $(always) &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@: &lt;/p&gt;&lt;p&gt;因为KBUILD_BUILTIN在顶层Makefile中被初始化为1，所以这个规则的依赖有一个builtin-target变量：&lt;/p&gt;&lt;p&gt;ifneq ($(strip $(obj-y) $(obj-m) $(obj-n)$(obj-) $(lib-target)),) &lt;/p&gt;&lt;p&gt;&lt;strong&gt;builtin-target&lt;/strong&gt; := $(obj)/built-in.o &lt;/p&gt;&lt;p&gt;endif&lt;/p&gt;&lt;p&gt;变量obj就是vmlinux-dirs变量指定的目录。所以这里会构建$(vmlinux-dirs)/built-in.o目标：&lt;/p&gt;&lt;p&gt;ifdef builtin-target &lt;/p&gt;&lt;p&gt;quiet_cmd_link_o_target = LD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $@ &lt;/p&gt;&lt;p&gt;# If the list of objects to link is empty,just create an empty built-in.o &lt;/p&gt;&lt;p&gt;&lt;strong&gt;cmd_link_o_target&lt;/strong&gt; = $(if $(strip$(obj-y)),\ &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(LD) $(ld_flags) -r -o $@$(filter $(obj-y), $^),\ &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rm -f $@; $(AR) rcs $@) &lt;/p&gt;&lt;p&gt;上面由obj-y指定的.o，生成$(vmlinux-dirs)/built-in.o.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;$(builtin-target)&lt;/strong&gt;: $(obj-y) FORCE &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(call if_changed,link_o_target)&lt;/p&gt;&lt;p&gt;下面包含了vmlinux-dirs变量指定目录中的Makefile文件，在这些makefile文件中会指定obj-y变量，它指定的都是一些*.o目标文件，&lt;/p&gt;&lt;p&gt;kbuild-dir := $(if $(filter/%,$(src)),$(src),$(srctree)/$(src)) &lt;/p&gt;&lt;p&gt;include $(if $(wildcard$(kbuild-dir)/Kbuild), $(kbuild-dir)/Kbuild, $(kbuild-dir)/Makefile)&lt;/p&gt;&lt;p&gt;这些*.o文件的生成方法由scripts/Makefile.build文件的模式规则指定&lt;/p&gt;&lt;p&gt;&lt;strong&gt;%.o&lt;/strong&gt;: %.c FORCE &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(call cmd,force_checksrc) &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(call if_changed_rule,cc_o_c)&lt;/p&gt;&lt;p&gt;上面会生成obj-y指定的.o&lt;/p&gt;&lt;p&gt;通过上面这一系列的步骤，就编译链接出由变量vmlinux-init指定的目标，vmlinux-main变量指定的目标的构建与此类似.&lt;/p&gt;&lt;img src="http://www.cnblogs.com/dubingsky/aggbug/2056726.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dubingsky/archive/2011/05/25/2056726.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/dubingsky/archive/2011/05/16/2047678.html</id><title type="text">以太网协议封装格式</title><summary type="text">一、以太网链路层协议封装格式以太网数据在网络介质上传输需要遵循一定的机制，其中CSMA/CD介质访问控制机制约定了以太网在传输数据时，两帧之间需要等待一个帧间隙时间（IFG或IPG），为以太网接口提供了帧接收之间的恢复时间，该恢复时间最小值为传输96bit所花费的时间，对于10M线路，该时间为9.6uS，100M线路为960nS，1G的线路为96nS。同时以太网数据帧在传输时还需要有7byte的前导字段和1byte的定界符。因此以太网数据在传输过程中是由以下部分组成的：7byte（前导）＋1byte（定界符）＋以太网数据帧＋12byte（IPG）。在全双工工作模式下，如果CSMA/CD介质访问</summary><published>2011-05-16T06:50:00Z</published><updated>2011-05-16T06:50:00Z</updated><author><name>辛勤耕耘</name><uri>http://www.cnblogs.com/dubingsky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dubingsky/archive/2011/05/16/2047678.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dubingsky/archive/2011/05/16/2047678.html"/><content type="html">&lt;div id="BlogArticleDetail" style="font-size: 14px;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;&lt;strong&gt;一、以太网链路层协议封装格式&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;&lt;!--?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;以太网数据在网络介质上传输需要遵循一定的机制，其中&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;CSMA/CD&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;介质访问控制机制约定了以太网在传输数据时，两帧之间需要等待一个帧间隙时间（&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;IFG&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;或&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;IPG&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;），为以太网接口提供了帧接收之间的恢复时间，该恢复时间最小值为传输&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;96bit&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;所花费的时间，对于&lt;/span&gt;&lt;!--?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /--&gt;&lt;st1:chmetcnv unitname="m" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on"&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;10M&lt;/span&gt;&lt;/st1:chmetcnv&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;线路，该时间为&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;9.6uS&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;，&lt;/span&gt;&lt;st1:chmetcnv unitname="m" sourcevalue="100" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on"&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;100M&lt;/span&gt;&lt;/st1:chmetcnv&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;线路为&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;960nS&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;，&lt;/span&gt;&lt;st1:chmetcnv unitname="g" sourcevalue="1" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on"&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;1G&lt;/span&gt;&lt;/st1:chmetcnv&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;的线路为&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;96nS&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;。同时以太网数据帧在传输时还需要有&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;7byte&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;的前导字段和&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;1byte&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;的定界符。因此以太网数据在传输过程中是由以下部分组成的：&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;7byte&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;（前导）＋&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;1byte&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;（定界符）＋以太网数据帧＋&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;12byte&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;（&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;IPG&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;）&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;。&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;在全双工工作模式下，如果&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;CSMA/CD&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;介质访问控制机制发现传输冲突时，则会放弃当前帧发送，改为发送一个&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;48&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;比特的噪声帧。&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;其中以太网数据帧限制为最小长度为&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;64byte&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;，最大长度为&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;1518byte&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;，其格式为：&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;6byte&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;（目的&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;MAC&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;地址）＋&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;6byte&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;（源&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;MAC&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;地址）＋&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;2byte&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;（类型字段）＋数据字段＋&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;4byte&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;（&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US" style="font-family: Arial;"&gt;FCS&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;校验字段）&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;。其中帧类型字段标识其后的数据类型&lt;/span&gt;&lt;span style="color: #3a4d50; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;。&lt;/span&gt;&lt;span lang="EN-US" style="color: #3a4d50;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;这里值得注意的是区分&lt;/span&gt;&lt;strong&gt;&lt;span lang="EN-US"&gt;Ethernet II&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;帧格式和&lt;/span&gt;&lt;strong&gt;&lt;span lang="EN-US"&gt;802.3&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;帧格式的不同，&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;我们有时可能会混用了这两个术语。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;strong&gt;&lt;span lang="EN-US"&gt;Ethernet II&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;帧是&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;最常见的一种以太网帧格式，也是今天以太网的事实标准，由&lt;/span&gt;&lt;span lang="EN-US"&gt;DEC&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，&lt;/span&gt;&lt;span lang="EN-US"&gt;Intel&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;和&lt;/span&gt;&lt;span lang="EN-US"&gt;Xerox&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;在&lt;/span&gt;&lt;span lang="EN-US"&gt;1982&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;年公布标准，&lt;/span&gt;&lt;span lang="EN-US"&gt;Ethernet II&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;可以支持&lt;/span&gt;&lt;span lang="EN-US"&gt;TCP/IP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，&lt;/span&gt;&lt;span lang="EN-US"&gt;Novell IPX/SPX&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，&lt;/span&gt;&lt;span lang="EN-US"&gt;Apple Talk Phase I&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;等协议，其比较常见的类型字段为：&lt;/span&gt;&lt;span lang="EN-US"&gt;0X0800&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;（&lt;/span&gt;&lt;span lang="EN-US"&gt;IP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;帧），&lt;/span&gt;&lt;span lang="EN-US"&gt;0X0806&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;（&lt;/span&gt;&lt;span lang="EN-US"&gt;ARP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;请求&lt;/span&gt;&lt;span lang="EN-US"&gt;/&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;应答帧），&lt;/span&gt;&lt;span lang="EN-US"&gt;0X8035&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;（&lt;/span&gt;&lt;span lang="EN-US"&gt;PARP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;请求&lt;/span&gt;&lt;span lang="EN-US"&gt;/&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;应答帧），&lt;/span&gt;&lt;span lang="EN-US"&gt;0X8137&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;（&lt;/span&gt;&lt;span lang="EN-US"&gt;Novell IPX&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;），&lt;/span&gt;&lt;span lang="EN-US"&gt;0X809b&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;（&lt;/span&gt;&lt;span lang="EN-US"&gt;Apple Talk&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）。&lt;/span&gt;&lt;span lang="EN-US"&gt;RFC 894&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;定义了&lt;/span&gt;&lt;span lang="EN-US"&gt;IP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;报文在&lt;/span&gt;&lt;span lang="EN-US"&gt;Ethernet II&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;上的封装格式。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;strong&gt;&lt;span lang="EN-US"&gt;802.3&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial;"&gt;帧&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;将&lt;/span&gt;&lt;span lang="EN-US"&gt;Ethernet II&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;帧头中的类型字段替换为帧长度字段（取值范围为&lt;/span&gt;&lt;span lang="EN-US"&gt;0X0000-0X05dc&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt;"&gt;不包括&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial; mso-bidi-font-size: 10.5pt;"&gt;CRC&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt;"&gt;检验码&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;），因此对于接收到的帧，如果类型字段取值范围为&lt;/span&gt;&lt;span lang="EN-US"&gt;0X0000&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;－&lt;/span&gt;&lt;span lang="EN-US"&gt;0X05dc&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，则可以判断其为&lt;/span&gt;&lt;span lang="EN-US"&gt;802.3&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;帧，而非&lt;/span&gt;&lt;span lang="EN-US"&gt;Ethernet II&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;帧。其中&lt;/span&gt;&lt;strong&gt;&lt;span lang="EN-US"&gt;RAW 802.3&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;是&lt;/span&gt;&lt;span lang="EN-US"&gt;1983&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;年&lt;/span&gt;&lt;span lang="EN-US"&gt;Novell&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;发布&lt;/span&gt;&lt;span lang="EN-US"&gt;Netware/86&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;网络套件时采用的私有以太网帧格式，只支持&lt;/span&gt;&lt;span lang="EN-US"&gt;IPX/SPX&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;一种协议；&lt;/span&gt;&lt;strong&gt;&lt;span lang="EN-US"&gt;802.3/802.2 LLC&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;是&lt;/span&gt;&lt;span lang="EN-US"&gt;IEEE &lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;公布的正式&lt;/span&gt;&lt;span lang="EN-US"&gt;802.3&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;标准，它加入了&lt;/span&gt;&lt;span lang="EN-US"&gt;3byte&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;的&lt;/span&gt;&lt;span lang="EN-US"&gt;LLC&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;字段，&lt;/span&gt; &lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;其中&lt;/span&gt;&lt;span lang="EN-US"&gt;SAP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;值用以标志上层应用，每个&lt;/span&gt;&lt;span lang="EN-US"&gt;SAP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;字段为&lt;/span&gt;&lt;span lang="EN-US"&gt;8bits&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，其中只有&lt;/span&gt;&lt;span lang="EN-US"&gt;6bit&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;用于标识上层协议，因此所能标识的协议数不超过&lt;/span&gt;&lt;span lang="EN-US"&gt;32&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;种，导致&lt;/span&gt;&lt;span lang="EN-US"&gt;802.3/802.2 LLC&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;的使用有很大局限性；&lt;/span&gt;&lt;strong&gt;&lt;span lang="EN-US"&gt;802.3/802.2 SNAP&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;是&lt;/span&gt;&lt;span lang="EN-US"&gt;IEEE&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;为保证在&lt;/span&gt;&lt;span lang="EN-US"&gt;802.2 LLC&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;上支持更多的上层协议同时更好的支持&lt;/span&gt;&lt;span lang="EN-US"&gt;IP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议而发布的标准，在&lt;/span&gt;&lt;span lang="EN-US"&gt;802.3/802.2 LLC&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;基础上添加了&lt;/span&gt;&lt;span lang="EN-US" style="font-family: 宋体;"&gt;5byte&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;的&lt;span lang="EN-US"&gt;SNAP&lt;/span&gt;字段，&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;从而使其可以标识更多的上层协议类型，&lt;/span&gt;&lt;span lang="EN-US"&gt;OUI&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;字段用于代表不同的组织（一般置为&lt;/span&gt;&lt;span lang="EN-US"&gt;0&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;），在&lt;/span&gt;&lt;span lang="EN-US"&gt;802.3/802.2 SNAP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;基础上&lt;/span&gt;&lt;span lang="EN-US"&gt;RFC1042&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;定义了&lt;/span&gt;&lt;span lang="EN-US"&gt;IP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;报文在&lt;/span&gt;&lt;span lang="EN-US"&gt;802.2&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;网络中的封装方法和&lt;/span&gt;&lt;span lang="EN-US"&gt;ARP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议在&lt;/span&gt;&lt;span lang="EN-US"&gt;802.2 SANP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;中的实现。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;目前实际环境中大多数&lt;/span&gt;&lt;span lang="EN-US"&gt;TCP/IP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;设备都使用&lt;/span&gt;&lt;span lang="EN-US"&gt;Ethernet II&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;格式的帧，它采用了&lt;/span&gt;&lt;span lang="EN-US"&gt;RFC 894&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;的实现标准。从上述帧格式中可以看出，&lt;/span&gt;&lt;span lang="EN-US"&gt;Ethernet II&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;格式帧数据段的长度限制在&lt;/span&gt;&lt;span lang="EN-US"&gt;46byte&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;－&lt;/span&gt;&lt;span lang="EN-US"&gt;1500byte&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;之间，当数据段长度小于&lt;/span&gt;&lt;span lang="EN-US"&gt;46&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;个字节时，加填充字段（&lt;/span&gt;&lt;span lang="EN-US"&gt;PAD&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）补足。&lt;/span&gt;&lt;span lang="EN-US"&gt;Ethernet II&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt;"&gt;和&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial; mso-bidi-font-size: 10.5pt;"&gt;802.3&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt;"&gt;对数据帧的长度限制，其最大值分别是&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial; mso-bidi-font-size: 10.5pt;"&gt;1500&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt;"&gt;和&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial; mso-bidi-font-size: 10.5pt;"&gt;1492&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt;"&gt;字节，这一特性称作最大传输单元（&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Arial; mso-bidi-font-size: 10.5pt;"&gt;MTU&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt;"&gt;）。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;a href="http://ieee802.photo.hexun.com/35405793_d.html" target="_blank"&gt; &lt;/a&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div align="center"&gt;&lt;a href="http://ieee802.photo.hexun.com/35405793_d.html" target="_blank"&gt;&lt;img onload="var image=new Image();image.src=this.src;if(image.width&amp;gt;0 &amp;amp;&amp;amp; image.height&amp;gt;0){if(image.width&amp;gt;=700){this.width=700;this.height=image.height*700/image.width;}}" alt="查看更多精彩图片" src="http://photo10.hexun.com/p/2008/0311/177028/b_09A39B1C83772E42DF8C296DF3F220B0.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;图 &lt;/span&gt;&lt;span lang="EN-US"&gt;IEEE802.2/802.3&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;（&lt;/span&gt;&lt;span lang="EN-US"&gt;RFC1042&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）和&lt;/span&gt;&lt;span lang="EN-US"&gt;Ethernet II&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;（&lt;/span&gt;&lt;span lang="EN-US"&gt;RFC894&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）的封装格式&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;在&lt;/span&gt;&lt;span lang="EN-US"&gt;TCP/IP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议族中，链路层主要有三个目的：（&lt;/span&gt;&lt;span lang="EN-US"&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）为&lt;/span&gt;&lt;span lang="EN-US"&gt;IP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;模块发送和接收&lt;/span&gt;&lt;span lang="EN-US"&gt;IP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;数据报；（&lt;/span&gt;&lt;span lang="EN-US"&gt;2&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）为&lt;/span&gt;&lt;span lang="EN-US"&gt;ARP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;模块发送&lt;/span&gt;&lt;span lang="EN-US"&gt;ARP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;请求和接收&lt;/span&gt;&lt;span lang="EN-US"&gt;ARP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;应答；（&lt;/span&gt;&lt;span lang="EN-US"&gt;3&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）为&lt;/span&gt;&lt;span lang="EN-US"&gt;RARP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;发送&lt;/span&gt;&lt;span lang="EN-US"&gt;RARP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;请求和接收&lt;/span&gt;&lt;span lang="EN-US"&gt;RARP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;应答。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;二、以太网&lt;/span&gt;&lt;span lang="EN-US"&gt;IP&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;层协议封装格式&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;在&lt;/span&gt;&lt;span lang="EN-US"&gt;TCP/IP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议族中基于链路层以上的协议主要有三种：&lt;/span&gt;&lt;span lang="EN-US"&gt;IP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议、&lt;/span&gt;&lt;span lang="EN-US"&gt;ARP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议和&lt;/span&gt;&lt;span lang="EN-US"&gt;RARP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议，其中在&lt;/span&gt;&lt;span lang="EN-US"&gt;IP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;数据报中又额外封装了&lt;/span&gt;&lt;span lang="EN-US"&gt;ICMP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议和&lt;/span&gt;&lt;span lang="EN-US"&gt;IGMP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议。&lt;/span&gt;&lt;span lang="EN-US"&gt;IP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;层协议也就是通常的网络层协议，它提供点到点的服务（不同于传输层&lt;/span&gt;&lt;span lang="EN-US"&gt;TCP/UDP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议提供端到端的服务）。&lt;/span&gt;&lt;/p&gt;&lt;div align="center"&gt;&lt;table class="MsoNormalTable" style="width: 383.15pt; mso-cellspacing: 0cm; mso-padding-alt: 2.25pt 2.25pt 2.25pt 2.25pt; mso-border-insideh: .75pt outset windowtext; mso-border-insidev: .75pt outset windowtext;" cellspacing="0" cellpadding="0" width="511" border="1"&gt;&lt;tbody&gt;&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;"&gt;&lt;td style="background: #cccccc; width: 65.55pt; border: #ece9d8; padding: 2.25pt;" width="87"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;4 bits&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background: #cccccc; width: 50.5pt; border: #ece9d8; padding: 2.25pt;" width="67"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;4 bits&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background: #cccccc; width: 84.5pt; border: #ece9d8; padding: 2.25pt;" width="113"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;8 bits&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background: #cccccc; width: 42.45pt; border: #ece9d8; padding: 2.25pt;" width="57"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;3 bits&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background: #cccccc; width: 140.15pt; border: #ece9d8; padding: 2.25pt;" width="187"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;13 bits&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 1;"&gt;&lt;td style="width: 65.55pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="87"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;版本号&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 50.5pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="67"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;首部长度&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 84.5pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="113"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;服务类型（&lt;/span&gt;&lt;span lang="EN-US"&gt;TOS&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 182.6pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="243" colspan="2"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;总长度（字节数）&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 2;"&gt;&lt;td style="width: 200.55pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="267" colspan="3"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;标&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;识&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 42.45pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="57"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;标志&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 140.15pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="187"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;片偏移&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 3;"&gt;&lt;td style="width: 116.05pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="155" colspan="2"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;生存时间（&lt;/span&gt;&lt;span lang="EN-US"&gt;TTL&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 84.5pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="113"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 182.6pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="243" colspan="2"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;首部校验和&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 4;"&gt;&lt;td style="width: 383.15pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="511" colspan="5"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;源&lt;/span&gt;&lt;span lang="EN-US"&gt;IP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;地址&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 5;"&gt;&lt;td style="width: 383.15pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="511" colspan="5"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;目的&lt;/span&gt;&lt;span lang="EN-US"&gt;IP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;地址&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 6;"&gt;&lt;td style="width: 383.15pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="511" colspan="5"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;选&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;项&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 24.3pt; mso-yfti-irow: 7; mso-yfti-lastrow: yes;"&gt;&lt;td style="width: 383.15pt; height: 24.3pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="511" colspan="5"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;数&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;据&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center;" align="center"&gt;&lt;span lang="EN-US"&gt;IP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;包封装格式&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;strong&gt;版本号&lt;/strong&gt;：&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;IP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;包的版本，当前一般为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;IPv4&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，即&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;0100&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;strong&gt;首部长度&lt;/strong&gt;：&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;IP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;包头长度（&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;Internet Header Length&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;IHL&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;），是一个&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;4bit&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;字段，是头部占&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;32&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特的数字，包括可选项。普通&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;IP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;数据报（没有任何选项），该字段的值是&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;5&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，即&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;160&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;=20&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;字节。此字段最大值为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;60&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;字节，表示头部报文中没有发送可选部分数据。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;strong&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;服务类型（&lt;/span&gt;&lt;span&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;TOS&lt;/span&gt;）&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;：其中前&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;3&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特为优先权子字段（&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;Precedence&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，现已被忽略）。第&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;8&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特保留未用。第&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;至第&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;7&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特分别代表延迟、吞吐量、可靠性和花费。当它们取值为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;时分别代表要求最小时延、最大吞吐量、最高可靠性和最小费用。这&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特的服务类型中只能置其中&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;。可以全为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，若全为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;则表示一般服务。服务类型字段声明了数据报被网络系统传输时可以被怎样处理。例如：&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;TELNET&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议可能要求有最小的延迟，&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;FTP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议（数据）可能要求有最大吞吐量，&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;SNMP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议可能要求有最高可靠性，&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;NNTP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;（&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;Network News Transfer Protocol&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，网络新闻传输协议）可能要求最小费用，而&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;ICMP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议可能无特殊要求（&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特全为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）。实际上，大部分主机会忽略这个字段，但一些动态路由协议如&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;OSPF&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;（&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;Open Shortest Path First Protocol&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）、&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;IS-IS&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;（&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;Intermediate System to Intermediate System Protocol&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）可以根据这些字段的值进行路由决策。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;strong&gt;总长度&lt;/strong&gt;：头部及数据项长度，最大长度为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;65535bytes&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;strong&gt;标识&lt;/strong&gt;：当&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;IP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;包较大需要进行分段时，用于标识该段所属的分组&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt;"&gt;。通常每发一份报文，它的值会加&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Verdana; mso-bidi-font-size: 10.5pt;"&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;strong&gt;标志&lt;/strong&gt;：构成为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;[0][D][M]&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，其中&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;D&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;表示不分段，&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;M&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;表示为最后分段，为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;表示非最后分段。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;strong&gt;片偏移&lt;/strong&gt;：即分段偏移。&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt;"&gt;如果一份数据报要求分段的话，此字段指明该段偏移距原始数据报开始的位置。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;strong&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;生存时间（&lt;/span&gt;&lt;span&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;TTL&lt;/span&gt;）&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;：表示一个&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;IP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;数据流的生命周期，由发送数据的源主机设置，通常为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;32&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;64&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;128&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;等。每次&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;IP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;数据包经过一个路由器的时候&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;TTL&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;就减一，当减到&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;时，这个数据包就消亡了。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;：传输层的协议类型。&lt;/span&gt;&lt;/p&gt;&lt;table class="MsoNormalTable" style="margin: auto auto auto 36pt; width: 80%; mso-cellspacing: 0cm; mso-padding-alt: 2.25pt 2.25pt 2.25pt 2.25pt;" cellspacing="0" cellpadding="0" width="80%" border="1"&gt;&lt;tbody&gt;&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;"&gt;&lt;td style="background: silver; width: 75pt; border: #ece9d8; padding: 2.25pt;" width="100"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议代码&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background: silver; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协&lt;/span&gt; &lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;议&lt;/span&gt; &lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;名&lt;/span&gt; &lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;称&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 1;"&gt;&lt;td style="background-color: transparent; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color: transparent; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;ICMP (Internet Control Message Protocol)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 2;"&gt;&lt;td style="background-color: transparent; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color: transparent; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;IGMP (Internet Group Management Protocol)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 3;"&gt;&lt;td style="background-color: transparent; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color: transparent; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;GGP (Gateway-to-Gateway Protocol)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 4;"&gt;&lt;td style="background-color: transparent; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color: transparent; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;IP (IP in IP encapsulation)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 5;"&gt;&lt;td style="background-color: transparent; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color: transparent; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;TCP (Transmission Control Protocol)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 6;"&gt;&lt;td style="background-color: transparent; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color: transparent; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;EGP (Exterior Gateway Protocol)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 7; mso-yfti-lastrow: yes;"&gt;&lt;td style="background-color: transparent; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;17&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color: transparent; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;UDP (User Datagram Protocol&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;strong&gt;首部校验和&lt;/strong&gt;：根据&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;IP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;头部计算得到的校验和码。计算方法是：对头部中每个&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特进行二进制反码求和。（和&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;ICMP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;IGMP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;TCP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;UDP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;不同，&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;IP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;不对头部后的数据进行校验）。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;strong&gt;选项&lt;/strong&gt;：占&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;32&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特。用来定义一些任选项：如记录路径、时间戳等。这些选项很少被使用，同时并不是所有主机和路由器都支持这些选项。可选项字段的长度必须是&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;32&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特的整数倍，如果不足，必须填充&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;以达到此长度要求。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;strong&gt;数据&lt;/strong&gt;：&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;IP&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;包携带的各种传输层报文。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN-US"&gt;IP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;报文头部实例：&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10pt; color: black; font-family: Verdana;"&gt;45 00 00 30 52 52 40 00 80 06 &lt;st1:chmetcnv unitname="C" sourcevalue="2" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on"&gt;2c&lt;/st1:chmetcnv&gt; &lt;st1:chmetcnv unitname="C" sourcevalue="23" hasspace="True" negative="False" numbertype="1" tcsc="0" w:st="on"&gt;23 c&lt;/st1:chmetcnv&gt;&lt;st1:chmetcnv unitname="a" sourcevalue="0" hasspace="True" negative="False" numbertype="1" tcsc="0" w:st="on"&gt;0 a&lt;/st1:chmetcnv&gt;8 01 01 d8 03 e2 15&lt;/span&gt;&lt;span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"&gt;　&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10pt; color: black; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;三、传输层协议封装格式&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;1&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;．&lt;/span&gt;&lt;span lang="EN-US"&gt;TCP&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;&amp;nbsp;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;TCP&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;是一种可靠的、面向连接的字节流服务。源主机在传送数据前需要先和目标主机建立连接。然后，在此连接上，被编号的数据段按序收发。同时，要求对每个数据段进行确认，保证了可靠性。如果在指定的时间内没有收到目标主机对所发数据段的确认，源主机将再次发送该数据段。&lt;/span&gt;&lt;/p&gt;&lt;div align="center"&gt;&lt;div align="center"&gt;&lt;table class="MsoNormalTable" style="margin: auto auto auto -8.7pt; mso-cellspacing: 0cm; mso-padding-alt: 2.25pt 2.25pt 2.25pt 2.25pt; mso-border-insideh: .75pt outset windowtext; mso-border-insidev: .75pt outset windowtext;" cellspacing="0" cellpadding="0" align="center" border="1"&gt;&lt;tbody&gt;&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;"&gt;&lt;td style="background: silver; width: 78.6pt; border: #ece9d8; padding: 2.25pt;" width="105"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;4 bits&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background: silver; width: 67.55pt; border: #ece9d8; padding: 2.25pt;" width="90"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;6 bits&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background: silver; width: 71.65pt; border: #ece9d8; padding: 2.25pt;" width="96"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;6bits&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background: silver; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;16bits&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 1;"&gt;&lt;td style="width: 217.8pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="290" colspan="3"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;源端口&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color: transparent; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;目的端口&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 2;"&gt;&lt;td style="width: 406.8pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="542" colspan="4"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;序列号（&lt;/span&gt;&lt;span lang="EN-US"&gt;SEQ&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 3;"&gt;&lt;td style="width: 406.8pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="542" colspan="4"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;确认号&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 4;"&gt;&lt;td style="width: 78.6pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="105"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;数据偏移量&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 67.55pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="90"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;保留&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 71.65pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="96"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;控制标识&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width: 189pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="252"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;滑动窗口&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 5;"&gt;&lt;td style="width: 217.8pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="290" colspan="3"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;校验和&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color: transparent; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;紧急指针&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 6;"&gt;&lt;td style="width: 217.8pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="290" colspan="3"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;选项&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color: transparent; border: #ece9d8; padding: 2.25pt;"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;填充位&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 24.65pt; mso-yfti-irow: 7; mso-yfti-lastrow: yes;"&gt;&lt;td style="width: 406.8pt; height: 24.65pt; background-color: transparent; border: #ece9d8; padding: 2.25pt;" width="542" colspan="4"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;数&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;据&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center;" align="center"&gt;&lt;span lang="EN-US"&gt;TCP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;包封装格式&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;源、目标端口号字段&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt;"&gt;：&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;占&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特。&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;TCP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议通过使用&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;端口&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;来标识源端和目标端的应用进程。端口号可以使用&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;到&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;65535&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;之间的任何数字。在收到服务请求时，操作系统动态地为客户端的应用程序分配端口号。在服务器端，每种服务在&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;众所周知的端口&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;（&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;Well-Know Port&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）为用户提供服务。&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Verdana; mso-bidi-font-size: 10.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;顺序号字段&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt;"&gt;：&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;占&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;32&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特。用来标识从&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;TCP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;源端向&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;TCP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;目标端发送的数据字节流，它表示在这个报文段中的第一个数据字节。&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Verdana; mso-bidi-font-size: 10.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;确认号字段&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt;"&gt;：&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;占&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;32&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特。只有&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;ACK&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;标志为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;时，确认号字段才有效。它包含目标端所期望收到源端的下一个数据字节。&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Verdana; mso-bidi-font-size: 10.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;数据偏移量&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;：实际上是&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;TCP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;首部长度，用来标识数据段的起始位置。给出头部占&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;32&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特的数目。没有任何选项字段的&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;TCP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;头部长度为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;20&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;字节；最多可以有&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;60&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;字节的&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;TCP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;头部。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;控制标识&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;（&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;U&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;A&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;P&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;S&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;F&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）：：&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;TCP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议中的六个重要的标志。是两个计算机数据交流的信息标志。接收和发送断根据这些标志来确定信息流的种类。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;URG&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;：（&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;Urgent Pointer field significant&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）紧急指针。用到的时候值为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，用来处理避免&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;TCP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;数据流中断。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;ACK&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;：（&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;Acknowledgment fieldsignificant&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）置&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;时表示确认号（&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;AcknowledgmentNumber&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）为合法，为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;的时候表示数据段不包含确认信息，确认号被忽略。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;PSH&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;：（&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;Push Function&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;），&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;PUSH&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;标志的数据，置&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;时请求的数据段在接收方得到后就可直接送到应用程序，而不必等到缓冲区满时才传送。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;RST&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;：（&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;Reset the connection&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）用于复位因某种原因引起出现的错误连接，也用来拒绝非法数据和请求。如果接收到&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;RST&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;位时候，通常发生了某些错误。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;SYN&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;：（&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;Synchronize sequence numbers&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）用来建立连接，在连接请求中，&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;SYN=1&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;ACK=0&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，连接响应时，&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;SYN=1&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;ACK=1&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;。即，&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;SYN&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;和&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;ACK&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;来区分&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;Connection Request&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;和&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;Connection Accepted&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;FIN&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;：（&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;No more data from sender&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）用来释放连接，表明发送方已经没有数据发送了。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;滑动窗口&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;：控制报文流量，用来告诉对方目前接收端缓冲器大小。当为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;时标识缓冲器已满，需要停止发包，单位为&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;byte&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;TCP&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;校验和字段&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt;"&gt;：&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;占&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特。对整个&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;TCP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;报文段，即&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;TCP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;头部和&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;TCP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;数据进行校验和计算，并由目标端进行验证。&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Verdana; mso-bidi-font-size: 10.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;紧急指针字段&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt;"&gt;：&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;占&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span face="Times New Roman" style="font-family: 'Times New Roman';"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特。它是一个偏移量，和序号字段中的值相加表示紧急数据最后一个字节的序号。&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Verdana; mso-bidi-font-size: 10.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;选项字段&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;：&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;占&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;32&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;比特。可能包括&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;"&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;窗口扩大因子&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;"&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;、&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;"&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;时间戳&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;"&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;等选项。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN-US"&gt;TCP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议头部实例：&lt;/span&gt;&lt;span lang="EN-US"&gt;0d 28 00 15 50 &lt;st1:chmetcnv unitname="F" sourcevalue="5" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on"&gt;5f&lt;/st1:chmetcnv&gt; a9 06 00 00 00 00 70 02 40 &lt;st1:chmetcnv unitname="C" sourcevalue="0" hasspace="True" negative="False" numbertype="1" tcsc="0" w:st="on"&gt;00 c&lt;/st1:chmetcnv&gt;0 29 00 00&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;TCP&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;建立连接的三次握手过程&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span lang="EN-US"&gt;TCP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;会话通过三次握手来初始化。三次握手的目标是使数据段的发送和接收同步。同时也向其他主机表明其一次可接收的数据量（窗口大小），并建立逻辑连接。这三次握手的过程可以简述如下：&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span lang="EN-US"&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、源主机发送一个同步标志位（&lt;/span&gt;&lt;span lang="EN-US"&gt;SYN&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）置&lt;/span&gt;&lt;span lang="EN-US"&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;的&lt;/span&gt;&lt;span lang="EN-US"&gt;TCP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;数据段。此段中同时标明初始序号（&lt;/span&gt;&lt;span lang="EN-US"&gt;Initial Sequence Number&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，&lt;/span&gt;&lt;span lang="EN-US"&gt;ISN&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）。&lt;/span&gt;&lt;span lang="EN-US"&gt;ISN&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;是一个随时间变化的随机值。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span lang="EN-US"&gt;2&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、目标主机发回确认数据段，此段中的同步标志位（&lt;/span&gt;&lt;span lang="EN-US"&gt;SYN&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）同样被置&lt;/span&gt;&lt;span lang="EN-US"&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，且确认标志位（&lt;/span&gt;&lt;span lang="EN-US"&gt;ACK&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;）也置&lt;/span&gt;&lt;span lang="EN-US"&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，同时在确认序号字段表明目标主机期待收到源主机下一个数据段的序号（即表明前一个数据段已收到并且没有错误）。此外，此段中还包含目标主机的段初始序号。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span lang="EN-US"&gt;3&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、源主机再回送一个数据段，同样带有递增的发送序号和确认序号。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;至此为止，&lt;/span&gt;&lt;span lang="EN-US"&gt;TCP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;会话的三次握手完成。接下来，源主机和目标主机可以互相收发数据。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN-US"&gt;2&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;．&lt;/span&gt;&lt;span lang="EN-US"&gt;UDP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;协议&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;UDP&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;是一种不可靠的、无连接的数据报服务。源主机在传送数据前不需要和目标主机建立连接。数据被冠以源、目标端口号等&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;UDP&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;报头字段后直接发往目的主机。这时，每个数据段的可靠性依靠上层协议来保证。在传送数据较少、较小的情况下，&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;UDP&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;比&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;TCP&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;更加高效。&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;&amp;nbsp;&lt;/span&gt;&lt;div align="center"&gt;&lt;div align="center"&gt;&lt;table class="MsoNormalTable" style="background: lightyellow; margin: auto auto auto -8.7pt; mso-cellspacing: 0cm; mso-padding-alt: 2.25pt 2.25pt 2.25pt 2.25pt;" cellspacing="0" cellpadding="0" border="1"&gt;&lt;tbody&gt;&lt;tr style="height: 14.1pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes;"&gt;&lt;td style="background: silver; width: 181.75pt; height: 14.1pt; border: #ece9d8; padding: 2.25pt;" width="242"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt;"&gt;16 bits&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background: silver; width: 183pt; height: 14.1pt; border: #ece9d8; padding: 2.25pt;" width="244"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt;"&gt;16bits&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 16.5pt; mso-yfti-irow: 1;"&gt;&lt;td style="background: none transparent scroll repeat 0% 0%; width: 181.75pt; height: 16.5pt; border: #ece9d8; padding: 2.25pt;" width="242"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt;"&gt;源端口&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background: none transparent scroll repeat 0% 0%; width: 183pt; height: 16.5pt; border: #ece9d8; padding: 2.25pt;" width="244"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt;"&gt;目的端口&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 15.75pt; mso-yfti-irow: 2;"&gt;&lt;td style="background: none transparent scroll repeat 0% 0%; width: 181.75pt; height: 15.75pt; border: #ece9d8; padding: 2.25pt;" width="242"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt;"&gt;长度&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background: none transparent scroll repeat 0% 0%; width: 183pt; height: 15.75pt; border: #ece9d8; padding: 2.25pt;" width="244"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt;"&gt;校验和&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 15.75pt; mso-yfti-irow: 3; mso-yfti-lastrow: yes;"&gt;&lt;td style="background: none transparent scroll repeat 0% 0%; width: 364.75pt; height: 15.75pt; border: #ece9d8; padding: 2.25pt;" width="486" colspan="2"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; mso-pagination: widow-orphan;" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt;"&gt;数&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt;"&gt;据&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;" align="center"&gt;&lt;span lang="EN-US"&gt;UDP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;包封装格式&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;div align="center"&gt;&lt;div align="center"&gt;&lt;div align="center"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span lang="EN-US"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;源、目标端口号字段&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;：&lt;/span&gt;&lt;span lang="EN-US"&gt;16&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特。作用与&lt;/span&gt;&lt;span lang="EN-US"&gt;TCP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;数据段中的端口号字段相同，用来标识源端和目标端的应用进程。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;长度字段&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;：占&lt;/span&gt;&lt;span lang="EN-US"&gt;16&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比特。标明&lt;/span&gt;&lt;span lang="EN-US"&gt;UDP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;头部和&lt;/span&gt;&lt;span lang="EN-US"&gt;UDP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;数据的总长度字节。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;校验和字段&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;：占&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;16&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;比特。用来对&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;UDP&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;头部和&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;UDP&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;数据进行校验。和&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;TCP&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;不同的是，对&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;UDP&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;来说，此字段是可选项，而&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;TCP&lt;/span&gt;&lt;span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;数据段中的校验和字段是必须有的。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;转自&lt;a href="http://ieee802.blog.hexun.com/17537283_d.html"&gt;http://ieee802.blog.hexun.com/17537283_d.html&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/dubingsky/aggbug/2047678.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dubingsky/archive/2011/05/16/2047678.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/dubingsky/archive/2011/03/13/1982799.html</id><title type="text">QoS技术中令牌桶算法实现</title><summary type="text">令牌桶算法是目前IP QoS 中最常采用的一种流量 限制方法，广泛应用于约定访问速率技术 、通用流量整形技术以及物理接口总速率限制等技术中。IETF RFC 建议规范了单速率三色标记和双速率三色标记两种令牌桶算法，在桶的构成、令牌添加和报文处理流程方面前者较后者简单，成为目前业界比较常用的流量标记方式。在实际应用中，应针对不同的流量特征选择恰当的标记方式。 令牌桶的常见类型:单速率三色标记(双桶)；双速率三色标记(双桶)!!! RFC中定义了两种令牌桶算法——单速率三色标记算法和双速率三色标记算法，其评估结果都是为报文打上红、黄、绿三色标记。QoS会根据报文的颜色，设置 报文的丢弃优先级，其中</summary><published>2011-03-13T08:29:00Z</published><updated>2011-03-13T08:29:00Z</updated><author><name>辛勤耕耘</name><uri>http://www.cnblogs.com/dubingsky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dubingsky/archive/2011/03/13/1982799.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dubingsky/archive/2011/03/13/1982799.html"/><content type="html">&lt;p&gt;&lt;br /&gt;令牌桶算法是目前IP QoS 中最常采用的一种流量 限制方法，广泛应用于约定访问速率技术 、通用流量整形技术以及物理接口总速率限制等技术中。IETF RFC 建议规范了单速率三色标记和双速率三色标记两种令牌桶算法，在桶的构成、令牌添加和报文处理流程方面前者较后者简单，成为目前业界比较常用的流量标记方式。在实际应用中，应针对不同的流量特征选择恰当的标记方式。 &lt;br /&gt;令牌桶的常见类型:单速率三色标记(双桶)；双速率三色标记(双桶)!!!&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;RFC中定义了两种令牌桶算法&amp;mdash;&amp;mdash;单速率三色标记算法和双速率三色标记算法，其评估结果都是为报文打上红、黄、绿三色标记。QoS会根据报文的颜色，设置 报文的丢弃优先级，其中单速率三色标记比较关心报文尺寸的突发，而双速率三色标记则关注速率上的突发，两种算法都可工作于色盲模式和非色盲模式。以下结合这两种工作模式介绍一下RFC中所描述的这两种算法。 &lt;/p&gt;&lt;p&gt;1 单速率三色标记算法 &lt;br /&gt;IETF的RFC文件[2]定义了单速率三色标记算法，评估依据以下3个参数：&lt;strong&gt;承诺访问速率(CIR)，&lt;/strong&gt;即向令牌桶中填充令牌的速率；&lt;strong&gt;承诺突发尺寸 (CBS)，&lt;/strong&gt;即令牌桶的容量，每次突发所允许的最大流量尺寸（注：&lt;strong&gt;设置的突发尺寸必须大于最大报文长度&lt;/strong&gt;）；超额突发尺寸(EBS)。 &lt;br /&gt;一般采用双桶结构：C桶和E桶。Tc表示C桶中的令牌数，Te表示E桶中令牌数，&lt;strong&gt;两桶的总容量分别为CBS和EBS&lt;/strong&gt;。初始状态时两桶是满的，即Tc和 Te初始值分别等于CBS和EBS。令牌的产生速率是CIR，通常是先往C桶中添加令牌，等C桶满了，再往E桶中添加令牌，当两桶都被填满时，新产生的令牌将会被丢弃。 &lt;br /&gt;色盲模式下，假设到达的报文长度为B。若报文长度B小于C桶中的令牌数Tc，则报文被标记为绿色，且C桶中的令牌数减少B；若Tc&amp;lt;BTe，标记为红色，两桶总令牌数都不减少。 &lt;/p&gt;&lt;p&gt;2 双速率三色标记算法 &lt;br /&gt;IETF的RFC文件[3]定义了双速率三色算法，主要是根据4种流量参数来评估：CIR、CBS、&lt;strong&gt;峰值信息速率(PIR)，峰值突发尺寸(PBS)。&lt;/strong&gt;前两种参数与单速率三色算法中的含义相同，PIR这个参数只在交换机上才有，路由器没有这个参数。&lt;strong&gt;该值必须不小于CIR的设置值，如果大于CIR，则速率限制在CIR于PRI之间的一个值。 &lt;/strong&gt;&lt;br /&gt;与单速率三色标记算法不同，双速率三色标记算法的&lt;strong&gt;两个令牌桶C桶和P桶填充令牌的速率不同，C桶填充速率为CIR，P桶为PIR；两桶的容量分别为 CBS和PBS&lt;/strong&gt;。用Tc和Tp表示两桶中的令牌数目，初始状态时两桶是满的，即Tc和Tp初始值分别等于CBS和PBS。 &lt;br /&gt;色盲模式下，如果到达的报文速率大于PIR，超过Tp+Tc部分无法得到令牌，报文被标记为红色，未超过Tp+Tc而从P桶中获取令牌的报文标记为黄色，从C桶中获取令牌的报文被标记为绿色；当报文速率小于PIR，大于CIR时，报文不会得不到令牌，但超过Tp部分报文将从P桶中获取令牌，被标记为黄色报文，从C桶中获取令牌的报文被标记为绿色；当报文速率小于CIR时，报文所需令牌数不会超过Tc，只从C桶中获取令牌，所以只会被标记为绿色报文。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/dubingsky/aggbug/1982799.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dubingsky/archive/2011/03/13/1982799.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/dubingsky/archive/2010/12/21/1913010.html</id><title type="text">看门狗</title><summary type="text">基于Linux的嵌入式系统全程喂狗策略引 言在嵌入式系统中，为了使系统在异常情况下能自动恢复，一般都会引入看门狗电路。看门狗电路其实就是一个计数器。当看门狗启动后，计数器开始自动计数，经过一定时间计数器溢出就会对CPU产生一个复位信号使系统重启。系统正常运行时，需要在看门狗允许的时间间隔内对看门狗计数器清零也即喂狗，不让复位信号产生。当前在带Linux操作系统的嵌入式系统中，由于Linux操作系统加载时间较长(如lO～30 s)，一般都超过看门狗的时间间隔(典型值为1．6 s)；而如果不采取特殊措施，则系统在Linux操作系统加载过程中复位，Linux操作系统永远无法加载成功。为了</summary><published>2010-12-21T09:53:00Z</published><updated>2010-12-21T09:53:00Z</updated><author><name>辛勤耕耘</name><uri>http://www.cnblogs.com/dubingsky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dubingsky/archive/2010/12/21/1913010.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dubingsky/archive/2010/12/21/1913010.html"/><content type="html">&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 基于Linux的嵌入式系统全程喂狗策略&lt;/strong&gt;&lt;/p&gt;&lt;div id="contant"&gt;&lt;p&gt;&lt;strong&gt;引 言&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;在嵌入式系统中，为了使系统在异常情况下能自动恢复，一般都会引入看门狗电路。看门狗电路其实就是一个计数器。当看门狗启动后，计数器开始自动计数，经过一定时间计数器溢出就会对CPU产生一个复位信号使系统重启。系统正常运行时，需要在看门狗允许的时间间隔内对看门狗计数器清零也即喂狗，不让复位信号产生。&lt;/p&gt;&lt;p&gt;当前在带Linux操作系统的嵌入式系统中，由于Linux操作系统加载时间较长(如lO～30 s)，一般都超过看门狗的时间间隔(典型值为1．6 s)；而如果不采取特殊措施，则系统在Linux操作系统加载过程中复位，Linux操作系统永远无法加载成功。为了解决这个问题，通常有两种方案：做一个看门狗的时间间隔更长的硬件电路；修改内核，在内核启动过程中将看门狗设成无效。以上方案无法解决嵌入式系统在操作系统启动阶段的失效问题，降低了系统可靠性。&lt;/p&gt;&lt;p&gt;本文提出了一种嵌入式系统全程喂狗策略及实现方法，从系统上电、引导程序(Bootloader)、操作系统内核直至应用阶段都启用看门狗。实验表明，该方法简单可行，成本较低，在嵌入式系统的全过程中都可以实现喂狗策略，提高了系统可靠性。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1 系统总体设计&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;采用IMP706芯片组成硬件看门狗电路(看门狗的时间间隔为1．6 s)，在操作系统程序(包括Bootloader)和应用程序中插入喂狗程序，这些喂狗程序运行时间间隔小于看门狗的时间间隔(本设计选为1 s)。这样做可以保证：如果系统正常工作，系统可以在小于看门狗的时间间隔内不断进行喂狗动作，硬件看门狗的计数器不断清零，不产生复位信号；如果系统非正常工作，喂狗动作失效，硬件看门狗的计数器在1．6 s后溢出，对CPU产生复位信号使系统重启。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1．1 看门狗电路设计&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;图1为看门狗电路原理，采用IMP706芯片组成硬件看门狗电路，通过电平转换器件74AVClT45，硬件看门狗器件的ST脚与中央处理器(CPU)的GPIO3脚相连。看门狗器件的PRST脚与IN脚接到复位开关，RST脚接到CPU的RESET脚，当复位开关被触动或看门狗器件的计数器溢出时，看门狗器件的RST脚输出复位信号给CPU的RESET脚，CPU复位重启。&lt;/p&gt;&lt;p&gt;&lt;img style="letter-spacing: normal;" src="http://image.mcuol.com/News/090512101613910.jpg" border="0" alt="看门狗电路原理" hspace="0" width="514" height="502" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1．2 喂狗策略及实现&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1．2．1 Bootloader阶段&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;在Boot1oader阶段(本设计采用U&amp;mdash;boot，但不限于此)，喂狗策略是在Bootloader的程序中不同位置插入喂狗程序。具体做法是：由于Bootoader第一阶段的启动不会超过1．6 s，因此只需在Bootoader的第二阶段，如Flash读写、CRC校验、循环等待等处，插入喂狗代码。喂狗代码采用直接置位中央处理器的GPIO3状态寄存器的方式进行。&lt;/p&gt;&lt;p&gt;首先在特定平台的定义头文件include／conffigs／xxx．h中加入看门狗的宏定义：&lt;/p&gt;&lt;p&gt;&lt;img style="letter-spacing: normal;" src="http://image.mcuol.com/News/090512101614171.jpg" border="0" alt="程序" hspace="0" width="519" height="490" /&gt;&lt;/p&gt;&lt;p&gt;在lib_generic下的CRC校验阶段代码crc32.c中加入如下代码，实现CRC校验阶段喂狗：&lt;/p&gt;&lt;p&gt;&lt;img style="letter-spacing: normal;" src="http://image.mcuol.com/News/090512101614312.jpg" border="0" alt="程序" hspace="0" width="523" height="458" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1．2．2 Linux内核阶段&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;在Linux内核加载阶段(采用MontaVista Linux操作系统，但不限于此)，喂狗策略是在Linux内核程序的不同位置插入喂狗程序。具体做法是：首先在Linux内核阶段1的内核解压缩程序、RTC驱动加载程序、GPIO驱动加载程序适当代码处插入喂狗代码，喂狗代码以直接取反中央处理器的GPIO3状态寄存器的方式进行；在Linux内核阶段2的Watchdog驱动加载程序适当代码处插入喂狗代码，喂狗代码调用GPIO驱动，GPIO驱动内含取反中央处理器的GPIO3状态寄存器的操作；在Linux内核阶段3的内核加载根文件系统程序、init程序的适当代码处调用Linux的Watchdog驱动，Watchdog驱动内含取反中央处理器的GPIO3状态寄存器的操作。&lt;/p&gt;&lt;p&gt;以上内核阶段的划分是以GPIO及Watchdog驱动的加载为标志的。GPIO驱动加载之前为内核阶段1，GPIO驱动加载之后至Watchdog驱动加载之前为内核阶段2，Watchdog驱动加载之后为内核阶段3。&lt;/p&gt;&lt;p&gt;下面示例说明内核解压缩asm／arch／boot／compressed．c中喂狗的实现代码：&lt;/p&gt;&lt;p&gt;&lt;img style="letter-spacing: normal;" src="http://image.mcuol.com/News/090512101614703.jpg" border="0" alt="程序" hspace="0" width="520" height="227" /&gt;&lt;/p&gt;&lt;p&gt;从以上代码可以看出，它是内核阶段l喂狗的典型方法，是直接取反GPIO3状态寄存器的。&lt;/p&gt;&lt;p&gt;下面示例说明内核阶段2的喂狗方法(仅以加载RTC驱动为例)：首先让RTC驱动中包含GPIO的头文件，然后在读取RTC当前值的函数中调用GPIO驱动进行喂狗。&lt;/p&gt;&lt;p&gt;&lt;img style="letter-spacing: normal;" src="http://image.mcuol.com/News/090512101614894.jpg" border="0" alt="程序" hspace="0" width="412" height="139" /&gt;&lt;/p&gt;&lt;p&gt;为了能够在内核阶段3调用Watchdog驱动进行喂狗，需要在Watchdog驱动中导出喂狗函数以供内核阶段3使用。Watchdog驱动喂狗也是调用GPIO驱动实现的，但Watchdog驱动一旦加载完成，以后的喂狗都通过调用Watchdog驱动完成。&lt;/p&gt;&lt;p&gt;&lt;img style="letter-spacing: normal;" src="http://image.mcuol.com/News/090512101614955.jpg" border="0" alt="程序" hspace="0" width="474" height="201" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1．2．3 程序运行阶段&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;图2为多线程应用程序运行阶段喂狗方法。在主程序中首先创建一个监控线程，它的优先级高于其他线程。监控线程在其他被监控的线程正常工作的情况下，一定时间内对看门狗进行喂狗操作，喂狗操作通过调用Watch&amp;mdash;dog驱动来完成。如果某个线程出现故障，监控线程就不执行喂狗操作，也就达到这个线程出现故障时系统自动重启的目的。如果监控线程自身出现故障，不能及时执行喂狗操作，看门狗也自动复位重启。具体做法是，主程序首先启动监控线程，然后依次启动N个被监控的线程，每一线程内都设置一计数器。被监控的线程中首先对线程内的计数器初始化为O，在各个线程主循环中，对相应的计数器执行加1操作。监控任务首先启动看门狗，进入循环。每隔M秒对各线程内的计数器进行检验，在M秒内每隔1 s要对看门狗喂狗，否则系统就会复位重启。查询N个计数器值是否为0，如果全都大于0，则说明对应接受监控的线程正常运行，然后对看门狗喂狗，并将N个计数器值清零。如果有任意一个计数器值为O，检测到对应接受监视的线程出现故障需要重启，这时不对看门狗喂狗，使得系统复位重启。&lt;/p&gt;&lt;p&gt;&lt;img style="letter-spacing: normal;" src="http://image.mcuol.com/News/090512101615026.jpg" border="0" alt="多线程应用程序运行阶段喂狗方法" hspace="0" width="485" height="324" /&gt;&lt;/p&gt;&lt;p&gt;以下示例说明在应用中如何调用Watchdog驱动实现喂狗：&lt;/p&gt;&lt;p&gt;&lt;img style="letter-spacing: normal;" src="http://image.mcuol.com/News/090512101615117.jpg" border="0" alt="程序" hspace="0" width="484" height="329" /&gt;&lt;/p&gt;&lt;p&gt;总之，在系统不同阶段，由于系统调用和封装程度不同，看门狗的喂狗实现方法也不同：在Bootloader阶段，直接取反中央处理器的GPIO3的状态寄存器；在Linux内核阶段1，采取取反中央处理器的GPIO3的状态寄存器的方法进行；在Linux内核阶段2，采取调用GPIO的驱动的方法进行；在Linux内核阶段3，采取调用Watchdog驱动的方法进行；在应用程序运行阶段，应用程序中的喂狗程序采取调用Watchdog驱动的方法进行，如图3所示。&lt;/p&gt;&lt;p&gt;&lt;img style="letter-spacing: normal;" src="http://image.mcuol.com/News/090512101615238.jpg" border="0" alt="喂狗程序采取调用Watchdog驱动的方法进行" hspace="0" width="507" height="324" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2 实验结果&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;我们在公司研发的智能视频分析器项目中应用了本方法。该分析器采用TI DaVinci系列DSP芯片(TMS320DM6446)为CPU，用Monta Vista Linux作为操作系统。操作系统启动时间约为20～30 s。采用本方法是为了保证系统在全过程中都能得到有效的失效恢复。在振荡波抗扰度、电压波动与闪烁、静电放电、电快速瞬变脉冲群等EMC兼容性测试中，当各强度指标超过设备EMC兼容性设计强度时，系统失效，利用这种方式可以测试本方法在硬件失效时的效果。以静电放电为例，设计放电等级为&amp;plusmn;6 kV(我们取&amp;plusmn;7 kV的强度等级)，设备上电后，分别在1～30 s内每隔5 s及在120 s处进行静电放电测试，经观察设备都可以即时恢复。&lt;/p&gt;&lt;p&gt;对软件失效时本方法效果的测试，采用故障植入脚本的主动方式及系统长时间运行的被动方式进行测试。最终结果表明，设备在失效后可即时恢复。&lt;/p&gt;&lt;p&gt;综上所述，本全程喂狗的方法能确保系统在任一阶段出现软件或硬件故障时都能复位重启。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;结 语&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;本文提出了一种嵌入式系统全程喂狗策略，包括硬件电路设计和软件实现方法。该方法有如下特点：看门狗电路简单，硬件只需一块看门狗芯片，不需复杂的外围逻辑电路，成本较低；系统全过程启用看门狗，确保系统在任一阶段出现软件或硬件故障都能复位重启，系统可靠性得到提高。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 链接：&lt;a href="http://www.mcuol.com/Tech/116/32533.htm"&gt;http://www.mcuol.com/Tech/116/32533.htm&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 本文来源：单片机与嵌入式系统&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;作者：江苏东大金智建筑智能化系统工程有限公司 张长顺 黄建&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;&lt;a href="http://blog.chinaunix.net/u3/101649/showart.php?id=2147678"&gt;另一篇：&lt;span style="color: #02368d;"&gt;&lt;strong&gt;嵌入式Linux之我行&amp;mdash;&amp;mdash;S3C2440上看门狗(Watchdog)驱动开发实例讲解&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/dubingsky/aggbug/1913010.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dubingsky/archive/2010/12/21/1913010.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/dubingsky/archive/2010/12/20/1911665.html</id><title type="text">要想35岁以前成功 必备9大好习惯</title><summary type="text">导读：习惯的力量是惊人的。习惯能载着你走向成功，也能驮着你滑向失败。如何选择，完全取决于你自己。 1.习惯的力量:35岁以前养成好习惯 你想成功吗？那就及早培养有利于成功的好习惯。 习惯的力量是惊人的，35岁以前养成的习惯决定着你是否成功。 有这样一个寓言故事: 一位没有继承人的富豪死后将自己的一大笔遗产赠送给远房的一位亲戚，这位亲戚是一个常年靠乞讨为生的乞丐。这名接受遗产的乞丐立即身价一变，成了百万富翁。新闻记者便来采访这名幸运的乞丐:"你继承了遗产之后，你想做的第一件事是什么？"乞丐回答说:"我要买一只好一点的碗和一根结实的木棍，这样我以后出去讨饭时方便一些。" 可见，习惯对我们有着绝大的</summary><published>2010-12-20T09:41:00Z</published><updated>2010-12-20T09:41:00Z</updated><author><name>辛勤耕耘</name><uri>http://www.cnblogs.com/dubingsky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dubingsky/archive/2010/12/20/1911665.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dubingsky/archive/2010/12/20/1911665.html"/><content type="html">&lt;p&gt;导读：习惯的力量是惊人的。习惯能载着你走向成功，也能驮着你滑向失败。如何选择，完全取决于你自己。 &lt;/p&gt;&lt;p&gt;1.习惯的力量:35岁以前养成好习惯 &lt;/p&gt;&lt;p&gt;你想成功吗？那就及早培养有利于成功的好习惯。 &lt;/p&gt;&lt;p&gt;习惯的力量是惊人的，35岁以前养成的习惯决定着你是否成功。 &lt;/p&gt;&lt;p&gt;有这样一个寓言故事: &lt;/p&gt;&lt;p&gt;一位没有继承人的富豪死后将自己的一大笔遗产赠送给远房的一位亲戚，这位亲戚是一个常年靠乞讨为生的乞丐。这名接受遗产的乞丐立即身价一变，成了百万富翁。新闻记者便来采访这名幸运的乞丐:"你继承了遗产之后，你想做的第一件事是什么？"乞丐回答说:"我要买一只好一点的碗和一根结实的木棍，这样我以后出去讨饭时方便一些。" &lt;/p&gt;&lt;p&gt;可见，习惯对我们有着绝大的影响，因为它是一贯的，在不知不觉中，经年累月地影响着我们的行为，影响着我们的效率，左右着我们的成败。 &lt;/p&gt;&lt;p&gt;一个人一天的行为中，大约只有5%是属于非习惯性的，而剩下的95%的行为都是习惯性的。即便是打破常规的创新，最终可以演变成为习惯性的创新。 &lt;/p&gt;&lt;p&gt;根据行为心理学的研究结果:3周以上的重复会形成习惯；3个月以上的重复会形成稳定的习惯，即同一个动作，重复3周就会变成习惯性动作，形成稳定的习惯。 &lt;/p&gt;&lt;p&gt;亚里士多德说:"人的行为总是一再重复。因此，卓越不是单一的举动，而是习惯。""人的行为总是一再重复。因此，卓越不是单一的举动，而是习惯。"所以，在实现成功的过程中，除了要不断激发自己的成功欲望，要有信心、有热情、有意志、有毅力等之外，还应该搭上习惯这一成功的快车，实现自己的目标。 &lt;/p&gt;&lt;p&gt;有个动物学家做了一个实验:他将一群跳蚤放入实验用的大量杯里，上面盖上一片透明的玻璃。跳蚤习***跳，于是很多跳蚤都撞上了盖上的玻璃，不断地发叮叮冬冬的声音。过了一阵子，动物学家将玻璃片拿开，发现竟然所有跳蚤依然在跳，只是都已经将跳的高度保持在接近玻璃即止，以避免撞到头。结果竟然没有一只跳蚤能跳出来--依它们的能力不是跳不出来，只是它们已经适应了环境。 &lt;/p&gt;&lt;p&gt;后来，那位动物学家就在量杯下放了一个酒精灯并且点燃了火。不到五分钟，量杯烧热了，所有跳蚤自然发挥求生的本能，每只跳蚤再也不管头是否会撞痛(因为它们以为还有玻璃罩)，全部都跳出量杯以外。这个试验证明，跳蚤会为了适应环境，不愿改变习性，宁愿降低才能、封闭潜能去适应。 &lt;/p&gt;&lt;p&gt;我想，人类之于环境也是如此。人类在适应外界大环境中，又创造出适合于自己的小环境，然后用习惯把自己困在自己所创造的环境中。所以，习惯决定着你的活动空间的大小，也决定着你的成败。养成好习惯对于你的成功非常重要。 &lt;/p&gt;&lt;p&gt;心理学巨匠威廉&amp;middot;詹姆士说:"播下一个行动，收获一种习惯；播下一种习惯，收获一种性格；播下一种性格，收获一种命运。" &lt;/p&gt;&lt;p&gt;2.35岁以前成功必备的9大习惯 &lt;/p&gt;&lt;p&gt;好习惯会使成功不期而至。我认为下面9个好习惯是成功必备的: &lt;/p&gt;&lt;p&gt;(1)积极思维的好习惯 &lt;/p&gt;&lt;p&gt;有位秀才第三次进京赶考，住在一个经常住的店里。考试前两天他做了三个梦:第一个梦是梦到自己在墙上种白菜，第二个梦是下雨天，他戴了斗笠还打着伞，第三个梦是梦到跟心爱的表妹脱光了衣服躺在一起，但是背靠着背。临考之际做此梦，似乎有些深意，秀才第二天去找算命的解梦。算命的一听，连拍大腿说:"你还是回家吧。你想想，高墙上种菜不是白费劲吗？戴斗笠打雨伞不是多此一举吗？跟表妹脱光了衣服躺在一张床上，却背靠背，不是没戏吗？"秀才一听，心灰意冷，回店收拾包裹准备回家。店老板非常奇怪，问:"不是明天才考试吗？今天怎么就打道回府了？"秀才如此这般说了一番，店老板乐了:"唉，我也会解梦的。我倒觉得，你这次一定能考中。你想想，墙上种菜不是高种吗？戴斗笠打伞不是双保险吗？跟你表妹脱光了背靠背躺在床上，不是说明你翻身的时候就要到了吗？"秀才一听，更有道理，于是精神振奋地参加考试，居然中了个探花。 &lt;/p&gt;&lt;p&gt;可见，事物本身并不影响人，人们只受到自己对事物看法的影响，人必须改变被动的思维习惯，养成积极的思维习惯。 &lt;/p&gt;&lt;p&gt;怎样才算养成了积极思维的习惯呢？当你在实现目标的过程中，面对具体的工作和任务时，你的大脑里去掉了"不可能"三个字，而代之以"我怎样才能"时，可以说你就养成了积极思维的习惯了。 &lt;/p&gt;&lt;p&gt;(2)高效工作的好习惯 &lt;/p&gt;&lt;p&gt;一个人成功的欲望再强烈，也会被不利于成功的习惯所撕碎，而溶入平庸的日常生活中。所以说，思想决定行为，行为形成习惯，习惯决定性格，性格决定命运。你要想成功，就一定要养成高效率的工作习惯。 &lt;/p&gt;&lt;p&gt;确定你的工作习惯是否有效率，是否有利于成功，我觉得可以用这个标准来检验:即在检省自己工作的时候，你是否为未完成工作而感到忧虑，即有焦灼感。如果你应该做的事情而没有做，或做而未做完，并经常为此而感到焦灼，那就证明你需要改变工作习惯，找到并养成一种高效率的工作习惯。 &lt;/p&gt;&lt;p&gt;高效工作从办公室开始: &lt;/p&gt;&lt;p&gt;1)了解你每天的精力充沛期。通常人们在早晨9点左右工作效率最高，可以把最困难的工作放到这时来完成。 &lt;/p&gt;&lt;p&gt;2)每天集中一、两个小时来处理手头紧急的工作，不接电话、不开会、不受打扰。这样可以事半功倍。 &lt;/p&gt;&lt;p&gt;3)立刻回复重要的邮件，将不重要的丢弃。若任它们积累成堆，反而更费时间。 &lt;/p&gt;&lt;p&gt;4)做个任务清单，将所有的项目和约定记在效率手册中。手头一定要带着效率手册以帮助自己按计划行事。一个人一天的行为中，大约只有5%是属于非习惯性的，而剩下的95%的行为都是习惯性的。 &lt;/p&gt;&lt;p&gt;5)学会高效地利用零碎时间，用来读点东西或是构思一个文件，不要发呆或做白日梦。 &lt;/p&gt;&lt;p&gt;6)减少回电话的时间。如果你需要传递的只是一个信息，不妨发个手机短信。 &lt;/p&gt;&lt;p&gt;7)对可能打来的电话做到心中有数，这样在你接到所期待的电话后便可迅速找到所需要的各种材料，不必当时乱翻乱找。 &lt;/p&gt;&lt;p&gt;8)学习上网高效搜寻的技能，以节省上网查询的时间。把你经常要浏览的网站收集起来以便随时找到。 &lt;/p&gt;&lt;p&gt;9)用国际互联网简化商业旅行的安排。多数饭店和航线可以网上查询和预订。 &lt;/p&gt;&lt;p&gt;10)只要情况允许就可委派别人分担工作。事必躬亲会使自己疲惫不堪，而且永远也做不完。不妨请同事帮忙，或让助手更努力地投入。 &lt;/p&gt;&lt;p&gt;11)做灵活的日程安排，当你需要时便可以忙中偷闲。例如，在中午加班，然后早一小时离开办公室去健身，或是每天工作10个小时，然后用星期五来赴约会、看医生。 &lt;/p&gt;&lt;p&gt;12)在离开办公室之前开列次日工作的清单，这样第二天早晨一来便可以全力以赴。 &lt;/p&gt;&lt;p&gt;计划习惯，就等于计划成功。 &lt;/p&gt;&lt;p&gt;凡事制定计划有个名叫约翰&amp;middot;戈达德的美国人，当他15岁的时候，就把自己一生要做的事情列了一份清单，被称做"生命清单"。在这份排列有序的清单中，他给自己所要攻克的127个具体目标。比如，探索尼罗河、攀登喜马拉雅山、读完莎士比亚的著作、写一本书等。在44年后，他以超人的毅力和非凡的勇气，在与命运的艰苦抗争中，终于按计划，一步一步地实现了106个目标，成为一名卓有成就的电影制片人、作家和演说家。 &lt;/p&gt;&lt;p&gt;中国有句老话:"吃不穷，喝不穷，没有计划就受穷。"尽量按照自己的目标，有计划地做事，这样可以提高工作效率，快速实现目标。 &lt;/p&gt;&lt;p&gt;(3)养成锻炼身体的好习惯 &lt;/p&gt;&lt;p&gt;增强保健意识 &lt;/p&gt;&lt;p&gt;计划习惯，就等于计划成功。如果你想成就一番事业，你就必须有一个健康的身体；要想身体健康，首先要有保健意识。 &lt;/p&gt;&lt;p&gt;我认识一个大学教师，身体一直很健康。早些时候，我们经常在一起玩。在谈及各人身体状况时，他说肾部偶尔有轻微不适的感觉。我们曾劝他去医院检查一下，但他自恃身体健康，不以为意。直至后来感觉比较疼痛，其爱人才强迫他去检查。诊断结果是晚期肾癌。虽经手术化疗的等治疗措施，但终未能保住生命，死时才39岁。此前，他曾因学校分房、评职称不如意，心情一直抑郁，他的病和情绪有关，但如果他保健意识强，及早去检查，完全有可以进行预防，消患于未萌。保健意识差，让他付出了生命的代价。 &lt;/p&gt;&lt;p&gt;如何落实保健意识呢？一是要有生命第一、健康第一的意识，有了这种意识，你就会善待自己的身体、自己的心理，而不会随意糟踏自己的身体。二是要注意掌握一些相关的知识。三是要使自己有一个对身体应变机制:定期去医院做身体检查；身体觉得有不适的地方，应及早去医院检查；在有条件的情况下，可以请一个保健医生，给自己的健康提出忠告。 &lt;/p&gt;&lt;p&gt;▲有计划地锻炼身体 &lt;/p&gt;&lt;p&gt;锻炼身体的重要性已经越来越多地为人们所接受，但我感觉很多人只停留在重视的意识阶段，而缺乏相应的行动。我认为锻炼既要针对特定工作姿势所能引发的相应疾病有目的地进行，以防止和治疗相应的疾病，更要把锻炼当作一种乐趣，养成锻炼的习惯。 &lt;/p&gt;&lt;p&gt;因为工作需要，我经常与客户打交道，并因处理突发事情四处奔忙，这在一定程度起到了锻炼身体的作用，同时，我还每周坚持游泳一到两次，以保证有足够的精力去做工作，去享受生活。 &lt;/p&gt;&lt;p&gt;身体锻炼，就像努力争取成功一样，贵在坚持。 &lt;/p&gt;&lt;p&gt;除上述两点以，注意饮食结构，合理膳食，以及注意养成好的卫生习惯等，都是养成健康习惯的组成部分。 &lt;/p&gt;&lt;p&gt;总之，健康是"革命"的本钱，是成功的保证。健康成就自己。 &lt;/p&gt;&lt;p&gt;(4)不断学习的好习惯"万般皆下品，唯有读书高"的年代已经过去了，但是养成读书的好习惯则永远不会过时。 &lt;/p&gt;&lt;p&gt;哈利&amp;middot;杜鲁门是美国历史上著名的总统。他没有读过大学，曾经营农场，后来经营一间布店，经历过多次失败，当他最终担任政府职务时，已年过五旬。但他有一个好习惯，就是不断地阅读。多年的阅读，使杜鲁门的知识非常渊博。他一卷一卷地读了《大不列颠百科全书》以及所有查理斯&amp;middot;狄更斯和维克多&amp;middot;雨果的小说。此外，他还读过威廉&amp;middot;莎士比亚的所有戏剧和十四行诗等。 &lt;/p&gt;&lt;p&gt;杜鲁门的广泛阅读和由此得到的丰富知识，使他能带领美国顺利度过第二次世界大战的结束时期，并使这个国家很快进入战后繁荣。他懂得读书是成为一流领导人的基础。读书还使他在面对各种有争议的、棘手的问题时，能迅速做出正确的决定。例如，在20世纪50年代他顶住压力把人们敬爱的战争英雄道格拉斯&amp;middot;麦克阿瑟将军解职。 &lt;/p&gt;&lt;p&gt;他的信条是:"不是所有的读书人都是一名领袖，然而每一位领袖必须是读书人。" &lt;/p&gt;&lt;p&gt;美国前任总统克林顿说:在19世纪获得一小块土地，就是起家的本钱；而21世纪，人们最指望得到的赠品，再也不是土地，而联邦政府的奖学金。因为他们知道，掌握知识就是掌握了一把开启未来大门的钥匙。" &lt;/p&gt;&lt;p&gt;每一个成功者都是有着良好阅读习惯的人。世界500家大企业的CEO至少每个星期要翻阅大概30份杂志或图书资讯，一个月可以翻阅100多本杂志，一年要翻阅1000本以上。 &lt;/p&gt;&lt;p&gt;世界500家大企业的CEO至少每个星期要翻阅大概30份杂志或图书资讯，一个月可以翻阅100多本杂志，一年要翻阅1000本以上。如果你每天读15分钟，你就有可能在一个月之内读完一本书。一年你就至少读过12本书了，10年之后，你会读过总共120本书！想想看，每天只需要抽出15分钟时间，你就可以轻易地读完120本书，它可以帮助你在生活的各方面变得更加富有。如果你每天花双倍的时间，也就是半个小时的话，一年就能读25本书--10年就是250本！ &lt;/p&gt;&lt;p&gt;我觉得，每一个想在35岁以前成功的人，每个月至少要读一本书，两本杂志。 &lt;/p&gt;&lt;p&gt;(5)谦虚的好习惯 &lt;/p&gt;&lt;p&gt;一个人没有理由不谦虚。相对于人类的知识来讲，任何博学者都只能是不及格。 &lt;/p&gt;&lt;p&gt;著名科学家法拉第晚年，国家准备授予他爵位，以表彰他在物理、化学方面的杰出贡献，但被他拒绝了。法拉第退休之后，仍然常去实验室做一些杂事。一天，一位年轻人来实验室做实验。他对正在扫地的法拉第说道:"干这活，他们给你的钱一定不少吧？"老人笑笑，说道:"再多一点，我也用得着呀。""那你叫什么名字？老头？""迈克尔&amp;middot;法拉第。"老人淡淡地回答道。年轻人惊呼起来:"哦，天哪！您就是伟大的法拉第先生！""不"，法拉第纠正说，"我是平凡的法拉第。" &lt;/p&gt;&lt;p&gt;谦虚不仅是一种美德，更是是一种人生的智慧，是一种通过贬低自己来保护自己的计谋。 &lt;/p&gt;&lt;p&gt;(6)自制的好习惯 &lt;/p&gt;&lt;p&gt;任何一个成功者都有着非凡的自制力。 &lt;/p&gt;&lt;p&gt;三国时期，蜀相诸葛亮亲自率领蜀国大军北伐曹魏，魏国大将司马懿采取了闭城休战、不予理睬的态度对付诸葛亮。他认为，蜀军远道来袭，后援补给必定不足，只要拖延时日，消耗蜀军的实力，一定能抓住良机，战胜敌人。 &lt;/p&gt;&lt;p&gt;诸葛亮深知司马懿沉默战术的利害，几次派兵到城下骂阵，企图激怒魏兵，引诱司马懿出城决战，但司马懿一直按兵不动。诸葛亮于是用激将法，派人给司马懿送来一件女人衣裳，并修书一封说:"仲达不敢出战，跟妇女有什么两样。你若是个知耻的男儿，就出来和蜀军交战，若不然，你就穿上这件女人的衣服。""士可杀不可辱。"这封充满侮辱轻视的信，虽然激怒了司马懿，但并没使老谋深算的司马懿改变主意，他强压怒火稳住军心，耐心等待。 &lt;/p&gt;&lt;p&gt;相持了数月，诸葛亮不幸病逝军中，蜀军群龙无首，悄悄退兵，司马懿不战而胜。 &lt;/p&gt;&lt;p&gt;抑制不住情绪的人，往往伤人又伤己如果司马懿不能忍耐一时之气，出城应战，那么或许历史将会重写。 &lt;/p&gt;&lt;p&gt;现代社会，人们面临的诱惑越来越多，如果人们缺乏自制力，那么就会被诱惑牵着鼻子走，偏离成功的轨道。 &lt;/p&gt;&lt;p&gt;(7)幽默的好习惯 &lt;/p&gt;&lt;p&gt;有人说，男人需要幽默，就像女人需要一个漂亮的脸蛋一样重要。 &lt;/p&gt;&lt;p&gt;男人需要幽默，就像女人需要一个漂亮的脸蛋一样重要。美国第16任总统林肯长相丑陋，但他从不忌讳这一点，相反，他常常诙谐地拿自己的长相开玩笑。在竞选总统时，他的对手攻击他两面三刀，搞阴谋诡计。林肯听了指着自己的脸说:"让公众来评判吧。如果我还有另一张脸的话，我会用现在这一张吗？"还有一次，一个反对林肯的议员走到林肯跟前挖苦地问:"听说总统您是一位成功的自我设计者？""不错，先生。"林肯点点头说，"不过我不明白，一个成功的设计者，怎么会把自己设计成这副模样？"林肯就是这种幽默的方法，多次成功地化解了可能出现的尴尬和难堪场面。 &lt;/p&gt;&lt;p&gt;没有幽默的男人不一定就差，但懂得幽默的男人一定是一个优秀的人，懂得幽默的女人更是珍稀动物。 &lt;/p&gt;&lt;p&gt;(8)微笑的好习惯 &lt;/p&gt;&lt;p&gt;微笑是大度、从容的表现，也是交往的通行证。 &lt;/p&gt;&lt;p&gt;举世闻名的希尔顿大酒店，其创建人希尔顿在创业之初，经过多年探索，最终发现了一条简单、易行、不花本钱的经营秘诀--微笑。从此，他要求所有员工:无论饭店本身遭遇到什么困难，希尔顿饭店服务员脸上的微笑永远是属于顾客的阳光。这束"阳光"最终使希尔顿饭店赢得了全世界一致好评。 &lt;/p&gt;&lt;p&gt;在欧美发达国家，人们见面都要点头微笑，使人们相互之间感到很温暖。而在中国，如果你在大街上向一个女士微笑，那么你可能被说成"有病"。向西方人学习，让我们致以相互的微笑吧。 &lt;/p&gt;&lt;p&gt;从古至今，敬业是所有成功人士最重要的品质之一。 &lt;/p&gt;&lt;p&gt;(9)敬业、乐业的好习惯 &lt;/p&gt;&lt;p&gt;敬业是对渴望成功的人对待工作的基本要求，一个不敬业的人很难在他所从事的工作中做出成绩。 &lt;/p&gt;&lt;p&gt;美国标准石油公司有一个叫阿基勃特的小职员，开始并没有引起人们的特别注意。他的敬业精神特别强，处处注意维护和宣传企业的声誉。在远行住旅馆时总不忘记在自己签名的下方写上"每桶四美元的标准石油"字样，在给亲友写信时，甚至在打收条时也不例外，签名后总不忘记写那几个字。为此，同事们都叫他"每桶四美元"。这事被公司的董事长洛克菲勒知道了，他邀请阿基勃特共进晚餐，并号召公司职员向他学习。后来，阿基勃特成为标准石油公司的第二任董事长。&lt;/p&gt;&lt;p&gt;坏习惯使成功寸步难行。 &lt;/p&gt;&lt;p&gt;与建立良好习惯相应的，是克服不良习惯。不破不立，不改掉不良习惯，好习惯是难以建立起来的。 &lt;/p&gt;&lt;p&gt;古希腊的佛里几亚国王葛第士以非常奇妙的方法，在战车的轭打了一串结。他预言:谁能打开这个结，就可以征服亚洲。一直到公元前334年还没有一个人能将绳结打开。这时。亚历山大率军入侵小亚细亚，他来到葛第士绳结前，不加考虑便拔剑砍断了它。后来，他果然一举占领了比希腊大50倍的波斯帝国。 &lt;/p&gt;&lt;p&gt;一个孩子在山里割草，不小心被毒蛇咬伤了脚。孩子疼痛难忍，而医院在远处的小镇上。孩子毫不犹豫地用镰刀割断受伤的脚趾，然后忍着巨痛艰难地走到医院。虽然缺少了一个脚趾，但这个孩子以短暂的疼痛保住了自己的生命。 &lt;/p&gt;&lt;p&gt;改掉坏习惯，就应该有亚历山大的气概，就应有那个小孩的果断和勇敢，彻底改掉坏习惯，让好习惯引领自己走向成功。 &lt;/p&gt;&lt;p&gt;以下这9大恶习是你必须戒除的: &lt;/p&gt;&lt;p&gt;1)经常性迟到。你上班或开会经常迟到吗？迟到是造成使老板和同事反感的种子，它传达出的信息:你是一个只考虑自己、缺乏合作精神的人。 &lt;/p&gt;&lt;p&gt;2)拖延。虽然你最终完成了工作，但拖后腿使你显得不胜任。为什么会产生延误呢？如果是因为缺少兴趣，你就应该考虑一下你的择业；如果是因为过度追求尽善尽美，这毫无疑问会增多你在工作中的延误。社会心理学专家说:很多爱拖延的人都很害怕冒险和出错，对失败的恐惧使他们无从下手。 &lt;/p&gt;&lt;p&gt;3)怨天尤人。这几乎是失败者共同的标签。一个想要成功的人在遇到挫折时，应该冷静地对待自己所面临的问题，分析失败的原因，进而找到解决问题的突破口。 &lt;/p&gt;&lt;p&gt;4)一味取悦他人。一个真正称职的员工应该对本职工作内存在的问题向上级说明并提出相应的解决办法，而不应该只是附和上级的决定。对于管理者，应该有严明的奖惩方式，而不应该做"好好先生"，这样做虽然暂时取悦了少数人，却会失去大多数人的支持。 &lt;/p&gt;&lt;p&gt;5)传播流言。每个人都可能会被别人评论，也会去评论他人，但如果津津乐道的是关于某人的流言蜚语，这种议论最好停止。世上没有不透风的墙，你今天传播的流言，早晚会被当事人知道，又何必去搬石头砸自己的脚？所以，流言止于智者。 &lt;/p&gt;&lt;p&gt;6)对他人求全责备、尖酸刻薄。每个人在工作中都可能有失误。当工作中出现问题时，应该协助去解决，而不应该一味求全责备。特别是在自己无法做到的情况下，让自己的下属或别人去达到这些要求，很容易使人产生反感。长此以往，这种人在公司没有任何威信而言。 &lt;/p&gt;&lt;p&gt;7)出尔反尔。已经确定下来的事情，却经常做变更，就会让你的下属或协助员工无从下手。你做出的承诺，如果无法兑现，会在大家面前失去信用。这样的人，难以担当重任。 &lt;/p&gt;&lt;p&gt;8)傲慢无礼。这样做并不能显得你高人一头，相反会引起别人的反感。因为，任何人都不会容忍别人瞧不起自己。傲慢无礼的人难以交到好的朋友。人脉就是财脉，年轻时养成这种习惯的人，相信你很难取得成功。 &lt;/p&gt;&lt;p&gt;9)随大流。人们可以随大流，但不可以无主见。如果你习惯性地随大流，那你就有可能形成思维定势，没有自己的主见，或者既便有，也不敢表达自己的主见，而没有主见的人是不会成功的。( 世界经理人) &lt;/p&gt;&lt;p&gt;没能发财的十大原因 &lt;/p&gt;&lt;p&gt;1、不明白财富的定义;不明白成功的镜像规律。 &lt;/p&gt;&lt;p&gt;汗，还真不知道什么叫财富。再怯怯地问一声：啥叫镜像啊? &lt;/p&gt;&lt;p&gt;2、没有致富的心态与观念 &lt;/p&gt;&lt;p&gt;承认自己没有，比如有致富心态的，看到一个铺面门庭若市，他会想到那里到底卖什么东西这么吸引人，回去自己也捣鼓点卖。而我只是想挤进去买点便宜货。 &lt;/p&gt;&lt;p&gt;3、没有理财与致富的规划 &lt;/p&gt;&lt;p&gt;又一条没有。从来没为自己做过规划，划了也坚持不了三个月。 &lt;/p&gt;&lt;p&gt;4、理财方式与训练方式不恰当 &lt;/p&gt;&lt;p&gt;来论坛之后才学着理财。方法正在学习中。 &lt;/p&gt;&lt;p&gt;5、大多数人没有投资在高报酬的领域中 &lt;/p&gt;&lt;p&gt;这个肯定啦，如果有谁知道投资可获得高报酬的，除了股票和传销，请你马上告诉我。 &lt;/p&gt;&lt;p&gt;6、没有用商业手法控制支出 &lt;/p&gt;&lt;p&gt;这个我也有。想花钱的时候就告诉自己先花了再说，不考虑控制。 &lt;/p&gt;&lt;p&gt;7、不善于创造把握理财与致富的机会 &lt;/p&gt;&lt;p&gt;这个我觉得我没有，总认为是机会还没来，来了我当然要抓住。 &lt;/p&gt;&lt;p&gt;8、无创新意识不知如何决策 &lt;/p&gt;&lt;p&gt;承认。确实不愿意创新。听了那么多关于货币基金的介绍，可我还是一门心思在储蓄，因为懒、嫌麻烦。 &lt;/p&gt;&lt;p&gt;9、未以正确的思考方式解决问题 &lt;/p&gt;&lt;p&gt;不承认，我一直都在我认为正确的道路上行走着。 &lt;/p&gt;&lt;p&gt;10、没有找到一位理财与致富向导 &lt;/p&gt;&lt;p&gt;确实没有。不过来理财生活以后又感觉向导太多了，有点晕。(阿里巴巴) &lt;/p&gt;&lt;p&gt;三种策略让你赚到100万 &lt;/p&gt;&lt;p&gt;大多数年轻人的目标是100万元，而且是愈早实现愈好。但是根据网络调查显示，有七成人认为，30岁时至少应该先拥有10万元存款，但却只有一成七的人能够办到。这就表示有相当多的年轻人，连10万元的目标都还没能达成，百万财富更是一个遥远的梦想。 &lt;/p&gt;&lt;p&gt;于是在社会上各种致富法纷纷出笼。譬如嫁入豪门、娶个富家女、每期买彩票，这些方法似乎是最快、但也是最不切实际的。到底有没有机会靠着自己的努力，提早赚到百万财富，答案当然是"有"，这里有短、中、长期三套战略，供你参考。 &lt;/p&gt;&lt;p&gt;2年战略：高杠杆工具才能小兵立大功 &lt;/p&gt;&lt;p&gt;如果想两年就赚到百万财富，最可能实现梦想的途径就是利用高杠杆投资工具。虽然风险超高，但是报酬也高，想要以小搏大、倍数获利，就要正确运用这种工具。只要你对趋势敏感，行情不论走多或是走空，都有获利机会。 &lt;/p&gt;&lt;p&gt;高杠杆投资凭借的不是运气，而是精准判断盘势，冷静面对大盘起落，情绪绝不随着输赢起舞。但所谓"高收益高风险"，想要两年就得到暴利，等于是走着钢索赚钱，因为期货或是选择权杠杆高，当看错趋势时，几十万元很快就输光出场，是一条风险最高的求财途径。因此，先模拟练功并严格控制投资金额，是激进主义者最重要的自保之道。 &lt;/p&gt;&lt;p&gt;5年战略：做老板、当top sales &lt;/p&gt;&lt;p&gt;如果自认为用期指或是选择权赚大钱，心脏不够强、武艺不够高的话，年限不妨放宽一点，定5年战略，也就是努力创业当老板、甚至是加盟总部的老板、或是努力成为业务高手。 &lt;/p&gt;&lt;p&gt;什么样的创业能够5年就净赚百万元，当然是要能引领潮流或是抓住特殊机遇的创业。 &lt;/p&gt;&lt;p&gt;程度更高段的赚钱方法则是当一群老板的老板，也就是成立加盟连锁总部，只要能够研发出独特口味、或是独特经营模式，而且能够复制标准化程序，稳定收取加盟店上缴的权利金。 &lt;/p&gt;&lt;p&gt;当然创业的成本高，学问也很大。如果不愿意当老板，只想继续当伙计赚大钱，不妨选择产品单价高、抽佣也高、制度完善的业务体系，只要用对方法，就可以成为个中高手 &lt;/p&gt;&lt;p&gt;10年战略：运用多种工具保守理财 &lt;/p&gt;&lt;p&gt;如果自认投资手段不佳，也不适合创业当老板，或是不擅与人打交道，无法成为业务高手的话，那么便得回归正统的理财管道，将累积财富的时间拉长至10年，积极开源、努力储蓄守成，透过定期储蓄，或是投资定存概念股，每年赚取股利，或是把钱交给专家理财，透过定期定额基金投资，逐步累积资产。 &lt;/p&gt;&lt;p&gt;更传统的方式是投资房地产，虽然国内房地产价格还有向下修正的空间，但只要选对地段，还是可以找到极具增值潜力的房子，不管是自住或投资，都是一种稳健的资产累积方式。 &lt;/p&gt;&lt;p&gt;你是属于急功近利型的兔子？还是稳扎稳打型的乌龟？其实都有适合的致富计划，但要再提醒的是，不管选择哪一种计划，想要提前致富，一定要做足功课，懂得深入领受实践，百万财富将不是遥远梦想！(理财加油站)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;转自：&lt;a href="http://blog.csdn.net/aaa6695798/archive/2009/10/14/4670720.aspx"&gt;http://blog.csdn.net/aaa6695798/archive/2009/10/14/4670720.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/dubingsky/aggbug/1911665.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dubingsky/archive/2010/12/20/1911665.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/dubingsky/archive/2010/11/02/1866823.html</id><title type="text">List of IP protocol numbers</title><summary type="text">List of IP protocol numbers - Wikipedia, the free encyclopediaList of IP protocol numbersFrom Wikipedia, the free encyclopediaJump to: navigat...</summary><published>2010-11-02T01:19:00Z</published><updated>2010-11-02T01:19:00Z</updated><author><name>辛勤耕耘</name><uri>http://www.cnblogs.com/dubingsky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dubingsky/archive/2010/11/02/1866823.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dubingsky/archive/2010/11/02/1866823.html"/><content type="html">&lt;p&gt;List of IP protocol numbers - Wikipedia, the free encyclopedia&lt;/p&gt;&lt;script type="text/javascript"&gt;// &lt;![CDATA[var skin="vector",stylepath="http://bits.wikimedia.org/skins-1.5",wgUrlProtocols="http\\:\\/\\/|https\\:\\/\\/|ftp\\:\\/\\/|irc\\:\\/\\/|gopher\\:\\/\\/|telnet\\:\\/\\/|nntp\\:\\/\\/|worldwind\\:\\/\\/|mailto\\:|news\\:|svn\\:\\/\\/",wgArticlePath="/wiki/$1",wgScriptPath="/w",wgScriptExtension=".php",wgScript="/w/index.php",wgVariantArticlePath=false,wgActionPaths={},wgServer="http://en.wikipedia.org",wgCanonicalNamespace="",wgCanonicalSpecialPageName=false,wgNamespaceNumber=0,wgPageName="List_of_IP_protocol_numbers",wgTitle="List of IP protocol numbers",wgAction="view",wgArticleId=1171563,wgIsArticle=true,wgUserName=null,wgUserGroups=null,wgUserLanguage="en",wgContentLanguage="en",wgBreakFrames=false,wgCurRevisionId=386776970,wgVersion="1.16wmf4",wgEnableAPI=true,wgEnableWriteAPI=true,wgSeparatorTransformTable=["", ""],wgDigitTransformTable=["", ""],wgMainPageTitle="Main Page",wgFormattedNamespaces={"-2": "Media", "-1": "Special", "0": "", "1": "Talk", "2": "User", "3": "User talk", "4": "Wikipedia", "5": "Wikipedia talk", "6": "File", "7": "File talk", "8": "MediaWiki", "9": "MediaWiki talk", "10": "Template", "11": "Template talk", "12": "Help", "13": "Help talk", "14": "Category", "15": "Category talk", "100": "Portal", "101": "Portal talk", "108": "Book", "109": "Book talk"},wgNamespaceIds={"media": -2, "special": -1, "": 0, "talk": 1, "user": 2, "user_talk": 3, "wikipedia": 4, "wikipedia_talk": 5, "file": 6, "file_talk": 7, "mediawiki": 8, "mediawiki_talk": 9, "template": 10, "template_talk": 11, "help": 12, "help_talk": 13, "category": 14, "category_talk": 15, "portal": 100, "portal_talk": 101, "book": 108, "book_talk": 109, "wp": 4, "wt": 5, "image": 6, "image_talk": 7},wgSiteName="Wikipedia",wgCategories=["Routing protocols", "Internet-related lists"],wgDBname="enwiki",wgMWSuggestTemplate="http://en.wikipedia.org/w/api.php?action=opensearch\x26search={searchTerms}\x26namespace={namespaces}\x26suggest",wgSearchNamespaces=[0],wgMWSuggestMessages=["with suggestions", "no suggestions"],wgRestrictionEdit=[],wgRestrictionMove=[],wgFlaggedRevsParams={"tags": {"status": {"levels": 1, "quality": 2, "pristine": 3}}},wgStableRevisionId=0,wgWikimediaMobileUrl="http://en.m.wikipedia.org/wiki",wgCollapsibleNavBucketTest=false,wgCollapsibleNavForceNewVersion=false,wgVectorPreferences={"collapsiblenav": {"enable": 1}, "editwarning": {"enable": 1}, "simplesearch": {"enable": 1, "disablesuggest": 0}},wgVectorEnabledModules={"collapsiblenav": true, "collapsibletabs": true, "editwarning": true, "expandablesearch": false, "footercleanup": false, "simplesearch": true},wgArticleAssessmentJUIPath="http://bits.wikimedia.org/w/extensions/UsabilityInitiative/js/js2stopgap/jui.combined.min.js",Geo={"city": "", "country": ""},wgNoticeProject="wikipedia";// ]]&gt;&lt;/script&gt;&lt;script src="http://bits.wikimedia.org/skins-1.5/common/wikibits.js?283-5" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://bits.wikimedia.org/skins-1.5/common/jquery.min.js?283-5" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://bits.wikimedia.org/skins-1.5/common/ajax.js?283-5" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://bits.wikimedia.org/skins-1.5/common/mwsuggest.js?283-5" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://bits.wikimedia.org/w/extensions/WikimediaMobile/MobileRedirect.js?2.2" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://bits.wikimedia.org/w/extensions/UsabilityInitiative/js/plugins.combined.min.js?283-5" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://bits.wikimedia.org/w/extensions/UsabilityInitiative/Vector/Vector.combined.min.js?283-5" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;// &lt;![CDATA[mw.usability.addMessages({'vector-collapsiblenav-more':'More languages','vector-editwarning-warning':'Leaving this page may cause you to lose any changes you have made.\nIf you are logged in, you can disable this warning in the \"Editing\" section of your preferences.','vector-simplesearch-search':'Search','vector-simplesearch-containing':'containing...'});// ]]&gt;&lt;/script&gt;&lt;script src="http://www.cnblogs.com/wiki/Special:BannerController?283-5" type="text/javascript"&gt;&lt;/script&gt;&lt;!--[if lt IE 7]&gt;&lt;mce:style type="text/css"&gt;&lt;! body{behavior:url("/w/skins-1.5/vector/csshover.htc")}--&gt;&lt;!--[endif]--&gt;&lt;script src="http://www.cnblogs.com/w/index.php?title=-&amp;amp;action=raw&amp;amp;gen=js&amp;amp;useskin=vector&amp;amp;283-5" type="text/javascript"&gt;&lt;/script&gt;&lt;!-- content --&gt;&lt;div id="content"&gt;&lt;a id="top"&gt;&lt;/a&gt;&lt;!-- sitenotice --&gt;&lt;div id="siteNotice"&gt;&lt;!-- centralNotice loads here --&gt;&lt;/div&gt;&lt;!-- /sitenotice --&gt;&lt;!-- firstHeading --&gt;&lt;h1 id="firstHeading" class="firstHeading"&gt;List of IP protocol numbers&lt;/strong&gt;&lt;/p&gt;&lt;!-- /firstHeading --&gt;&lt;!-- bodyContent --&gt;&lt;div id="bodyContent"&gt;&lt;!-- tagline --&gt;&lt;div id="siteSub"&gt;From Wikipedia, the free encyclopedia&lt;/div&gt;&lt;!-- /tagline --&gt;&lt;!-- subtitle --&gt;&lt;!-- /subtitle --&gt;&lt;!-- jumpto --&gt;&lt;div id="jump-to-nav"&gt;Jump to: &lt;a href="#mw-head"&gt;navigation&lt;/a&gt;,&lt;a href="#p-search"&gt;search&lt;/a&gt;&lt;/div&gt;&lt;!-- /jumpto --&gt;&lt;!-- bodytext --&gt;&lt;p&gt;This is a &lt;strong&gt;list of IP protocol numbers&lt;/strong&gt; used in the protocol field of the &lt;a title="IPv4" href="http://www.cnblogs.com/wiki/IPv4"&gt;IPv4&lt;/a&gt; packet format and the Next Header field of &lt;a title="IPv6 packet" href="http://www.cnblogs.com/wiki/IPv6_packet"&gt;IPv6 packets&lt;/a&gt;.&lt;/p&gt;&lt;table class="wikitable"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Decimal&lt;/th&gt;&lt;th&gt;HEX&lt;/th&gt;&lt;th&gt;Keyword&lt;/th&gt;&lt;th&gt;Protocol&lt;/th&gt;&lt;th&gt;References&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;0x00&lt;/td&gt;&lt;td&gt;HOPOPT&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="IPv6 Hop-by-Hop Option (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=IPv6_Hop-by-Hop_Option&amp;amp;action=edit&amp;amp;redlink=1"&gt;IPv6 Hop-by-Hop Option&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc2460"&gt;RFC 2460&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0x01&lt;/td&gt;&lt;td&gt;ICMP&lt;/td&gt;&lt;td&gt;&lt;a title="Internet Control Message Protocol" href="http://www.cnblogs.com/wiki/Internet_Control_Message_Protocol"&gt;Internet Control Message Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc792"&gt;RFC 792&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0x02&lt;/td&gt;&lt;td&gt;IGMP&lt;/td&gt;&lt;td&gt;&lt;a title="Internet Group Management Protocol" href="http://www.cnblogs.com/wiki/Internet_Group_Management_Protocol"&gt;Internet Group Management Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc1112"&gt;RFC 1112&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0x03&lt;/td&gt;&lt;td&gt;GGP&lt;/td&gt;&lt;td&gt;&lt;a title="Gateway-to-Gateway Protocol" href="http://www.cnblogs.com/wiki/Gateway-to-Gateway_Protocol"&gt;Gateway-to-Gateway Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc823"&gt;RFC 823&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0x04&lt;/td&gt;&lt;td&gt;IP&lt;/td&gt;&lt;td&gt;&lt;a title="IP in IP" href="http://www.cnblogs.com/wiki/IP_in_IP"&gt;IP in IP&lt;/a&gt; (encapsulation)&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc2003"&gt;RFC 2003&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0x05&lt;/td&gt;&lt;td&gt;ST&lt;/td&gt;&lt;td&gt;&lt;a title="Internet Stream Protocol" href="http://www.cnblogs.com/wiki/Internet_Stream_Protocol"&gt;Internet Stream Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc1190"&gt;RFC 1190&lt;/a&gt;, &lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc1819"&gt;RFC 1819&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0x06&lt;/td&gt;&lt;td&gt;TCP&lt;/td&gt;&lt;td&gt;&lt;a title="Transmission Control Protocol" href="http://www.cnblogs.com/wiki/Transmission_Control_Protocol"&gt;Transmission Control Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc793"&gt;RFC 793&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;0x07&lt;/td&gt;&lt;td&gt;CBT&lt;/td&gt;&lt;td&gt;&lt;a title="Core-based trees" href="http://www.cnblogs.com/wiki/Core-based_trees"&gt;Core-based trees&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc2189"&gt;RFC 2189&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;0x08&lt;/td&gt;&lt;td&gt;EGP&lt;/td&gt;&lt;td&gt;&lt;a title="Exterior Gateway Protocol" href="http://www.cnblogs.com/wiki/Exterior_Gateway_Protocol"&gt;Exterior Gateway Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc888"&gt;RFC 888&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;0x09&lt;/td&gt;&lt;td&gt;IGP&lt;/td&gt;&lt;td&gt;&lt;a class="mw-redirect" title="Interior Gateway Protocol" href="http://www.cnblogs.com/wiki/Interior_Gateway_Protocol"&gt;Interior Gateway Protocol&lt;/a&gt; (any private interior gateway (used by Cisco for their IGRP))&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;10&lt;/td&gt;&lt;td&gt;0x0A&lt;/td&gt;&lt;td&gt;BBN-RCC-MON&lt;/td&gt;&lt;td&gt;BBN RCC Monitoring&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;11&lt;/td&gt;&lt;td&gt;0x0B&lt;/td&gt;&lt;td&gt;NVP-II&lt;/td&gt;&lt;td&gt;&lt;a title="Network Voice Protocol" href="http://www.cnblogs.com/wiki/Network_Voice_Protocol"&gt;Network Voice Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc741"&gt;RFC 741&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;12&lt;/td&gt;&lt;td&gt;0x0C&lt;/td&gt;&lt;td&gt;PUP&lt;/td&gt;&lt;td&gt;&lt;a title="PARC Universal Packet" href="http://www.cnblogs.com/wiki/PARC_Universal_Packet"&gt;Xerox PUP&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;13&lt;/td&gt;&lt;td&gt;0x0D&lt;/td&gt;&lt;td&gt;ARGUS&lt;/td&gt;&lt;td&gt;ARGUS&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;14&lt;/td&gt;&lt;td&gt;0x0E&lt;/td&gt;&lt;td&gt;EMCON&lt;/td&gt;&lt;td&gt;EMCON&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;15&lt;/td&gt;&lt;td&gt;0x0F&lt;/td&gt;&lt;td&gt;XNET&lt;/td&gt;&lt;td&gt;Cross Net Debugger&lt;/td&gt;&lt;td&gt;IEN 158&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;16&lt;/td&gt;&lt;td&gt;0x10&lt;/td&gt;&lt;td&gt;CHAOS&lt;/td&gt;&lt;td&gt;Chaos&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;17&lt;/td&gt;&lt;td&gt;0x11&lt;/td&gt;&lt;td&gt;UDP&lt;/td&gt;&lt;td&gt;&lt;a title="User Datagram Protocol" href="http://www.cnblogs.com/wiki/User_Datagram_Protocol"&gt;User Datagram Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc768"&gt;RFC 768&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;18&lt;/td&gt;&lt;td&gt;0x12&lt;/td&gt;&lt;td&gt;MUX&lt;/td&gt;&lt;td&gt;&lt;a title="Multiplexing" href="http://www.cnblogs.com/wiki/Multiplexing"&gt;Multiplexing&lt;/a&gt;&lt;/td&gt;&lt;td&gt;IEN 90&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;19&lt;/td&gt;&lt;td&gt;0x13&lt;/td&gt;&lt;td&gt;DCN-MEAS&lt;/td&gt;&lt;td&gt;DCN Measurement Subsystems&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;20&lt;/td&gt;&lt;td&gt;0x14&lt;/td&gt;&lt;td&gt;HMP&lt;/td&gt;&lt;td&gt;&lt;a title="Host Monitoring Protocol" href="http://www.cnblogs.com/wiki/Host_Monitoring_Protocol"&gt;Host Monitoring Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc869"&gt;RFC 869&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;21&lt;/td&gt;&lt;td&gt;0x15&lt;/td&gt;&lt;td&gt;PRM&lt;/td&gt;&lt;td&gt;Packet Radio Measurement&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;22&lt;/td&gt;&lt;td&gt;0x16&lt;/td&gt;&lt;td&gt;XNS-IDP&lt;/td&gt;&lt;td&gt;XEROX NS IDP&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;23&lt;/td&gt;&lt;td&gt;0x17&lt;/td&gt;&lt;td&gt;TRUNK-1&lt;/td&gt;&lt;td&gt;Trunk-1&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;24&lt;/td&gt;&lt;td&gt;0x18&lt;/td&gt;&lt;td&gt;TRUNK-2&lt;/td&gt;&lt;td&gt;Trunk-2&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;25&lt;/td&gt;&lt;td&gt;0x19&lt;/td&gt;&lt;td&gt;LEAF-1&lt;/td&gt;&lt;td&gt;Leaf-1&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;26&lt;/td&gt;&lt;td&gt;0x1A&lt;/td&gt;&lt;td&gt;LEAF-2&lt;/td&gt;&lt;td&gt;Leaf-2&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;27&lt;/td&gt;&lt;td&gt;0x1B&lt;/td&gt;&lt;td&gt;RDP&lt;/td&gt;&lt;td&gt;&lt;a class="mw-redirect" title="Reliable Datagram Protocol" href="http://www.cnblogs.com/wiki/Reliable_Datagram_Protocol"&gt;Reliable Datagram Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc908"&gt;RFC 908&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;28&lt;/td&gt;&lt;td&gt;0x1C&lt;/td&gt;&lt;td&gt;IRTP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Internet Reliable Transaction Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Internet_Reliable_Transaction_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Internet Reliable Transaction Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc938"&gt;RFC 938&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;29&lt;/td&gt;&lt;td&gt;0x1D&lt;/td&gt;&lt;td&gt;ISO-TP4&lt;/td&gt;&lt;td&gt;ISO Transport Protocol Class 4&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc905"&gt;RFC 905&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;30&lt;/td&gt;&lt;td&gt;0x1E&lt;/td&gt;&lt;td&gt;NETBLT&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Bulk Data Transfer Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Bulk_Data_Transfer_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Bulk Data Transfer Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc998"&gt;RFC 998&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;31&lt;/td&gt;&lt;td&gt;0x1F&lt;/td&gt;&lt;td&gt;MFE-NSP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="MFE Network Services Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=MFE_Network_Services_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;MFE Network Services Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;32&lt;/td&gt;&lt;td&gt;0x20&lt;/td&gt;&lt;td&gt;MERIT-INP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="MERIT Internodal Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=MERIT_Internodal_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;MERIT Internodal Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;33&lt;/td&gt;&lt;td&gt;0x21&lt;/td&gt;&lt;td&gt;DCCP&lt;/td&gt;&lt;td&gt;&lt;a title="Datagram Congestion Control Protocol" href="http://www.cnblogs.com/wiki/Datagram_Congestion_Control_Protocol"&gt;Datagram Congestion Control Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc4340"&gt;RFC 4340&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;34&lt;/td&gt;&lt;td&gt;0x22&lt;/td&gt;&lt;td&gt;3PC&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Third Party Connect Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Third_Party_Connect_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Third Party Connect Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;35&lt;/td&gt;&lt;td&gt;0x23&lt;/td&gt;&lt;td&gt;IDPR&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Inter-Domain Policy Routing Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Inter-Domain_Policy_Routing_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Inter-Domain Policy Routing Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc1479"&gt;RFC 1479&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;36&lt;/td&gt;&lt;td&gt;0x24&lt;/td&gt;&lt;td&gt;XTP&lt;/td&gt;&lt;td&gt;&lt;a title="Xpress Transport Protocol" href="http://www.cnblogs.com/wiki/Xpress_Transport_Protocol"&gt;Xpress Transport Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;37&lt;/td&gt;&lt;td&gt;0x25&lt;/td&gt;&lt;td&gt;DDP&lt;/td&gt;&lt;td&gt;&lt;a title="Datagram Delivery Protocol" href="http://www.cnblogs.com/wiki/Datagram_Delivery_Protocol"&gt;Datagram Delivery Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;38&lt;/td&gt;&lt;td&gt;0x26&lt;/td&gt;&lt;td&gt;IDPR-CMTP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="IDPR Control Message Transport Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=IDPR_Control_Message_Transport_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;IDPR Control Message Transport Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;39&lt;/td&gt;&lt;td&gt;0x27&lt;/td&gt;&lt;td&gt;TP++&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="TP++ Transport Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=TP%2B%2B_Transport_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;TP++ Transport Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;40&lt;/td&gt;&lt;td&gt;0x28&lt;/td&gt;&lt;td&gt;IL&lt;/td&gt;&lt;td&gt;&lt;a title="IL (network protocol)" href="http://www.cnblogs.com/wiki/IL_(network_protocol)"&gt;IL Transport Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;41&lt;/td&gt;&lt;td&gt;0x29&lt;/td&gt;&lt;td&gt;IPv6&lt;/td&gt;&lt;td&gt;&lt;a title="IPv6" href="http://www.cnblogs.com/wiki/IPv6"&gt;IPv6&lt;/a&gt; (encapsulation)&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc2473"&gt;RFC 2473&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;42&lt;/td&gt;&lt;td&gt;0x2A&lt;/td&gt;&lt;td&gt;SDRP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Source Demand Routing Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Source_Demand_Routing_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Source Demand Routing Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;43&lt;/td&gt;&lt;td&gt;0x2B&lt;/td&gt;&lt;td&gt;IPv6-Route&lt;/td&gt;&lt;td&gt;Routing Header for &lt;a title="IPv6" href="http://www.cnblogs.com/wiki/IPv6"&gt;IPv6&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc2460"&gt;RFC 2460&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;44&lt;/td&gt;&lt;td&gt;0x2C&lt;/td&gt;&lt;td&gt;IPv6-Frag&lt;/td&gt;&lt;td&gt;Fragment Header for &lt;a title="IPv6" href="http://www.cnblogs.com/wiki/IPv6"&gt;IPv6&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc2460"&gt;RFC 2460&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;45&lt;/td&gt;&lt;td&gt;0x2D&lt;/td&gt;&lt;td&gt;IDRP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Inter-Domain Routing Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Inter-Domain_Routing_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Inter-Domain Routing Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;46&lt;/td&gt;&lt;td&gt;0x2E&lt;/td&gt;&lt;td&gt;RSVP&lt;/td&gt;&lt;td&gt;&lt;a class="mw-redirect" title="Resource Reservation Protocol" href="http://www.cnblogs.com/wiki/Resource_Reservation_Protocol"&gt;Resource Reservation Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc2205"&gt;RFC 2205&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;47&lt;/td&gt;&lt;td&gt;0x2F&lt;/td&gt;&lt;td&gt;GRE&lt;/td&gt;&lt;td&gt;&lt;a title="Generic Routing Encapsulation" href="http://www.cnblogs.com/wiki/Generic_Routing_Encapsulation"&gt;Generic Routing Encapsulation&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;48&lt;/td&gt;&lt;td&gt;0x30&lt;/td&gt;&lt;td&gt;MHRP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Mobile Host Routing Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Mobile_Host_Routing_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Mobile Host Routing Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;49&lt;/td&gt;&lt;td&gt;0x31&lt;/td&gt;&lt;td&gt;BNA&lt;/td&gt;&lt;td&gt;BNA&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;50&lt;/td&gt;&lt;td&gt;0x32&lt;/td&gt;&lt;td&gt;ESP&lt;/td&gt;&lt;td&gt;&lt;a class="mw-redirect" title="Encapsulating Security Payload" href="http://www.cnblogs.com/wiki/Encapsulating_Security_Payload"&gt;Encapsulating Security Payload&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc2406"&gt;RFC 2406&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;51&lt;/td&gt;&lt;td&gt;0x33&lt;/td&gt;&lt;td&gt;AH&lt;/td&gt;&lt;td&gt;&lt;a class="mw-redirect" title="Authentication Header" href="http://www.cnblogs.com/wiki/Authentication_Header"&gt;Authentication Header&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc2402"&gt;RFC 2402&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;52&lt;/td&gt;&lt;td&gt;0x34&lt;/td&gt;&lt;td&gt;I-NLSP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Integrated Net Layer Security Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Integrated_Net_Layer_Security_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Integrated Net Layer Security Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;TUBA&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;53&lt;/td&gt;&lt;td&gt;0x35&lt;/td&gt;&lt;td&gt;SWIPE&lt;/td&gt;&lt;td&gt;IP with Encryption&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;54&lt;/td&gt;&lt;td&gt;0x36&lt;/td&gt;&lt;td&gt;NARP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="NBMA Address Resolution Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=NBMA_Address_Resolution_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;NBMA Address Resolution Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc1735"&gt;RFC 1735&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;55&lt;/td&gt;&lt;td&gt;0x37&lt;/td&gt;&lt;td&gt;MOBILE&lt;/td&gt;&lt;td&gt;&lt;a title="Mobile IP" href="http://www.cnblogs.com/wiki/Mobile_IP"&gt;IP Mobility&lt;/a&gt; (Min Encap)&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc2004"&gt;RFC 2004&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;56&lt;/td&gt;&lt;td&gt;0x38&lt;/td&gt;&lt;td&gt;TLSP&lt;/td&gt;&lt;td&gt;&lt;a class="mw-redirect" title="Transport Layer Security Protocol" href="http://www.cnblogs.com/wiki/Transport_Layer_Security_Protocol"&gt;Transport Layer Security Protocol&lt;/a&gt; (using Kryptonet key management)&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;57&lt;/td&gt;&lt;td&gt;0x39&lt;/td&gt;&lt;td&gt;SKIP&lt;/td&gt;&lt;td&gt;&lt;a title="Simple Key-Management for Internet Protocol" href="http://www.cnblogs.com/wiki/Simple_Key-Management_for_Internet_Protocol"&gt;Simple Key-Management for Internet Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc2356"&gt;RFC 2356&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;58&lt;/td&gt;&lt;td&gt;0x3A&lt;/td&gt;&lt;td&gt;IPv6-ICMP&lt;/td&gt;&lt;td&gt;&lt;a title="ICMPv6" href="http://www.cnblogs.com/wiki/ICMPv6"&gt;ICMP for IPv6&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc4443"&gt;RFC 4443&lt;/a&gt;, &lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc4884"&gt;RFC 4884&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;59&lt;/td&gt;&lt;td&gt;0x3B&lt;/td&gt;&lt;td&gt;IPv6-NoNxt&lt;/td&gt;&lt;td&gt;No Next Header for &lt;a title="IPv6" href="http://www.cnblogs.com/wiki/IPv6"&gt;IPv6&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc2460"&gt;RFC 2460&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;60&lt;/td&gt;&lt;td&gt;0x3C&lt;/td&gt;&lt;td&gt;IPv6-Opts&lt;/td&gt;&lt;td&gt;Destination Options for &lt;a title="IPv6" href="http://www.cnblogs.com/wiki/IPv6"&gt;IPv6&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc2460"&gt;RFC 2460&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;61&lt;/td&gt;&lt;td&gt;0x3D&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;Any host internal protocol&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;62&lt;/td&gt;&lt;td&gt;0x3E&lt;/td&gt;&lt;td&gt;CFTP&lt;/td&gt;&lt;td&gt;CFTP&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;63&lt;/td&gt;&lt;td&gt;0x3F&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;Any local network&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;64&lt;/td&gt;&lt;td&gt;0x40&lt;/td&gt;&lt;td&gt;SAT-EXPAK&lt;/td&gt;&lt;td&gt;SATNET and Backroom EXPAK&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;65&lt;/td&gt;&lt;td&gt;0x41&lt;/td&gt;&lt;td&gt;KRYPTOLAN&lt;/td&gt;&lt;td&gt;Kryptolan&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;66&lt;/td&gt;&lt;td&gt;0x42&lt;/td&gt;&lt;td&gt;RVD&lt;/td&gt;&lt;td&gt;MIT &lt;a class="new" title="Remote Virtual Disk Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Remote_Virtual_Disk_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Remote Virtual Disk Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;67&lt;/td&gt;&lt;td&gt;0x43&lt;/td&gt;&lt;td&gt;IPPC&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Internet Pluribus Packet Core (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Internet_Pluribus_Packet_Core&amp;amp;action=edit&amp;amp;redlink=1"&gt;Internet Pluribus Packet Core&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;68&lt;/td&gt;&lt;td&gt;0x44&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;Any distributed file system&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;69&lt;/td&gt;&lt;td&gt;0x45&lt;/td&gt;&lt;td&gt;SAT-MON&lt;/td&gt;&lt;td&gt;SATNET Monitoring&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;70&lt;/td&gt;&lt;td&gt;0x46&lt;/td&gt;&lt;td&gt;VISA&lt;/td&gt;&lt;td&gt;VISA Protocol&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;71&lt;/td&gt;&lt;td&gt;0x47&lt;/td&gt;&lt;td&gt;IPCV&lt;/td&gt;&lt;td&gt;Internet Packet Core Utility&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;72&lt;/td&gt;&lt;td&gt;0x48&lt;/td&gt;&lt;td&gt;CPNX&lt;/td&gt;&lt;td&gt;Computer Protocol Network Executive&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;73&lt;/td&gt;&lt;td&gt;0x49&lt;/td&gt;&lt;td&gt;CPHB&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Computer Protocol Heart Beat (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Computer_Protocol_Heart_Beat&amp;amp;action=edit&amp;amp;redlink=1"&gt;Computer Protocol Heart Beat&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;74&lt;/td&gt;&lt;td&gt;0x4A&lt;/td&gt;&lt;td&gt;WSN&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Wang Span Network (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Wang_Span_Network&amp;amp;action=edit&amp;amp;redlink=1"&gt;Wang Span Network&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;75&lt;/td&gt;&lt;td&gt;0x4B&lt;/td&gt;&lt;td&gt;PVP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Packet Video Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Packet_Video_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Packet Video Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;76&lt;/td&gt;&lt;td&gt;0x4C&lt;/td&gt;&lt;td&gt;BR-SAT-MON&lt;/td&gt;&lt;td&gt;Backroom SATNET Monitoring&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;77&lt;/td&gt;&lt;td&gt;0x4D&lt;/td&gt;&lt;td&gt;SUN-ND&lt;/td&gt;&lt;td&gt;SUN ND PROTOCOL-Temporary&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;78&lt;/td&gt;&lt;td&gt;0x4E&lt;/td&gt;&lt;td&gt;WB-MON&lt;/td&gt;&lt;td&gt;WIDEBAND Monitoring&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;79&lt;/td&gt;&lt;td&gt;0x4F&lt;/td&gt;&lt;td&gt;WB-EXPAK&lt;/td&gt;&lt;td&gt;WIDEBAND EXPAK&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;80&lt;/td&gt;&lt;td&gt;0x50&lt;/td&gt;&lt;td&gt;ISO-IP&lt;/td&gt;&lt;td&gt;International Organization for Standardization Internet Protocol&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;81&lt;/td&gt;&lt;td&gt;0x51&lt;/td&gt;&lt;td&gt;VMTP&lt;/td&gt;&lt;td&gt;Versatile Message Transaction Protocol&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc1045"&gt;RFC 1045&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;82&lt;/td&gt;&lt;td&gt;0x52&lt;/td&gt;&lt;td&gt;SECURE-VMTP&lt;/td&gt;&lt;td&gt;Secure Versatile Message Transaction Protocol&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc1045"&gt;RFC 1045&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;83&lt;/td&gt;&lt;td&gt;0x53&lt;/td&gt;&lt;td&gt;VINES&lt;/td&gt;&lt;td&gt;VINES&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;84&lt;/td&gt;&lt;td&gt;0x54&lt;/td&gt;&lt;td&gt;TTP&lt;/td&gt;&lt;td&gt;TTP&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;85&lt;/td&gt;&lt;td&gt;0x55&lt;/td&gt;&lt;td&gt;NSFNET-IGP&lt;/td&gt;&lt;td&gt;NSFNET-IGP&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;86&lt;/td&gt;&lt;td&gt;0x56&lt;/td&gt;&lt;td&gt;DGP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Dissimilar Gateway Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Dissimilar_Gateway_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Dissimilar Gateway Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;87&lt;/td&gt;&lt;td&gt;0x57&lt;/td&gt;&lt;td&gt;TCF&lt;/td&gt;&lt;td&gt;TCF&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;88&lt;/td&gt;&lt;td&gt;0x58&lt;/td&gt;&lt;td&gt;EIGRP&lt;/td&gt;&lt;td&gt;&lt;a class="mw-redirect" title="EIGRP" href="http://www.cnblogs.com/wiki/EIGRP"&gt;EIGRP&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;89&lt;/td&gt;&lt;td&gt;0x59&lt;/td&gt;&lt;td&gt;OSPF&lt;/td&gt;&lt;td&gt;&lt;a title="Open Shortest Path First" href="http://www.cnblogs.com/wiki/Open_Shortest_Path_First"&gt;Open Shortest Path First&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc1583"&gt;RFC 1583&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;90&lt;/td&gt;&lt;td&gt;0x5A&lt;/td&gt;&lt;td&gt;Sprite-RPC&lt;/td&gt;&lt;td&gt;Sprite RPC Protocol&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;91&lt;/td&gt;&lt;td&gt;0x5B&lt;/td&gt;&lt;td&gt;LARP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Locus Address Resolution Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Locus_Address_Resolution_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Locus Address Resolution Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;92&lt;/td&gt;&lt;td&gt;0x5C&lt;/td&gt;&lt;td&gt;MTP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Multicast Transport Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Multicast_Transport_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Multicast Transport Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;93&lt;/td&gt;&lt;td&gt;0x5D&lt;/td&gt;&lt;td&gt;AX.25&lt;/td&gt;&lt;td&gt;&lt;a title="AX.25" href="http://www.cnblogs.com/wiki/AX.25"&gt;AX.25&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;94&lt;/td&gt;&lt;td&gt;0x5E&lt;/td&gt;&lt;td&gt;IPIP&lt;/td&gt;&lt;td&gt;IP-within-IP Encapsulation Protocol&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;95&lt;/td&gt;&lt;td&gt;0x5F&lt;/td&gt;&lt;td&gt;MICP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Mobile Internetworking Control Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Mobile_Internetworking_Control_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Mobile Internetworking Control Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;96&lt;/td&gt;&lt;td&gt;0x60&lt;/td&gt;&lt;td&gt;SCC-SP&lt;/td&gt;&lt;td&gt;Semaphore Communications Sec. Pro&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;97&lt;/td&gt;&lt;td&gt;0x61&lt;/td&gt;&lt;td&gt;ETHERIP&lt;/td&gt;&lt;td&gt;Ethernet-within-IP Encapsulation&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc3378"&gt;RFC 3378&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;98&lt;/td&gt;&lt;td&gt;0x62&lt;/td&gt;&lt;td&gt;ENCAP&lt;/td&gt;&lt;td&gt;Encapsulation Header&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc1241"&gt;RFC 1241&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;99&lt;/td&gt;&lt;td&gt;0x63&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;Any private encryption scheme&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;100&lt;/td&gt;&lt;td&gt;0x64&lt;/td&gt;&lt;td&gt;GMTP&lt;/td&gt;&lt;td&gt;GMTP&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;101&lt;/td&gt;&lt;td&gt;0x65&lt;/td&gt;&lt;td&gt;IFMP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Ipsilon Flow Management Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Ipsilon_Flow_Management_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Ipsilon Flow Management Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;102&lt;/td&gt;&lt;td&gt;0x66&lt;/td&gt;&lt;td&gt;PNNI&lt;/td&gt;&lt;td&gt;PNNI over IP&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;103&lt;/td&gt;&lt;td&gt;0x67&lt;/td&gt;&lt;td&gt;PIM&lt;/td&gt;&lt;td&gt;&lt;a title="Protocol Independent Multicast" href="http://www.cnblogs.com/wiki/Protocol_Independent_Multicast"&gt;Protocol Independent Multicast&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;104&lt;/td&gt;&lt;td&gt;0x68&lt;/td&gt;&lt;td&gt;ARIS&lt;/td&gt;&lt;td&gt;IBM's ARIS (Aggregate Route IP Switching) Protocol&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;105&lt;/td&gt;&lt;td&gt;0x69&lt;/td&gt;&lt;td&gt;SCPS&lt;/td&gt;&lt;td&gt;SCPS (Space Communications Protocol Standards)&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;106&lt;/td&gt;&lt;td&gt;0x6A&lt;/td&gt;&lt;td&gt;QNX&lt;/td&gt;&lt;td&gt;QNX&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;107&lt;/td&gt;&lt;td&gt;0x6B&lt;/td&gt;&lt;td&gt;A/N&lt;/td&gt;&lt;td&gt;Active Networks&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;108&lt;/td&gt;&lt;td&gt;0x6C&lt;/td&gt;&lt;td&gt;IPComp&lt;/td&gt;&lt;td&gt;&lt;a title="IP Payload Compression Protocol" href="http://www.cnblogs.com/wiki/IP_Payload_Compression_Protocol"&gt;IP Payload Compression Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc3173"&gt;RFC 3173&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;109&lt;/td&gt;&lt;td&gt;0x6D&lt;/td&gt;&lt;td&gt;SNP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Sitara Networks Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Sitara_Networks_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Sitara Networks Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;110&lt;/td&gt;&lt;td&gt;0x6E&lt;/td&gt;&lt;td&gt;Compaq-Peer&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Compaq Peer Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Compaq_Peer_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Compaq Peer Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;111&lt;/td&gt;&lt;td&gt;0x6F&lt;/td&gt;&lt;td&gt;IPX-in-IP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="IPX in IP (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=IPX_in_IP&amp;amp;action=edit&amp;amp;redlink=1"&gt;IPX in IP&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;112&lt;/td&gt;&lt;td&gt;0x70&lt;/td&gt;&lt;td&gt;VRRP&lt;/td&gt;&lt;td&gt;&lt;a title="Virtual Router Redundancy Protocol" href="http://www.cnblogs.com/wiki/Virtual_Router_Redundancy_Protocol"&gt;Virtual Router Redundancy Protocol&lt;/a&gt;, &lt;a title="Common Address Redundancy Protocol" href="http://www.cnblogs.com/wiki/Common_Address_Redundancy_Protocol"&gt;Common Address Redundancy Protocol&lt;/a&gt; (not &lt;a title="Internet Assigned Numbers Authority" href="http://www.cnblogs.com/wiki/Internet_Assigned_Numbers_Authority"&gt;IANA&lt;/a&gt; assigned)&lt;/td&gt;&lt;td&gt;VRRP:&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc3768"&gt;RFC 3768&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;113&lt;/td&gt;&lt;td&gt;0x71&lt;/td&gt;&lt;td&gt;PGM&lt;/td&gt;&lt;td&gt;&lt;a title="Pragmatic General Multicast" href="http://www.cnblogs.com/wiki/Pragmatic_General_Multicast"&gt;PGM Reliable Transport Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc3208"&gt;RFC 3208&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;114&lt;/td&gt;&lt;td&gt;0x72&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;Any 0-hop protocol&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;115&lt;/td&gt;&lt;td&gt;0x73&lt;/td&gt;&lt;td&gt;L2TP&lt;/td&gt;&lt;td&gt;&lt;a class="mw-redirect" title="L2TP" href="http://www.cnblogs.com/wiki/L2TP"&gt;Layer Two Tunneling Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;116&lt;/td&gt;&lt;td&gt;0x74&lt;/td&gt;&lt;td&gt;DDX&lt;/td&gt;&lt;td&gt;D-II Data Exchange (DDX)&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;117&lt;/td&gt;&lt;td&gt;0x75&lt;/td&gt;&lt;td&gt;IATP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Interactive Agent Transfer Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Interactive_Agent_Transfer_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Interactive Agent Transfer Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;118&lt;/td&gt;&lt;td&gt;0x76&lt;/td&gt;&lt;td&gt;STP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Schedule Transfer Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Schedule_Transfer_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Schedule Transfer Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;119&lt;/td&gt;&lt;td&gt;0x77&lt;/td&gt;&lt;td&gt;SRP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="SpectraLink Radio Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=SpectraLink_Radio_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;SpectraLink Radio Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;120&lt;/td&gt;&lt;td&gt;0x78&lt;/td&gt;&lt;td&gt;UTI&lt;/td&gt;&lt;td&gt;UTI&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;121&lt;/td&gt;&lt;td&gt;0x79&lt;/td&gt;&lt;td&gt;SMP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Simple Message Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Simple_Message_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Simple Message Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;122&lt;/td&gt;&lt;td&gt;0x7A&lt;/td&gt;&lt;td&gt;SM&lt;/td&gt;&lt;td&gt;SM&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;123&lt;/td&gt;&lt;td&gt;0x7B&lt;/td&gt;&lt;td&gt;PTP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Performance Transparency Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Performance_Transparency_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Performance Transparency Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;124&lt;/td&gt;&lt;td&gt;0x7C&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;a title="IS-IS" href="http://www.cnblogs.com/wiki/IS-IS"&gt;IS-IS&lt;/a&gt; over &lt;a title="IPv4" href="http://www.cnblogs.com/wiki/IPv4"&gt;IPv4&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;125&lt;/td&gt;&lt;td&gt;0x7D&lt;/td&gt;&lt;td&gt;FIRE&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;126&lt;/td&gt;&lt;td&gt;0x7E&lt;/td&gt;&lt;td&gt;CRTP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Combat Radio Transport Protocol (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Combat_Radio_Transport_Protocol&amp;amp;action=edit&amp;amp;redlink=1"&gt;Combat Radio Transport Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;127&lt;/td&gt;&lt;td&gt;0x7F&lt;/td&gt;&lt;td&gt;CRUDP&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Combat Radio User Datagram (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Combat_Radio_User_Datagram&amp;amp;action=edit&amp;amp;redlink=1"&gt;Combat Radio User Datagram&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;128&lt;/td&gt;&lt;td&gt;0x80&lt;/td&gt;&lt;td&gt;SSCOPMCE&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;129&lt;/td&gt;&lt;td&gt;0x81&lt;/td&gt;&lt;td&gt;IPLT&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;130&lt;/td&gt;&lt;td&gt;0x82&lt;/td&gt;&lt;td&gt;SPS&lt;/td&gt;&lt;td&gt;&lt;a class="new" title="Secure Packet Shield (page does not exist)" href="http://www.cnblogs.com/w/index.php?title=Secure_Packet_Shield&amp;amp;action=edit&amp;amp;redlink=1"&gt;Secure Packet Shield&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;131&lt;/td&gt;&lt;td&gt;0x83&lt;/td&gt;&lt;td&gt;PIPE&lt;/td&gt;&lt;td&gt;Private IP Encapsulation within IP&lt;/td&gt;&lt;td&gt;&lt;a class="external text" rel="nofollow" href="http://www.watersprings.org/pub/id/draft-petri-mobileip-pipe-00.txt"&gt;Expired I-D draft-petri-mobileip-pipe-00.txt&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;132&lt;/td&gt;&lt;td&gt;0x84&lt;/td&gt;&lt;td&gt;SCTP&lt;/td&gt;&lt;td&gt;&lt;a title="Stream Control Transmission Protocol" href="http://www.cnblogs.com/wiki/Stream_Control_Transmission_Protocol"&gt;Stream Control Transmission Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;133&lt;/td&gt;&lt;td&gt;0x85&lt;/td&gt;&lt;td&gt;FC&lt;/td&gt;&lt;td&gt;&lt;a title="Fibre Channel" href="http://www.cnblogs.com/wiki/Fibre_Channel"&gt;Fibre Channel&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;134&lt;/td&gt;&lt;td&gt;0x86&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;RSVP-E2E-IGNORE&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc3175"&gt;RFC 3175&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;135&lt;/td&gt;&lt;td&gt;0x87&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;Mobility Header&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc3775"&gt;RFC 3775&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;136&lt;/td&gt;&lt;td&gt;0x88&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;a title="UDP Lite" href="http://www.cnblogs.com/wiki/UDP_Lite"&gt;UDP Lite&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc3828"&gt;RFC 3828&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;137&lt;/td&gt;&lt;td&gt;0x89&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;a class="mw-redirect" title="MPLS" href="http://www.cnblogs.com/wiki/MPLS"&gt;MPLS&lt;/a&gt;-in-IP&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc4023"&gt;RFC 4023&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;138&lt;/td&gt;&lt;td&gt;0x8A&lt;/td&gt;&lt;td&gt;manet&lt;/td&gt;&lt;td&gt;&lt;a class="mw-redirect" title="Mobile ad-hoc network" href="http://www.cnblogs.com/wiki/Mobile_ad-hoc_network"&gt;MANET&lt;/a&gt; Protocols&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc5498"&gt;RFC 5498&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;139&lt;/td&gt;&lt;td&gt;0x8B&lt;/td&gt;&lt;td&gt;HIP&lt;/td&gt;&lt;td&gt;&lt;a title="Host Identity Protocol" href="http://www.cnblogs.com/wiki/Host_Identity_Protocol"&gt;Host Identity Protocol&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc5201"&gt;RFC 5201&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;140&lt;/td&gt;&lt;td&gt;0x8C&lt;/td&gt;&lt;td&gt;Shim6&lt;/td&gt;&lt;td&gt;&lt;a title="Site Multihoming by IPv6 Intermediation" href="http://www.cnblogs.com/wiki/Site_Multihoming_by_IPv6_Intermediation"&gt;Site Multihoming by IPv6 Intermediation&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc5533"&gt;RFC 5533&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;141-252&lt;/td&gt;&lt;td&gt;0x8D-0xFC&lt;/td&gt;&lt;td colspan="3"&gt;UNASSIGNED&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;253-254&lt;/td&gt;&lt;td&gt;0xFD-0xFE&lt;/td&gt;&lt;td colspan="2"&gt;Use for experimentation and testing&lt;/td&gt;&lt;td&gt;&lt;a class="external mw-magiclink-rfc" href="http://tools.ietf.org/html/rfc3692"&gt;RFC 3692&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;255&lt;/td&gt;&lt;td&gt;0xFF&lt;/td&gt;&lt;td colspan="3"&gt;Reserved.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;strong&gt;&lt;span class="editsection"&gt;[&lt;a title="Edit section: See also" href="http://www.cnblogs.com/w/index.php?title=List_of_IP_protocol_numbers&amp;amp;action=edit&amp;amp;section=1"&gt;edit&lt;/a&gt;]&lt;/span&gt; &lt;span id="See_also" class="mw-headline"&gt;See also&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a title="Internet Protocol" href="http://www.cnblogs.com/wiki/Internet_Protocol"&gt;Internet Protocol&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a title="IPv4" href="http://www.cnblogs.com/wiki/IPv4"&gt;IPv4&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="IPv6" href="http://www.cnblogs.com/wiki/IPv6"&gt;IPv6&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="EtherType" href="http://www.cnblogs.com/wiki/EtherType"&gt;EtherType&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;span class="editsection"&gt;[&lt;a title="Edit section: External links" href="http://www.cnblogs.com/w/index.php?title=List_of_IP_protocol_numbers&amp;amp;action=edit&amp;amp;section=2"&gt;edit&lt;/a&gt;]&lt;/span&gt; &lt;span id="External_links" class="mw-headline"&gt;External links&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="external text" rel="nofollow" href="http://www.iana.org/assignments/protocol-numbers"&gt;Official list of protocol numbers&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;!-- NewPP limit reportPreprocessor node count: 7/1000000Post-expand include size: 0/2048000 bytesTemplate argument size: 0/2048000 bytesExpensive parser function count: 0/500--&gt;&lt;!-- Saved in parser cache with key enwiki:pcache:idhash:1171563-0!1!0!default!!en!4 and timestamp 20101027112844 --&gt;&lt;div class="printfooter"&gt;Retrieved from "&lt;a href="http://en.wikipedia.org/wiki/List_of_IP_protocol_numbers"&gt;http://en.wikipedia.org/wiki/List_of_IP_protocol_numbers&lt;/a&gt;"&lt;/div&gt;&lt;!-- /bodytext --&gt;&lt;!-- catlinks --&gt;&lt;div id="catlinks" class="catlinks"&gt;&lt;div id="mw-normal-catlinks"&gt;&lt;a title="Special:Categories" href="http://www.cnblogs.com/wiki/Special:Categories"&gt;Categories&lt;/a&gt;: &lt;span dir="ltr"&gt;&lt;a title="Category:Routing protocols" href="http://www.cnblogs.com/wiki/Category:Routing_protocols"&gt;Routing protocols&lt;/a&gt;&lt;/span&gt; | &lt;span dir="ltr"&gt;&lt;a title="Category:Internet-related lists" href="http://www.cnblogs.com/wiki/Category:Internet-related_lists"&gt;Internet-related lists&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- /catlinks --&gt;&lt;/div&gt;&lt;!-- /bodyContent --&gt;&lt;/div&gt;&lt;!-- /content --&gt;&lt;!-- header --&gt;&lt;div id="mw-head" class="noprint"&gt;&lt;!-- 0 --&gt;&lt;div id="p-personal"&gt;&lt;p&gt;&lt;strong&gt;Personal tools&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li id="pt-prefswitch-link-anon"&gt;&lt;a class="no-text-transform" title="Learn about new features" href="http://en.wikipedia.org/w/index.php?title=Special:UsabilityInitiativePrefSwitch&amp;amp;from=List_of_IP_protocol_numbers"&gt;New features&lt;/a&gt;&lt;/li&gt;&lt;li id="pt-login"&gt;&lt;a title="You are encouraged to log in; however, it is not mandatory. [o]" accesskey="o" href="http://www.cnblogs.com/w/index.php?title=Special:UserLogin&amp;amp;returnto=List_of_IP_protocol_numbers"&gt;Log in / create account&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!-- /0 --&gt;&lt;div id="left-navigation"&gt;&lt;!-- 0 --&gt;&lt;div id="p-namespaces" class="vectorTabs"&gt;&lt;p&gt;&lt;strong&gt;Namespaces&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li id="ca-nstab-main" class="selected"&gt;&lt;a title="View the content page [c]" accesskey="c" href="http://www.cnblogs.com/wiki/List_of_IP_protocol_numbers"&gt;&lt;span&gt;Article&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li id="ca-talk"&gt;&lt;a title="Discussion about the content page [t]" accesskey="t" href="http://www.cnblogs.com/wiki/Talk:List_of_IP_protocol_numbers"&gt;&lt;span&gt;Discussion&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!-- /0 --&gt;&lt;!-- 1 --&gt;&lt;div id="p-variants" class="vectorMenu emptyPortlet"&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Variants&lt;/span&gt;&lt;a href="#"&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="menu"&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- /1 --&gt;&lt;/div&gt;&lt;div id="right-navigation"&gt;&lt;!-- 0 --&gt;&lt;div id="p-views" class="vectorTabs"&gt;&lt;p&gt;&lt;strong&gt;Views&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li id="ca-view" class="selected"&gt;&lt;a href="http://www.cnblogs.com/wiki/List_of_IP_protocol_numbers"&gt;&lt;span&gt;Read&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li id="ca-edit"&gt;&lt;a title="You can edit this page. Please use the preview button before saving. [e]" accesskey="e" href="http://www.cnblogs.com/w/index.php?title=List_of_IP_protocol_numbers&amp;amp;action=edit"&gt;&lt;span&gt;Edit&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li id="ca-history" class="collapsible "&gt;&lt;a title="Past versions of this page [h]" accesskey="h" href="http://www.cnblogs.com/w/index.php?title=List_of_IP_protocol_numbers&amp;amp;action=history"&gt;&lt;span&gt;View history&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!-- /0 --&gt;&lt;!-- 1 --&gt;&lt;div id="p-cactions" class="vectorMenu emptyPortlet"&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Actions&lt;/span&gt;&lt;a href="#"&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="menu"&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- /1 --&gt;&lt;!-- 2 --&gt;&lt;div id="p-search"&gt;&lt;p&gt;&lt;strong&gt;&lt;label for="searchInput"&gt;Search&lt;/label&gt;&lt;/strong&gt;&lt;/p&gt;&lt;form id="searchform" action="/w/index.php"&gt;&lt;input name="title" type="hidden" value="Special:Search" /&gt;&lt;div id="simpleSearch"&gt;&lt;input id="searchInput" title="Search Wikipedia [f]" name="search" type="text" accesskey="f" /&gt;&lt;button id="searchButton" title="Search Wikipedia for this text"&gt;&lt;img src="http://bits.wikimedia.org/skins-1.5/vector/images/search-ltr.png?283-5" alt="Search" /&gt;&lt;/button&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;!-- /2 --&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- /header --&gt;&lt;!-- panel --&gt;&lt;div id="mw-panel" class="noprint"&gt;&lt;!-- logo --&gt;&lt;div id="p-logo"&gt;&lt;a style="background-image: url(http://upload.wikimedia.org/wikipedia/commons/d/d6/Wikipedia-logo-v2-en.png);" title="Visit the main page" href="http://www.cnblogs.com/wiki/Main_Page"&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- /logo --&gt;&lt;!-- navigation --&gt;&lt;div id="p-navigation" class="portal"&gt;&lt;p&gt;&lt;strong&gt;Navigation&lt;/strong&gt;&lt;/p&gt;&lt;div class="body"&gt;&lt;ul&gt;&lt;li id="n-mainpage-description"&gt;&lt;a title="Visit the main page [z]" accesskey="z" href="http://www.cnblogs.com/wiki/Main_Page"&gt;Main page&lt;/a&gt;&lt;/li&gt;&lt;li id="n-contents"&gt;&lt;a title="Guides to browsing Wikipedia" href="http://www.cnblogs.com/wiki/Portal:Contents"&gt;Contents&lt;/a&gt;&lt;/li&gt;&lt;li id="n-featuredcontent"&gt;&lt;a title="Featured content &amp;mdash; the best of Wikipedia" href="http://www.cnblogs.com/wiki/Portal:Featured_content"&gt;Featured content&lt;/a&gt;&lt;/li&gt;&lt;li id="n-currentevents"&gt;&lt;a title="Find background information on current events" href="http://www.cnblogs.com/wiki/Portal:Current_events"&gt;Current events&lt;/a&gt;&lt;/li&gt;&lt;li id="n-randompage"&gt;&lt;a title="Load a random article [x]" accesskey="x" href="http://www.cnblogs.com/wiki/Special:Random"&gt;Random article&lt;/a&gt;&lt;/li&gt;&lt;li id="n-variablepage" class="active"&gt;&lt;a href="http://www.cnblogs.com/w/index.php?title=Special:VariablePage&amp;amp;utm_source=donate&amp;amp;utm_medium=sidebar&amp;amp;utm_campaign=spontaneous_donation"&gt;Donate&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- /navigation --&gt;&lt;!-- SEARCH --&gt;&lt;!-- /SEARCH --&gt;&lt;!-- interaction --&gt;&lt;div id="p-interaction" class="portal"&gt;&lt;p&gt;&lt;strong&gt;Interaction&lt;/strong&gt;&lt;/p&gt;&lt;div class="body"&gt;&lt;ul&gt;&lt;li id="n-aboutsite"&gt;&lt;a title="Find out about Wikipedia" href="http://www.cnblogs.com/wiki/Wikipedia:About"&gt;About Wikipedia&lt;/a&gt;&lt;/li&gt;&lt;li id="n-portal"&gt;&lt;a title="About the project, what you can do, where to find things" href="http://www.cnblogs.com/wiki/Wikipedia:Community_portal"&gt;Community portal&lt;/a&gt;&lt;/li&gt;&lt;li id="n-recentchanges"&gt;&lt;a title="The list of recent changes in the wiki [r]" accesskey="r" href="http://www.cnblogs.com/wiki/Special:RecentChanges"&gt;Recent changes&lt;/a&gt;&lt;/li&gt;&lt;li id="n-contact"&gt;&lt;a title="How to contact Wikipedia" href="http://www.cnblogs.com/wiki/Wikipedia:Contact_us"&gt;Contact Wikipedia&lt;/a&gt;&lt;/li&gt;&lt;li id="n-help"&gt;&lt;a title="Guidance on how to use and edit Wikipedia" href="http://www.cnblogs.com/wiki/Help:Contents"&gt;Help&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- /interaction --&gt;&lt;!-- TOOLBOX --&gt;&lt;div id="p-tb" class="portal"&gt;&lt;p&gt;&lt;strong&gt;Toolbox&lt;/strong&gt;&lt;/p&gt;&lt;div class="body"&gt;&lt;ul&gt;&lt;li id="t-whatlinkshere"&gt;&lt;a title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j" href="http://www.cnblogs.com/wiki/Special:WhatLinksHere/List_of_IP_protocol_numbers"&gt;What links here&lt;/a&gt;&lt;/li&gt;&lt;li id="t-recentchangeslinked"&gt;&lt;a title="Recent changes in pages linked from this page [k]" accesskey="k" href="http://www.cnblogs.com/wiki/Special:RecentChangesLinked/List_of_IP_protocol_numbers"&gt;Related changes&lt;/a&gt;&lt;/li&gt;&lt;li id="t-upload"&gt;&lt;a title="Upload files [u]" accesskey="u" href="http://www.cnblogs.com/wiki/Wikipedia:Upload"&gt;Upload file&lt;/a&gt;&lt;/li&gt;&lt;li id="t-specialpages"&gt;&lt;a title="List of all special pages [q]" accesskey="q" href="http://www.cnblogs.com/wiki/Special:SpecialPages"&gt;Special pages&lt;/a&gt;&lt;/li&gt;&lt;li id="t-permalink"&gt;&lt;a title="Permanent link to this revision of the page" href="http://www.cnblogs.com/w/index.php?title=List_of_IP_protocol_numbers&amp;amp;oldid=386776970"&gt;Permanent link&lt;/a&gt;&lt;/li&gt;&lt;li id="t-cite"&gt;&lt;a title="Information on how to cite this page" href="http://www.cnblogs.com/w/index.php?title=Special:Cite&amp;amp;page=List_of_IP_protocol_numbers&amp;amp;id=386776970"&gt;Cite this page&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- /TOOLBOX --&gt;&lt;!-- coll-print_export --&gt;&lt;div id="p-coll-print_export" class="portal"&gt;&lt;p&gt;&lt;strong&gt;Print/export&lt;/strong&gt;&lt;/p&gt;&lt;div class="body"&gt;&lt;ul id="collectionPortletList"&gt;&lt;li id="coll-create_a_book"&gt;&lt;a title="Create a book or page collection" rel="nofollow" href="http://www.cnblogs.com/w/index.php?title=Special:Book&amp;amp;bookcmd=book_creator&amp;amp;referer=List+of+IP+protocol+numbers"&gt;Create a book&lt;/a&gt;&lt;/li&gt;&lt;li id="coll-download-as-rl"&gt;&lt;a title="Download a PDF version of this wiki page" rel="nofollow" href="http://www.cnblogs.com/w/index.php?title=Special:Book&amp;amp;bookcmd=render_article&amp;amp;arttitle=List+of+IP+protocol+numbers&amp;amp;oldid=386776970&amp;amp;writer=rl"&gt;Download as PDF&lt;/a&gt;&lt;/li&gt;&lt;li id="t-print"&gt;&lt;a title="Printable version of this page [p]" accesskey="p" href="http://www.cnblogs.com/w/index.php?title=List_of_IP_protocol_numbers&amp;amp;printable=yes"&gt;Printable version&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- /coll-print_export --&gt;&lt;!-- LANGUAGES --&gt;&lt;div id="p-lang" class="portal"&gt;&lt;p&gt;&lt;strong&gt;Languages&lt;/strong&gt;&lt;/p&gt;&lt;div class="body"&gt;&lt;ul&gt;&lt;li class="interwiki-de"&gt;&lt;a title="Protokoll (IP)" href="http://de.wikipedia.org/wiki/Protokoll_(IP)"&gt;Deutsch&lt;/a&gt;&lt;/li&gt;&lt;li class="interwiki-es"&gt;&lt;a title="N&amp;uacute;meros de protocolo IP" href="http://es.wikipedia.org/wiki/N%C3%BAmeros_de_protocolo_IP"&gt;Espa&amp;ntilde;ol&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- /LANGUAGES --&gt;&lt;/div&gt;&lt;!-- /panel --&gt;&lt;!-- footer --&gt;&lt;div id="footer"&gt;&lt;ul id="footer-info"&gt;&lt;li id="footer-info-lastmod"&gt; This page was last modified on 24 September 2010 at 17:18.&lt;/li&gt;&lt;li id="footer-info-copyright"&gt;Text is available under the &lt;a rel="license" href="http://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License"&gt;Creative Commons Attribution-ShareAlike License&lt;/a&gt;&lt;a style="display: none;" rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"&gt;&lt;/a&gt;;additional terms may apply.See &lt;a href="http://wikimediafoundation.org/wiki/Terms_of_Use"&gt;Terms of Use&lt;/a&gt; for details.&lt;br /&gt;Wikipedia&amp;reg; is a registered trademark of the &lt;a href="http://www.wikimediafoundation.org/"&gt;Wikimedia Foundation, Inc.&lt;/a&gt;, a non-profit organization.&lt;/li&gt;&lt;li class="noprint"&gt;&lt;a class="internal" href="http://en.wikipedia.org/wiki/Wikipedia:Contact_us"&gt;Contact us&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul id="footer-places"&gt;&lt;li id="footer-places-privacy"&gt;&lt;a title="wikimedia:Privacy policy" href="http://wikimediafoundation.org/wiki/Privacy_policy"&gt;Privacy policy&lt;/a&gt;&lt;/li&gt;&lt;li id="footer-places-about"&gt;&lt;a title="Wikipedia:About" href="http://www.cnblogs.com/wiki/Wikipedia:About"&gt;About Wikipedia&lt;/a&gt;&lt;/li&gt;&lt;li id="footer-places-disclaimer"&gt;&lt;a title="Wikipedia:General disclaimer" href="http://www.cnblogs.com/wiki/Wikipedia:General_disclaimer"&gt;Disclaimers&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul id="footer-icons" class="noprint"&gt;&lt;li id="footer-icon-poweredby"&gt;&lt;a href="http://www.mediawiki.org/"&gt;&lt;img src="http://bits.wikimedia.org/skins-1.5/common/images/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" width="88" height="31" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li id="footer-icon-copyright"&gt;&lt;a href="http://wikimediafoundation.org/"&gt;&lt;img src="http://images.cnblogs.com/wikimedia-button.png" alt="Wikimedia Foundation" width="88" height="31" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!-- /footer --&gt;&lt;!-- fixalpha --&gt;&lt;script type="text/javascript"&gt;// &lt;![CDATA[ if ( window.isMSIE55 ) fixalpha();// ]]&gt;&lt;/script&gt;&lt;!-- /fixalpha --&gt;&lt;script type="text/javascript"&gt;// &lt;![CDATA[if (window.runOnloadHook) runOnloadHook();// ]]&gt;&lt;/script&gt;&lt;script src="http://geoiplookup.wikimedia.org/" type="text/javascript"&gt;&lt;/script&gt;&lt;!-- Served by srv156 in 0.075 secs. --&gt;&lt;img src="http://www.cnblogs.com/dubingsky/aggbug/1866823.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dubingsky/archive/2010/11/02/1866823.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/dubingsky/archive/2010/08/25/1808574.html</id><title type="text">嵌入式的文件系统</title><summary type="text">转自 板子的硬件信息: Flash  ：8M Byte NOR Flash             ...</summary><published>2010-08-25T15:22:00Z</published><updated>2010-08-25T15:22:00Z</updated><author><name>辛勤耕耘</name><uri>http://www.cnblogs.com/dubingsky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dubingsky/archive/2010/08/25/1808574.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dubingsky/archive/2010/08/25/1808574.html"/><content type="html">&lt;span style="color: rgb(153,1,153)"&gt;&lt;a href="http://www.cublog.cn/u/13991/showart_172151.html" target="_blank"&gt;转自&lt;/a&gt;&lt;/span&gt;  &lt;br style="color: rgb(0,1,2)" /&gt;  &lt;br style="color: rgb(0,1,2)" /&gt;  &lt;table style="border-right: rgb(153,153,153) 1px solid; border-top: rgb(153,153,153) 1px solid; font-size: 12px; border-left: rgb(153,153,153) 1px solid; width: 80%; color: rgb(0,1,2); border-bottom: rgb(153,153,153) 1px solid" align="center"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td&gt;板子的硬件信息: &lt;span class="text_dian"&gt;&lt;/span&gt;Flash&amp;#160;&amp;#160;&amp;#160; ：8M Byte NOR Flash &lt;span class="text_dian"&gt;           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;SDRAM：32M Byte &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;br style="color: rgb(0,1,2)" /&gt;&lt;span style="color: rgb(0,1,2)"&gt;板子上电之后,在minicom中运行df, mount. 显示如下:&lt;/span&gt;  &lt;br style="color: rgb(0,1,2)" /&gt;  &lt;br style="color: rgb(0,1,2)" /&gt;&lt;span style="color: rgb(0,1,2)"&gt;~ # &lt;span style="color: rgb(0,1,255)"&gt;df -k&lt;/span&gt;&lt;/span&gt;  &lt;br style="color: rgb(0,1,2)" /&gt;&lt;span style="color: rgb(0,1,2)"&gt;Filesystem&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1k-blocks&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Used&amp;#160;&amp;#160;&amp;#160;&amp;#160; Available&amp;#160;&amp;#160;&amp;#160; Use%&amp;#160;&amp;#160;&amp;#160; Mounted on&lt;/span&gt;  &lt;br style="color: rgb(0,1,2)" /&gt;&lt;span style="color: rgb(73,73,73)"&gt;/dev/rd/0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 7931&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 5573&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1949&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 74%&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /&lt;/span&gt;  &lt;br style="color: rgb(73,73,73)" /&gt;&lt;span style="color: rgb(73,73,73)"&gt;tmpfs&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 14368&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 14368&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0%&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /dev/shm&lt;/span&gt;  &lt;br style="color: rgb(73,73,73)" /&gt;&lt;span style="color: rgb(73,73,73)"&gt;/dev/mtdblock/4&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 768&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 768&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 100%&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /jffs2&lt;/span&gt;  &lt;br style="color: rgb(0,1,2)" /&gt;  &lt;br style="color: rgb(0,1,2)" /&gt;&lt;span style="color: rgb(0,1,2)"&gt;~ # &lt;span style="color: rgb(0,1,255)"&gt;mount&lt;/span&gt;&lt;/span&gt;  &lt;br style="color: rgb(0,1,2)" /&gt;&lt;span style="color: rgb(73,73,73)"&gt;/dev/rd/0 on / type ext2 (rw)&lt;/span&gt;  &lt;br style="color: rgb(73,73,73)" /&gt;&lt;span style="color: rgb(73,73,73)"&gt;none on /dev type devfs (rw)&lt;/span&gt;  &lt;br style="color: rgb(73,73,73)" /&gt;&lt;span style="color: rgb(73,73,73)"&gt;none on /proc type proc (rw)&lt;/span&gt;  &lt;br style="color: rgb(73,73,73)" /&gt;&lt;span style="color: rgb(73,73,73)"&gt;tmpfs on /dev/shm type tmpfs (rw)&lt;/span&gt;  &lt;br style="color: rgb(73,73,73)" /&gt;&lt;span style="color: rgb(73,73,73)"&gt;/dev/mtdblock/4 on /jffs2 type jffs2 (rw)&lt;/span&gt;  &lt;br style="color: rgb(73,73,73)" /&gt;&lt;span style="color: rgb(73,73,73)"&gt;/dev/mtdblock/5 on /cramfs type cramfs (rw)&lt;/span&gt;  &lt;br style="color: rgb(73,73,73)" /&gt;&lt;span style="color: rgb(0,1,2)"&gt;&lt;span style="color: rgb(73,73,73)"&gt;&lt;/span&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204,51,51)"&gt;rootfs&lt;/span&gt;    &lt;br /&gt;&lt;/span&gt;  &lt;hr style="width: 100%; color: rgb(0,1,2); height: 2px" /&gt;&lt;span style="color: rgb(0,1,2)"&gt;显然, 挂载到根目录的就是根文件系统了. &lt;/span&gt;&lt;font style="color: rgb(0,1,2)" color="#555555"&gt;Linux内核启动完成后, 会逐个挂载文件系统映象文件并做解包的工作. 根文件系统最先被挂载. 有了根文件系统并提供了shell之后. 就可以通过mount来挂载其它FS了.   &lt;br /&gt;    &lt;br /&gt;板子使用ramdisk来做根文件系统, 文件格式为ext2. 回忆一下&amp;quot;&lt;/font&gt;&lt;a href="http://www.cublog.cn/u/13991/showart.php?id=121119" target="_blank"&gt;开发板实务3&lt;/a&gt;&lt;font style="color: rgb(0,1,2)" color="#555555"&gt;&amp;quot;中关于ramdisk的部分: 我先在宿主机上将ramdisk.image挂在到主机上的某个目录. 此刻用df命令查看文件系统信息. 和板子中的df的显示比较一下: ramdisk中都有7931个1k的块. 但已使用的1-k block数目是不同的. 这是怎么回事?    &lt;br /&gt;&lt;/font&gt;&lt;font style="color: rgb(0,1,2)" color="#555555"&gt;   &lt;br /&gt;&lt;/font&gt;  &lt;table style="border-right: rgb(153,153,153) 1px solid; border-top: rgb(153,153,153) 1px solid; font-size: 12px; border-left: rgb(153,153,153) 1px solid; width: 80%; border-bottom: rgb(153,153,153) 1px solid" align="center"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td&gt;&lt;font style="color: rgb(0,1,2)" color="#555555"&gt;如果要向板子的文件系统中添加内容, 不推荐用&lt;/font&gt;&lt;a href="http://www.cublog.cn/u/13991/showart.php?id=121119" target="_blank"&gt;开发板实务3&lt;/a&gt;&lt;font style="color: rgb(0,1,2)" color="#555555"&gt;中介绍的方法, 即不要修改既有的ramdisk, 而是重新创建一个ramdisk. 这样做是为了让映像获得更大的压缩比.            &lt;br /&gt;&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;br /&gt;有一点让我不解: /dev/rd/0 这个设备名是何方神圣? rd = RamDisk么? 我查看了2.4内核中的devices.txt文档, 没发现它的信息.  &lt;br /&gt;  &lt;br /&gt;实际上, 内核源码树的Documentation/devices.txt描述的是静态设备的major, minor编号和设备名. 而板子中使用的是devfs文件系统. 它对设备节点的命名和静态设备是不同的.  &lt;br /&gt;  &lt;br /&gt;在&lt;a href="http://www.atnf.csiro.au/people/rgooch/linux/docs/devfs.html" target="_blank"&gt;Linux devfs FAQ&lt;/a&gt;中有这样的内容:  &lt;br /&gt;  &lt;br /&gt;&lt;span style="color: rgb(73,73,73)"&gt;RAMDISCS&lt;/span&gt;  &lt;br style="color: rgb(73,73,73)" /&gt;&lt;span style="color: rgb(73,73,73)"&gt;The RAMDISCS are placed in their own directory, and are named thus:&lt;/span&gt;  &lt;br style="color: rgb(73,73,73)" /&gt;  &lt;br style="color: rgb(73,73,73)" /&gt;&lt;span style="color: rgb(73,73,73)"&gt; /dev/rd/{0,1,2,...}&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;果然, /dev/rd/0就是ramdisk的设备名. 它被挂载到根目录.  &lt;br /&gt;  &lt;br /&gt;&lt;font style="color: rgb(0,1,2)" color="#555555"&gt;   &lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204,51,51)"&gt;tmpfs&lt;/span&gt;    &lt;br /&gt;&lt;/font&gt;&lt;span style="color: rgb(0,1,2)"&gt;&lt;/span&gt;  &lt;hr style="width: 100%; color: rgb(0,1,2); height: 2px" /&gt;&lt;span style="color: rgb(0,1,2)"&gt;&lt;span style="color: rgb(0,1,255)"&gt;1, tmpfs介绍&lt;/span&gt;    &lt;br /&gt;tmpfs是一个以虚拟内存为基础的文件系统. 这句话有两层含义:    &lt;br /&gt;    &lt;br /&gt;(1) 它以虚拟内存为基础, 所以它不同于ramdisk, ramdisk只能位于ram中, 而tmpfs可能位于交换分区中(Linux 内核的虚拟内存资源同时来源于RAM 和交换分区).    &lt;br /&gt;(2) 它是个文件系统, 而不是块设备. 同样和ramdisk比较: ramdisk是个块设备, 需要一个mkfs 之类的命令将个做成某个格式的文件系统才能使用. 而tmpfs是一个文件系统不是块设备. mount它即可使用.     &lt;br /&gt;    &lt;br /&gt;另外, tmpfs的大小不是固定的, 可以被swap. 这都是它区别于ramdisk的优点.    &lt;br /&gt;    &lt;br /&gt;&lt;span style="color: rgb(0,1,255)"&gt;2, 为什么要使用tmpfs&lt;/span&gt;    &lt;br /&gt;tmpfs被用来作为shm(POSIX共享内存, Posix shared memory): glibc 2.2之后的版本要求tmpfs被挂载到/dev/shm作为shm.&amp;#160; 除此之外, 还有许多需要tmpfs的地方.    &lt;br /&gt;    &lt;br /&gt;&lt;span style="color: rgb(0,1,255)"&gt;3, 系统如何支持tmpfs&lt;/span&gt;    &lt;br /&gt;只需在配置内核时启动对tmpfs的支持: 选中File systems -&amp;gt; Virtural memory file system support(former shm fs).    &lt;br /&gt;    &lt;br /&gt;&lt;span style="color: rgb(0,1,255)"&gt;4, 加载tmpfs&lt;/span&gt;    &lt;br /&gt;作为文件系统, tmpfs就需要被mount, 它是如何被mount的呢?    &lt;br /&gt;    &lt;br /&gt;先在自己的PC机上试试: 运行df, 看看文件系统信息. 注意挂在到/dev/shm的文件系统.    &lt;br /&gt;    &lt;br /&gt;使用mount命令:&amp;#160; &lt;/span&gt;&lt;code class="section"&gt;&lt;span style="color: rgb(0,1,255)"&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style="color: rgb(0,1,2)"&gt;# &lt;span style="color: rgb(0,1,255)"&gt;mount -t tmpfs -o size=32m tmpfs /dev/shm&lt;/span&gt;    &lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0,1,2)"&gt;   &lt;br /&gt;它将tmpfs挂载到/dev/shm. 注意, 之前已经有devshm被挂载到/dev/shm上了.&amp;#160; 还是照样可以继续挂在tmpfs到/dev/shm上. &lt;/span&gt;实际上, 在相同的挂载点上可以挂载任意数目的文件系统. 就象一个堆栈: 卸载当前的文件系统后, 上一个最近挂载的文件系统就会重新出现.  &lt;br /&gt;  &lt;br /&gt;-o size=&amp;lt;n&amp;gt;m 用以&lt;span style="color: rgb(0,1,2)"&gt;限定tmpfs可用ram的大小&lt;/span&gt;. 如果不使用它, 则tmpfs使用默认的ram大小.&lt;span style="color: rgb(0,1,2)"&gt; 默认是物理内存大小的一半(不包括swap分区).&lt;/span&gt;&lt;span style="color: rgb(0,1,2)"&gt;   &lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0,1,2)"&gt;   &lt;br /&gt;在开发板的/etc/fstab中有这样的内容:    &lt;br /&gt;&lt;span style="color: rgb(73,73,73)"&gt;tmpfs&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /dev/shm&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; tmpfs&amp;#160;&amp;#160; defaults&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0&amp;#160; 0&lt;/span&gt;    &lt;br /&gt;它等价于:     &lt;br /&gt;# &lt;span style="color: rgb(0,1,255)"&gt;mount tmpfs /dev/shm -t tmpfs&lt;/span&gt;    &lt;br /&gt;    &lt;br /&gt;这下就豁然开朗了: 板子将tmpfs挂在到/dev/shm. tmpfs使用默认的ram大小: SDRAM的一半(32 / 2 = 16). 也就对应了df命令的输出:     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(73,73,73)"&gt;tmpfs&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 14368&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 14368&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0%&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /dev/shm&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(0,1,2)"&gt;   &lt;br /&gt;    &lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204,51,51)"&gt;jffs2, cramfs&lt;/span&gt;    &lt;br /&gt;&lt;/span&gt;  &lt;hr style="width: 100%; height: 2px" /&gt;&lt;span style="color: rgb(0,1,2)"&gt;&lt;/span&gt;&lt;font face="Helvetica, Helv, Arial" size="-1"&gt;&amp;quot;On 26th June 2001, &lt;a href="mailto:spse@secret.org.uk"&gt;spse@secret.org.uk&lt;/a&gt; released the blkmtd driver to the world. This driver allows you to use any block device as an MTD storage device. The big advantage with doing this is that you can run the JFFS2 filesystem on a block device, and get compression and journalling where you couldn't normally do so.&amp;quot;    &lt;br /&gt;&lt;/font&gt;  &lt;div style="text-align: justify"&gt;&lt;font face="Helvetica, Helv, Arial" size="-1"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ---- &lt;/font&gt;&lt;a href="http://intimate.handhelds.org/blkmtd.html" target="_blank"&gt;The Intimate Project&lt;/a&gt;    &lt;br /&gt;&lt;/div&gt; &lt;font face="Helvetica, Helv, Arial" size="-1"&gt;&amp;#160; &lt;br /&gt;使用blkmtd驱动, 你能将任意的块设备当作MTD设备使用. 当内核加载blkmtd驱动后, 如果使用的是devfs(开发板正是这样), 那么会在/dev/mtdblock/目录中生成mtd块设备节点.     &lt;br /&gt;    &lt;br /&gt;可以将jffs2, cramfs文件系统挂载到mtd块设备上. 比如:    &lt;br /&gt;&lt;/font&gt;&lt;font face="Helvetica, Helv, Arial" size="-1"&gt;# &lt;span style="color: rgb(0,1,255)"&gt;mount -t jffs2 /dev/mtdblock/4 /mnt/test&lt;/span&gt;&lt;/font&gt;  &lt;br /&gt;&lt;font face="Helvetica, Helv, Arial" size="-1"&gt;   &lt;br /&gt;&lt;/font&gt;&lt;span style="color: rgb(0,1,2)"&gt;在板子的&lt;/span&gt;&lt;span style="color: rgb(0,1,2)"&gt;/etc/init.d/rcS中有下列挂载命令:   &lt;br /&gt;&lt;span style="color: rgb(73,73,73)"&gt;mount -t jffs2 /dev/mtdblock/4 /jffs2&lt;/span&gt;    &lt;br style="color: rgb(73,73,73)" /&gt;&lt;span style="color: rgb(73,73,73)"&gt;mount -t cramfs /dev/mtdblock/5 /cramfs&lt;/span&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0,1,2)"&gt;/etc/init.d/rcS中的命令显而易见: 将jffs2文件系统(设备节点为/dev/mtdblock/4)挂载到/jffs2目录,&amp;#160; 将cramfs文件系统(设备节点为/dev/mtdblock/5)挂载到/cramfs目录.   &lt;br /&gt;    &lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0,1,2)"&gt;   &lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204,51,51)"&gt;/dev, /proc&lt;/span&gt;    &lt;br /&gt;&lt;/span&gt;  &lt;hr style="width: 100%; height: 2px" /&gt;&lt;span style="color: rgb(0,1,2)"&gt;在板子的/etc/fstab文件中, 有下列内容.   &lt;br /&gt;    &lt;br /&gt;none&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /proc&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; proc&amp;#160;&amp;#160;&amp;#160; defaults&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0 0    &lt;br /&gt;none&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /dev/pts&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; devpts&amp;#160; mode=0622&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0 0    &lt;br /&gt;tmpfs&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /dev/shm&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; tmpfs&amp;#160;&amp;#160; defaults&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0 0    &lt;br /&gt;    &lt;br /&gt;同时, 在/etc/init.d/rcS中有mount -a命令:     &lt;br /&gt;&lt;span style="color: rgb(73,73,73)"&gt;/bin/mount -a&lt;/span&gt;    &lt;br /&gt;    &lt;br /&gt;mount -a:&amp;#160;&amp;#160;&amp;#160; Mount all filesystems (of the given types) mentioned in fstab.    &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255,153,51)"&gt;参考资料&lt;/span&gt;    &lt;br /&gt;&lt;/span&gt;  &lt;hr style="width: 100%; height: 2px" /&gt;&lt;span style="color: rgb(0,1,2)"&gt;1, IBM dW上有个文件系统的&lt;/span&gt;&lt;a href="http://www-128.ibm.com/developerworks/cn/linux/filesystem/" target="_blank"&gt;专题系列&lt;/a&gt;&lt;span style="color: rgb(0,1,2)"&gt;, 其中有一篇介绍了&lt;/span&gt;&lt;a href="http://www-128.ibm.com/developerworks/cn/linux/filesystem/l-fs3/index.html" target="_blank"&gt;tmpfs&lt;/a&gt;&lt;span style="color: rgb(0,1,2)"&gt;. 作者是Gentoo的创始人. 该专题中还详述了2.4内核中的devfs技术.   &lt;br /&gt;    &lt;br /&gt;2, 内核源代码中的&lt;/span&gt;&lt;span style="color: rgb(0,1,2)"&gt;Documentation/filesystems/tmpfs.txt文件介绍了tmpfs. 如果你手头没有源代码, 也可以查看&lt;/span&gt;&lt;a href="http://lxr.free-electrons.com/source/Documentation/filesystems/tmpfs.txt" target="_blank"&gt;在线版本&lt;/a&gt;&lt;span style="color: rgb(0,1,2)"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0,1,2)"&gt;   &lt;br /&gt;    &lt;br /&gt;3, &lt;/span&gt;&lt;a href="http://www.atnf.csiro.au/people/rgooch/linux/docs/devfs.html" target="_blank"&gt;Linux devfs FAQ&lt;/a&gt;  &lt;br /&gt;&lt;span style="color: rgb(0,1,2)"&gt;   &lt;br /&gt;4, &lt;/span&gt;&lt;a href="http://intimate.handhelds.org/blkmtd.html" target="_blank"&gt;The Intimate Project&lt;/a&gt;  &lt;br /&gt;&lt;span style="color: rgb(0,1,2)"&gt;   &lt;br /&gt;    &lt;br /&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/dubingsky/aggbug/1808574.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dubingsky/archive/2010/08/25/1808574.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
