西安交通大学 计算机 网络原理实验报告

发布时间:2014-10-15 17:34:04

计算机网络原理课内实验

专业班级 计算机15

学生姓名 高君宇

2110505112

提交日期 201468

Email 309852008@qq.com

实验一 基于Boson Netsim软件的路由器配置实验

一、实验目的

1掌握路由器等设备的配置,掌握简单的组网技术。

2)了解路由器、交换机等网络常用设备的配置方法;

3)掌握CLI方式(命令行)下IOS命令的使用;

4掌握静态路由和动态路由(RIPOSPF)的配置方法。

二、实验内容

本实验要求学生自行构建一个网络拓扑,要求包括3个以上路由器,用于连接两个以太网,每个以太网至少包括1台主机;完成路由器、主机等设备的配置;使用RIPOSPF来维护路由器的路由表。

三、实验步骤

步骤一:首先连接拓扑图,两个主机通过三个路由器实现连接。

步骤二:配置各个路由器的名称,端口IP地址,子网掩码,封装格式及时钟频率。

步骤三:配置各个主机的IP地址,子网掩码,以及与其相连的路由器端口地址。

步骤四:配置RIP协议,实现路由选择及IP分组转发。

四、实验过程及结果

Router1

Router2

Router3

PC1

PC2



结果:

配置静态路由:

R1

R2

R3

配置动态路由

R1:

R2:

R3:

五、实验分析

1)命令

Configure terminal:特权模式进入全局配置模式;

Hostname router:配置路由器名称命令;

Encapsulation hdlc:封装帧(3种串行接口帧封装格式,HDLC是默认的封装格式;

Clock rate:设置时钟频率;

No shutdown:激活接口(在执行激活命令后,接口状态刚开始还是up状态,又变成down状态了,之所以出现这种现象,是因为还没有配置另一端接口,它还处于非活动状态,还不能接收来自于现在这个接口的任何信息)

Ping:因特网包探测器,用于测试网络连接量的程序。

2)结果分析

Ping命令会发送一个ICMP回声请求消息给目的地并报告是否收到所希望的

ICMP回声应答;一般的,连续发送432字节的ICMP请求包,而此实验中发

送了5个,收到了5个;根据是否收到回声应答以及回声响应时间来判断网络的连通性。

Time:响应时间,值越小,说明连接这个地址速度越快

TTL:生存期,即路由跳数

六、实验心得

通过这次实验,我对于路由器的配置过程有了更深地了解,同时也对网络连接的基本原理有了实际化地体验,以前只是在书本上看到局域网之间,广域网之间连接通过网桥,路由器等,但具体的实施只靠图片及想象,而这次实验让我亲身实践了解,我相信会有更深地认识的。

实验二 利用分组嗅探器(ethereal)分析协议HTTP

一、 实验目的

利用ethereal软件分析HTTP及其下层协议(TCP协议、IP协议等),了解网络中数据封装的概念,并掌握HTTPTCP协议的工作过程。

1)掌握计算机网络中数据封装的概念;

2)掌握HTTP协议的基本原理及数据包格式;

3)掌握TCP协议的连接建立、数据传输、连接释放的过程;

4)掌握IP协议的基本原理和IP分组的格式。

二、实验内容

本实验要求学生从ethereal截获的报文中提取并分析HTTP请求报文和HTTP应答报文;综合分析截获的报文,概括HTTP协议的工作过程;从截获报文中选择TCP建立连接和释放连接的报文,分析各个字段的值并概括TCP协议的工作过程;从截获报文中分析IP协议的工作过程和IP分组的格式。

三、 实验结果与分析

分析:

实验中第5行中IP115.154.86.61的客户端向域名为up.ijinshan.com发送请求建立TCP连接,序列号为0,长度为0,最大分段大小为1460

6行中up.ijinshan.com115.154.86.61发送响应,序列号为0,下一个期待的号为1(表示序列号为0的序列已收到),窗口大小为5840,最大分段大小为1460

7行中客户端向服务端发送了一个确认,序列号为1,下一个期待的号为1,窗口大小为64240,长度为0

此时通过三次握手协议连接已经建立。

8行中http客户端发送http请求报文以便进入TCP连接插口,使用永久连接;

9行中服务端向客户端发送一个确认,序列号为1,下一个期待的号为195,窗口大小为6432,长度为0

10行中服务端又向客户端发送一个响应的http报文,表示收到请求报文;

23行中客户端又向服务端发送http请求报文,分析原因是可能服务端发送的响应http报文丢失;

25服务端又向客户端发送一个响应的http报文

26行客户端发送响应报文,序列号为393,期待下一个序列号为1225,此时窗口大小为63016,长度为0

5行的IP报文分析:

源地址:115.154.86.61

目的地址(域名):114.112.68.214up.ijinshan.com

版本号:4

报头长度:20个字节

服务类型域:0x00

总长度:48

标识域:0x224f8783

分段标志:DF=0x04,即不允许分段

段偏移量:0

生存期:64

协议域:TCP

头校验和:0x0000

源地址:115.154.86.61

目的地址:114.112.68.214

TCP:源端口——52101;目的端口——http80

分析http协议工作过程:

(1) 浏览器分析超链指向页面的URL

(2) 浏览器向 DNS 请求解析 http://www.xjtu.edu.cn IP 地址。

(3) 域名系统 DNS 解析出西安交通大学校园网主页服务器的 IP 地址。

(4) 浏览器与服务器建立 TCP 连接(三次握手建立连接)。

(5)浏览器发出取文件命令。

(6) 服务器 给出响应,把文件 index.htm 发给浏览器。

(7) TCP 连接释放。

(8) 浏览器显示“http://www.xjtu.edu.cn”首页。

此次建立连接端口号为1252,第一行是本机向xjtu网站发送建立连接请求,第二行是xjtu网站收到请求,发送报文,并向本机发送了下一次希望接收报文的序列号是ACK+1,第三行是本机相xjtu网站发送的确认信号。这就是建立连接的TCP“三次握手协议”。

释放连接时,需要有四次释放确认,双方各两次向彼此发送两次确认释放连接信号,图中表明首先本机向对方网站发送释放连接请求报文;接下来对方网站接受到该请求,响应请求并通知相应的应用程序,对方要求关闭连接,然后应用程序只是TCP进程彻底关闭这个连接,于是TCP进程向本机发送第二个报文段;接下来本机向对方网站发送最后一个确认报文段,自己最终也断开连接,自此,连接成功释放。

实验中遇到的问题及解决办法:

1 实验中遇到的问题:在实验之前一直会出现,软件安装不正确的警告。

解决办法:安装正确版本的winpcap

四、 实验心得

通过此次实验,我明白了HTTP协议的基本原理及TCP的连接建立,数据传输,连接释放的过程,对于网络信息传输有了更深的了解。

试验中遗憾的是没有截获到释放连接的报文(开始时没有看见,等到所有的已做完时发现没有释放的报文),可能是因为发送时间超时报文出错,最终自动释放链接的原因。

实验三 基于Socket的网络编程实验

一、实验目的

(1) 了解FTP协议的工作原理,掌握基于socket的网络编程的基本原理。

(2) 掌握基于socket网络编程的基本知识;

(3) 掌握FTP客户端和服务器端数据交换的方式和数据包格式。

二、实验内容

本实验要求学生基于Socket网络编程技术实现FTP客户端,能完成对FTP服务器的访问,并可执行上传和下载操作。

三、源代码分析

我是使用java语言编写的,代码的大致结构如下:

1:字节流结构:

每次发送121024个字节

其中,前七个字节字节表示命令

第七到第十二个字节表示后面1024字节中的有效字节的长度

例如一帧中前12个字节的内容为"UPFILEN00012"表示要上传文件名,文件名的长度是12。那么程序就在后面的1024个字节中去12个字节,在把它转换为字符串,作为要上传的文件名。

2:命令结构

Server端:

DISCONN:断开连接

LSFILES:发送当前目录文件列表

ENDFILE:上传一个文件的结束标记

UPFILEN:表示要上传一个新的文件,并且此包中包含了文件名

UPDATAS:表示本包是要上传的数据

DNFILEN:表示要下载的文件名,服务器要执行向客户端传输文件的操作

Client端:

DISCONN:断开连接

LSFILES:接收服务器当前目录文件列表

ENDFILE:下载一个文件的结束标记

DNDATAS:表示本包是要下载的数据

3:文件结构

FtpServer:ftp软件的服务器端,目前在端口2121监听,支持多线程,文件的上传,下载,列表。

FtpClient:ftp软件的客户端,默认连接本机的服务器端,在端口2121,支持文件的上传,下载,列表。

FtpClientUI:ftp软件的客户端的用户界面,完全采用Swing技术,手工编写,没有用JB自动生成。

PublicFunc:提供一些公共的静态方法例如将给定的String对象分装成要发送的帧。将数字格式化成长度为五位的String类型对象。

package cn.edu.bit.software.ftptrans;

四、实验结果

字符界面:

UI初始化界面:

soket实现上传功能:

Soket实现下载功能:

、实验心得

本次实验中,我在网上查阅了很多资料,并参考了网络上的一些源码,进行了一些修改。懂得其中的基本流程,例如建立请求连接时,首先得建立启动套接字,根据其响应开始建立连接,要发送IP地址与端口号才能建立此控制连接(socket端口号为21)。我也掌握基于socket网络编程的基本知识,掌握FTP客户端和服务器端数据交换的方式和数据包格式。在使用socket编程的时候,学习到了不少socekt的相关知识,特别是其中和网络相关的众多函数和结构体。

这次实验让我对socket网络编程的基本原理有了更深刻地了解,明白平时在ftp下载文件的内部过程,让我对网络原理这门课又有了进一步认识,希望以后能了解更多。

六、源代码

由于源代码比较多,我这里只给出源代码的部分截图:

FtpClient类:

FtpClientUI类:

FtpServer类:

PublicFunc类:

西安交通大学 计算机 网络原理实验报告

相关推荐