哈工大计算机网络实验报告之五资料 下载本文

计算机网络课程实验报告

实验5:利用Ethereal分析TCP、UDP、ICMP协议

姓名 杨煜 李全龙 软件学院三楼机房 出勤、表现得分(10) 操作结果得分(50) 院系 软件学院 指导教师 实验时间 实验报告 得分(40) 学号 董福亮 2013年5月28日 实验总分 1113710319 任课教师 实验地点 实验课表现 实验目的: 使用Ethereal工具,抓取数据包,分析TCP、UDP和ICMP协议的相关特点。 实验内容: ? 继续学习Ethereal的使用; ? 利用Ethereal分析TCP、UDP和ICMP协议。 实验要求:(学生对预习要求的回答)(10分) ? TCP协议采用了哪些机制保证可靠数据传输。(3分) 数据重传和数据确认应答机制 ? Traceroute的工作过程,用自己的话来描述,200字以内,超过酌情扣分。(4分) 构造数据包,来检查到达一个主机时经过了哪些路由。主机发送给目的地址的数据包的TTL是从1逐个递增的,而数据包每到达一个路由器,它的TTL值就会减1,当TTL减到0时,该数据包被取消,传回一个数据包给主机,我们就能捕获这个路由器的IP地址了。如果收到\超时错\,表示刚刚到达的是路由器,而如果收到的是\端口不可达\错误,表示刚刚到达的就是目的主机,路由跟踪完成,程序结束。 ? 阐述一下为什么应用程序开发者会选择将应用程序运行在UDP而不是TCP之上?(3分) UDP没有拥塞控制机制,发送方可以以任何速率向下层注入数据。很多实时应用是可以容忍一定的数据丢失的,同时又对速率有很高要求(比如在线视频播放),这时开发者会倾向选择UDP协议,避免使用TCP协议的拥塞控制机制产生的分组开销。 得分: 实验过程: 使用Ethereal分析TCP协议: (15分) 得分: 抓取本机与http://gaia.cs.umass.edu/ethereal-labs/alice.txt通信过程中的网络数据包。根据操作思考以下问题: ? 客户服务器之间用于初始化TCP连接的TCP SYN报文段的序号(sequence number)是多少?在该报文段中,是用什么来标示该报文段是SYN报文段的? Seq=0 Flags中的syn位为1,ack位为0,说明是syn报文段 ? 服务器向客户端发送的SYNACK报文段序号是多少?该报文段中,Acknowledgement字段的值是多少?Gaia.cs.umass.edu服务器是如何决定此值的?在该报文段中,是用什么来标示该报文段是SYNACK报文段的? Seq=0 Ack=1,服务器根据客户端发送的SYN报文的Seq值加一后得到此值 Flags中的Ack和Syn位都为1,所以是SYNACK报文 ? 如果将包含HTTP POST命令的TCP报文段看作是TCP连接上的第一个报文段,那么该TCP连接上客户机向服务器发送的第六个报文段的序号是多少?是何时发送的?该报文段所对应的ACK是何时接收的? 第六个报文段: 对应的ack报文段: 23号报文时第六个报文,seq=6310,发送时间:Jun 1,2013 13:32:56.587941000 对应的ack报文段接收时间Jun 1,2013 13:32:56.993379000 ? 前六个TCP报文段的长度各是多少?在整个文件发送过程中,接受方公示的窗口大小是否变化?窗口大小代表什么含义?(可参考教科书“流量控制”一节)