UDP与TCP协议.docx
《UDP与TCP协议.docx》由会员分享,可在线阅读,更多相关《UDP与TCP协议.docx(10页珍藏版)》请在冰豆网上搜索。
UDP与TCP协议
计算机与通信工程学院实验报告
课程名称
计算机网络
专业班级
通信1102
姓名
学号
时间:
2013.12.03
地点:
计通学院304机房
实验名称:
UDP与TCP协议
实验前任务
实验目的:
1、掌握HTTP协议的使用;
2、了解HTTP协议的实现方式
3、掌握TCP协议的工作原理;
4、理解TCP协议的通信过程。
实验设备(环境):
Windows2000或XP
网络协议分析器
协议仿真编辑器等
实验原理:
1、HTTP协议
HTTP报文共有两种通用类型:
请求报文,响应报文。
(1)请求报文
请求报文包括请求行、首部,以及有时出现的主体。
如图1:
图1HTTP请求报文
请求行:
包括请求类型、空格、URL、空格以及HTTP版本。
请求行的格式如下:
图2请求行格式
请求类型:
此字段定义了几种不同方法的报文。
常用的几种方法:
①GET:
客户要从服务器读取文档时使用。
②HEAD:
客户想得到关于文档的某些信息,但并不是要这个文档时使用。
③POST:
当客户要给服务器提供某些信息时使用。
④PUT:
当客户将新的或更换的文档存储在服务器上时使用。
⑤COPY:
当需要将文件复制到另一个位置时使用。
⑥MOVE:
当需要将文件移到另一个位置时使用。
⑦DELETE:
当需要将服务器上的文档移走时使用。
⑧LINK:
当需要创建从一个文档到另一个位置的链接时使用。
⑨UNLINK:
当需要删除由LINK方法创建的链接时使用。
⑩OPTION:
当客户向服务器询问到一些可用的选项时使用。
统一资源定位符(URL):
有4个要素:
方法、主机、端口、路径
图3URL示意图
①方法:
用来读取文档的协议。
②主机:
放置信息的计算机。
③端口:
服务器的端口号,可选。
④路径:
放置文件的路径名。
(2)响应报文
响应报文包括状态行、首部、有时包括主体。
图4HTTP响应报文示意图
状态行:
包括HTTP版本、空格、状态码、空格、状态短语。
图5HTTP响应报文状态行
状态码:
100系列:
提供信息的;
200系列:
指示成功的请求;
300系列:
把客户重定向到另一个URL;
400系列:
指示客户端差错;
500系列:
指示服务器端差错。
状态短语:
用来解释状态码。
实验内容及过程(步骤):
一、实验内容
1、学习HTTP协议的格式和与TCP协议的关系
2、了解HTTP协议的通信过程;
3、理解HTTP协议的无连接、无状态特性。
二、过程(步骤):
练习一:
使用TCP连接客户端工具,发送HTTP数据;
实验步骤如下:
1、首先要选择一个WWW服务器,建立一个TCP连接:
⑴选择一个WWW服务器,比如192.168.1.100;
⑵打开TCP连接客户端,填写所选择的WWW服务器的IP地址及端口号80;
2、编辑并发送HTTP数据
⑴在发送窗口编辑发送数据信息,如:
GET/HTTP/1.0(或GET/HTTP/1.1);注意“/”前后的空格;
⑵点击“起动”,从而建立与WWW服务器的TCP连接。
HTTP连接成功时“停止”按钮变为有效;若不成功,再次尝试进行连接或换其他服务器。
⑶点击鼠标,使光标在GET/HTTP/1.0尾,回车(2次);点击“发送”,若成功,服务器会返回信息,见图6。
否则,点击“停止”,重新进行⑵、⑶步;
(注意:
发送HTTP的数据包含回车符,点击“启动”和“发送”的连贯性)。
图6HTTP服务器对请求的回应
⑷在监控机一端截获相应的报文并分析;
⑸观察TCP连接客户端的接收信息窗口中返回的信息,如果没有返回正确信息,可能是连接时间太长了,按“停止”,再按“启动”,置光标于发送窗口的第二行,重新“发送”;
⑹继续发送其他数据,如:
HEAD/HTTP/1.0或HEAD/HTTP/1.1,是否可以发送成功?
为什么?
由此理解HTTP的无连接性、无状态特性。
若要继续发送必须重新建立连接。
练习二:
使用TCP连接客户端工具,测试HTTP的连接、断开过程;
测试HTTP的连接、断开连接的过程,可以帮助我们更好的理解HTTP的无连接性,无状态性。
同时,了解HTTP的TCP连接过程。
1、选择一个WWW服务器,比如1192.168.1.100;确定它的IP地址,
⑴启动TCP连接客户端工具,填写IP地址和80端口号。
⑵点击“启动”建立连接;
⑶在监控机一端截获相应的报文及应答报文;
⑷完成下面的填空:
客户端WWW服务器
Port()SYN=(),ACK=(),PSH=(),FIN=()Port()
SEQ=(),ACKSEQ=(0)
SYN=(),ACK=(),PSH=(),FIN=()TCP连接建立阶段
SEQ=(),ACKSEQ=()
SYN=(),ACK=(),PSH=(),FIN=()
SEQ=(),ACKSEQ=()
2、发送HTTP数据
⑴在发送窗口编辑欲发送的数据信息,如:
GET/HTTP/1.0;回车2次;
⑵点击“发送”按扭,即完成上述数据信息的发送;
⑶观察TCP连接客户端的接收信息窗口中返回的信息;如果不成功,从新启动连接并发送。
⑷完成下面的填空:
客户端WWW服务器
Port()SYN=
(1),ACK=(),PSH=(),FIN=()Port()
SEQ=(),ACKSEQ=()
SYN=(),ACK=(),PSH=(),FIN=()
SEQ=(),ACKSEQ=()
SYN=(),ACK=(),PSH=(),FIN=()TCP数据传输阶段
SEQ=(),ACKSEQ=()
SYN=(),ACK=(),PSH=(),FIN=()
SEQ=(),ACKSEQ=()
SYN=(),ACK=(),PSH=(),FIN=()
SEQ=(),ACKSEQ=()
SYN=(),ACK=(),PSH=(),FIN=()
SEQ=(),ACKSEQ=()
SYN=(,ACK=(),PSH=(),FIN=()
SEQ=(),ACKSEQ=()
3、主动断开连接
⑴点击TCP连接客户端上的“停止”按扭,即可断开与服务器端的连接;
⑵在监控机一端截获报文,分析TCP断开连接的过程。
⑶完成下面的填空:
客户端WWW服务器
Port()SYN=(),ACK=(),PSH=(),FIN=()Port()
SEQ=(),ACKSEQ=()
SYN=(),ACK=(),PSH=(),FIN=()TCP连接建立阶段
SEQ=(),ACKSEQ=()
SYN=(),ACK=(),PSH=(),FIN=()
SEQ=(),ACKSEQ=()
实验中任务
实验结果:
练习一:
使用TCP连接客户端工具,发送HTTP数据;
练习二:
使用TCP连接客户端工具,测试HTTP的连接、断开过程
选择一个WWW服务器192.168.5.254;,
⑴启动TCP连接客户端工具,填写IP地址和80端口号
客户端WWW服务器
Port(1124)SYN=
(1),ACK=(0),PSH=(0),FIN=(0)Port(80)
SEQ=(2581329415),ACKSEQ=(0)
SYN=
(1),ACK=
(1),PSH=(0),FIN=(0)TCP连接建立阶段
SEQ=(1959317863),ACKSEQ=(2581329416)
SYN=(0),ACK=
(1),PSH=(0),FIN=(0)
SEQ=(2581329416),ACKSEQ=(1959317864)
2、发送HTTP数据
客户端WWW服务器
Port(1133)SYN=
(1),ACK=(0),PSH=(0),FIN=(0)Port(80)
SEQ=(3721558212),ACKSEQ=(0)
SYN=
(1),ACK=
(1),PSH=(0),FIN=(0)
SEQ=(3062941989),ACKSEQ=(3721558213)
SYN=(0),ACK=
(1),PSH=(0),FIN=(0)TCP数据传输阶段
SEQ=(3721558213),ACKSEQ=(3062941990)
SYN=(0),ACK=
(1),PSH=(0),FIN=(0)
SEQ=(3721558213),ACKSEQ=(3062941990)
SYN=(0),ACK=
(1),PSH=(0),FIN=(0)
SEQ=(3062941990),ACKSEQ=(3721558234)
SYN=(0),ACK=
(1),PSH=
(1),FIN=(0)
SEQ=(3062941990),ACKSEQ=(3721558234)
SYN=(0),ACK=
(1),PSH=(0),FIN=
(1)
SEQ=(3062942265),ACKSEQ=(3721558234)
3、主动断开连接
客户端WWW服务器
Port()SYN=(),ACK=(),PSH=(),FIN=()Port()
SEQ=(),ACKSEQ=()
SYN=(),ACK=(),PSH=(),FIN=()TCP连接建立阶段
SEQ=(),ACKSEQ=()
SYN=(),ACK=(),PSH=(),FIN=()
SEQ=(),ACKSEQ=()
实验后任务
思考题:
1、当仿真机上同时打开多个浏览器窗口并访问同一WEB站点的不同页面时,系统是根据什么把返回的页面正确地显示到相应窗口的?
2、一个主页是否只有一个连接?
3、为什么HTTP不保持与客户端的TCP连接?
4、说明HTTP协议的应用,结合实验说明HTTP协议的无连接、无状态特性。
实验总结:
UDP是面向非连接的协议,发送端与接收端在传输数据包之前不建立连接,而只是简单地把数据包发送到网络上,或者从网络上接收数据包。
UDP提供不可靠的数据传输服务。
TCP协议是面向连接的、端到端的可靠传输协议,它支持多种网络应用程序。
TCP必须解决可靠性,流量控制的问题,能够为上层应用程序提供多个接口,同时为多个应用程序提供数据,TCP也必须能够解决通信安全性的问题。
成绩评定
实验前任务(60%)
实验中任务(30%)
实验后任务(10%)
总分
成绩评定标准:
90分以上:
出色地完成所有实验内容,报告格式,图表规范,书写工整,实验数据准确,结论正确。
态度认真。
80--90分:
良好地完成所有实验内容,报告格式,图表规范,书写欠工整,实验数据准确,结论正确,态度认真。
70--80分:
较好地完成所有实验内容,报告格式,图表欠规范,书写不工整,实验数据基本准确,结论正确,态度认真。
60--70分:
能完成所有实验内容,报告格式,图表不规范,书写不工整,实验数据基本准确,结论不够清晰,态度欠认真。
60分以下:
没有完成实验内容,报告格式,图表不规范,书写不工整,实验数据欠准确,结论不清晰,态度不认真。
指导教师签名:
年月日