计算机网络C实验指导书.doc

上传人:飞****2 文档编号:60104806 上传时间:2022-11-13 格式:DOC 页数:23 大小:2.19MB
返回 下载 相关 举报
计算机网络C实验指导书.doc_第1页
第1页 / 共23页
计算机网络C实验指导书.doc_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《计算机网络C实验指导书.doc》由会员分享,可在线阅读,更多相关《计算机网络C实验指导书.doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、计算机网络C实验指导书李优 李伟 编电子工程与自动化学院前 言计算机网络C是电子工程与自动化学院自动化系自动化和智能科学与技术专业任选课,这个课程的开设对学生加深理解网络原理、提高网络工程与网络应用技术起到了一定的作用。但是由于计算机网络技术发展快、涉及的内容变化多,而且学生在学习时普遍感到网络理论较为抽象,在实际生活得不到验证,所以开设了计算机网络的实验课程。根据本课程教学计划的安排和教学大纲的总体要求,以配合计算机网络理论课程的教学为目标,在有助于学生学习基本原理并掌握实际的开发能力的基础上,编写了本实验教材。要学好计算机网络这门课,加强上机实验是非常重要的,希望同学们充分利用实验条件,认

2、真完成实验,从实验中得到应有的锻炼和培养。另外,仅仅依靠本实验教材中的实验想达到透彻理解网络原理是远远不够的,有条件有兴趣的学生可以针对学习和实践中出现和思考的问题主动地参与到各种网络规划、设计、安装、调试和维护的实际工作中,进一步的提高自己分析问题和解决问题的能力。本实验指导书涵盖了四个实验共8个课时的实验内容,具体分别为:网络服务器的配置与网络实用工具的使用、FTP的创建与使用、使用网络分析仪分析网络协议和简单聊天程序的设计。实验项目包含了对网络原理的理解和运用,并融合了实际的网络编程技术,达到了理论与实践结合、基础理解验证与综合设计实验结合的不同层次的要求。希望同学们在使用本实验指导书及

3、进行实验的过程中,对实验指导书的不足之处提出意见和建议,使计算机网络C课程的教学效果在实验的帮助下,得到不断的改进和提高。由于编者水平有限,难免有不足之处,敬请批评指正。 李优 李伟 2006年3月目 录实验说明及要求ii实验一 网络服务器的配置与网络实用工具1实验二 FTP的创建与使用4实验三 使用网络分析仪分析网络协议8实验四 聊天程序的设计14参考文献1实验说明及要求一 实验说明计算机网络是现代信息社会最重要的基础设施之一。在过去十几年里得到了迅速的发展和应用。计算机网络C课程实验的目的是为了使学生在课程学习的同时,通过在一个计算机网络环境中的实际操作,对现代计算机网络的基本功能有一个初

4、步的了解。实验通过对网络服务器的配置和网络实用工具的使用,掌握windows系统下的基本网络配置和windows提供的基本网络工具;通过创建FTP和使用FTP,掌握通过网络获取网络资源的方法和技术;通过使用网络分析仪sniff,来实际观察和理解网络协议;通过设计和实现一个聊天程序,掌握计算机网络通信协议的基本实现技术;总之,通过上述实验环节,使学生加深了解和更好地掌握计算机网络C课程教学大纲要求的内容。 二 实验要求在计算机网络C的课程实验过程中,要求学生做到: (1)预习实验指导书有关部分,认真做好实验内容的准备,就实验可能出现的情况提前作出思考和分析,并形成实验预习报告,需要编写程序的实验

5、,提前做好实验的分析和设计工作。 (2)仔细观察上机和上网操作时出现的各种现象,记录主要情况,作出必要说明和分析。对实验中遇到的问题及对应的解决方案,要及时加以记录并写在实验报告上。(3)认真书写实验报告。实验报告包括实验目的和要求,实验情况及其分析。对需编程的实验,写出程序设计说明,给出主要源程序流程图和程序清单。 (4)遵守机房纪律,服从实验教师的安排和指挥,爱护实验设备,开关机时注意保护机器。 (5)实验课程不迟到,不早退。如有事不能出席,需要向实验教师请假,申请调换其他批次。 (6)根据学校规定,无故缺少任一次实验操作或者任一次的实验报告,实验总成绩记为0分。平时实验的验收将分为两个部

6、分。第一部分是上机操作,包括检查实验操作、程序运行和即时提问。第二部分是提交书面的实验报告。此外,针对以前教学中出现的问题,网络实验将采用阶段检查方式,每个实验都将应当在规定的时间内完成,过期视为未完成该实验,以避免期末集中检查产生的诸多不良问题,希望同学们抓紧时间,合理安排,认真完成。 三 实验地点计算机网络C课的实验地点安排视当次实验安排表。 实验一 网络服务器的配置与网络实用工具【实验目的】1、 掌握WINDOWS 系统的基本网络配置方法,并理解各种网络配置的含义;2、 学会灵活运用资源共享;3、 了解一些基本的、实用的网络工具及其应用;【实验要求】1、 了解一些有关IP地址、子网掩码、

7、DNS、网关等基础知识;2、 了解网络服务器、网络客户端、端口、代理、NAT、应用层协议方面的知识;【实验内容与步骤】一、Windows98/2000/2003系统网络配置1、网卡的配置首先应确保网卡已安装好。点击控制面板中“网络”项,检查是否安装了相应的网卡驱动程序,如果已装有相应类型的驱动程序,应进一步查看工作状态是否正常,如果不正常应将其删除。如果尚未安装好相应的网卡驱动程序,接下来进入控制面板中“系统”项,检查是否有已知或未知的并标记有黄色警告或红色错误的网络控制器(如网卡)并将其删除,然后重新刷新,按系统提示,重新安装网卡驱动程序。2、网络协议的配置TCP/IP协议为默认安装协议,安

8、装步骤如下:1) 打开控制面板中的“网络连接”;2) 找到“本地连接”图标,右键单击该图标,从弹出的快捷菜单中选择“属性”选项,打开“本地连接属性”对话框;3) 点击“安装”按钮,在弹出对话框中选择“协议”“添加”,安装TCP/IP协议;配置TCP/IP协议,给各主机设置相应的IP地址及相关协议部分:1) 同上述的(1)(2),打开“本地连接属性”对话框2) 选中“Internet协议(TCP/IP)”,点击“属性”按钮,打开“Internet协议(TCP/IP)属性”对话框; 3) 设置和主机对应的IP地址,子网掩码,网关。3、网络测试 使用ping命令向已知主机地址(如某台服务器)发icm

9、p协议包,若有正常回应则说明网络已配置成功(ping命令的使用见下面所述)。二、资源共享1、添加“文件与打印共享服务” 点击控制面板中“网络安装向导”项,检查是否已安装“文件与打印共享服务”,若没有,添加该服务。2、设置共享文件夹随意将某个或某几个文件夹(包括逻辑盘)设置成共享,共享名可以是普通的名字,也可以是“隐含式”的(最末一字符是$)。尝试设置各种安全权限(对特定用户)。4、访问共享资源 通过“网络邻居”,访问某台机(可以是自己的)的共享文件夹。也可以通过在IE的地址栏中输入:计算机名或IP地址共享名。也可以将某机的共享资源映射成一个网络盘,方法之一是:将鼠标的光标放置在“我的电脑”图标

10、上,键入右键,选择属性,选择一合适的驱动器盘符(未用过),在路径框内输入:计算机名或IP地址共享名 即可。三、实用网络工具与应用1、 网络连通测试 pingping是个使用频率极高的实用程序,用于确定本机主机是否能与另一台主机交换(发送与接收)数据报。根据返回的信息,可以推断TCP/IP参数是否设置正确以及运行是否正常。但是,成功地与另一台主机进行一次或两次数据报交换并不标识TCP/IP的配置就是正确的,必须执行大量的本地主机与远程主机的数据报交换,才能确信TCP/IP的正确性。(1)ping命令的常用参数类型 “ping IP t”表示连续对IP地址执行ping命令,直到被用户以“Ctrl

11、C”中断;“ping IP -l 2000”表示指定ping命令中的数据长度为2000字节,而非缺省值32;“ping IP -n”表示执行特定次数的ping命令。(2)常用ping的实例操作在运行窗口(开始运行菜单)输入“commmand” 命令或者点击“开始附件命令提示符”命令进入DOS模式。输入“ping ip -t”(具体的ip地址需要输入) ;系统将连续显示本机与所ping的IP地址之间的数据交换信息,如果显示“Request timed out”,则表明此主机与所ping的机器之间网络不通,需要检查网络线路并查看网络配置。2、查看网络配置 ipconfig网络出现问题时,线检查出现

12、问题的计算机上的TCP/IP配置,可以使用ipconfig命令获得主机配置信息,包括IP地址、子网掩码和默认网关。(1)最常用的选项 不带任何参数选项时,为每个已经配置了的接口显示IP地址、子网掩码和缺省网关值。 “ipconfig /all”当使用all选项时,ipconfig能为DNS和WINS服务器显示它已配置且要使用的附加信息(如IP地址等),并且显示内置于本地网卡中的物理地址(MAC)。(2)查询本机的IP地址信息在运行窗口(开始运行菜单)输入“commmand” 命令或者点击“开始附件命令提示符”命令进入DOS模式;输入“ipconfig” ;系统将显示本机的IP地址、子网掩码和网

13、关等信息。3、路由表修改 route大多数主机一般都驻留在一台路由器的网段上,因此不存在使用哪一台路由器将数据报发送到远程计算机上去的问题,该路由器的IP地址可作为该网段上的所有计算机的缺省网关来设置。但是,当网络上有两个或多个路由器时,不一定只依赖缺省网关,实际上可以让某些远程IP地址通过某个特定的路由器来传递,而其他的远程IP则通过另一个路由器来传递。这种情况下,需要相应的路由信息,这些信息储存在路由表中,每个主机和每个路由器都配有自己独一无二的路由表。大多数路由器使用专门的路由协议来交换和动态更新路由器之间的路由表。但有些情况下,必须人工将项目添加到路由器和主机上的路由表中。route就

14、是用来显示或人工添加、修改路由表项目的。(1)一般使用选项“route print”用于显示路由表中的当前项目;“route add”可以将新的路由项目添加给路由表;“route delete”可以从路由表中删除路由。(2)使用route指令进入DOS模式,输入“route”以及与其相关的参数,将显示路由表相关的各种信息。4、网络统计 netstatnetstat命令是一个监控TCP/IP网络的非常有用的工具,netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。(1)命令使用格式: netstat 选项 (2)常用选项及其含义 -a 显示所

15、有socket,包括正在监听的; -c 每隔1秒就重新显示一遍,直到用户中断它;-i 显示所有网络接口的信息,格式同“ifconfig -e”;-n 以网络IP地址代替名称,显示出网络连接情形; -r 显示核心路由表,格式同“route -e”;-s 显示每个协议的统计,默认情况下,显示 TCP、UDP、ICMP 和 IP 的统计;-t 显示TCP协议的连接情况。 -u 显示UDP协议的连接情况;5、路由追踪 tracert tracert命令可以用来跟踪数据包从你的计算机经过怎样的路由传送到目的地。跟踪的路径是源计算机到目的计算机的一条路径,但不能保证或认为数据包总遵循这一路径。tracer

16、t命令的使用很简单,只需要在命令后面跟一个IP地址或URL即可。tracert命令会进行相应的域名转换,它一般用来检测故障的出现位置。 (1)使用选项 tracert -d -h maximum_hops -j computer-list -w timeout target_name (2)选项的参数说明-d 指定不将地址解析为计算机名;-h maximum_hops 指定搜索目标的最大跃点数;-j computer-list 指定沿 computer-list 的稀疏源路由;-w timeout 每次应答等待 timeout 指定的微秒数;target_name 目标计算机的名称。【分析与思

17、考】1. IP地址与子网掩码的关系。2. 所显示的路由表的含义。实验二 FTP的创建与使用【实验目的】1、熟悉FTP协议,了解FTP服务器的概念及其功能;2、了解FTP服务器的建立方法以及使用FTP传送文件的方法;3、了解FTP服务器常见的问题与解决方法。【实验要求】1、 预习有关FTP协议的基础知识;2、 了解FTP的功能。【实验原理】 FTP是Internet的一个重要应用,其特点是在不同类型的计算机和操作系统之间传送文件。FTP的全称是File Transfer Protocol(文件传输协议),是专门用来传输文件的协议,而FTP服务器,则是在互联网上提供存储空间的计算机,它们依照FTP

18、协议提供服务。FTP有两个主要功能:第一:可以在两个完全不同的计算机,例如在装有UNIX大型机和个人计算机之间传送文件;第二:提供公共文件共享。FTP工作基于客户服务器模式,FTP服务器依照FTP协议提供服务,用户可以从服务器下载文件,也可以上传文件到FTP服务器。FTP服务器有两种登录方式:匿名登录和使用授权帐号、密码登录。 【实验内容与步骤】一、使用WINDOWS自带的IIS创建FTP服务器1、FTP服务器在Windows 系统下的IIS组件建立FTP服务器,安装的方法如下:Windows XP默认安装时不安装IIS组件,需要手工添加安装。进入控制面板,找到“添加/删除程序”,打开后选择“

19、添加/删除Windows组件”,在弹出的“Windows组件向导”窗口中,将“Internet信息服务(IIS)”项选中。在该选项前的“”背景色是灰色的,这是因为Windows XP默认并不安装FTP服务组件。再点击右下角的“详细信息”,在弹出的“Internet信息服务(IIS)”窗口中,找到“文件传输协议(FTP)服务”,选中后确定即可。安装完后需要重启。2、设置FTP服务器电脑重启后,FTP服务器即开始运行,但还要进行一些设置。点击“开始所有程序管理工具internet信息服务”,进入“internet信息服务”窗口后,找到“默认FTP站点”,右击鼠标,在弹出的右键菜单中选择“属性”。在

20、“属性”中,可以设置FTP服务器的名称、IP、端口、访问账户、FTP目录位置、用户进入FTP时接收到的消息等。1)FTP站点基本信息进入“FTP站点”选项卡,其中的“描述”选项为该FTP站点的名称;“IP地址”为服务器的IP,系统默认为“全部未分配”,一般不须改动;“tcp端口”一般设为默认的21端口;“连接”选项用来设置允许同时连接服务器的用户最大连接数;“连接超时”用来设置一个等待时间,如果连接到服务器的用户在线的时间超过等待时间而没有任何操作,服务器就会自动断开与该用户的连接。2)设置账户及其权限很多FTP站点都要求用户输入用户名和密码才能登录,这个用户名和密码就叫账户。不同用户可使用相

21、同的账户访问站点,同一个站点可设置多个账户,每个账户可拥有不同的权限,如有的可以上传和下载,而有的则只允许下载。3)安全设定进入“安全账户”选项卡,有“允许匿名连接”和“仅允许匿名连接”两项,默认为“允许匿名连接”,此时FTP服务器提供匿名登录。“仅允许匿名连接”是用来防止用户使用有管理权限的账户进行访问,选中后,即使是administrator(管理员)账号也不能登录,FTP只能通过服务器进行“本地访问”来管理。至于“FTP站点操作员”选项,是用来添加或删除本FTP服务器具有一定权限的账户。IIS与其他专业的FTP服务器软件不同,它基于Windows用户账号进行账户管理,本身并不能随意设定F

22、TP服务器允许访问的账户,要添加或删除允许访问的账户,必须先在操作系统自带的“管理工具”中的“计算机管理”中去设置Windows用户账号,然后再通过“安全账户”选项卡中的“FTP站点操作员”选项添加或删除。但对于Windows 2000和Windows XP专业版,系统并不提供“FTP站点操作员”账户添加与删除功能,只提供administrator一个管理账号。4)设置用户登录目录最后设置FTP主目录(即用户登录FTP后的初始位置),进入“主目录”选项卡,在“本地路径”中选择好FTP站点的根目录,并设置该目录的读取、写入、目录访问权限。“目录列表样式”中“unix”和“Msdos”的区别在于:

23、假设将G:FTP设为站点根目录,则当用户登录FTP后,前者会使主目录显示为“”,后者显示为“G:FTP”。设置完成后,FTP服务器就算真正建成了。如果前面IP地址为202.1.1.1,则用户使用FTP客户端软件(用来登录FTP服务器的上传/下载软件,如CuteFTP、FlashFXp等,如无特别说明,本文中所称Ftp客户端软件均以CuteFtp pro 2.0为例)时,主机处填202.1.1.1,端口填21,此服务器的地址表述为:FTP/202.1.1.1 3、FTP服务器的目录管理FTP的目录管理功能主要表现为:设置虚拟目录、读写权限设置。具体每类目录的含义和设置可以从网络上获取相关的资料。

24、我们就不再详细赘述。4、消息设置进入“默认FTP站点”属性中的“消息”选项卡,可以设置用户登录和退出服务器时在FTP客户端软件的状态窗口显示消息。其中,“标题”和“欢迎”将在用户登录时出现,“退出时”是当用户退出服务器时显示的告别信息。5、连接用户管理在“FTP站点”选项卡中可以简单地管理连接用户。“限制为”用来设置服务器允许同时连接的最大连接数,但如果不是windows2000服务器版,不仅“无限制”选项不可选,而且最大连接数不能超过10个。“连接超时”可以设置当连接用户空闲多少秒时会被服务器自动踢出,这可以有效防止用户浪费服务器最大连接数。点右下角的“当前会话”可以看到在线连接用户所用的账

25、户及当前状态,选择其中某个用户再点“断开”可以将该用户踢除出服务器。 IIS虽然安装简单,设置较简便,但功能不强,管理也比较麻烦,尤其是连新建一个基本的授权访问账户都要进行繁杂的设置,而且IIS本身的安全性也比较差,容易受到诸如“红色代码”等专门针对IIS漏洞进行攻击的病毒侵袭,因而很多人都喜欢使用第三方的FTP服务器软件来架设。二、使用Serv-U软件来创建FTP服务器 Serv-U即是我们说的第三方的FTP服务器架设软件,是一种被广泛运用的FTP服务器端软件,支持Windows系列的操作系统。安装简单,功能强大,可以用同一个IP设定多个FTP服务器、限定登录用户的权限、登录主目录及空间大小

26、、支持远程登录管理等,适合绝大部分个人自建FTP的需要。 1、Serv-U的安装Serv-U的安装比IIS还简单。先执行英文原版安装文件,按提示一路“next”即可。要注意的是,在选择安装目录时,最好选择安装在一个非系统盘里,以免将来系统发生异常时还要重新进行账号等的设置。然后执行汉化文件,选择原版安装目录,一路“下一步”即可完成安装。2、设置与IIS不同,Serv-U在第一次运行时会以向导的方式一步一步地提示用户进行设置,整个过程不超过五分钟,非常人性化。为了方便说明,先假设我们要架设一个固定IP为202.1.1.1,端口为21,根目录绝对路径为G:FTP,允许匿名访问和拥有一个用户名为gl

27、iet、密码为guet、管理账户名叫“MyFTP”的公网FTP服务器。运行Serv-U,弹出向导窗口,依次设置如下选项: 1)“您的IP地址”:这里填入202.1.1.1即可2)“域名”:就是该FTP站点的名称,这里填入“MyFTP”。3)“匿名账号”:决定该FTP站点是否允许匿名用户访问。4)“匿名主目录”:设置匿名用户登录站点后所处的目录位置。输入“G:FTP”。5)“锁定于主目录”:假设在“匿名主目录”中设置匿名用户登录后所处的目录位置为“G:FTPGuest”,那么,选择“是”后,当匿名用户登录FTP后,就被锁定在G:FTPGuest目录下,只能查看Guest目录里的内容,不能进入上级

28、目录“FTP”,同时该目录在FTP客户端软件中显示为“”,如果未被锁定,则会完整显示为“G:FTPGuest”。6)“命名的账号”:决定是否要创建有一定管理权限的账户。这里选“是”。7)“账号名称”:就是具有一定管理权限的账户登录名称。填入“gliet”。8)“账号密码”:设置账户的登录密码。输入“guet”。9)“主目录”:与“匿名主目录”一样,用来设置管理账户登录后所处的目录位置。输入“G:Ftp”。10)“锁定于主目录”:选择“是”。11)“管理员权限”:用来设置管理账户的管理权限级别。设置完成,地址为:FTP/202.1.1.1:21的FTP服务器就算架设成功了。可以用多种登录方式来登

29、录所架设的FTP。提示:以上这些设置并非最终设定,你还可以在Serv-U主界面中随时修改。3、用同一个IP架设多个FTP服务器如果带宽允许的话,你还可利用同一个IP轻松架设多个服务器。在Serv-U中,将“本地服务器”下“域”中的每个FTP服务器称为“域”,刚才创建的“MyFTP”服务器就是一个名叫“MyFTP”的域。要架设多个服务器,实际上就是创建多个拥有不同端口的域而已。右击“域”,选“新建域”,在弹出的向导中参照“MyFTP”进行设置,只是在端口处一定不要与已经创建的“域”的端口或被其他系统服务占用的端口冲突即可。如果填入22,则此服务器的地址就是:FTP/202.1.1.1:22。依此

30、而为,就可以架设多个FTP服务器了。4、ServU服务器的管理比起IIS来,ServU的管理功能强大得多,而且设置也很方便。需要特别注意的是每进行任何一次设置或改动,都要点击界面左上角工具条的“保存”按钮才能生效。Serv-U的服务器管理主要有以下几个方面,具体表现可从网络上获取相关信息:1)账户管理添加/删除单个账户、添加/删除组、设置账户的有效期、2)设置虚拟目录3)设置目录权限 文件操作权限、目录操作权限、子目录操作继承:父目录的访问规则自动应用到子目录上。4)消息设置登录/退出/更改目录的消息设置,会方便用户尤其是上传用户的访问,而且能使你的FTP看起来个性化和专业化。5)上传/下载速

31、率的设置6)编辑IP访问规则三、FTP客户端的使用FTP的访问方式主要分为两种,利用IE登录和利用专用软件登录。1、使用IE登录FTP;2、利用专用软件cuteftp登录FTP;3、利用专用软件flashfxp登录FTP;4、采用其它专用软件用FLASHGET等登录FTP。【分析与思考】1. 如何设置匿名访问FTP服务器。2. 如何设置目录的访问权限,并解释所设权限的含义。实验三 使用网络分析仪分析网络协议【实验目的】1、 通过用Sniffer截获TCP/IP数据包并加以分析,达到熟悉TCP/IP协议的目的。2、 通过对捕获的FTP数据包中所传输数据的分析,加深理解TCP/IP连接中三次握手(

32、Three-Way-Handshake)的协议实现。【实验要求】1、 熟悉ICMP协议、TCP/IP协议。2、 熟悉TCP/IP连接的三次握手过程。3、 阅读本实验的内容及操作步骤。【实验原理】1、TCP/IP的基本原理网络是分层的,每一层分别负责不同的通信功能。 TCP/IP通常被认为是一个四层协议系统,TCP/IP协议族是一组不同的协议组合在一起构成的协议族。尽管通常称该协议族为TCP/IP,但TCP和IP只是其中的两种协议而已,如表1所示。每一层负责不同的功能:表1 TCP/IP协议各层功能表分层的概念说起来非常简单,但在实际的应用中非常的重要,在进行网络设置和排除故障时对网络层次理解得

33、很透,将对工作有很大的帮助。例如:设置路由是网络层IP协议的事,要查找MAC地址是链路层ARP的事,常用的ping命令由ICMP协议来做的。图1显示了各层协议的关系,理解它们之间的关系对下面的协议分析非常重要。 图1 各层协议关系图数据发送时是自上而下,层层加码;数据接收时是自下而上,层层解码。 当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),该过程如图3所示。TCP传给IP的数据单元称作TCP报文段或简称为TCP段。I P传给网络接口层的数据单元称作IP数据报。 通过以太网传

34、输的比特流称作帧(Frame)。数据发送时是按照图2自上而下,层层加码;数据接收时是自下而上,层层解码。图2 数据传输过程图逻辑上通讯是在同级完成的 垂直方向的结构层次是当今普遍认可的数据处理的功能流程。每一层都有与其相邻层的接口。为了通信,两个系统必须在各层之间传递数据、指令、地址等信息,通信的逻辑流程与真正的数据流的不同。虽然通信流程垂直通过各层次,但每一层都在逻辑上能够直接与远程计算机系统的相应层直接通信。 从图3可以看出,通讯实际上是按垂直方向进行的,但在逻辑上通信是在同级进行的。图3 通讯过程示意图2、FTP数据包中TCP/IP协议的分析 IP头部分析 0 1 2 3 0 1 2 3

35、 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| IHL |Type of Service| Total Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification |Flags| Fragment Offset | +-+-+-+-+-+-+-+-+-+-+

36、-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time to Live | Protocol | Header Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

37、+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 图4 IP包头Version: 版本号,指出IP包的类型。对于IP V4包,这个域取二进制值4;IHL:包头长度,IP包头所包含的32位字的个数。由于IP包头的最小长度是20B(即5个32位的字),所以其最小值是5。这个最小值是5。这个域的值通常也是5,仅当包头包含IP选项(Options)时才不是。不过现在的Internet中很少使用选项。Type of

38、Service: 服务类型,就是通常所说的TOS域,如图2所示给出了详细说明。最前面的3位定义了包的优先权级别,这个级别决定了在网络满载或过载的情况下,应当处理那些包。其他3位定义了在这个优先权级别中对包的首选处理方法,剩下的2位保留以备将来使用。首选处理方法的定义使得路由器能以某种QoS需求来调度包的传送。TOS域是提供网络传输质量(QOS)的依据。然而许多交换设备将其忽略。 7 6 543210优先权DTR 位75:优先级 位4:0为常规延迟,1为低延迟 位3:0为常规吞吐量,1为高吞吐量 位2:0位常规可靠性,1为高可靠性图5 TOS域的说明Total Length:总长度,包含整个包(

39、包头、IP选项和数据)的长度。这个长度域限制包的最大长度为65535B。Identification:标识域,包含了包序列号信息。当一个包可以原封不动进行传送时,则忽略该域。如果一个包需要被分片传送时,标识域用来标志分片后的各个小分片,这样接收端才可以重新组装这些小分片。Flags:标志,总共有3位,如图3所示。DF和DM两个域是和标识域一同使用的,用于追踪包的分片。当设置不分片(Dont Fragment, DF)标志位时,就向任何路由器指明这个包不分片。而片未完(More Fragments,MF)标志被置位则表明该包属于一组特定的分片。当接收系统接收到所有的数据位MF被设置的包的分片并且

40、加上一个数据位DF未设置的分片之后,接收系统就可以将这些分片重组为一个包,并对该包进行处理。DFMF 最高位:保留,必须为0 第二位:(DF)0是可以分片,1是不分片 第三位:(MF)0是最后一片,1是指片未完 图6 分片域的详细内容Fragment Offset:分片偏移量,当IP包未被分片时该域指出第一个有效负载字节的位置。若包被分片,接收系统把分片偏移量域的值乘以8,就可以重组后的包定位位偏移量(byte offset)的值。对于任何一个分片,数据部分的字节总数加上分片偏移量之和不应当超过65535B。Time to Live:存活时间,这个域最初被设置为一个包可以经过的路由器的最大个数

41、。包每经过一个路由器,这个域的值减去1。当一个发现它将传送的包的TTL的值为0,那么这个路由器将丢弃这个包并且产生一个类型值为11(超时),码值为ICMP包。TTL值的最初含义指的是时钟时间,但是现在指的是一个包可以经过的路由器的最大个数。Protocol:协议,协议域给出IP包的数据部分所包含的更高层网络协议的标志。例如,如果有效负载包含一个ICMP包,这个域的值就是1;如果包含一个TCP包,这个域的值是6;如果包含一个UDP包,这个域的值就是17。RFC 1700列举了IP包头部的这个域的所有可能的取值。Header Checksum:头检验和,这个域的值是整个IP头部(但不是有效负载的)

42、的检验和。当一个IP协议处理程序从一个设备驱动程序那里接收到一个包是,它可以利用这个校验和来确定IP头部是否有错误,但检验和并不检验有效负载。这个任务留给了有效负载的那些协议(如TCP和UDP)。Source Address:源地址,包含包的发送者的IP地址。Destination Address:目的地址,包含包的接收者的IP地址。假定IP头部:45 00 00 30 52 52 40 00 80 06 2c 23 c0 a8 01 01 d8 03 e2 15第一个8字节:“4”是IP协议地版本(Version),说明是IP4。“5”表示IP头部的长度,最大长度为60字节。 “00”是服务

43、类型(Type of Service)。这个8bit字段由3bit的优先权子字段(选择已经被忽略),4bit的TOS子字段以及1bit的未用字段(选择为0)构成。4bit的TOS子字段包含:最小延时、最大吞吐量、最高可靠性以及最小费用构成。这四个1bit位最多只能有一个为1,本例都为0,表示是一般服务。接着的两个字节“00 30”是IP数据报文总长。该48字节由20字节的IP头部以及28字节的TCP头构成(省去8字节的TCP头部可选部分)。第二个8字节:两个字节的标志位(Identification):“52 52”,提供给目的主机判断新来的分段属于哪个分组。下一个字节“40”,转换为二进制就

44、是“0100 0000”,其中第一位是IP协议目前没有用上的,为0。接着的是两个标志DF和MF。DF为1表示不要分段,MF为1表示还有进一步的分段(本例为0)。然后的“0 0000”是分段偏移(Fragment Offset)。第三个8字节:“80”代表TTL(Time To Live)。 “06”表示传输层的协议类型(Protocol)。RFC790中定义6表示传输层使用TCP协议。“2c 23”是头校验和(Header Checksum)。第四个8字节:“c0 a8 01 01”表示源IP地址。 第五个8字节:“d8 03 e2 15”表示目标IP地址。 TCP头部分析 图7 TCP包头端口号:常说FTP占21端口、HTTP占80端口、TELNET占23端口等,这里指的端口就是TCP或UDP的端口,端口就像通道两端的门一样,当两机进行通讯时门必须是打开的。源端口和目的端口各占16位,2的16次方等于65536,这就是每台电脑与其它电脑联系所能开的“门”。一般作为服务一方每项服务的端口号是固定的。Windows察看端口的命令时netstat。32位序号:也称为顺序号(Sequence Number),简写为SEQ,从上面三次握手的分析可以看出,当一方要与另一方联系时就发送一个初始序号给对方,意思是:“让我们建立联系吧?”,服务方收到后要发

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁