﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Scott@JAVA-随笔分类-Network &amp; Telecom</title><link>http://www.blogjava.net/cisco/category/5496.html</link><description>Java, 一杯浓浓的咖啡伴你到深夜&lt;br&gt;
&lt;span id="dict_daily"&gt;
&lt;a href="http://dict.cn/" target="_blank"&gt;Dict.CN 在线词典, 英语学习, 在线翻译&lt;/a&gt;
&lt;/span&gt; 
&lt;script language="JavaScript" src="http://dict.cn/daily.php" defer="defer"&gt;
&lt;/script&gt;</description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 07:05:31 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 07:05:31 GMT</pubDate><ttl>60</ttl><item><title>VoIP Provider world Ranking - October 2005  </title><link>http://www.blogjava.net/cisco/archive/2006/04/23/42698.html</link><dc:creator>Scott@JAVA</dc:creator><author>Scott@JAVA</author><pubDate>Sun, 23 Apr 2006 10:56:00 GMT</pubDate><guid>http://www.blogjava.net/cisco/archive/2006/04/23/42698.html</guid><wfw:comment>http://www.blogjava.net/cisco/comments/42698.html</wfw:comment><comments>http://www.blogjava.net/cisco/archive/2006/04/23/42698.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/cisco/comments/commentRss/42698.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cisco/services/trackbacks/42698.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: April 2006																																RANK 																										PROVIDER																										MVP RANKING																										CHANGE														...&nbsp;&nbsp;<a href='http://www.blogjava.net/cisco/archive/2006/04/23/42698.html'>阅读全文</a><img src ="http://www.blogjava.net/cisco/aggbug/42698.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cisco/" target="_blank">Scott@JAVA</a> 2006-04-23 18:56 <a href="http://www.blogjava.net/cisco/archive/2006/04/23/42698.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Subnetwork Exercise 2</title><link>http://www.blogjava.net/cisco/archive/2006/01/15/28071.html</link><dc:creator>Scott@JAVA</dc:creator><author>Scott@JAVA</author><pubDate>Sat, 14 Jan 2006 20:53:00 GMT</pubDate><guid>http://www.blogjava.net/cisco/archive/2006/01/15/28071.html</guid><wfw:comment>http://www.blogjava.net/cisco/comments/28071.html</wfw:comment><comments>http://www.blogjava.net/cisco/archive/2006/01/15/28071.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cisco/comments/commentRss/28071.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cisco/services/trackbacks/28071.html</trackback:ping><description><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>8.5.2002 Teemu.Korpela@mulkkeri.net </SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>Subnetworks exercises 2:</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI><SPAN style="mso-spacerun: yes"><IMG height=388 alt=untitled.JPG src="http://www.blogjava.net/images/blogjava_net/cisco/blog%20pics/untitled.JPG" width=480 border=0>&nbsp;</SPAN></SPAN><SPAN lang=FI style="mso-fareast-language: ZH-CN"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="mso-ansi-language: EN-GB">Basics:<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="mso-ansi-language: EN-GB">Deal addresses for subnet shown in the picture so that every interface of a router has its own address of that subnet and so that in the cloud all hosts have enough addresses. Remember to reserve addresses also for network and broadcast addresses. In one network there can be only one subnet. Use variable length subnet masks (VLSM) for optimal subnets. Reserve for growth need not take into account.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN style="mso-ansi-language: EN">Exercise</SPAN><SPAN lang=FI> 1:</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>Usable address space:</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="mso-ansi-language: EN-GB">192.168.0.0/22<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="mso-ansi-language: EN-GB">Amount of hosts in the networks:<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>A: 15</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>B: 51</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>C: 31</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>D: 370</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>E: 1</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>F: 16</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>G: 24</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>H: 4</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>I: 24</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="mso-ansi-language: EN-GB">J: No hosts, only the interfaces of the routers.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="mso-fareast-language: ZH-CN; mso-ansi-language: EN-GB"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="COLOR: blue; mso-fareast-language: ZH-CN; mso-ansi-language: EN-GB">D: 192.168.0.0/23 --- 192.168.1.255/23<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="COLOR: blue; mso-fareast-language: ZH-CN; mso-ansi-language: EN-GB">B: 192.168.2.0/26 --- 192.168.2.63/26<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="COLOR: blue; mso-fareast-language: ZH-CN; mso-ansi-language: EN-GB">C: 192.168.2.64/26 --- 192.168.2.127/26<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="COLOR: blue; mso-fareast-language: ZH-CN; mso-ansi-language: EN-GB">G: 192.168.2.128/27 --- 192.168.2.159/27<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="COLOR: blue; mso-fareast-language: ZH-CN; mso-ansi-language: EN-GB">I: 192.168.2.160/27 --- 192.168.2.191/27<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="COLOR: blue; mso-fareast-language: ZH-CN; mso-ansi-language: EN-GB">A: 192.168.2.192/27 --- 192.168.2.223/27<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="COLOR: blue; mso-fareast-language: ZH-CN; mso-ansi-language: EN-GB">H: 192.168.2.224/28 --- 192.168.2.239/28<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="COLOR: blue; mso-fareast-language: ZH-CN; mso-ansi-language: EN-GB">E: 192.168.2.240/29 --- 192.168.2.247/29<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="COLOR: blue; mso-fareast-language: ZH-CN; mso-ansi-language: EN-GB">J: 192.168.2.248/30 --- 192.168.2.251/30<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="mso-fareast-language: ZH-CN; mso-ansi-language: EN-GB"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="mso-ansi-language: EN-GB">How many addresses are out of use?<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI style="COLOR: blue; mso-fareast-language: ZH-CN">255-251 = 4, from 192.168.3.0 to 192.168.3.255, there are 256, so totally, 260 are out of use.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN style="mso-ansi-language: EN">Exercise</SPAN><SPAN lang=FI> 2:</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>Usable address spaces:</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>192.168.0.0/25</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>192.168.128.0/26</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>192.168.128.192/26</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI style="mso-fareast-language: ZH-CN"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="mso-ansi-language: EN-GB">Amount of hosts in the networks:</SPAN><SPAN lang=EN-GB style="mso-fareast-language: ZH-CN; mso-ansi-language: EN-GB"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>A: 2</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>B: 4</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>C: 6</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>D: 25</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>E: 3</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>F: 15</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>G: 10</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>H: 1</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI>I: 45</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="mso-ansi-language: EN-GB">J <SPAN style="mso-spacerun: yes">&nbsp;</SPAN>No hosts, only the interfaces of the routers.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="mso-fareast-language: ZH-CN; mso-ansi-language: EN-GB"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI style="COLOR: blue; mso-fareast-language: ZH-CN">I: 192.168.0.0/26 --- 192.168.0.63/26<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI style="COLOR: blue; mso-fareast-language: ZH-CN">D: 192.168.0.64/27 --- 192.168.0.95/27<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI style="COLOR: blue; mso-fareast-language: ZH-CN">F: 192.168.0.96/27 --- 192.168.0.127/27<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI style="COLOR: blue; mso-fareast-language: ZH-CN">G: 192.168.128.0/28 --- 192.168.128.15/28<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI style="COLOR: blue; mso-fareast-language: ZH-CN">C: 192.168.128.16/28 --- 192.168.128.31/28<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI style="COLOR: blue; mso-fareast-language: ZH-CN">B: 192.168.128.32/29 --- 192.168.128.39/28<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI style="COLOR: blue; mso-fareast-language: ZH-CN">E: 192.168.128.40/29 --- 192.168.128.47/29<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI style="COLOR: blue; mso-fareast-language: ZH-CN">H: 192.168.128.48/29 --- 192.168.128.55/29<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI style="COLOR: blue; mso-fareast-language: ZH-CN">A: 192.168.128.56/29 --- 192.168.128.63/29<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=FI style="COLOR: blue; mso-fareast-language: ZH-CN">J: 192.168.128.192/30 --- 192.168.128.195/30<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="mso-fareast-language: ZH-CN; mso-ansi-language: EN-GB"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="mso-ansi-language: EN-GB">How many addresses are out of use?<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="COLOR: blue; mso-fareast-language: ZH-CN; mso-ansi-language: EN-GB">255-195 = 60 addresses are out of use.<o:p></o:p></SPAN></P><img src ="http://www.blogjava.net/cisco/aggbug/28071.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cisco/" target="_blank">Scott@JAVA</a> 2006-01-15 04:53 <a href="http://www.blogjava.net/cisco/archive/2006/01/15/28071.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Subnetwork Exercise 1</title><link>http://www.blogjava.net/cisco/archive/2006/01/14/28043.html</link><dc:creator>Scott@JAVA</dc:creator><author>Scott@JAVA</author><pubDate>Sat, 14 Jan 2006 09:59:00 GMT</pubDate><guid>http://www.blogjava.net/cisco/archive/2006/01/14/28043.html</guid><wfw:comment>http://www.blogjava.net/cisco/comments/28043.html</wfw:comment><comments>http://www.blogjava.net/cisco/archive/2006/01/14/28043.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cisco/comments/commentRss/28043.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cisco/services/trackbacks/28043.html</trackback:ping><description><![CDATA[<PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><FONT size=2>1. What are the network and broadcast addresses when the host address <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><FONT size=2><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;</SPAN>195.148.9.213 and subnet mask 255.255.255.224<o:p></o:p></FONT></SPAN></PRE><PRE><FONT size=2><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>What was the number of the subnet?</SPAN><SPAN lang=EN-GB style="mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><o:p></o:p></SPAN></FONT></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>213 = 11010101, 224 = 11100000, 213 &amp; 224 = 11000000 = 192<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>Network address is 195.148.9.192, broadcast address is 195.148.9.223<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>2^3 = 8 subnets<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><o:p><FONT size=2>&nbsp;</FONT></o:p></SPAN></PRE><PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><FONT size=2>2. What is the mask if the network address is 199.167.100.0 and<o:p></o:p></FONT></SPAN></PRE><PRE><FONT size=2><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>broadcast address is 199.167.100.255?</SPAN><SPAN lang=EN-GB style="mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><o:p></o:p></SPAN></FONT></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>The mask is 255.255.255.0<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><o:p><FONT size=2>&nbsp;</FONT></o:p></SPAN></PRE><PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><FONT size=2>3. Is the address 172.21.64.0 with mask 255.255.192.0 the host, network or <o:p></o:p></FONT></SPAN></PRE><PRE><FONT size=2><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;</SPAN>broadcast address?</SPAN><SPAN lang=EN-GB style="mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><o:p></o:p></SPAN></FONT></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>64 = 1000000, 192 = 11000000, the address is network address<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><o:p><FONT size=2>&nbsp;</FONT></o:p></SPAN></PRE><PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><FONT size=2>4. What are the network and broadcast addresses if the host address<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><FONT size=2><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>172.21.200.4 and subnet mask 255.255.255.192?<o:p></o:p></FONT></SPAN></PRE><PRE><FONT size=2><SPAN lang=FI><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>How many subnets together? </SPAN><SPAN lang=EN-GB style="mso-ansi-language: EN-GB">How many addresses in a network?<o:p></o:p></SPAN></FONT></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>4 = 100, 192 = 11000000, 4 &amp; 192 = 0<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>Network address is 172.21.200.0, broadcast address is 172.21.200.63<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>2^2 = 4 subnets, 2^6 = 64 addresses in a network<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><o:p><FONT size=2>&nbsp;</FONT></o:p></SPAN></PRE><PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><FONT size=2>5. What are network and broadcast addresses if the host address is<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><FONT size=2><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>201.7.110.76 and subnet mask 255.255.255.240?<o:p></o:p></FONT></SPAN></PRE><PRE><FONT size=2><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>How many subnets together?</SPAN><SPAN lang=EN-GB style="mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><o:p></o:p></SPAN></FONT></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>76 = 1001100, 240 = 11110000, 76 &amp; 240 = 01000000 = 64<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>Network address is 201.7.110.64, broadcast address is 201.7.110.79<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>2^4 = 16 subnets<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><o:p><FONT size=2>&nbsp;</FONT></o:p></SPAN></PRE><PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><FONT size=2>6. Deal a class C network to 32 subnets How many addresses are there in every<o:p></o:p></FONT></SPAN></PRE><PRE><FONT size=2><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>subnet? How many bits are there in the subnet mask?</SPAN><SPAN lang=EN-GB style="mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><o:p></o:p></SPAN></FONT></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>2^5 = 32, 8-5 = 3<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>2^3 = 8 addresses in every subnet, 29 bits in the subnet mask<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><o:p><FONT size=2>&nbsp;</FONT></o:p></SPAN></PRE><PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><FONT size=2>7. (VLSM) The router connects five subnets. Account of hosts: 3, 5, 10, 30 <o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><FONT size=2><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;</SPAN>and 100 pcs. Deal one class C network so that every network has enough<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><FONT size=2> <SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>addresses. Remember to calculate one address for the interface of the router.<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="mso-ansi-language: EN-GB"><FONT size=2><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>How many unusable addresses are left?<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>Assume the class C network is 194.211.79.0, subnet a, b, c, d, e stand for 3, 5, 10, 30, 100 pcs<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><o:p><FONT size=2>&nbsp;</FONT></o:p></SPAN></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>194.211.79.0/25 --- 194.211.79.127/25<SPAN style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>for e<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>194.211.79.128/26 --- 194.211.79.191/26<SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>for d<o:p></o:p></FONT></SPAN></PRE><PRE style="tab-stops: 45.8pt 91.6pt 132.25pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>194.211.79.192/28 ---<SPAN style="mso-tab-count: 1"> </SPAN>194.211.79.207/28<SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>for c<o:p></o:p></FONT></SPAN></PRE><PRE style="tab-stops: 45.8pt 91.6pt 132.25pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>194.211.79.208/28 --- 194.211.79.223/28<SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>for b<o:p></o:p></FONT></SPAN></PRE><PRE style="tab-stops: 45.8pt 91.6pt 132.25pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>194.211.79.240/29 --- 194.211.79.247/29<SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>for a<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><o:p><FONT size=2>&nbsp;</FONT></o:p></SPAN></PRE><PRE><SPAN lang=EN-GB style="COLOR: blue; mso-ansi-language: EN-GB; mso-fareast-language: ZH-CN"><FONT size=2>240-223-1+255-247 = 24 unusable addresses are left<o:p></o:p></FONT></SPAN></PRE><img src ="http://www.blogjava.net/cisco/aggbug/28043.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cisco/" target="_blank">Scott@JAVA</a> 2006-01-14 17:59 <a href="http://www.blogjava.net/cisco/archive/2006/01/14/28043.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TCP/IP子网掩码教程</title><link>http://www.blogjava.net/cisco/archive/2005/12/09/23170.html</link><dc:creator>Scott@JAVA</dc:creator><author>Scott@JAVA</author><pubDate>Fri, 09 Dec 2005 08:44:00 GMT</pubDate><guid>http://www.blogjava.net/cisco/archive/2005/12/09/23170.html</guid><wfw:comment>http://www.blogjava.net/cisco/comments/23170.html</wfw:comment><comments>http://www.blogjava.net/cisco/archive/2005/12/09/23170.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cisco/comments/commentRss/23170.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cisco/services/trackbacks/23170.html</trackback:ping><description><![CDATA[<FONT color=#000000>一、缺省A、B、C类地址，子网掩码；&nbsp; <BR><BR>二、子网掩码的作用：&nbsp; <BR><BR>&nbsp;&nbsp;code:&nbsp; <BR>IP地址&nbsp;192.20.15.5&nbsp;11000000&nbsp;00010100&nbsp;00001111&nbsp;00000101&nbsp; <BR>子网掩码&nbsp;255.255.0.0&nbsp;11111111&nbsp;11111111&nbsp;00000000&nbsp;00000000&nbsp; <BR>网络ID&nbsp;192.20.0.0 11000000&nbsp;00010100&nbsp;00000000&nbsp;00000000&nbsp; <BR>主机ID&nbsp;0.0.15.5 00000000&nbsp;00000000 00001111 00000101&nbsp; <BR><BR><BR>计算该子网中的主机数:2^n-2=2^16-2=65534&nbsp; <BR>其中:n为主机ID占用的位数2:&nbsp;192.20.0.0(表示本网络),&nbsp;192.20.255.255&nbsp;(表示子网广播);&nbsp; <BR>该子网所容纳主机的IP地址范围:192.20.0.1~192.20.255.254&nbsp; <BR><BR>三、实现子网&nbsp; <BR><BR>1．划分子网的理由：&nbsp; <BR>①&nbsp;远程LAN互连；&nbsp; <BR>②连接混合的网络技术；&nbsp; <BR>③增加网段中的主机数量；&nbsp; <BR>④减少网络广播。&nbsp; <BR>2．子网的实现需要考虑以下因素：&nbsp; <BR>①确定所需的网络ID数，确信为将来的发展留有余地；&nbsp; <BR>谁需要占用单独的网络ID？&nbsp; <BR>▲每个子网；&nbsp; <BR>▲每个WAN连接；&nbsp; <BR>②确定每个子网中最大的计算机数目，也要考虑未来的发展；&nbsp; <BR>谁需要占用单独的主机ID？&nbsp; <BR>▲每个TCP/IP计算机网卡；&nbsp; <BR>▲每个TCP/IP打印机网卡；&nbsp; <BR>▲每个子网上的路由接口；&nbsp; <BR>③考虑增长计划的必要性：&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;假设您在InterNIC申请到一个网络ID：192.20.16.0&nbsp;但你有两个远程LAN需要互连，而且每个远程LAN各有60台主机。&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;若不划分子网，您就只能使用一个网络ID：192.20.16.0，使用缺省子网掩码：255.255.255.0，而且在这个子网中可以容纳的主机ID的范围：&nbsp;192.20.16.1~192.20.16.254，即可以有254台主机。&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;现在若根据需要划分为两个子网，即借用主机ID中的两位用作网络ID，则子网掩码就应变为：255.255.255.192（11000000）目的是将借用的用作网络I&nbsp;D的位掩去。看一看划分出来的子网的情况：&nbsp; <BR>▲192.20.16.65~126&nbsp; <BR>192.20.16.01000001~01111110&nbsp; <BR>本网段（01&nbsp;网段）主机数：2n-2=26-2=62或126-65+1=62&nbsp; <BR>▲192.20.16.129~190&nbsp; <BR>192.20.16.10000001~10111110&nbsp; <BR>本网段（10&nbsp;网段）主机数：2n-2=26-2=62或190-129+1=62&nbsp; <BR>▲子网号00全0表示本网络，子网号11全1是子网屏蔽，均不可用。<BR><FONT color=#800080 size=2>提示：在早期的子网划分标准RFC950中，不能使用全0或全1做为二进制子网标识（在子网划分公式2n-2中的-2处理）。在RFC1812中，这个限制已被取消。下面内容摘自于RFC1812。<BR>“以前版本的文档认为，子网号不能为0或-1，并且至少要有两位长。在一个CIDR领域，子网号就是网络前缀的一种延伸。如果没有前缀，那么子网号也就不存在了。从CIDR观点来看，这种对子网号的限制是没有意义的，可以安全地忽略。”</FONT>&nbsp; <BR>这个方案可以满足目前需求，但以后如果需要加入新的网段则必须重新划分更多的子网（即借用更多的主机ID位用作网络ID），或如果以后需要每个子网中的主机数更多则必须借用网络I&nbsp;D位来保证更多的主机数。&nbsp; <BR><BR>四、定义子网号的方法&nbsp; <BR><BR>若InterNIC分配给您的B类网络ID为129.20.0.0，那么在使用缺省的子网掩码255.255.0.0的情况下，您将只有一个网络ID和216-2台主机（范围是：129.20.0.1~129.20.255.254）。现在您有划分4个子网的需求。&nbsp; <BR>1．手工计算法：&nbsp; <BR>①将所需的子网数转换为二进制&nbsp; <BR>4→00000100&nbsp; <BR>②以二进制表示子网数所需的位数即为向缺省子网掩码中加入的位数（既应向主机ID借用的位数）&nbsp; <BR>00000100→3位&nbsp; <BR>③决定子网掩码&nbsp; <BR>缺省的：255.255.0.0&nbsp; <BR>借用主机ID的3位以后：255.255.224（11100000）.0，即将所借的位全表示为1，用作子网掩码。&nbsp; <BR>④决定可用的网络ID&nbsp; <BR>列出附加位引起的所有二进制组合，去掉全0和全1的组合情况&nbsp; <BR><BR>&nbsp;&nbsp;code:&nbsp; <BR>　　组合情况&nbsp;　　　　实际得到的子网ID&nbsp; <BR>　　　000╳&nbsp;&nbsp;&nbsp; <BR>001→32&nbsp;（00100000&nbsp;)&nbsp;129.20.32.0&nbsp; <BR>010→64&nbsp;（01000000&nbsp;)&nbsp;129.20.64.0&nbsp; <BR>011→96&nbsp;（01100000&nbsp;)&nbsp;129.20.96.0&nbsp; <BR>100→128（10000000）&nbsp;129.20.128.0&nbsp; <BR>101→160（10100000）&nbsp;129.20.160.0&nbsp; <BR>110→192（11000000）&nbsp;129.20.192.0&nbsp; <BR>　　　111╳&nbsp;&nbsp;&nbsp; <BR><BR><BR>⑤决定可用的主机ID范围&nbsp; <BR><BR>&nbsp;&nbsp;code:&nbsp; <BR>子网&nbsp;　　　　　开始的IP地址&nbsp;最后的IP地址&nbsp; <BR>129.20.32.0&nbsp;129.20.32.1&nbsp;129.20.63.254&nbsp; <BR>129.20.64.0&nbsp;129.20.64.1&nbsp;129.20.95.254&nbsp; <BR>129.20.96.0&nbsp;129.20.96.1&nbsp;129.20.127.254&nbsp; <BR>129.20.128.0&nbsp;129.20.128.1&nbsp;129.20.159.254&nbsp; <BR>129.20.160.0&nbsp;129.20.160.1&nbsp;129.20.191.254&nbsp; <BR>129.20.192.0&nbsp;129.20.192.1&nbsp;129.20.223.254&nbsp; <BR><BR><BR>2．快捷计算法：&nbsp; <BR>①将所需的子网数转换为二进制&nbsp; <BR>4→00000100&nbsp; <BR>②以二进制表示子网数所需的位数即为向缺省子网掩码中加入的位数（既应向主机ID借用的位数）&nbsp; <BR>00000100→3位&nbsp; <BR>③决定子网掩码&nbsp; <BR>缺省的：255.255.0.0&nbsp; <BR>借用主机ID的3位以后：255.255.224（11100000）.0，即将所借的位全表示为1，用作子网掩码。&nbsp; <BR>④将11100000最右边的"1"转换为十进制，即为每个子网ID之间的增量，记作delta&nbsp;d=32&nbsp; <BR>⑤产生的子网ID数为：2^m-2&nbsp;(m:向缺省子网掩码中加入的位数)&nbsp; <BR>可用子网ID数：2^3-2=6<BR>⑥将d附在原网络ID之后，形成第一个子网网络ID&nbsp;129.20.32.0&nbsp; <BR>⑦重复⑥，后续的每个子网的值加d，得到所有的子网网络ID&nbsp; <BR>129.20.32.0&nbsp; <BR>129.20.64.0&nbsp; <BR>129.20.96.0&nbsp; <BR>129.20.128.0&nbsp; <BR>129.20.160.0&nbsp;129.20.192.0&nbsp; <BR>129.20.224.0→224与子网掩码相同，是无效的网络ID&nbsp; </FONT><img src ="http://www.blogjava.net/cisco/aggbug/23170.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cisco/" target="_blank">Scott@JAVA</a> 2005-12-09 16:44 <a href="http://www.blogjava.net/cisco/archive/2005/12/09/23170.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用协议分析工具学习TCP/IP</title><link>http://www.blogjava.net/cisco/archive/2005/12/04/22460.html</link><dc:creator>Scott@JAVA</dc:creator><author>Scott@JAVA</author><pubDate>Sun, 04 Dec 2005 11:20:00 GMT</pubDate><guid>http://www.blogjava.net/cisco/archive/2005/12/04/22460.html</guid><wfw:comment>http://www.blogjava.net/cisco/comments/22460.html</wfw:comment><comments>http://www.blogjava.net/cisco/archive/2005/12/04/22460.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cisco/comments/commentRss/22460.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cisco/services/trackbacks/22460.html</trackback:ping><description><![CDATA[<DIV>摘至<STRONG> </STRONG><A href="http://www.cnpaf.net/">中国协议分析网</A><BR><BR><STRONG>一、前言</STRONG> <BR><BR>　　目前，网络的速度发展非常快，学习网络的人也越来越多，稍有网络常识的人都知道<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>/IP<A>协议</A>是网络的基础，是Internet的语言，可以说没有<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>/IP<A>协议</A>就没有互联网的今天。目前号称搞网的人非常多，许多人就是从一把夹线钳，一个测线器联网开始接触网络的，如果只是联网玩玩，知道几个Ping之类的命令就行了，如果想在网络上有更多的发展不管是黑道还是红道，必须要把<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>/IP<A>协议</A>搞的非常明白。 <BR><BR>　　学习过<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>/IP<A>协议</A>的人多有一种感觉，这东西太抽象了，没有什么数据实例，看完不久就忘了。本文将介绍一种直观的学习方法，利用<A>协议</A><A>分析</A>工具学习<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>/IP，在学习的过程中能直观的看到数据的具体传输过程。 <BR><BR>　　为了初学者更容易理解，本文将搭建一个最简单的网络环境，不包含子网。 <BR><BR><B>二、试验环境 </B><BR><BR><B>1、网络环境 </B><BR><BR>如图1所示 <BR><BR>
<P align=center><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/20044299329933.gif" border=0></P><BR><BR>图1<BR><BR>　　为了表述方便，下文中208号机即指地址为192.168.113.208的计算机，1号机指地址为192.168.113.1的计算机。 <BR><BR><B>2、操作系统</B> <BR><BR>两台机器都为Windows 2000 ，1号机机器作为服务器，安装<A href="http://www.cnpaf.net/class/ftp/" target=_blank>FTP</A>服务 <BR><BR><B>3、<A>协议</A><A>分析</A>工具</B> <BR><BR>　　Windows环境下常用的工具有：<A href="http://www.cnpaf.net/class/sniffer/" target=_blank>Sniffer</A> Pro、Natxray、Iris以及windows 2000自带的网络监视器等。本文选用Iris作为<A>协议</A><A>分析</A>工具。 <BR><BR>在客户机208号机安装IRIS软件。 <BR><BR><B>三、测试过程 </B><BR><BR>1、测试例子：将1号机计算机中的一个文件通过<A href="http://www.cnpaf.net/class/ftp/" target=_blank>FTP</A>下载到208号机中。 <BR><BR>2、IRIS的设置。 <BR><BR>　　由于IRIS具有网络监听的功能，如果网络环境中还有其它的机器将抓很多别的数据包，这样为学习带来诸多不便，为了清楚地看清楚上述例子的传输过程首先将IRIS设置为只抓208号机和1号机之间的数据包。设置过程如下： <BR><BR>　　1)用热键CTRL+B弹出如图所示的地址表，在表中填写机器的IP地址，为了对抓的包看得更清楚不要添主机的名字（name）,设置好后关闭此窗口。<BR><BR>
<P align=center><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/20044299453744.gif" border=0></P><BR><BR>图2<BR><BR>　　2）用热键CTRL+E弹出如图所示过滤设置，选择左栏“IP address”，右栏按下图将address book中的地址拽到下面，设置好后确定，这样就这抓这两台计算机之间的包。<BR><BR>
<P align=center><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/20044299535403.gif" border=0></P><BR><BR>图3<BR><BR>　　3、抓包 <BR><BR>　　按下IRIS工具栏中 开始按钮。在浏览器中输入：<A href="http://www.cnpaf.net/class/ftp/" target=_blank>FTP</A>://192.168.113.1，找到要下载的文件 ，鼠标右键该文件，在弹出的菜单中选择“复制到文件夹”开始下载，下载完后在IRIS工具栏中按 按钮停止抓包。图4显示的就是<A href="http://www.cnpaf.net/class/ftp/" target=_blank>FTP</A>的整个过程，下面我们将详细<A>分析</A>这个过程。 <BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442995848338.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442993242676.gif"></A><BR><BR>图4<BR><BR>　　说明：为了能抓到ARP<A>协议</A>的包，在WINDOWS 2000 中运行arp –d 清除arp缓存。 <BR><BR><B>四、过程<A>分析</A></B> <BR><BR><B>1、<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>/IP的基本原理</B> <BR><BR>　　本文的重点虽然是根据实例来解析<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>/IP，但要讲明白下面的过程必须简要讲一下<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>/IP的基本原理。 <BR><BR>A．网络是分层的，每一层分别负责不同的通信功能。 <BR><BR>　　<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>/IP通常被认为是一个四层<A>协议</A>系统，<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>/IP<A>协议</A>族是一组不同的<A>协议</A>组合在一起构成的<A>协议</A>族。尽管通常称该<A>协议</A>族为<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>/IP，但<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>和IP只是其中的两种<A>协议</A>而已，如表1所示。每一层负责不同的功能： <BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/2004429141854363.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442993523400.gif"></A><BR><BR>表１<BR><BR>　　分层的概念说起来非常简单，但在实际的应用中非常的重要，在进行网络设置和排除故障时对网络层次理解得很透，将对工作有很大的帮助。例如：设置路由是网络层IP<A>协议</A>的事，要查找MAC地址是链路层ARP的事，常用的Ping命令由ICMP<A>协议</A>来做的。 <BR><BR>　　图5显示了各层<A>协议</A>的关系，理解它们之间的关系对下面的<A>协议</A><A>分析</A>非常重要。 <BR><BR>
<P align=center><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442993621632.gif" border=0></P><BR><BR>图5<BR><BR>　　b.数据发送时是自上而下，层层加码；数据接收时是自下而上，层层解码。 <BR><BR>　　当应用程序用<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>传送数据时，数据被送入<A>协议</A>栈中，然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息（有时还要增加尾部信息），该过程如图6所示。<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>传给IP的数据单元称作<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>报文段或简称为<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>段。I P传给网络接口层的数据单元称作IP数据报。 通过<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>传输的比特流称作帧(Frame)。 <BR><BR>　　数据发送时是按照图6自上而下，层层加码；数据接收时是自下而上，层层解码。 <BR><BR>
<P align=center><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442993656611.gif" border=0></P><BR><BR>图6<BR><BR>c. 逻辑上通讯是在同级完成的 <BR><BR>　　垂直方向的结构层次是当今普遍认可的数据处理的功能流程。每一层都有与其相邻层的接口。为了通信，两个系统必须在各层之间传递数据、指令、地址等信息，通信的逻辑流程与真正的数据流的不同。虽然通信流程垂直通过各层次，但每一层都在逻辑上能够直接与远程计算机系统的相应层直接通信。 <BR><BR>　　从图7可以看出，通讯实际上是按垂直方向进行的，但在逻辑上通信是在同级进行的。 <BR><BR>
<P align=center><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442993731808.gif" border=0></P><BR><BR>图7<BR><BR><B>2、过程描述</B> <BR><BR>　　为了更好的<A>分析</A><A>协议</A>，我们先描述一下上述例子数据的传输步骤。如图8所示： <BR><BR>1)<A href="http://www.cnpaf.net/class/ftp/" target=_blank>FTP</A>客户端请求<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>用服务器的IP地址建立连接。 <BR><BR>2)<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>发送一个连接请求分段到远端的主机，即用上述IP地址发送一份IP数据报。 <BR><BR>3) 如果目的主机在本地网络上，那么IP数据报可以直接送到目的主机上。如果目的主机在一个远程网络上，那么就通过IP选路函数来确定位于本地网络上的下一站路由器地址，并让它转发IP数据报。在这两种情况下，IP数据报都是被送到位于本地网络上的一台主机或路由器。 <BR><BR>4) 本例是一个<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>，那么发送端主机必须把32位的IP地址变换成48位的<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>地址，该地址也称为MAC地址，它是出厂时写到网卡上的世界唯一的硬件地址。把IP地址翻译到对应的MAC地址是由ARP<A>协议</A>完成的。 <BR><BR>5) 如图的虚线所示，ARP发送一份称作ARP请求的<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>数据帧给<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>上的每个主机，这个过程称作广播。ARP请求数据帧中包含目的主机的IP地址，其意思是“如果你是这个IP地址的拥有者，请回答你的硬件地址。” <BR><BR>6) 目的主机的ARP层收到这份广播后，识别出这是发送端在寻问它的IP地址，于是发送一个ARP应答。这个ARP应答包含I P地址及对应的硬件地址。 <BR><BR>7) 收到ARP应答后，使ARP进行请求—应答交换的IP数据包现在就可以传送了。 <BR><BR>8) 发送IP数据报到目的主机。 <BR><BR>
<P align=center><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/20044299389989.gif" border=0></P><BR><BR>图8<BR><BR><B>3、实例<A>分析</A></B> <BR><BR>　　下面通过<A>分析</A>用iris捕获的包来<A>分析</A>一下<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>/IP的工作过程，为了更清晰的解释数据传送的过程，我们按传输的不同阶段抓了四组数据，分别是查找服务器、建立连接、数据传输和终止连接。每组数据，按下面三步进行解释。 <BR><BR><BR>显示数据包 <BR><BR><BR>解释该数据包 <BR><BR><BR>按层<A>分析</A>该包的头信息 <BR><BR><B>第一组 查找服务器 </B><BR><BR>1）下图显示的是1、2行的数据 <BR><BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/2004429142010434.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442993849506.gif"></A><BR><BR>图9<BR><BR><B>2）解释数据包 </B><BR><BR>　　这两行数据就是查找服务器及服务器应答的过程。 <BR><BR>　　在第1行中，源端主机的MAC地址是00:50:FC:22:C7:BE。目的端主机的MAC地址是FF:FF:FF:FF:FF:FF，这个地址是十六进制表示的，F换算为二进制就是1111，全1的地址就是广播地址。所谓广播就是向本网上的每台网络设备发送信息，电缆上的每个<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>接口都要接收这个数据帧并对它进行处理，这一行反映的是步骤5）的内容，ARP发送一份称作ARP请求的<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>数据帧给<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>上的每个主机。网内的每个网卡都接到这样的信息“谁是192.168.113.1的IP地址的拥有者，请将你的硬件地址告诉我”。 <BR><BR>　　第2行反映的是步骤6）的内容。在同一个<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>中的每台机器都会"接收"到这个报文，但正常状态下除了1号机外其他主机应该会忽略这个报文，而1号的主机的ARP层收到这份广播报文后，识别出这是发送端在寻问它的IP地址，于是发送一个ARP应答。告知自己的IP地址和MAC地址。第2行可以清楚的看出1号回答的信息__自己的MAC地址00:50:FC:22:C7:BE。 <BR><BR>　　这两行反映的是数据链路层之间一问一答的通信过程。这个过程就像我要在一个坐满人的教室找一个叫“张三”的人，在门口喊了一声“张三”，这一声大家都听见了，这就叫广播。张三听到后做了回应，别人听到了没做回应，这样就与张三取得了联系。 <BR><BR><B>3）头信息<A>分析</A></B> <BR><BR>　　如下图左栏所示，第1数据包包含了两个头信息：<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>（<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>Ethernet</A>）和ARP。 <BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/2004429142114321.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442993931387.gif"></A><BR><BR>图10<BR><BR>　　下表2是<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>的头信息，括号内的数均为该字段所占字节数，<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>报头中的前两个字段是<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>的源地址和目的地址。目的地址为全1的特殊地址是广播地址。电缆上的所有<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>接口都要接收广播的数据帧。两个字节长的<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>帧类型表示后面数据的类型。对于ARP请求或应答来说，该字段的值为0806。 <BR><BR>　　第2行中可以看到，尽管ARP请求是广播的，但是ARP应答的目的地址却是1号机的（00 50 FC 22 C7 BE）。ARP应答是直接送到请求端主机的。 <BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/2004429142217883.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/20044299402600.gif"></A><BR><BR>表2<BR><BR>　　下表3是ARP<A>协议</A>的头信息。硬件类型字段表示硬件地址的类型。它的值为1即表示<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>地址。<A>协议</A>类型字段表示要映射的<A>协议</A>地址类型。它的值为0800即表示IP地址。它的值与包含I P数据报的<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>数据帧中的类型字段的值相同。接下来的两个1字节的字段，硬件地址长度和<A>协议</A>地址长度分别指出硬件地址和<A>协议</A>地址的长度，以字节为单位。对于<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>上IP地址的ARP请求或应答来说，它们的值分别为6和4。Op即操作（Opoperation），1是ARP请求、2是ARP应答、3是RARP请求和4为RARP应答，第二行中该字段值为2表示应答。接下来的四个字段是发送端的硬件地址、发送端的IP地址、目的端的硬件地址和目的端IP地址。注意，这里有一些重复信息：在<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>的数据帧报头中和ARP请求数据帧中都有发送端的硬件地址。对于一个ARP请求来说，除目的端硬件地址外的所有其他的字段都有填充值。 <BR><BR>　　表3的第2行为应答，当系统收到一份目的端为本机的ARP请求报文后，它就把硬件地址填进去，然后用两个目的端地址分别替换两个发送端地址，并把操作字段置为2，最后把它发送回去。 <BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442914235666.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442994036414.gif"></A><BR><BR>表3<BR><B><BR>第二组 建立连接</B> <BR><BR>1）下图显示的是3-5行的数据 <BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/2004429145239401.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442994110944.gif"></A><BR><BR>图11<BR><BR>2）解释数据包 <BR><BR>　　这三行数据是两机建立连接的过程。 <BR><BR>　　这三行的核心意思就是<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A><A>协议</A>的三次握手。<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>的数据包是靠IP<A>协议</A>来传输的。但IP<A>协议</A>是只管把数据送到出去，但不能保证IP数据报能成功地到达目的地，保证数据的可靠传输是靠<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A><A>协议</A>来完成的。当接收端收到来自发送端的信息时，接受端详发送短发送一条应答信息，意思是：“我已收到你的信息了。”第三组数据将能看到这个过程。<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>是一个面向连接的<A>协议</A>。无论哪一方向另一方发送数据之前，都必须先在双方之间建立一条连接。建立连接的过程就是三次握手的过程。 <BR><BR>　　这个过程就像要我找到了张三向他借几本书，第一步：我说：“你好，我是担子”，第二步：张三说：“你好，我是张三”，第三步：我说：“我找你借几本书。”这样通过问答就确认对方身份，建立了联系。 <BR><BR>　　下面来<A>分析</A>一下此例的三次握手过程。 <BR><BR>1))请求端208号机发送一个初始序号（SEQ）987694419给1号机。 <BR><BR>2))服务器1号机收到这个序号后，将此序号加1值为987694419作为应答信号（ACK），同时随机产生一个初始序号（SEQ）1773195208，这两个信号同时发回到请求端208号机，意思为：“消息已收到，让我们的数据流以1773195208这个数开始。” <BR><BR>3))请求端208号机收到后将确认序号设置为服务器的初始序号（SEQ）1773195208加1为1773195209作为应答信号。 <BR><BR>　　以上三步完成了三次握手，双方建立了一条通道，接下来就可以进行数据传输了。 <BR><BR>　　下面<A>分析</A><A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>头信息就可以看出，在握手过程中<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>头部的相关字段也发生了变化。 <BR><BR>3）头信息<A>分析</A> <BR><BR>　　如图12所示，第3数据包包含了三头信息：<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>（<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>Ethernet</A>）和IP和<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>。 <BR><BR>　　头信息少了ARP多了IP、<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>，下面的过程也没有ARP的参与，可以这样理解，在局域网内，ARP负责的是在众多联网的计算机中找到需要找的计算机，找到工作就完成了。 <BR><BR>　　<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>的头信息与第1、2行不同的是帧类型为0800，指明该帧类型为IP。 <BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442914271970.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442994219769.gif"></A><BR>图12<BR><BR>IP<A>协议</A>头信息 <BR><BR>　　IP是<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>/IP<A>协议</A>族中最为核心的<A>协议</A>。从图5可以看出所有的<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>、<A href="http://www.cnpaf.net/class/udp/" target=_blank>UDP</A>、ICMP及IGMP数据都以IP数据报格式传输的，有个形象的比喻IP<A>协议</A>就像运货的卡车，将一车车的货物运向目的地。主要的货物就是<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>或<A href="http://www.cnpaf.net/class/udp/" target=_blank>UDP</A>分配给它的。需要特别指出的是IP提供不可靠、无连接的数据报传送，也就是说I P仅提供最好的传输服务但不保证IP数据报能成功地到达目的地。看到这你会不会担心你的E_MAIL会不会送到朋友那，其实不用担心，上文提过保证数据正确到达目的地是<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>的工作，稍后我们将详细解释。 <BR><BR>　　如表4是IP<A>协议</A>的头信息。 <BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/2004429142756712.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442994250195.gif"></A><BR><BR>表4 IP数据报格式及首部中的各字段<BR><BR>　　图12中所宣布分45 00—71 01为IP的头信息。这些数是十六进制表示的。一个数占4位，例如：4的二进制是0100 <BR><BR>　　4位版本：表示目前的<A>协议</A>版本号，数值是4表示版本为4，因此IP有时也称作<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>IPv4</A>； <BR><BR>　　4位首部长度：头部的是长度，它的单位是32位(4个字节)，数值为5表示IP头部长度为20字节。 <BR><BR>　　8位服务类型(TOS)：00，这个8位字段由3位的优先权子字段，现在已经被忽略，4位的TOS子字段以及1 位的未用字段（现在为0）构成。4位的TOS子字段包含：最小延时、最大吞吐量、最高可靠性以及最小费用构成，这四个1位最多只能有一个为1，本例中都为0，表示是一般服务。 <BR><BR>　　16位总长度(字节数)：总长度字段是指整个IP数据报的长度，以字节为单位。数值为00 30，换算为十进制为48字节，48字节=20字节 的IP头+28字节的<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>头，这个数据报只是传送的控制信息，还没有传送真正的数据，所以目前看到的总长度就是报头的长度。 <BR><BR>　　16位标识：标识字段唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加1，第3行为数值为30 21，第5行为30 22，第7行为30 23。分片时涉及到标志字段和片偏移字段，本文不讨论这两个字段。 <BR><BR>　　8位生存时间（TTL）：TTL（time-to-live）生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据报的生存时间。ttl的初始值由源主机设置，一旦经过一个处理它的路由器，它的值就减去1。可根据TTL值判断服务器是什么系统和经过的路由器。本例为80，换算成十进制为128，WINDOWS操作系统TTL初始值一般为128，UNIX操作系统初始值为255，本例表示两个机器在同一网段且操作系统为WINDOWS。 <BR><BR>　　8位<A>协议</A>：表示<A>协议</A>类型，6表示传输层是<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A><A>协议</A>。 <BR><BR>　　16位首部检验和：当收到一份I P数据报后，同样对首部中每个16 位进行二进制反码的求和。由于接收方在计算过程中包含了发送方存在首部中的检验和，因此，如果首部在传输过程中没有发生任何差错，那么接收方计算的结果应该为全1。如果结果不是全1，即检验和错误，那么IP就丢弃收到的数据报。但是不生成差错报文，由上层去发现丢失的数据报并进行重传。 <BR><BR>　　32位源IP地址和32位目的IP地址：实际这是IP<A>协议</A>中核心的部分，但介绍这方面的文章非常多，本文搭建的又是一个最简单的网络结构，不涉及路由，本文对此只做简单介绍，相关知识请参阅其它文章。32位的IP地址由一个网络ID和一个主机ID组成。本例源IP地址为C0 A8 71 D0，转换为十进制为：192.168.113.208; 目的IP地址为C0 A8 71 01，转换为十进制为：192.168.113.1。网络地址为192.168.113，主机地址分别为1和208，它们的网络地址是相同的所以在一个网段内，这样数据在传送过程中可直接到达。 <BR><BR><A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A><A>协议</A>头信息 <BR><BR>　　如表5是ICP<A>协议</A>的头信息。 <BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/2004429143712696.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442994325335.gif"></A><BR><BR>表5 <A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>包首部<BR><BR>　　第三行<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>的头信息是：04 28 00 15 3A DF 05 53 00 00 00 00 70 02 40 00 9A 8D 00 00 02 04 05 B4 01 01 04 02 <BR><BR>　　端口号：常说<A href="http://www.cnpaf.net/class/ftp/" target=_blank>FTP</A>占21端口、HTTP占80端口、<A href="http://www.cnpaf.net/class/telnet/" target=_blank>TELNET</A>占23端口等，这里指的端口就是<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>或<A href="http://www.cnpaf.net/class/udp/" target=_blank>UDP</A>的端口，端口就像通道两端的门一样，当两机进行通讯时门必须是打开的。源端口和目的端口各占16位，2的16次方等于65536，这就是每台电脑与其它电脑联系所能开的“门”。一般作为服务一方每项服务的端口号是固定的。本例目的端口号为00 15，换算成十进制为21，这正是<A href="http://www.cnpaf.net/class/ftp/" target=_blank>FTP</A>的默认端口，需要指出的是这是<A href="http://www.cnpaf.net/class/ftp/" target=_blank>FTP</A>的控制端口，数据传送时用另一端口，第三组的<A>分析</A>能看到这一点。客户端与服务器联系时随机开一个大于1024的端口，本例为04 28，换算成十进制为1064。你的电脑中了木马也会开一个服务端口。观察端口非常重要，不但能看出本机提供的正常服务，还能看出不正常的连接。Windows察看端口的命令时netstat。 <BR><BR>　　32位序号：也称为顺序号（Sequence Number），简写为SEQ，从上面三次握手的<A>分析</A>可以看出，当一方要与另一方联系时就发送一个初始序号给对方，意思是：“让我们建立联系吧？”，服务方收到后要发个独立的序号给发送方，意思是“消息收到，数据流将以这个数开始。”由此可看出，<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>连接完全是双向的，即双方的数据流可同时传输。在传输过程中双方数据是独立的，因此每个<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>连接必须有两个顺序号分别对应不同方向的数据流。 <BR><BR>　　32位确认序号：也称为应答号（Acknowledgment Number），简写为ACK。在握手阶段，确认序号将发送方的序号加1作为回答，在数据传输阶段，确认序号将发送方的序号加发送的数据大小作为回答，表示确实收到这些数据。在第三组的<A>分析</A>中将看到这一过程。 <BR><BR>　　4位首部长度：。这个字段占4位，它的单位时32位（4个字节）。本例值为7，<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>的头长度为28字节，等于正常的长度2 0字节加上可选项8个字节。，<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>的头长度最长可为60字节（二进制1111换算为十进制为15，15*4字节=60字节）。 <BR><BR>　　6个标志位。 <BR><BR>　　URG 紧急指针，告诉接收<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>模块紧要指针域指着紧要数据 <BR><BR>　　ACK 置1时表示确认号（为合法，为0的时候表示数据段不包含确认信息，确认号被忽略。 <BR><BR>　　PSH 置1时请求的数据段在接收方得到后就可直接送到应用程序，而不必等到缓冲区满时才传送。 <BR><BR>　　RST 置1时重建连接。如果接收到RST位时候，通常发生了某些错误。 <BR><BR>　　SYN 置1时用来发起一个连接。 <BR><BR>　　FIN 置1时表示发端完成发送任务。用来释放连接，表明发送方已经没有数据发送了。 <BR><BR>　　图13的3个图分别为3-5行<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A><A>协议</A>的头信息，这三行是三次握手的过程，我们看看握手的过程标志位发生了什么？ <BR><BR>　　如图13-1请求端208号机发送一个初始序号（SEQ）987694419给1号机。标志位SYN置为1。 <BR><BR>　　如图13-2服务器1号机收到这个序号后，将应答信号（ACK）和随机产生一个初始序号（SEQ）1773195208发回到请求端208号机，因为有应答信号和初始序号，所以标志位ACK和SYN都置为1。 <BR><BR>　　如图13-3请求端208号机收到1号机的信号后，发回信息给1号机。标志位ACK置为1，其它标志为都为0。注意此时SYN值为0，SYN是标示发起连接的，上两部连接已经完成。 <BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/2004429145437860.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/20044299441489.gif"></A><BR><BR>　　16位窗口大小：<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数，起始于确认序号字段指明的值，这个值是接收端正期望接收的字节。窗口大小是一个16字节字段，因而窗口大小最大为65535字节。 <BR><BR>　　16位检验和：检验和覆盖了整个的<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>报文段： <A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>首部和<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>数据。这是一个强制性的字段，一定是由发端计算和存储，并由收端进行验证。 <BR><BR>　　16位紧急指针：只有当U R G标志置1时紧急指针才有效。紧急指针是一个正的偏移量，和序号字段中的值相加表示紧急数据最后一个字节的序号。 <BR><BR>　　选项：图13-1和图13-2有8个字节选项，图13-3没有选项。最常见的可选字段是最长报文大小，又称为MSS (Maximum Segment Size)。每个连接方通常都在握手的第一步中指明这个选项。它指明本端所能接收的最大长度的报文段。图13-1可以看出208号机可以接受的最大字节数为1460字节，1460也是<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>默认的大小，在第三组的数据<A>分析</A>中可以看到数据传送正是以1460字节传送的。 <BR><BR>握手小结 <BR><BR>　　上面我们分开讲了三次握手，看着有点散，现在小结一下。 <BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442914396387.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442994429452.gif"></A><BR><BR><B>第三组 数据传输 </B><BR><BR>1）下图显示的是57-60行的数据<BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/2004429144022571.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442994452984.gif"></A><BR><BR>图14<BR><BR>2）解释数据包 <BR><BR>　　这四行数据是数据传输过程中一个发送一个接收的过程。 <BR><BR>　　前文说过，<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>提供一种面向连接的、可靠的字节流服务。当接收端收到来自发送端的信息时，接受端要发送一条应答信息，表示收到此信息。数据传送时被<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>分割成认为最适合发送的数据块。一般<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>在传送时<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>将数据分为1460字节。也就是说数据在发送方被分成一块一块的发送，接受端收到这些数据后再将它们组合在一起。 <BR><BR>　　57行显示1号机给208号机发送了大小为1514字节大小的数据，注意我们前文讲过数据发送时是层层加<A>协议</A>头的，1514字节=14字节<A href="http://www.cnpaf.net/class/ethernet/" target=_blank>以太网</A>头 + 20字节IP头 + 20字节<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>头 + 1460字节数据 <BR><BR>　　58行显示的应答信号ACK为：1781514222，这个数是57行得SEQ序号1781512762加上传送的数据1460，208号机将这个应答信号发给1号机说明已收到发来的数据。 <BR><BR>　　59、60行显示的是继续传送数据的过程。 <BR><BR>　　这个过程就像我向张三借书，借给我几本我要说：“我已借了你几本了。”，他说：“知道了”。 <BR><BR>3）头信息 <BR><BR>　　图15-1和图15-2分别是57行和58行的头信息，解释参考第二组。 <BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/2004429144159641.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442994522407.gif"></A><BR><BR><B>第四组 终止连接 </B><BR><BR>1）下图显示的是93-96行的数据<BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/2004429144238605.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442994547838.gif"></A><BR><BR>图16<BR><BR>2）解释数据包 <BR><BR>93-96是两机通讯完关闭的过程。 <BR><BR>　　建立一个连接需要三次握手，而终止一个连接要经过4次握手。这是因为一个<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>连接是全双工（即数据在两个方向上能同时传递），每个方向必须单独地进行关闭。4次握手实际上就是双方单独关闭的过程。 <BR><BR>　　本例文件下载完后，关闭浏览器终止了与服务器的连接图16的93-96行显示的就是终止连接所经过4次握手过程。 <BR><BR>　　93行数据显示的是关闭浏览器后，如图17-1所示208号机将FIN置1连同序号(SEQ)987695574发给1号机请求终止连接。 <BR><BR>　　94行数据和图17-2显示1号机收到FIN关闭请求后，发回一个确认，并将应答信号设置为收到序号加1，这样就终止了这个方向的传输。 <BR><BR>　　95行数据和图17-3显示1号机将FIN置1连同序号(SEQ)1773196056发给208号机请求终止连接。 <BR><BR>　　96行数据和图17-4显示208号机收到FIN关闭请求后，发回一个确认，并将应答信号设置为收到序号加1，至此<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A>连接彻底关闭。 <BR><BR>3）头信息 <BR><BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/2004429144430387.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442994623487.gif"></A><BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/2004429144452740.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442994631293.gif"></A><BR><BR><B>六、扫描实例</B> <BR><BR>　　下面我们再举个ping的实例，测试某台计算机是否通，最常用的命令就是ping命令。Ping 一台计算机，出现如图18所示界面就是通，出现如图19所示界面就是不通，不通有两种情况，一是该计算机不存在或没接网线，二是该计算机安装了防火墙并设置为不允许ping。如何区别这两种情况呢？下面还是利用iris跟踪上述情况。 <BR><BR>
<P align=center><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442994658121.gif" border=0></P><BR><BR>图18<BR><BR>
<P align=center><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442994719969.gif" border=0></P><BR><BR>图19<BR><BR>　　如图20是ping通的情况。 <BR><BR>　　如图21是ping不通该计算机不存在的情况。从图可以看出ARP请求没有回应。 <BR><BR>　　如图22是ping不通，该计算机存在但安装了防火墙的情况。从图可以看出ARP请求有回应。但ICMP请求没回应。 <BR><BR>　　从<A>分析</A>可以看出虽然后两种情况的表面现象是一样的，但实质确是截然相反的。通过头信息可以清楚的看出PING是 <BR><BR>　　ICMP<A>协议</A>来完成的，通讯过程是在第三层完成的，没有用到第四层的<A href="http://www.cnpaf.net/class/tcpandip/" target=_blank>TCP</A><A>协议</A>。 <BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442914489410.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442994754661.gif"></A><BR><BR>图20<BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/2004429144830352.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/20044299481563.gif"></A><BR><BR>图21<BR><BR><A href="http://www.cnpaf.net/cnpafweb/upload/mulu/29/2004429144856228.gif" target=_blank><IMG src="http://www.cnpaf.net/cnpafweb/upload/mulu/29/200442994815203.gif"></A><BR><BR>图22<BR><BR><BR><B>七、后记</B> <BR><BR>　　本文不是个教程，许多问题都没有涉及到，比如TCP重发、IP分解、路由等，只是提出个学习思路，希望能起到抛砖引玉的作用。TCP/IP协议族是非常复杂的，但只要理解了还是不难学的。最后向感兴趣的朋友提个问题：分别telnet三台机器，一台正常23端口开放，一台网是通的但23端口没开放，另外一台是不存在的。用我们学过的方法跟踪一下，比较三个的不同。其实这就是用TCP扫描判断对方机器是否在线的一种方法。</TD></DIV><img src ="http://www.blogjava.net/cisco/aggbug/22460.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cisco/" target="_blank">Scott@JAVA</a> 2005-12-04 19:20 <a href="http://www.blogjava.net/cisco/archive/2005/12/04/22460.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>