计网实验3

计网实验3
计网实验3

实验三、套接字编程

1.实验目的:

两人一组,编写一个客户端、服务器程序,掌握Socket编程原理。

2.实验环境:

连入局域网络的主机一台。

3.实验指导:

Socket API是实现进程间通信的一种编程设施,也是一种为进程间提供底层抽象的机制。理解socket编程模型及其原理。

4.实验分析,回答下列问题。

a.运行指导书中的程序,并修改服务器的功能,改写成可实现更多交互功能的网络程序,附上源代码,并加关键代码注释。

b.给出程序调试和运行的截图。

服务器程序代码:

#include "stdafx.h"

#include

#include

#include

#include

#pragma comment(lib,"ws2_32.lib")

#define MYPORT 5000 /*定义用户连接端口*/

#define BACKLOG 10 /*多少等待连接控制*/

#define SERVER_IP_ADDR "113.55.52.90" /*服务器的IP地址*/

int _tmain(int argc, _TCHAR* argv[])

{SOCKET sock, msgsock;

int length = 0;

struct sockaddr_in server;

struct sockaddr tcpaddr;

char buf[1024] = "";

char bufmsg[]="";

int rval= 0, len= 0, err = 0;

int j=0;

WORD wVersionRequested;

WSADATA wsaData;

/*指定socket版本,否则创建socket失败,即使创建socket返回值不为-1,但是bind时会失败*/

wVersionRequested = MAKEWORD( 2, 2 );

err = WSAStartup( wVersionRequested, &wsaData );

if ( err != 0 )

return -1;

/* 建立套接字*/

sock = socket(AF_INET, SOCK_STREAM, 0);

if (sock < 0)

{

perror("opening stream socket");

exit(1);

}

/* 使用任意端口命名套接字*/

server.sin_family = AF_INET;

server.sin_port = htons(MYPORT);

server.sin_addr.s_addr = inet_addr(SERVER_IP_ADDR);

memset(server.sin_zero, 0, sizeof(server.sin_zero));

//将服务器地址与socket绑定在一起

rval = bind(sock, (struct sockaddr *)&server, sizeof(server));

if (rval < 0)

{

perror("binding stream socket");

exit(1);

}

// 找出指定的端口号并打印出来

length = sizeof(server);

if (getsockname(sock, (struct sockaddr *)&server, &length) < 0)

{

perror("getting socket name");

exit(1);

}

printf("socket port #%d\n", ntohs(server.sin_port));

printf("服务器端本实验由!\n");

printf("--------服务器端--------\n");

// 开始接收连接,最大请求数为

listen(sock, 5);

len = sizeof(struct sockaddr);

do

{ msgsock = accept(sock, (struct sockaddr *)&tcpaddr, (int *)&len); if (msgsock == -1)

perror("accept");

else

{ for(int i=0;i<100;i++)

{ memset(buf, 0, sizeof(buf));

if ( (rval = recv(msgsock, buf, sizeof(buf),0) < 0))

{

perror("客户端已经断开");

}

if (rval == 0)

printf("客户端输入:%s", buf);

if(buf[0]=='.')

{

printf("客户端已经断开连接");

system("cls");

printf("socket port #%d\n", ntohs(server.sin_port));

break;

}

memset(bufmsg,0,1024);

printf("服务器接收:");

while((bufmsg[j]=getchar())!='\n')

{j=j+1;}

j=0;//控制接收可以避免一句话因为空格号而分成两句话服务器输入

printf("\n");

if(bufmsg[0]=='.')//通过判断输入句子的首字符是否为“.”来结束服务器关闭端口终止输入

{break; closesocket(msgsock); }

send( msgsock ,bufmsg,strlen(bufmsg)+1,0);

}

}

closesocket(msgsock);

} while (TRUE);

/* 因为这个程序已经有了一个几乎的无限循环,所以套接字"sock"几乎不显式关闭。然而,当控制服务器终止或进程被杀死和正常终止时,所有套接字都将自动地被关闭。*/ closesocket(msgsock);

return 0;

}

客户端代码

#include "stdafx.h"

#include

#include

#include

#include

#include

#include

#pragma comment(lib,"ws2_32.lib")

#define PORT 5000 /* 客户机连接远程主机的端口*/

#define MAXDATASIZE 100 /* 每次可以接收的最大字节*/

int _tmain(int argc, _TCHAR* argv[])

{

WORD wVersionRequested;

WSADATA wsaData;

int err = 0 ,rval = 0 ,a;

SOCKET fd;

struct sockaddr_in servaddr;

struct hostent* hp;

char buf[1024] = "";

char buf_recv[1024]="""";

int j=0;//用于接受服务器发送的信息

wVersionRequested = MAKEWORD( 2, 2 );

err = WSAStartup( wVersionRequested, &wsaData );

if ( err != 0 )

return -1;

if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0)

{

printf("Can not create socket!");

exit(2);

}

servaddr.sin_family = AF_INET;

servaddr.sin_port = htons(PORT);

servaddr.sin_addr.S_un.S_addr=inet_addr("113.55.52.90");

memset(servaddr.sin_zero, 0, sizeof(servaddr.sin_zero));

//和服务器创建连接

rval = connect(fd, (sockaddr*)&servaddr, sizeof(servaddr));

if (rval < 0)

{//创建连接失败

printf("Can not create connect!");

exit(3);

}

else

{

printf("链接成功\n");

printf("--------客户端--------\n");

memset(buf, 0, 1024);

printf("客户端输入:");

while((buf[j]=getchar())!='\n')

{ j=j+1;}

j=0;

while(buf[0]!='.')//通过判断输入句子的首字符是否为“.”来结束服务器关闭端口终止输入

{//向服务器发送信息

rval = send(fd, buf, strlen(buf) + 1,0);

if(rval < 0)

printf("书写错误");

if((rval=recv(fd,buf,sizeof(buf),0)<0))

{

perror("服务器已断开:");

break;

}

if(rval==0)

printf("服务器接收:%s",buf);

puts(buf_recv);

printf("客户端输入:");

while((buf[j]=getchar())!='\n')//控制接收可以避免一句话因为空格号而分成两句话客户端输入

j=j+1;

j=0;

}

buf[0]='.';

rval = send(fd, buf, strlen(buf) + 1,0);

}

closesocket(fd);

exit(5);

return 0;

}

给出程序调试和运行的截图

c.回答下列问题:

(1)为什么在服务器和客户端要包含winsock2.h文件?

因为winsock2.h是在C/C++下进行网络SOCKET编程使用的各类函数的头文件,提供自带的函数库。缺少该头文件,程序将无法识别一些特定的标示符及特别socket编程函数名。

(2)为什么在服务器和客户端程序中要加入#pragma comment(lib,"ws2_32.lib") 语句,如果不加会出现什么问题?

加入这个语句表示链接到ws2_32.lib这个库,如果不加入,就不会形成链接,也就不能使用该库的内容。

(3)为什么在服务器和客户端程序中要使用WSAStartup函数,如果不用程序会有什么问题?

WSAStartup,即WSA(Windows Sockets Asynchronous,

Windows异步套接字)的启动命令。是Windows下的网络编程接口软

件Winsock2里面的一个命令。当调用该函数时,完成对Winsock服务的初始化,而且操作系统根据请求的Socket版本来搜索相应的Socket 库,然后绑定到该应用程序中。以后应用程序就可以使用Socket库中的Socket函数了。如果不调用就无法实现上述功能,应用程序也就无法运行。

(4)如果服务器程序中没有memset(server.sin_zero, 0,

sizeof(server.sin_zero));语句,程序会出现什么错误,为什么?

这个函数通常为新申请server.sin_zero分配内存空间来存储内容。所以,程序中如果没有该语句,就不能申请到server.sin_zero的内存,产生错误。

(5)如果先运行客户端程序,程序会有什么现象,为什么会有这一现象?

终止访问,客户端的exe文件很快关闭。因为客户端连接的请求没有得到服务器端的响应。客户端得不到响应,就直接停止运行应用程

序。

(6)如果服务器程序所在计算机没有连接网络,程序会发生什么错误?我们捕获到什么错误信息?

服务器端:

客户端:

无法进行连接。服务器无法创建端口来接收来自客户端的请求,客户端无法与服务器端建立连接。

(7)总结实验过程中出现的问题和解决的办法。

服务器端和客户端。因为没有统一的IP,总是无法创建有效的连接。最后发现这个错误,IP统一。

计网实验报告(三) (4500字)

计算机网络实验报告(三) ——编程实现可靠数据传输原理 go-back-n (一)实验目的: 运用各种编程语言实现基于go-back-n 的可靠数据传输软件。通过本实验,使学生能够对可靠数据传输原理有进一步的理解和掌握。 (二)实验内容: (1).选择合适的编程语言编程实现基于go-back-n 的可靠数据传输软件。 (2).在实际网络环境或模拟不可靠网络环境中测试和验证自己的可靠数据传输软件。 (三)实验原理: 1.gbn协议含义:go-back-n arq 中文翻译为后退n式arq、回退n式arq。该协议对传统的自动重传请求 (arq,automatic repeat reques)进行了改进,从而实现了在接收到ack之前能够连续发送多个数据包。 在go-back-n arq中,发送端不需要在接收到上一个数据包的ack后才发送下一个数据包,而是可以连续发送数据包。在发送端发送数据包的过程中,如果接收到对应已发送的某个数据包的nack,则发送端将nack对应的某个数据包进行重发,然后再将该数据包之后的数据包依次进行重发。 后退n帧arq的图例: 后退n帧arq就是从出错处重发已发出过的n个帧。 2.go-back-n 的有限状态机模型表示如图所示: (a) (b) 图3.1 go-back-n 的有限状态机模型(a)发送端 (b)接受端 (四)实验步骤: 在eclipse平台编写并调试gbn模拟java程序,观察三组以上实验结果,验证程序可以正确模拟gbn的发送规则。 (五)实验结果: 以下为随机数模拟的某次发送情况: 接收方开始接收分组数据! 发送方开始发送分组数据! 发送方现在开始第一次发送序号为0的数据分组 当前窗口内的分组情况为: 第0号窗口里面存放的是序号为1的马上待发送的数据分组! 第1号窗口里面存放的是序号为2的马上待发送的数据分组! 第2号窗口里面存放的是序号为3的马上待发送的数据分组! 接收方收到了序号为0的分组! 该数据分组正是接收方所期待的,接收方接受了它并准备回送对应的ack!发送方收到了ack,序号为0并且开始加以确认! 发送方现在开始第一次发送序号为1的数据分组 当前窗口内的分组情况为: 第0号窗口里面存放的是序号为2的马上待发送的数据分组! 第1号窗口里面存放的是序号为3的马上待发送的数据分组!

计网实验DNS, Data Encapsulation and Frame Examination

Computer netowrks Labs DNS, Data Encapsulation and Frame Examination DNS, Data Encapsulation and Frame Examination Learning Objectives At completion of this lab, you will be able to: https://www.360docs.net/doc/8613928322.html,e Wireshark to capture and analyze DNS message 2.Understand how DNS works https://www.360docs.net/doc/8613928322.html,e nslookup and ipconfig commands 4.Explain the header fields in an Ethernet II frame. 5.understand data encapsulation

6. Report and Feedback on this lab A nswer all questions with supporting screenshots. Please fill in the following feedback form and append it to the report. Your feedback is valuable to us so that we can improve this lab, and make the course welcome. For each task, please rate the following in the scale of 1 through 5: ?The degree of difficulty: 1 = too easy; 5 = too difficult ?The learning experience: 1 = learned nothing; 5 = learned a lot ?Your interest: 1 = no interest; 5= high interest ?Time used for the task: in minutes Task Difficulty (1—5) Learning (1—5) Interest (1—5) Time ( min) Task 0 Task 1 Task 2 Task 3 Task 4 Your suggestion/comment: Background When upper layer protocols communicate with each other, data at the sending host flows down the TCP/IP protocol layers and is encapsulated into a protocol data unit at lower layer, and finally encapsulated in a Layer 2 frame. For example, DNS message is often transported by UDP protocol on layer 4. So DNS message at the sending host is encapsulated in a UDP segment; the UDP segment is then encapsulated in an IP packet, and the IP packet is encapsulated finally in a layer 2 frame. The frame composition is dependent on the media access type, or the network. For example, if the media access is Ethernet, then the Layer 2 frame encapsulation will be Ethernet II. When learning about data encapsulation and protocol operations, it is helpful to analyze the header information found in the protocol data units. The DNS protocol operation, ipconfig command, and Ethernet II frame header will be examined in this lab. Ethernet II frames can support various upper layer protocols. For more background information, please read the lectures 02, 04-05, 10, 11.

计网实验TCPIPConfiguration

Test 1. TCP/IP Configuration 1. Click Start and then click Run. Type the command or cmd and then press Enter. 2. At the DOS prompt, type NET HELP and press Enter. You should see something like the screen below: The command you are interested in is the View command. To obtain information about it, type NET HELP VIEW, and press Enter. 3. What is the purpose of NET VIEW: The NET VIEW command shows the names of the machines present on your network. Notice that it lists the names of machines on the left, in

column labelled “Server name”and another column labelled “Remark” 4. List the machines after you have typed NET VIEW from the command prompt

Close the DOS window by typing EXIT on the command line and then press Enter, or by clicking the Close button in the upper right corner of the window. Obtain the TCP/IP Configuration Information

计网实验报告

电气工程学院 计算机网络实验报告 姓名:彭思琦 学号:15291191 指导教师:张洪和 实验日期:2017-12-09 18:00-22:00

一、计算机信息 计算机的 IP 地址:192.168.0.5 子网掩码:255.225.255.0 默认网关:无 二、 报告内容 1 ) 画出实验室的网络拓扑图, 将每个网络用 CIDR 记法进行表示, 并注明你用的电脑处在哪一个网络。 实验室的网络拓扑图: 1. 由机房电脑组成的网络中,用 CIDR 记法要写成: 192.168.0.0/24 WAN LAN:10.10.10.1 LAN:192.168.1.1

2. TCPIP_1 CIDR 记法为:10.10.10.1/24 TCPIP_2 CIDR 记法为: 192.168.1.1/24 1 . 实验一任务一 2)在你的电脑上打开cmd 窗口,ping 一下192.1 68.0.0 网络的任何一台在线的主机,将实际运行结果进行图片保存,粘贴到实验报告上。 PING 本机 PING 百度(此部分在寝室完成)

3)在ping 的过程中,利用wireshark 捕捉包含对应ICMP 报文的MAC 帧,将此MAC 帧的各个控制字段,以及此MAC 帧中包含的IP 数据报的各个控制字段,进行标注或者用文字列出。本机IP:172.27.69.177 目的地址:74:1f:4a:9b:a1:67 源地址:30:10:b3:b8:bd:a3 类型:协议类型ipv4(8000) 版本:4 首部长度:5 首部长度5*4=20 字节 区分服务:00

计网实验报告(一)

计算机网络实验报告(一) ——Windows环境下用java实现web服务器 (一)实验目的: 通过本实验进一步理解HTTP协议的技术细节以及WEB服务器的实现原理并了解java提供的支持TCP协议的借口和类的使用。 (二)实验内容: (1)处理一个http请求 (2)接收并解析http请求 (3)从服务器文件系统中获得被请求的文件 (4)创建一个包括被请求的文件的http响应信息 (5)直接发送该信息到客户端 (三)实验原理: HTTP协议的作用原理: WWW是以Internet作为传输媒介的一个应用系统,WWW网上最基本的传输单位是Web网页。WWW的工作基于客户机/服务器计算模型,由Web 浏览器(客户机)和Web服务器(服务器)构成,两者之间采用超文本传送协议(HTTP)进行通信。HTTP协议是基于TCP/IP 协议之上的协议,是Web浏览器和Web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议。HTTP协议的作用原理包括四个步骤: (1) 连接:Web浏览器与Web服务器建立连接,打开一个称为socket(套接字)的虚拟文件,此文件的建立标志着连接建立成功。 (2) 请求:Web浏览器通过socket向Web服务器提交请求。HTTP的请求一般是GET或POST命令(POST用于FORM参数的传递)。GET命令的格式为: GET 路径/文件名HTTP/1.0 文件名指出所访问的文件,HTTP/1.0指出Web浏览器使用的HTTP版本。

(3) 应答:Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到后,进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出所请求的页面。 原理示意图如下: (四)实验步骤: 考虑利用java提供给TCP的端口和系统定义类进行传输实现,大致分为以下几步: (1) 创建ServerSocket类对象,监听端口7977。这是为了区别于HTTP的标准TCP/IP 端口80而取的; (2) 等待、接受客户机连接到端口7977,得到与客户机连接的socket; (3) 创建与socket字相关联的输入流instream和输出流outstream; (4) 从与socket关联的输入流instream中读取一行客户机提交的请求信息,请求信息的格式为:GET 路径/文件名HTTP/1.0 (5) 从请求信息中获取请求类型。如果请求类型是GET,则从请求信息中获取所访问的HTML文件名index.html。 (6) 如果HTML文件存在,则打开HTML文件,把HTTP头信息和HTML文件内容通过socket传回给Web浏览器,然后关闭文件。否则发送错误信息给Web浏览器; (7) 关闭与相应Web浏览器连接的socket字。

计网实验DNS--Data-Encapsulation-and-Frame-Examination

Computer netowrks Labs DNS, Data Encapsulation and Frame Examination DNS, Data Encapsulation and Frame Examination Learning Objectives At completion of this lab, you will be able to:

https://www.360docs.net/doc/8613928322.html,e Wireshark to capture and analyze DNS message 2.Understand how DNS works https://www.360docs.net/doc/8613928322.html,e nslookup and ipconfig commands 4.Explain the header fields in an Ethernet II frame. 5.understand data encapsulation 6. Report and Feedback on this lab A nswer all questions with supporting screenshots. Please fill in the following feedback form and append it to the report. Your feedback is valuable to us so that we can improve this lab, and make the course welcome. For each task, please rate the following in the scale of 1 through 5: ?The degree of difficulty: 1 = too easy; 5 = too difficult ?The learning experience: 1 = learned nothing; 5 = learned a lot ?Your interest: 1 = no interest; 5= high interest ?Time used for the task: in minutes Task Difficulty (1—5) Learning (1— 5) Interest (1—5) Time ( min) Task 0 Task 1 Task 2 Task 3 Task 4 Your suggestion/comment: Background

计网实验二

实验二应用层协议分析实验报告 序号:姓名:学号:成绩 1.实验目的: 分析HTTP协议报文的首部格式,理解HTTP协议的工作过程;分析DNS的工作过程。2.实验环境: 连入Internet的主机一台。 3.实验步骤: 见实验指导实验abcd. 4.实验分析,回答下列问题。 实验a (1)填写浏览器的输入的URL地址。 URL地址:https://www.360docs.net/doc/8613928322.html,/IETF-Standards-Process.html。(2)打开test1的捕获文件,分析请求报文 请求行字段: 首部字段: (3)打开test1的捕获文件,分析响应报文 状态行字段:

首部行字段: (4)根据捕获的报文,填写相应的内容 实验b. 根据操作回答下面的问题。 (1)填写浏览器的输入的URL地址。 URL地址: https://www.360docs.net/doc/8613928322.html, 。 (2)分析test2的捕获文件,你的浏览器一共发出了多少个HTTP GET请求,每个GET 请求的对象是什么?这些请求被发送到的目的地的IP地址是多少?

一共发出五个HTTP GET请求。 (3)浏览器在下载这多个对象时,是串行下载还是并行下载?请解释。 并行下载;这样只需要建立一次TCP连接,节省时间。 (4)分析你的浏览器向服务器发出的第一个HTTP GET请求的内容,在该请求报文中,是否有一行是:IF-MODIFIED-SINCE?分析服务器响应报文的内容,服务器是否明确返回了文件的内容?如何获知? 没有IF-MODIFIED-SINCE。 服务器明确返回了文件内容,因为该相应报文的状态码是200,表示请求成功,信息包含在返回的响应报文中。 (5)分析捕获文件test3分析你的浏览器向服务器发出的第二个“HTTP GET”请求,在该请求报文中是否有一行是:IF-MODIFIED-SINCE?如果有,在该首部行后面跟着的信息是什么?

计网实验

《计算机网络》课程设计报告 设计题目:虚拟机的安装与使用 学院 专业 班级 学号 姓名 指导教师 附录:课程设计报告的内容及其文本格式

1.课程设计报告要求用16k纸排版,单面打印,并装订成册,装订顺序: ①封面 ②目录 ③正文 ④参考文献 2.目录格式要求: ①标题“目录”(三号、黑体、居中) ②章标题(四号字、黑体、居左) ③节标题(小四号字、宋体) ④页码(小四号字、宋体、居中) ⑤序号全部采用阿拉伯数字,居左对齐 3.正文格式要求: ①页边距:上2.5cm,下2.5cm,左2.5cm,右2cm,页眉1.5cm,页脚 1.75cm,左侧装订; ②正文文字,小四号字、宋体; ③行距:固定值 20磅; ④页码:正文页码从1开始标注,底部居中,五号; ⑤每段首行空两格。 4.参考文献及格式要求: 参考文献不少于5个(期刊、书籍、网址) ①标题:“参考文献”,小四,黑体,居中。 ②示例:(五号宋体) 例:[1] 杨绪红,汪文忠,肖俊宜等.企业信息系统的管理模式研究[J].中国软科学,2003,9.

1.虚拟机 1.1概念 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在计算机科学中的体系结构裏,他是指一种特殊的软件,可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个软件所创建的环境来操作软件。在计算机科学中,虚拟机是指可以像真实机器一样运行程序的计算机的软件实现 1.2虚拟机技术 虚拟机技术是虚拟化技术的一种,所谓虚拟化技术就是将事物从一种形式转变成另一种形式,最常用的虚拟化技术有操作系统中内存的虚拟化,实际运行时用户需要的内存空间可能远远大于物理机器的内存大小,利用内存的虚拟化技术,用户可以将一部分硬盘虚拟化为内存,而这对用户是透明的。又如,可以利用虚拟专用网技术(VPN)在公共网络中虚拟化一条安全,稳定的“隧道”,用户感觉像是使用私有网络一样。 虚拟机技术最早由IBM 于上世纪六七十年代提出,被定义为硬件设备的软件模拟实现,通常的使用模式是分时共享昂贵的大型机。虚拟机监视器(Virtual Machine Monitor,VMM)是虚拟机技术的核心,它是一层位于操作系统和计算机硬件之间的代码,用来将硬件平台分割成多个虚拟机。VMM 运行在特权模式,主要作用是隔离并且管理上层运行的多个虚拟机,仲裁它们对底层硬件的访问,并为每个客户操作系统虚拟一套独立于实际硬件的虚拟硬件环境(包括处理器,内存,I/O 设备)。VMM 采用某种调度算法在各个虚拟机之间共享CPU,如采用时间片轮转调度算法。

计网实验报告

实验报告 课程名称:计算机网络技术实践 实验名称:RIP和OSPF路由协议的配置及协议流程 姓名:苑博 学号:08211575/06 指导教师:张海旸 实验日期:2011年4月15日 实验报告日期:2011年4月26日

目录 一、环境 (3) 二、实验目的 (3) 三、实验内容 (3) 四、实验步骤 (4) 1、绘制网络拓扑 (4) (1)网络拓扑图 (4) (2).net文件 (4) 2、启动实验环境 (6) 3、配置路由器和主机(路由器模拟)各端口的IP地址 (6) 4、RIP路由协议配置及流程 (6) (1)配置命令简介 (6) (2)路由器向外发送RIP包 (7) (3)路由器接收RIP包 (8) (4)距离矢量算法 (8) (5)水平分割法测试 (10) 5、OSPF路由协议配置及流程 (12) (1)配置命令简介 (12) (2)利用Debug ip ospf events分析OSPF (12) (3)将所有路由器配上OSPF (13) (4)OSPF检查邻机故障 (14) (5)debug ip ospf neighbor命令的使用 (15) 五、实验中的问题及心得 (15) 1、Dynamips服务器自动关闭即CPU占用率100%的问题 (15) 2、OSPF端口信息配置错误 (16) 3、RIP无法解决三角环路问题 (17) 六、实验思考 (18)

一、环境 ●操作系统:windows xp ●网络平台:宿舍有线局域网(校园网) ●实验时机器IP地址:118.229.130.203 二、实验目的 通过自己建立网络拓扑结构,并分别赋予路由器RIP和OSPF协议。通过两协议完成路由器IP地址表的自动配置。通过DEBUG命令观察协议实现的过程并作出相应分析,通过Shutdown某些路由器观察路由器重新获取信息的方式并作出相应分析和比较。 本实验旨在让我们了解RIP和OSPF在获取路由表时的工作原理,熟悉Dynamips模拟器关于这方面的使用方法。 三、实验内容 ?在上一次实验的基础上实现RIP和OSPF路由协议 ?自己设计网络物理拓扑和逻辑网段,并在其上实现RIP和OSPF协议 ?通过debug信息详细描述RIP和OSPF协议的工作过程。 ?RIP协议中观察没有配置水平分割和配置水平分割后协议的工作流程;

计网2实验2_(2)

一.实验设备 Windows 系统PC一台 二.实验容 1)熟练掌握通过命令提示符(DOS)界面输入指令。 2)熟悉多种常用的网络命令。 三.实验步骤 1)DOS基本命令 (1)单击“开始”“运行”,键入cmd。 (2)分别使用如下DOS命令: dir、dir/?、dir/w、dir/ad、dir/oe、dir/o-s、dir/os、cls、mkdir、cd、copy、del、rmdir、time、help dir 显示目录中的文件和子目录列表dir/? 在命令提示符显示帮助 dir/w 用宽列表显示dir/ad 显示目录 dir/oe 按扩展名排序显示dir/o-s 按大小(从大到小)显示 dir/os 按大小(从小到大)显示cls 清屏 mkdir 创建目录或子目录cd 改变或显示当前目录 copy 复制一个或一组文件到指定磁盘或目录del 删除指定磁盘或目录的一个或一组文件rmdir 删除目录time 显示和设置DOS的系统时间 help 显示有关某个命令的详细信息 2)ipconfig命令 (1)分别使用ipconfig、ipconfig/all、ipconfig/flushdns、ipconfig/displaydns、ipconfig/renew、ipconfig/?命令。请在实验报告中分别解释以上每条DOS命令的作用是什么?

(2)解释DHCP 协议的作用。如何通过ipconfig 命令查看与DHCP 相关的参数? 答:DHCP 协议用于对接入新网的主机进行自动协议配置。 可以使用命令ipconfig/all 查看与DHCP 相关的参数。 (2)解释DNS 的作用。如何通过ipconfig 命令查看与DNS 相关的参数? 答:DNS 是域名系统,可以将域名解析成IP 地址。 同样可以使用ipconfig/all 查看与DNS 相关的参数。 3)ping 命令 (1)分别使用如下命令: ping https://www.360docs.net/doc/8613928322.html, ping https://www.360docs.net/doc/8613928322.html, –t ping https://www.360docs.net/doc/8613928322.html, –n 6 ping https://www.360docs.net/doc/8613928322.html, –l 50 ping https://www.360docs.net/doc/8613928322.html, –r 5 (2)解释以上命令的作用。 (3)如果出现数据包丢失,是什么原因? 答:路由器繁忙,数据包超时被丢弃。

计网实验报告

实验一 电子科技大学 实验报告 学生姓名:学号:指导教师: 实验地点:计算机学院三楼机房实验时间: 一、实验室名称:计算机学院机房 二、实验项目名称:交换机的基本配置 三、实验学时:4 四、实验原理: 交换机的管理方式基本分为两种:带内管理和带外管理。通过交换机的Console口管理交换机属于带外管理,不占用交换机的网络接口,其特点是需要使用配置线缆,近距离配置。第一次配置交换机时必须利用Console端口进行配置。 交换机的命令行操作模式,主要包括:用户模式、特权模式、全局配置模式、端口模式等几种。 ●用户模式进入交换机后得到的第一个操作模式,该模式下可以简单查看交换机 的软、硬件版本信息,并进行简单的测试。用户模式提示符为switch> ●特权模式由用户模式进入的下一级模式,该模式下可以对交换机的配置文件进 行管理,查看交换机的配置信息,进行网络的测试和调试等。特权模式提示符为 switch# ●全局配置模式属于特权模式的下一级模式,该模式下可以配置交换机的全局性 参数(如主机名、登录信息等)。在该模式下可以进入下一级的配置模式,对交换 机具体的功能进行配置。全局模式提示符为switch(config)# ●端口模式属于全局模式的下一级模式,该模式下可以对交换机的端口进行参数 配置。端口模式提示符为switch(config-if)# 交换机的基本操作命令包括: ●Exit命令是退回到上一级操作模式。 ●End命令是指用户从特权模式以下级别直接返回到特权模式。 ●交换机命令行支持获取帮助信息、命令的简写、命令的自动补齐、快捷键功能。

配置交换机的设备名称和配置交换机的描述信息必须在全局配置模式下执行。 ●Hostname配置交换机的设备名称。 ●当用户登录交换机时,你可能需要告诉用户一些必要的信息。你可以通过设置标 题来达到这个目的。你可以创建两种类型的标题:每日通知和登录标题。 ?Banner motd配置交换机每日提示信息motd message of the day。 ?Banner login配置交换机登录提示信息,位于每日提示信息之后。 ●查看交换机的系统和配置信息命令要在特权模式下执行。 a)Show version查看交换机的版本信息,可以查看到交换机的硬件版本信息和软件版 本信息,用于进行交换机操作系统升级时的依据。 b)Show mac-address-table查看交换机当前的MAC地址表信息。 Show running-config查看交换机当前生效的配置信息。 五、实验目的: 掌握交换机命令行各种操作模式的区别,能够使用各种帮助信息,以及用命令进行基本的配置。 六、实验内容: 假设是某公司新进的网管,公司要求你熟悉网络产品,公司采用全系列锐捷网络产品,首先要求你登录交换机,了解、掌握交换机的命令行操作技巧,以及如何使用一些基本命令进行配置。 需要在交换机上熟悉各种不同的配置模式以及如何在配置模式间切换,使用命令进行基本的配置,并熟悉命令行界面的操作技巧。 七、实验器材(设备、元器件): 三层交换机1台 八、实验步骤: 第一步:交换机各个操作模式直接的切换 第二步:交换机命令行界面基本功能 第三步:配置交换机的名称和每日提示信息 第四步:配置接口状态 第五步:查看交换机的系统和配置信息 第六步:保存配置 九、实验数据及结果分析:

计网实验报告

局域网网络结构及VLAN划分

一.实验目的 1.了解局域网中的基本概念及基本命令; 2.了解Vlan的概念及应用; 3.了解交换机的接口类型; 4.了解Vlan标签协议802.1Q; 5.了解Vlan的实际应用。 二.实验原理 1.局域网中的基本概念 (1)局域网的拓扑结构 局域网常用的拓扑结构有星形网,环形网,总线网和数形网。(2)局域网中常用的传输媒质 局域网中常用的传输媒质有双绞线,同轴电缆,光纤和无线信道。无论用何种媒质,局域网对信道的占用分为共享信道和独占信道来完成的。共享信道:带宽的分配主要采用的是动态分配。 独占信道:带宽的分配通过划分VLAN实现。 (3)共享信道的接入技术 共享信道的接入技术主要分为两类:随机接入和受控接入。 受控接入又分为两大类:集中控制和分散控制。集中控制用到的主要技术为轮询方式;分散控制用到的主要技术为令牌方式。随机接入又分为两大类:载波监听多址接入和ALOHA。 (4)局域网的分层体系结构 局域网的分层体系结构由IEEE的802委员会制定。局域网一

般分为物理层,数据链路层,网络层以及高层。 (5)以太网—最常见的局域网 IEEE的802.3协议主要定义的是以太网标准。我们的工作网络也是在以太网环境里。媒质接入控制采用的是CSMA/CD,物理媒质采用的是双绞线,网络的拓扑结构为星形网,所有的主机通过两台交换机连在一起。 (6)网络操作系统 常用的网络操作系统有Windows NT,WINDOWS 2000,NOVELL,window XP等。包括WINDOWS 98也能提供常用的网络协议。我们的实验主要通过对WINDOWS 98的网上邻居进行协议的配置。 IPconfig命令可以设置和检查各种网络接口的配置值,可以利用它为每个接口设置IP地址,子网掩码和广播地址。 PING主要用来测试网络的连通性。它使用了ICMP回送请求与回送回答报文。 2.VLAN概述 VLAN即虚拟局域网,是一种通过将局域网内的设备逻辑的而不是物理的划分成一个个网段从而实现虚拟工作组的技术。划分VLAN的主要作用是隔离广播域。在共享式的以太网上,每个设备都处于一个广播域中。广播帧会传播到网络中的每台主机,并且对每台主机的CPU造成负担。 ARP请求:建立IP地址和MAC地址的映射关系。

计网实训报告

****** **** 计网实训报告 项目名称:中型企业网 专业:计算机网络技术 班级:09计网(1)班 组号:第二小组 实习单位:**************************** 指导老师:*******

目录 1.1项目需求 (5) 1.2网络拓扑图总会 (5) 1.3技术 (6) 1.3.1冗余技术 (6) 1.3.2服务器集群 (6) 1.3.3网管工作站 (7) 1.3.4无线办公区 (7) 1.3.5 OSPF 多区、虚链路 (8) 1.3.6 VPN 远程接入 (8) 1.4 技术汇总 (9) 1.4.1拓扑图汇总 (9) 1.4.2IP地址规划 (9) 1.4.3网络的高可用性 (10) 1.4.4多区OSPF协议配置要求. (10) 1.4.5设备连接及IP地址规划 (11) 1.5项目完成 (12) 1.6 项目组成员 (13)

1.1项目需求 现公司4个部门(人事、行政、财务、企划)、办公大楼、销售大楼、厂房、无线办公网等8个单位和一个网管工作站。 要求: 1.人事部、行政部、财务部、企划部、办公大楼、销售大楼、产房可以直 接互相通信,无线办公网可以直接对其他部门访问,网管工作站可以直 接对内网直接管理维护! 2.为各部门访问互连网和远程分支机构提供路由。 3.要保证网络运行的稳定性和安全性,并在一段时间内进行免费维护。 4.在公网与行业骨干内网接口处分别安装防火墙。 5.要有冗余设计,以防止紧急故障。 1.2网络拓扑图总会

1.3技术 1.3.1 冗余技术 用于以防止紧急故障,保证核心部门正常运行。 1.3.2 服务器集群

计网实验3- IP协议组网实验

实验二:协议数据的捕获和解析 目录 3.使用traceroute命令测试内部设备之间的路由 (3) 4.使用文件夹共享命令,实现联网设备之间的互通 (3) 5.构造两个内部网络,实现两个子网之间的互通。 (3) 一、实验内容 1.实验内容 (1~3为必作项目,第4,5项为可选项目) 基于IP协议,利用路由器和网线(或无线介质)构建一个家庭内部网络,要求; 1.为归属为同一个IP网络(如网络号为19 2.168.0.0)的设备(计算机、手机、IPad等) 分配一个属于该网络的IP地址; 2.使用ping命令测试网内设备的互通性; 3.使用traceroute命令最终网内设备之间的路由; 4.实现网内设备的文件/资源共享。 5.实现两个内部网络的互通。 2.实验目的 通过本实验掌握IP协议、IP地址划分和IP组网的原理。 3.实验环境 路由器、联网介质(有线、无线)、联网设备 二、组网步骤 1.根据IP地址划分方法,根据联网需求,将联网设备进行连接,并 分配IP地址 步骤: 1)设计家庭内部网的组网方案,画出拓扑图。示例图如下图所示。 例如,在家庭内部网1中,网络号为192.168.1.0/24,则三个联网设备分别分配的IP地址为192.168.1.2,192.168.1.3和192.168.1.4等。从上述IP地址分配方案可以看出,三个联网设备在网络层上属于同一个IP网络(网络号为192.168.1.0,掩码为255.255.255.0)。如果需要建立

第二个家庭内部网2(网络号为192.168.2.0/24),则分配方案如图中所示。 图1 家庭内部网组网示意图 2)将路由器的某个端口(连接到家庭内部网1的端口)配置为192.168.1.1/24,这个端口将是家庭内部网的默认网关地址;(具体步骤,参照所拥有的路由器说明书,一般情况下,需要利用浏览器登陆192.168.1.1即路由器上进行配置)。 3)将联网的设备1(计算机)配置IP地址及默认网关。 在网络邻居中,在“本地网络连接”设置中,进入下图窗口,进行图示方式选择。 进入IP网络协议设置窗口,取消自动分配网络IP地址方式,手动将192.168.1.2的IP地址及默认网关地址(192.168.1.1)进行配置。并配置相应的DNS解析地址,如图3中所示。 图2 本地网络连接属性设置窗口

计网实验报告(四)

计算机网络实验报告(四) ——编程实现路由算法(一)实验目的: 运用各种编程语言实现基于Dijkstra 算法的路由软件。通过本实验,使学生能够对路由原理和路由算法有进一步的理解和掌握。 (二)实验内容: 选择合适的编程语言编程实现基于 Dijkstra 算法的路由软件。输入不同的网络拓扑和链路代价测试和验证自己的路由软件。 (三)实验原理: Dijkstra 算法描述如下: 设: c(i,j): 结点i 至结点j 之间链路的代价,若i,j 不直接相连,则为无穷大。 D(v): 当前从源结点至目的结点V 之间路由的代价。 p(v): 从源结点至目的结点V 之间路由中V 之前的结点 N: 已经知道最优路径的结点集合 1 Initialization: 2 N = {A} 3 for all nodes v 4 if v adjacent to A 5 then D(v) = c(A,v) 6 else D(v) = infty 7 8 Loop 9 find w not in N such that D(w) is a minimum 10 add w to N 11 update D(v) for all v adjacent to w and not in N: 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* new cost to v is either old cost to v or known 14 shortest path cost to w plus cost from w to v */ 15 until all nodes in N 动态图演示:

北邮-计网实验-协议数据的捕获和解析

计算机网络 实验二:协议数据的捕获和解析 一、实验类别 协议分析验证型 二.、实验内容和实验目的 本次实验主要包含下列内容: 1)使用Wireshark 软件捕获在使用ping 命令时产生的ICMP 消息; 2)分析网络层IP 包头格式,理解各字段的作用,对于分段和校验和进行验证; 3)使用Wireshark 软件捕获在使用ARP 消息,分析其消息格式,理解其工作原理; 4)使用Wireshark 捕获DHCP 消息,分析其消息序列,理解DHCP 的功能和操作原理; 5)使用Wireshark 捕获TCP 消息,分析TCP 报文段头格式,理解连接建立和释放的原理,差错控制原理、序号和窗口管理的原理。 通过本实验来深入理解分层体系结构,理解和掌握TCP/IP 协议栈的代表协议——IP、TCP、UDP、ICMP、ARP 和DHCP 协议的要点。 三、实验设备环境 1 台装有MS Windows 系列操作系统的计算机,能够连接到Internet,并已安装Wireshark 软件。 四、实验步骤 (1)准备工作 1. 下载Wireshark 软件并了解其功能和使用方法。 2. 确保计算机已经连接到网络。 3. 启动Wireshark1,设置捕获接口(Interface)为本机网卡,选中混杂模式(promiscuous mode)捕获选项,设置合适的捕获过滤器(Capture Filter): 对于ping 命令,设置过滤器为icmp 对于DHCP 消息,设置过滤器为udp port 67 对于ARP 消息,设置过滤器为arp 对于通过网页浏览应用来捕获TCP 消息,设置过滤器为tcp port 80 4.开始捕获。 (2) 数据捕获 捕获ICMP 协议数据

计网实验报告

CENTRAL SOUTH UNIVERSITY 计算机网络实验报告 题目计算机网络实验 学生姓名梁云华 班级学号0909082311 行政班级计算机0806 指导教师刘丽敏 设计时间2010年12月

实验一:距离向量路由算法的实现 1.1实验目的 本实验是计算机网络课程的实践性锻炼环节。通过实验,模拟距离向量路由算法的路由表交换过程,演示每轮交换后路由表的变化。帮助学生更好地掌握网络通信协议的实现技术,锻炼学生应用高级编程语言完成通信编程的能力,使学生加深对网络协议本质的理解,巩固课堂所学的理论知识。 1.2实验内容 模拟距离向量路由算法的路由表交换过程,演示每轮交换后路由表的变化。 1.3实验原理 距离向量路由算法(Bellman-Ford Routing Algorithm),也叫做最大流量演算法(Ford-Fulkerson Algorithm), 其被距离向量协议作为一个算法,如RIP, BGP, ISO IDRP, NOVELL IPX。使用这个算法的路由器必须掌握这个距离表(它是一个一维排列-“一个向量”),它告诉在网络中每个节点的最远和最近距离。在距离表中的这个信息是根据临近接点信息的改变而时时更新的。表中数据的量和在网络中的所有的接点(除了它自己本身)是等同的。这个表中的列代表直接和它相连的邻居,行代表在网络中的所有目的地。每个数据包括传送数据包到每个在网上的目的地的路径和距离/或时间在那个路径上来传输(我们叫这个为“成本”)。这个在那个算法中的度量公式是跳跃的次数,等待时间,流出数据包的数量,等等。 在距离向量路由算法中,相邻路由器之间周期性地相互交换各自的路由表备份。当网络拓扑结构发生变化时,路由器之间也将及时地相互通知有关变更信息。 距离向量路由算法,使用这个算法的路由器必须掌握这个距离表(它是一个一维排列,即一个向量),它告诉在网络中每个节点的最远和最近距离。在距离表中的这个信息是根据临近接点信息的改变而时时更新的。表中数据的量和在网络中的所有的接点(除了它自己本身)是等同的。这个表中的列代表直接和它相连的邻居,行代表在网络中的所有目的地。每个数据包括传送数据包到每个在网上的目的地的路径和距离/时间在那个路径上来传输(我们叫这个为“成本”)。这个在那个算法中的度量公式是跳跃的次数,等待时间,流出数据包的数量等等。

计网实验一报告

实验一IEEE802标准和以太网【实验目的】: 1. 掌握以太网的报文格式 2. 掌握MAC地址和MAC广播地址的作用 3. 掌握LLC帧报文格式 4. 掌握协议编辑器和协议分析器的使用方法 5. 掌握协议栈发送和接收以太网数据帧的过程 【实验环境】 网络结构一

【实验练习】 练习一:领略真实的MAC帧 练习内容:本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。 1.主机B启动协议分析器,新建捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。 2.主机A ping 主机B,察看主机B协议分析器捕获的数据包,分析MAC帧格式。 主机 A 主机B 以太网的MAC帧格式

●前导码:这是以太网MAC帧的第一个域,包含了7个字节的二进制“1”和“0”间隔的代码,共56 位,提示接收方一个数据帧即将到来,同时使接收系统建立起同步时钟。 ●帧首定界符:帧首定界符标记了帧的开始,帧首定界符通知接收方后面所有的内容都是数据. ●目的MAC地址:目的MAC地址为6个字节,标记了数据帧下一个主机的物理地址。 ●源MAC地址:源MAC地址也是6个字节。它包含了最后一个转发此帧的设备的物理地址。 ●协议类型或数据长度:如果该字段的值小于1518,它用于定义后面数据字段的长度;如果字段的值大于1536,它定义一个封装在帧中的数据包的类型。 ●数据:它的长度范围是从46到1500字节之间。 ●帧校验序列:最后一个域是帧校验序列,以太网采用32位冗余校验(CRC)。 3. 将主机B的过滤器恢复为默认状态。 练习二:理解MAC地址的作用

相关文档
最新文档