计算机网络实验二

计算机网络实验二
计算机网络实验二

哈尔滨工业大学

<<计算机网络>>

实验报告

(2016年度春季学期)

实验二

一、实验目的

理解滑动窗口协议的基本原理;

掌握GBN的工作原理;

掌握基于UDP设计并实现一个GBN协议的过程与技术。

二、实验环境

1.接入internet的实验主机

2.Windows7操作系统

3.Visual stadio2015 c++语言

三、实验内容

1) 基于UDP设计一个简单的GBN协议,实现单向可靠数据传输(服务器到客户的数据传输)。

2) 模拟引入数据包的丢失,验证所设计协议的有效性。

四、实验过程及结果

服务器端:

使用UDP协议传输数据(比如传输一个文件),等待客户端的请求,接收并处理来自客户端的消息(如数据传输请求),当客户端开始请求数据时进入“伪连接”状态(并不是真正的连接,只是一种类似连接的数据发送的状态),将数据打包成数据报发送,然后等待客户端的ACK信息,同时启动计时器。当收到ACK时,窗口滑动,正常发送下一个数据报,计时器重新计时;若在计时器超时前没有收到ACK,则全部重传窗口内的所以已发送的数据报。

具体实现:

1)命令解析

为了测试客户端与服务器端的通信交互,方便操作,设置了此过程。首先,服务器接收客户端发来的请求数据,

“-time”表示客户端请求获取当前时间,服务器回复当前时间;

“-quit”表示客户端退出,服务器回复“Good bye!”;

“-testgbn”表示客户端请求开始测试GBN协议,服务器开始进入GBN传输状态;其他数据,则服务器直接回复原数据。

2)数据传输数据帧格式定义

在以太网中,数据帧的MTU为1500字节,所以UDP数据报的数据部分应小于1472字节(除去IP头部20字节与UDP头的8字节),为此,定义UDP数据报的数据部分格式为:

data

Seq 0

Seq为1个字节,取值为0~255,(故序列号最多为256个);Data≤1024个字节,为传输的数据;

最后一个字节放入EOF0,表示结尾。

客户端:

使用UDP协议向服务器端请求数据,接收服务器端发送的数据报并返回确认信息ACK(注意GBN为累积确认,即若ACK=1和3,表示数据帧2已经正确接收),必须能够模拟ACK 丢失直至服务器端超时重传的情况。

1) ACK数据帧定义

Ack 0

由于是从服务器端到客户端的单向数据传输,因此ACK数据帧不包含任何数据,只需要将ACK发送给服务器端即可。

ACK字段为一个字节,表示序列号数值;末尾放入0,表示数据结束。

2)命令设置

客户端的命令和服务器端的解析命令向对应,获取当前用户输入并发送给服务器并等待服务器返回数据,如输入

“-time”得到服务器的当前时间。

“-testgbn [X] [Y]”命令,[X],[y]均为[0,1]的小数,其中:

[X]表示客户端的丢包率,模拟网络中报文丢失;

[Y]表示客户端的ACK的丢失率。(使用随机函数完成)。如果用户不输入,则默认丢失率均为0.2。

源代码及注释:

Client.cpp:

// GBN_client.cpp : 定义控制台应用程序的入口点。

//

#include

#include

#include

#include

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

#define SERVER_PORT 12340 //接收数据的端口号

#define SERVER_IP "127.0.0.1"// 服务器的 IP 地址

const int BUFFER_LENGTH = 1026;

const int SEQ_SIZE = 20;//接收端序列号个数,为 1~20

/****************************************************************/

/* -time 从服务器端获取当前时间

-quit 退出客户端

-testgbn [X] 测试 GBN 协议实现可靠数据传输

[X] [0,1] 模拟数据包丢失的概率

[Y] [0,1] 模拟 ACK 丢失的概率

*/

/****************************************************************/

void printTips(){

printf("*****************************************\n");

printf("| -time to get current time |\n");

printf("| -quit to exit client |\n");

printf("| -testgbn [X] [Y] to test the gbn |\n");

printf("*****************************************\n");

}

//************************************

// Method: lossInLossRatio

// FullName: lossInLossRatio

// Access: public

// Returns: BOOL

// Qualifier: 根据丢失率随机生成一个数字,判断是否丢失,丢失则返回TRUE,否则返回 FALSE // Parameter: float lossRatio [0,1]

//************************************

BOOL lossInLossRatio(float lossRatio){

int lossBound = (int)(lossRatio * 100);

int r = rand() % 101;

if (r <= lossBound){

return TRUE;

}

return FALSE;

}

int main(int argc, char* argv[])

{

//加载套接字库(必须)

WORD wVersionRequested;

WSADATA wsaData;

//套接字加载时错误提示

int err;

//版本 2.2

wVersionRequested = MAKEWORD(2, 2);

//加载 dll 文件 Scoket 库

err = WSAStartup(wVersionRequested, &wsaData);

if (err != 0){

//找不到 winsock.dll

printf("WSAStartup failed with error: %d\n", err);

return 1;

}

if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2)

{

printf("Could not find a usable version of Winsock.dll\n");

WSACleanup();

}

else{

printf("The Winsock 2.2 dll was found okay\n");

}

SOCKET socketClient = socket(AF_INET, SOCK_DGRAM, 0);

SOCKADDR_IN addrServer;

addrServer.sin_addr.S_un.S_addr = inet_addr(SERVER_IP);

addrServer.sin_family = AF_INET;

addrServer.sin_port = htons(SERVER_PORT);

//接收缓冲区

char buffer[BUFFER_LENGTH];

ZeroMemory(buffer, sizeof(buffer));

int len = sizeof(SOCKADDR);

//为了测试与服务器的连接,可以使用 -time 命令从服务器端获得当前时间

//使用 -testgbn [X] [Y] 测试 GBN 其中[X]表示数据包丢失概率

// [Y]表示 ACK 丢包概率

printTips();

int ret;

int interval = 1;//收到数据包之后返回 ack 的间隔,默认为 1 表示每个都返回 ack,0 或者负数均表示所有的都不返回 ack

char cmd[128];

float packetLossRatio = 0.2; //默认包丢失率 0.2

float ackLossRatio = 0.2; //默认 ACK 丢失率 0.2

//用时间作为随机种子,放在循环的最外面

srand((unsigned)time(NULL));

while (true){

gets_s(buffer);

ret = sscanf(buffer, "%s%f%f", &cmd, &packetLossRatio, &ackLossRatio);

//开始 GBN 测试,使用 GBN 协议实现 UDP 可靠文件传输

if (!strcmp(cmd, "-testgbn")){

printf("%s\n", "Begin to test GBN protocol, please don't abort the process");

printf("The loss ratio of packet is %.2f,the loss ratio of ack is %.2f\n", packetLossRatio, ackLossRatio);

int waitCount = 0;

int stage = 0;

BOOL b;

unsigned char u_code;//状态码

unsigned short seq;//包的序列号

unsigned short recvSeq;//接收窗口大小为 1,已确认的序列号

unsigned short waitSeq;//等待的序列号

sendto(socketClient, "-testgbn", strlen("-testgbn") + 1, 0,

(SOCKADDR*)&addrServer, sizeof(SOCKADDR));

while (true)

{

//等待 server 回复设置 UDP 为阻塞模式

recvfrom(socketClient, buffer, BUFFER_LENGTH, 0, (SOCKADDR*)&addrServer, &len);

switch (stage){

case 0://等待握手阶段

u_code = (unsigned char)buffer[0];

if ((unsigned char)buffer[0] == 205)

{

printf("Ready for file transmission\n");

buffer[0] = 200;

buffer[1] = '\0';

sendto(socketClient, buffer, 2, 0, (SOCKADDR*)&addrServer, sizeof(SOCKADDR));

stage = 1;

recvSeq = 0;

waitSeq = 1;

}

break;

case 1://等待接收数据阶段

seq = (unsigned short)buffer[0];

//随机法模拟包是否丢失

b = lossInLossRatio(packetLossRatio);

if (b){

printf("The packet with a seq of %d loss\n", seq);

continue;

}

printf("recv a packet with a seq of %d\n", seq);

//如果是期待的包,正确接收,正常确认即可

if (!(waitSeq - seq)){

++waitSeq;

if (waitSeq == 21){

waitSeq = 1;

} //输出数据

printf("%s\n",&buffer[1]);

buffer[0] = seq;

recvSeq = seq;

buffer[1] = '\0';

}

else{

//如果当前一个包都没有收到,则等待 Seq 为 1 的数据包,不是则不返回 ACK(因为并没有上一个正确的 ACK)

if (!recvSeq){

continue;

}

buffer[0] = recvSeq;

buffer[1] = '\0';

}

b = lossInLossRatio(ackLossRatio);

if (b){

printf("The ack of %d loss\n", (unsigned char)buffer[0]);

continue;

}

sendto(socketClient, buffer, 2, 0, (SOCKADDR*)&addrServer,

sizeof(SOCKADDR));

printf("send a ack of %d\n", (unsigned char)buffer[0]);

break;

}

Sleep(500);

}

}

sendto(socketClient, buffer, strlen(buffer) + 1, 0, (SOCKADDR*)&addrServer, sizeof(SOCKADDR));

ret = recvfrom(socketClient, buffer, BUFFER_LENGTH, 0, (SOCKADDR*)&addrServer, &len);

printf("%s\n", buffer);

if (!strcmp(buffer, "Good bye!")){

break;

}

printTips();

}

//关闭套接字

closesocket(socketClient);

WSACleanup();

return 0;

}

Server.cpp

#include

//#include "stdafx.h" //创建 VS 项目包含的预编译头文件

#include

#include

#include

#include

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

#define SERVER_PORT 12340 //端口号

#define SERVER_IP "0.0.0.0"//IP 地址

const int BUFFER_LENGTH = 1026; //缓冲区大小,(以太网中 UDP 的数据帧中包长度应小于1480 字节)

const int SEND_WIND_SIZE = 10;//发送窗口大小为 10,GBN 中应满足 W + 1 <= N(W 为发送窗口大小,N 为序列号个数)

//本例取序列号 0...19 共 20 个

//如果将窗口大小设为 1,则为停-等协议

const int SEQ_SIZE = 20; //序列号的个数,从 0~19 共计 20 个

//由于发送数据第一个字节如果值为 0,则数据会发送失败

//因此接收端序列号为 1~20,与发送端一一对应

BOOL ack[SEQ_SIZE];//收到 ack 情况,对应 0~19 的 ack

int curSeq;//当前数据包的 seq

int curAck;//当前等待确认的 ack

int totalSeq;//收到的包的总数

int totalPacket;//需要发送的包总数

int totalack;

//************************************

// Method: getCurTime

// FullName: getCurTime

// Access: public

// Returns: void

// Qualifier: 获取当前系统时间,结果存入 ptime 中

// Parameter: char * ptime

//************************************

void getCurTime(char *ptime){

char buffer[128];

memset(buffer, 0, sizeof(buffer));

time_t c_time;

struct tm *p;

time(&c_time);

p = localtime(&c_time);

sprintf_s(buffer, "%d/%d/%d %d:%d:%d",

p->tm_year + 1900,

p->tm_mon,

p->tm_mday,

p->tm_hour,

p->tm_min,

p->tm_sec);

strcpy_s(ptime, sizeof(buffer), buffer);

}

//************************************

// Method: seqIsAvailable

// FullName: seqIsAvailable

// Access: public

// Returns: bool

// Qualifier: 当前序列号 curSeq 是否可用 //************************************ bool seqIsAvailable(){

int step;

step = curSeq - curAck;

step = step >= 0 ? step : step + SEQ_SIZE;

//序列号是否在当前发送窗口之内

if (step >= SEND_WIND_SIZE){

return false;

}

if (ack[curSeq]){

return true;

}

return false;

}

//************************************

// Method: timeoutHandler

// FullName: timeoutHandler

// Access: public

// Returns: void

// Qualifier: 超时重传处理函数,滑动窗口内的数据帧都要重传

//************************************

void timeoutHandler(){

printf("Timer out error.\n");

int index;

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

index = (i + curAck) % SEQ_SIZE;

ack[index] = TRUE;

}

totalSeq -= SEND_WIND_SIZE;

curSeq = curAck;

}

//************************************

// Method: ackHandler

// FullName: ackHandler

// Access: public

// Returns: void

// Qualifier: 收到 ack,累积确认,取数据帧的第一个字节

//由于发送数据时,第一个字节(序列号)为 0(ASCII)时发送失败,因此加一了,此处需要减一还原 // Parameter: char c

//************************************

void ackHandler(char c){

unsigned char index = (unsigned char)c - 1; //序列号减一

printf("Recv a ack of %d\n", index);

if (curAck <= index){

for (int i = curAck; i <= index; ++i){

ack[i] = TRUE;

totalack++;

}

curAck = (index + 1) % SEQ_SIZE;

}

else{

//ack 超过了最大值,回到了 curAck 的左边

for (int i = curAck; i< SEQ_SIZE; ++i){

ack[i] = TRUE;

totalack++;

}

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

ack[i] = TRUE;

totalack++;

}

curAck = index + 1;

}

}

//主函数

int main(int argc, char* argv[])

{

//加载套接字库(必须)

WORD wVersionRequested;

WSADATA wsaData;

//套接字加载时错误提示

int err;

//版本 2.2

wVersionRequested = MAKEWORD(2, 2);

//加载 dll 文件 Scoket 库

err = WSAStartup(wVersionRequested, &wsaData); if (err != 0){

//找不到 winsock.dll

printf("WSAStartup failed with error: %d\n", err); return -1;

}

if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2)

{

printf("Could not find a usable version of Winsock.dll\n");

WSACleanup();

}

else{

printf("The Winsock 2.2 dll was found okay\n");

}

SOCKET sockServer = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);

//设置套接字为非阻塞模式

int iMode = 1; //1:非阻塞,0:阻塞

ioctlsocket(sockServer, FIONBIO, (u_long FAR*) &iMode);//非阻塞设置

SOCKADDR_IN addrServer; //服务器地址

//addrServer.sin_addr.S_un.S_addr = inet_addr(SERVER_IP);

addrServer.sin_addr.S_un.S_addr = htonl(INADDR_ANY);//两者均可

addrServer.sin_family = AF_INET;

addrServer.sin_port = htons(SERVER_PORT);

err = bind(sockServer, (SOCKADDR*)&addrServer, sizeof(SOCKADDR));

if (err){

err = GetLastError();

printf("Could not bind the port %d for socket.Error code is %d\n", SERVER_PORT, err);

WSACleanup();

return -1;

}

SOCKADDR_IN addrClient; //客户端地址

int length = sizeof(SOCKADDR);

char buffer[BUFFER_LENGTH]; //数据发送接收缓冲区

ZeroMemory(buffer, sizeof(buffer));

//将测试数据读入内存

std::ifstream icin;

icin.open("../txt.txt");

char data[1024 * 9];

ZeroMemory(data,sizeof(data));

icin.read(data,1024 * 113);

icin.close();

totalPacket = sizeof(data) / 1024;

int recvSize;

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

ack[i] = TRUE;

}

while (true){

//非阻塞接收,若没有收到数据,返回值为-1

recvSize = recvfrom(sockServer, buffer, BUFFER_LENGTH, 0,

((SOCKADDR*)&addrClient), &length);

if (recvSize < 0){

Sleep(200);

continue;

}

printf("recv from client: %s\n", buffer);

if (strcmp(buffer, "-time") == 0){

getCurTime(buffer);

}

else if (strcmp(buffer, "-quit") == 0){

strcpy_s(buffer, strlen("Good bye!") + 1, "Good bye!");

}

else if (strcmp(buffer, "-testgbn") == 0){

//进入 gbn 测试阶段

//首先 server(server 处于 0 状态)向 client 发送 205 状态码(server进入 1 状态)

//server 等待 client 回复 200 状态码,如果收到(server 进入 2 状态),则开始传输文件,否则延时等待直至超时\

//在文件传输阶段,server 发送窗口大小设为

ZeroMemory(buffer, sizeof(buffer));

int recvSize;

int waitCount = 0;

printf("Begain to test GBN protocol,please don't abort the process\n");

//加入了一个握手阶段

//首先服务器向客户端发送一个 205 大小的状态码(我自己定义的)表示服务器准备好了,可以发送数据

//客户端收到 205 之后回复一个 200 大小的状态码,表示客户端准备好了,可以接收数据了

//服务器收到 200 状态码之后,就开始使用 GBN 发送数据了

printf("Shake hands stage\n");

int stage = 0;

bool runFlag = true;

while (runFlag){

switch (stage){

case 0://发送 205 阶段

buffer[0] = 205;

sendto(sockServer, buffer, strlen(buffer) + 1, 0,

(SOCKADDR*)&addrClient, sizeof(SOCKADDR));

Sleep(100);

stage = 1;

break;

case 1://等待接收 200 阶段,没有收到则计数器+1,超时则放弃此次“连接”,等待从第一步开始

recvSize = recvfrom(sockServer, buffer, BUFFER_LENGTH, 0, ((SOCKADDR*)&addrClient), &length);

if (recvSize < 0){

++waitCount;

if (waitCount > 20){

runFlag = false;

printf("Timeout error\n");

break;

}

Sleep(500);

continue;

}

else{

if ((unsigned char)buffer[0] == 200){

printf("Begin a file transfer\n");

printf("File size is %dB, each packet is 1024B and packet total num is %d\n", sizeof(data), totalPacket);

curSeq = 0;

curAck = 0;

totalack = 0;

totalSeq = 0;

waitCount = 0;

stage = 2;

}

}

break;

case 2://数据传输阶段

if (seqIsAvailable()){

//发送给客户端的序列号从 1 开始

if (totalSeq <= totalPacket)

{

buffer[0] = curSeq + 1;

ack[curSeq] = FALSE;

//数据发送的过程中应该判断是否传输完成

//为简化过程此处并未实现

memcpy(&buffer[1], data + 1024 * totalSeq, 1024);

printf("send a packet with a seq of %d\n", curSeq);

sendto(sockServer, buffer, BUFFER_LENGTH, 0,

(SOCKADDR*)&addrClient, sizeof(SOCKADDR));

++curSeq;

curSeq %= SEQ_SIZE;

++totalSeq;

Sleep(500);

}

}

//等待 Ack,若没有收到,则返回值为-1,计数器+1

recvSize =

recvfrom(sockServer,buffer,BUFFER_LENGTH,0,((SOCKADDR*)&addrClient),&length);

if(recvSize < 0){

waitCount++; //20 次等待 ack 则超时重传

if (waitCount > 20)

{

timeoutHandler();

waitCount = 0;

}

}

else{

//收到 ack

ackHandler(buffer[0]);

waitCount = 0;

}

if (totalack == totalPacket)

Sleep(500);

Sleep(500);

break;

}

}

}

sendto(sockServer, buffer, strlen(buffer) + 1, 0,

(SOCKADDR*)&addrClient,sizeof(SOCKADDR));

Sleep(500);

}

//关闭套接字,卸载库

closesocket(sockServer);

WSACleanup();

return 0;

}

实验结果截图:

Gbn测试数据包丢失概率0.1,ack丢失概率0.2,测试截图如下:服务器端:

客户端:

五、实验心得

1.理解了滑动窗口协议的基本原理;

2.基本掌握GBN的工作原理;

3.学会基于UDP设计并实现一个GBN协议的过程与技术。

计算机网络实验

广州大学学生实验报告 开课学院及实验室:计算机学院 2015年月11日10日 一、实验目的 理解上述知识点所涉及的基本概念并学会使用这些工具测试网络的状态及从网上获取信息。 二、实验环境 安装了TCP/IP协议的Windows系统的计算机 三、实验内容 1、检测本机的MAC地址 2、检测本机网关的MAC地址 3、检测本地域名服务器的IP地址 4、检测DHCP服务器的MAC地址(考虑两种网络环境:实验室网络环境和宿舍网络环境) 5、检测去往https://www.360docs.net/doc/2614774388.html,的路径MTU 6、检测本机的路由表 7、检测去往https://www.360docs.net/doc/2614774388.html,n网络的可用性、回程响应时间及经过的路由器个数。 8、检测本机的所有有效连接,及各连接的端口号 9、往路由表添加一条路由,去往主机https://www.360docs.net/doc/2614774388.html,的路由,经过邻居同学的主机转发 10、课后实验并写入实验报告: ●为了确定你所在组织的路由是否稳定,使用路由跟踪程序来找到去往每一网络中 的一条路由,重复测试一次,再连续测试几天,看看路由有变化吗? ●挑选10个Internet中较远的目的地,进行前一练习中的实验,看看路由变化的频 度。 ●上网收集网络测试工具并测试使用方法。 四、实验步骤、记录和结果 实验1:检测本机的MAC地址 用ipconfig/all命令可以查看到本机的信息,包括MAC地址、IP地址等

实验2:检测本机网关的MAC地址:从上述可知网关ip为202.192.33.254,再输入Arp –a 202.192.33.254 由ipconfig/all命令可得到本机网关的IP地址为:172.18.36.254,通过ping网关的IP 地址后用arp -a命令可得到本机网关的MAC地址为:00-0c-db-c9-71-c0 实验3:检测本地域名服务器的IP地址:直接输入ping https://www.360docs.net/doc/2614774388.html, 由ipconfig/all命令可得到本地域名服务器的IP地址为:202.192.18.10

武汉大学计算机网络实验报告 (2)

武汉大学教学实验报告 动力与机械学院能源动力系统及自动化专业2013 年11 月10 日

一、实验操作过程 1.在仿真软件packet tracer上按照实验的要求选择无线路由器,一般路由器和PC机构建一个无线局域网,局域网的网络拓扑图如下: 2.按照实验指导书上的表9.1(参数配置表)对路由器,DNS服务器,WWW服务器和PC机进行相关参数的配置: 服务器配置信息(子网掩码均为255.255.255.0) 主机名IP地址默认网关 DNS 202.2.2.1 202.2.2.2 WWW 202.3.3.1 202.3.3.3 路由器配置信息(子网掩码均为255.255.255.0) 主机名型号IP地址默认网关时钟频率ISP 2620XM e1/0:202.2.2.2 e1/1:202.3.3.3 s0/0:202.1.1.2 64000 Router2(Server) 2620XM f0/0:192.168.1.1 s0/0:202.1.1.1 Wireless Router Linksys WRT300N 192.168.1.2 192.168.1.1 202.2.2.1 备注:PC机的IP地址将通过无线路由器的设置自动分配 2.1 对router0(sever)断的配置: 将下列程序代码输到router0中的IOS命令行中并执行,对router0路由器进行设置。Router>en Router#conf t

2.3 WWW服务器的相关配置 对www服务器进行与DNS服务器相似的配置,包括它的IP地址,子网掩码,网关等,具体的相关配置图见下图: WWW服务器的相关配置图

计算机网络与WebGIS上机实验指导

苏州市职业大学 计算机网络与WebGIS实验报告 姓名: 学号: 学院: 班级:

实验一利用HTML制作表单 1.实验目的 了解掌握HTML语言:基础知识、编辑文档、超链接;图像与多媒体、表格、框架和表单 2.实验要求 硬件:GIS机房配置已达到要求; 软件:Win2000/WIN XP、记事本 3.实验内容 利用所学HTML语言完成表单制作,界面可参考图1,在制作过程中了解HTML文档的基本格式,尤其是表单标签

的具体应用,为与服务器交互提供前端界面。 图1 表单制作

实验二 ASP制作留言簿 1.实验目的 了解并掌握ASP基本结构、脚本语言VBScript、JavaScript、ASP五大对象(Response、Request、Session、Application、Server)的使用、掌握Web数据库的操作。 2.实验要求 硬件:GIS机房配置已达到要求; 软件:Win2000/WIN XP、IIS、Access 3.实验内容 编写ASP程序实现一个留言簿,要求留言信息存储在Access数据库中。(图3-1为示例,源文件见Board文件夹) 图3-1制作留言簿

实验三熟悉目前常用的网络地图服务google earth 使用 百度地图和E都市等 实验六熟悉ArcIMS 1.实验目的 了解ArcGIS网络地图发布产品-ArcIMS的安装与配置,并能根据向导完成地图发布。 2.实验要求 硬件:GIS机房配置已达到要求; 软件:Win2000/WIN XP、ArcIMS4.0 3.实验内容 (1)安装Microsoft IIS服务 (2)安装JA V A程序运行支持平台,这里安装了JA V A2的最新版版本 (j2re-1_4_2_04-win-i) (3)安装服务器连接器ServletExec,这是安装ARCIMS中自带的ServletExec_ISAPI_411版本 (4)安装ArcIMS(确保ArcGIS license 已经安装) 运行Diagnostics诊断工具,如果出现图4-1表示安装成功 4-1 4-2

计算机网络实验报告精编WORD版

计算机网络实验报告精 编W O R D版 IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】

计算机网络实验报告实验时间:2018年5月16日 参加人员:袁志伟朱兴旺周瑞锦刘小旭 一、实验名称:VLAN划分与配置 了解vlan的作用,掌握在一台交换机上划分VLan的方法和跨交换机的VLan的配置方法,掌握Trunk端口的配置方法。理解三层交换的原理,熟悉Vlan接口的配置 二、实验内容 首先,在一台交换机上划分VLan,用ping命令测试在同一VLan和不同VLan中设备的连通性。然后,在交换机上配置Trunk端口,用ping命令测试在同一VLan和不同VLan中设备的连通性。最后,利用交换机的三层功能,实现Vlan间的路由,再次用ping命令测试其连通性。 三、实验步骤 实验组网架构

图二 Trunk 端口的配置组网图 E0/11 E0/1 E0/1 E0/11 E0/13 E0/1S1 S2 Vlan2 Vlan2 Vlan3 Vlan3 注:S1中vlan2包括端口e0/1 到e0/5,vlan3包括端口e0/7到e 0/11; 注:vlan2包括端口e0/1到e0/5,vlan3包括端口e0/7到e0/11 E0/1 E0/2 E0/10 E0/11 Vlan2 Vlan3 S1 PA PB

图三 VLan 间通信的配置组网图 实施步骤 1.Vlan 的基本配置 步骤1 按照组网图一连接好设备,为交换机划分Vlan 。参考配置命令如下: system [Quidway]VLan 2 [Quidway-vlan2]port e 0/1 e 0/2 e 0/3 e 0/4 e 0/5 [Quidway-vlan2]quit [Quidway]VLan 3 [Quidway-vlan3]port e 0/7 to e 0/11 E0/11 E0/1 E0/1 E0/11 E0/13 E0/1PCA PCB PCC PCD 网关: 网关: S1 Vlan2 Vlan3 注:S1中vlan2包括端口e0/1 到e0/5,vlan3包括端口e0/7到e 0/11; S2 网关: 网关: VLAN2: VLAN3:

计算机网络实验

试验一 利用wireshark抓包工具抓包 一、实验名称 使用网络协议分析仪 Wireshark 二、实验目的 1. 掌握安装和配置网络协议分析仪Wireshark的方法; 2. 熟悉使用Wireshark工具分析网络协议的基本方法,加深对协议格式、协议层次和协议交互过程的理解。 三、实验内容和要求 1. 安装和配置Wireshark的网络协议分析仪,下载地址https://www.360docs.net/doc/2614774388.html,。 2. 使用并熟悉Wireshark分析协议的部分功能。 四、实验环境 1.Windows7 操作系统PC机器。 2.PC机器具有以太网卡一块,通过双绞线与局域网连接。 3.Wireshark软件(Wireshark-win64-2.0.2)。 五、操作方法与实验步骤 1:安装网络协议分析仪,从官网下载exe软件双击安装Wireshark-win64-2.0.2。

2:启用Wireshark进行试验。 2.1:启动初始如下显示: 2.2:分组捕获数据,并将捕获的数据保存为文件抓包实验数据.pcapng,当再次需要捕获时,可以打开文件在进行实验抓包。2.3:对数据进行协议分析。 在上部“俘获分组的列表”窗口中,有编号(No)、时间(Time)、源地址(Source)、目的地址(Destination)、协议(Protocol)、长度(Length)和信息(Info)等列(栏目),各列下方依次排列着俘获的分组。中部“所选分组首部的细节信息”窗口给出选中帧的首部详细内容。下部“分组内容”窗口中是对应所选分组以十六进制数和ASCII 形式的内容。 2.4无线网连接抓包实验数据如下图1 2.5本地连接网页抓包实验数据如下图2

计算机网络实验指导书(new)

计算机网络实验指导书 实验一以太网的组建(2学时) 实验名称:以太网的组建 实验目的: 1、了解实验室布局;认识交换机与路由器的结构与连接方法; 2、掌握简单的局域网组网方法; 3、掌握简单的局域网配置方法。 实验步骤: 1、观察实验室计算机网络的组成 步骤1:观察所在机房的计算机网络的组成,并描述计算机网络的组成。 步骤2:画出机房网络拓扑结构。 步骤3:通过Internet搜索集线器或交换机的结构和连接方法。 2、组建简单的局域网 步骤1:将计算机网卡插入PCI插槽,并安装网卡驱动程序,记录网卡驱动程序名称。 步骤2:制作双绞线(直通线) 步骤3:用双绞线将安装网卡的计算机与交换机相连。 步骤4:将交换机通电 步骤5:网络操作系统配置,每个网卡对应一个本地连接,在本地连接属性中进行局域网基本配置。 3、局域网基本配置 步骤1:选择网上邻居属性,如图1所示。选择本地网卡对应的“本地连接”属性,查看并记录本机安装的网络组件,如图2所示。 图1 网络连接属性图2 网络组件 步骤2:命名计算机,例如,命名为:netuser,如图3所示。并配置TCP/IP,例如将IP地址和子网掩码分别设置为:192.168.0.1 255.255.255.0。

图3 计算机命名图4 配置TCP/IP 步骤3:将同网络其他计算机分别命名,计算机名不能重复。 IP地址分别为:192.168.0.2~192.168.0.254,IP地址也不能重复。 4、使用集线器与交换机组建的以太网 在包跟踪软件中,分别使用集线器和交换机组建如图所示的以太网。各计算机的TCP/IP 配置信息根据下表进行配置:(MAC地址请记录在表格空白处) 使用集线器组建简单的以太网 模拟数据包运行结果:(PC0—>PC2)

大工17春《计算机网络实验(二)》实验报告

姓名:叶孝天 报名编号:161277305594 学习中心:内蒙古呼伦贝尔奥鹏学习中心 层次:专升本 专业:网络工程 实验一:交换机的登录与配置 实验目的:1、掌握用telnet方式管理交换机原理; 2、掌握交换机telnet配置方法。 实验问题讨论: 1.使用Telnet方式登录交换机: (1) 在交换机上做出必须的预先配置,例如配置交换机的IP 地址和子网掩码,配置登录交换机的用户密码,配置登录用户的权限级别等。请把你为完成这些预先配置所执行的配置命令写到实验报告中。 hostname sw1924enable secret cisco ip address192.168.2.1255.255.255.0 enable password level15cisco15 (2) 配置PC A的IP地址和子网掩码,注意要把PC A的IP 地址与交换机的IP地址设在同一网段。请把你所做的配置写到实验报告中。 ip address192.168.2.3 255.255.255.0

实验二:交换机VLAN间路由配置实验 实验目的:1、掌握单臂路由的工作原理 2、学习配置单臂路由的命令和步骤 实验问题讨论: 1.“reset saved-configuration”命令和“reboot”命令的功能是什么? 答:1、删除设备存储介质中保存的下次启动的配置文件 2、重启设备命令 2.Switch A中VLAN1的端口都包括哪几个端口?VLAN2的端口包括哪几个端口?VLAN3的端口都包括哪几个端口? 答:VLAN1端口包括E0/1 to E0/8 VLAN2端口包括E0/9 to E0/16 VLAN3端口包括E0/17 to E0/24 实验三:路由器的登录与基础配置 实验目的:1、掌握路由器的两种登陆方式 2、掌握路由器的基本命令功能 实验问题讨论: 1.在Telnet登录方式的前期配置中,我们创建本地账户和

计算机网络实验

实验四IEEE 802.3协议分析和以太网 一、实验目的 1、分析802.3协议 2、熟悉以太网帧的格式 二、实验环境 与因特网连接的计算机网络系统;主机操作系统为windows;Ethereal、IE 等软件。 三、实验步骤 (注:本次实验先完成前面的“1 俘获并分析以太网帧”,并回答好后面的第1-10 题,完成后看书学习一下arp的相关内容) 1、俘获并分析以太网帧 (1)清空浏览器缓存(在IE窗口中,选择“工具/Internet选项/删除文件”命令)。(2)启动Ethereal,开始分组俘获。 (3)在浏览器的地址栏中输入: https://www.360docs.net/doc/2614774388.html,/ethereal-labs/HTTP-ethereal-lab-file3.html,浏览器将显示冗长的美国权力法案。 (4)停止分组俘获。首先,找到你的主机向服务器https://www.360docs.net/doc/2614774388.html,发送的HTTP GET报文的分组序号,以及服务器发送到你主机上的HTTP 响应报文的序号。其中,窗口大体如下。

选择“Analyze->Enabled Protocols”,取消对IP复选框的选择,单击OK(不这样设置也可,建议先不要这样操作)。窗口如下。 (5)选择包含HTTP GET报文的以太网帧,在分组详细信息窗口中,展开Ethernet II信息部分。根据操作,回答“四、实验报告内容”中的1-5题(6)选择包含HTTP 响应报文中第一个字节的以太网帧,根据操作,回答“四、实验报告内容”中的6-10题 2、ARP (1)利用MS-DOS命令:arp 或c:\windows\system32\arp查看主机上ARP缓

计算机网络实验报告-答案.

计算机网络实验报告 专业计算机科学与技术 班级计102 学号 109074057 姓名王徽军 组号一组D 指导教师毛绪纹 安徽工业大学计算机学院 二○一二年十二月

目录 实验总体说明 (3) 实验一以太网帧的构成 (3) 实验三路由信息协议RIP (9) 实验四传输控制协议TCP (11) 实验五邮件协议SMTP、POP3、IMAP (12) 实验六超文本传输协议HTTP (14)

实验总体说明 1.实验总体目标 配合计算机网络课程的教学,加强学生对计算机网络知识(TCP/IP协议)的深刻理解,培养学生的实际操作能力。 2.实验环境 计算机网络协议仿真实验室: 实验环境:网络协议仿真教学系统(通用版)一套 硬件设备:服务器,中心控制设备,组控设备,PC机若干台 操作系统:Windows 2003服务器版 3.实验总体要求 ●按照各项实验内容做实验,记录各种数据包信息,包括操作、观察、记录、分析, 通过操作和观察获得直观印象,从获得的数据中分析网络协议的工作原理; ●每项实验均提交实验报告,实验报告的内容可参照实验的具体要求,但总体上应包 括以下内容:实验准备情况,实验记录,实验结果分析,算法描述,程序段,实验过程中遇到的问题以及对思考问题的解答等,实验目的、实验原理、实验步骤不需要写入实验报告中。 实验一以太网帧的构成 实验时间:_____________ 成绩:________________ 实验角色:_____________ 同组者姓名:______________________________

练习一:领略真实的MAC帧 00000000: FF FF FF FF FF FF 8C 89 A5 75 71 10 06 05 14 55 ..q....U 00000010: 85 48 D2 78 62 13 47 24 58 25 00 00 00 00 00 00 .H襵b.G$X%...... 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 ............ 练习二:理解MAC地址的作用 ●记录实验结果 表1-3实验结果 本机MAC地址源MAC地址目的MAC地址是否收到,为什么 主机B 8C89A5-7570BB 8C89A5-757113 8C89A5-7570C1 是,主机A与主机B接在同一共享模块 主机D 8C89A5-771A47 8C89A5-757113 8C89A5-7570C1 是,主机C与主机D接在同一共享模块 主机E 8C89A5-757110 无无否,与主机A、C都不在同一共享模块 主机 F 8C89A5-7715F8 无无否,与主机A、C都不在同一共享模块 练习三:编辑并发送MAC广播帧 ●结合练习三的实验结果,简述FFFFFF-FFFFFF作为目的MAC地址的作用。 答:该地址为广播地址,作用是完成一对多的通信方式,即一个数据帧可发送给同一网段内的所有节点。 练习四:编辑并发送LLC帧 ●实验结果 帧类型发送序号N(S)接受序号N(R) LLC 001F 0 ●简述“类型和长度”字段的两种含义 答:一是如果字段的值小于1518,它就是长度字段,用于定义下面数据字段的长度;二是如果字段的值大于1536,用于定义一个封装在帧中的PDU分组的类型。 思考问题: 1.为什么IEEE802标准将数据链路层分割为MAC子层和LLC子层? 答:出于厂商们在商业上的激烈竞争,IEEE的802委员会未能形成一个统一的、最佳的局域网标准,而是被迫制定了几个不同标准,如802.4令牌总线网、802.5令牌环网等。为了使数据链路层能更好地适应多种局域网标准,802委员会就将局域网的数据链路层拆成两个子层,即逻辑链路控制

电大计算机网络实验

上海电视大学 分校(站)《学生实验报告》记录表 姓名: 学号: 实验日期: 2011 年月日 实验名称:验2 Windows环境下TCP/IP协议的配置 使用主要设备:计算机 实验目的:1、了解协议及TCP/IP协议的功能,能在操作系统为windows xp/2000的计算机上熟练地进行TCP/IP配置; 2.能熟练地使用Ping.Hostname,Ipconfig,Arp等衫程序来测试计算机上的TCP/IP 配置,验证TCP/IP配置 实验报告内容:(另附页)

1.实验系统框图(简图) 2.实验步骤 3.实验数据以及分析处理 1)根据所给源程序进行调试 2)调试中碰到的问题及解决方法 3)调试成功的程序清单 4.实验结论 一、TCP/IP 协议的配置 1.打开控制面板中的网络,查看有无TCP/IP协议 2、安装TCP/IP协议

3.选择网卡对应的TCP/IP项,设置TCP/IP协议

4.完成配置,IPCONFIG查看 二、TCP/IP 诊断

1、使用ping 来测试计算机上的TCP/IP配置。(ping 127.0.0.1) 答:1、发送了四个数据包。接受了四个数据包。没有丢失数据包。 2、TCP/IP 工作正常。 2、用HOSTNAME 程序来获得计算机名称。 答:3、我的计算机的主机名称是2jf28 4、我的计算机的IP地址是10.0.4.60

3、使用Ping 测试本计算机与其他计算机的连接性能。 答:5、其他计算机的主机名称是2jf29 6、因为可以PING 的通,没有数据包丢失。 4、考察计算机上的TCP/IP 的配置

计算机网络实验一_

计算机网络滑动窗口 实验报告 班级:2012211306 学号:2012211249 姓名:查凯文

一.实验目的 通过上机编程模拟滑动窗口协议中的协议6——选择性重传协议,熟悉和掌握协议6的基本概念、基本原理以及实现方法和过程,并与协议5进行对比,加深对滑动窗口协议的理解和认识。 二.实验内容 在Linux、WindowsNT下编程模拟实现滑动窗口协议的1bit滑动窗口协议,需要分别实现发送方功能与接收方功能。 三.实验说明 a)窗口机制 滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口。发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。不同的滑动窗口协议窗口大小一般不同。发送方窗口内的序列号代表了那些已经被发送,但是还没有被确认的帧,或者是那些可以被发送的帧。 分析: ①初始态,发送方没有帧发出,发送窗口前后沿相重合。接收方0号窗口打开,等待接收0号帧; ②发送方打开0号窗口,表示已发出0帧但尚确认返回信息。此时接收窗口状态不变; ③发送方打开0、1号窗口,表示0、1号帧均在等待确认之列。至此,发送方打开的窗口数已达规定限度,在未收到新的确认返回帧之前,发送方将暂停发送新的数据帧。接收窗口此时状态仍未变; ④接收方已收到0号帧,0号窗口关闭,1号窗口打开,表示准备接收1号帧。此时发送窗口状态不变; ⑤发送方收到接收方发来的0号帧确认返回信息,关闭0号窗口,表示从重发表中删除0号帧。此时接收窗口状态仍不变;

⑥发送方继续发送2号帧,2号窗口打开,表示2号帧也纳入待确认之列。至此,发送方打开的窗口又已达规定限度,在未收到新的确认返回帧之前,发送方将暂停发送新的数据帧,此时接收窗口状态仍不变; ⑦接收方已收到1号帧,1号窗口关闭,2号窗口打开,表示准备接收2号帧。此时发送窗口状态不变; ⑧发送方收到接收方发来的1号帧收毕的确认信息,关闭1号窗口,表示从重发表中删除1号帧。此时接收窗口状态仍不变。 b)选择重传协议 在后退n协议中,接收方若发现错误帧就不再接收后续的帧,即使是正确到达的帧,这显然是一种浪费。另一种效率更高的策略是当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方仍可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧。一旦收到重新传来的帧后,就可以原已存于缓冲区中的其余帧一并按正确的顺序递交高层。这种方法称为选择重发(SELECTICE REPEAT),其工作过程如图所示。显然,选择重发减少了浪费,但要求接收方有足够大的缓冲区空间。

福建农林大学计算机网络实验报告二

福建农林大学计算机与信息学院 实验报告 2015年10 月27 日

实验项目列表

实验报告 系:计算机科学专业:计算机科学与技术年级: 姓名:学号:实验室号:计算机号: 实验日期:2015 年10 月27 日指导教师签字:成绩: 报告退发(订正、重做) 实验二网络监听实验 一、实验目的 1、理解网络监听原理 2、熟悉网络监听方法 3、理解网络流量 4、掌握TCP/IP的主要协议和协议的层次结构 二、实验环境与设备 本实验在实际因特网环境下进行操作,需要的设备有:一台PC机,WireShark监听软件。WireShark监听软件可从网址:https://www.360docs.net/doc/2614774388.html,/下载。实验配置如图所示。 因特网 三、实验原理 1、网络协议分析器 如果使用Web浏览器或OICQ聊天这样的网络软件,必须有网络连接才能工作,然而,你知道它们在因特网上传送的是什么类型的信息吗? 例如,计算机要对远程Web服务器发送什么数据来获取它需要的网页呢?计算机如何将邮件发给指定的人呢? 可以通过网络协议分析器(如WireShark)来协助观察网络会话的细节。网络协议分析器是一个能记录所有网络分组,并以人们可读的形式显示的软件。在监听重流量网络时,允许用户过滤掉不想要的分组或查看感兴趣的特定分组,而且还能为用户提供所有分组的统计概要。 2、网络监听原理 在共享式局域网中,位于同一网段的每台主机都可以截获在网络中传输的所有数据,正常情况下,一个网卡只响应目的地址为单播地址和广播地址的MAC帧而忽略其它MAC帧,网卡接收这两种帧时,通过CPU产生一个硬件中断,然后由操作系统负责处理该中断,对数据

计算机网络实验指导书新

计算机网络实验指导书(新版)

————————————————————————————————作者:————————————————————————————————日期: 2

计算机网络 实验指导书 主编郭雅 参编余小华黄锦煜罗肖辉 主审陶培基 I

前言 计算机网络是信息社会的支柱。培养一大批谙熟计算机网络原理与技术,具有综合应用和研发创新能力的人才,是社会信息化的需要,也是高等院校相关专业的教学目的。 编者在本科院校二级学院工作多年,一直担任计算机网络课程及其实验课程的教学工作。包括编者所在学校在内的许多本科院校二级学院采用了谢希仁编著《计算机网络》作为网络基础课程的教材。该教材内容丰富,说理透彻。针对本科院校二级学院学生的特点,教学中应该基础理论和实践并重,各所院校都开出了一定的实验课时。为规范实验内容,严格实验训练,达到实验教学的目的,编者多年来一直对本类院校的实验教学进行探索,研究在课时有限的情况下,如何组织计算机网络实验教学的内容,使之既能配合课堂教学,加深对所学知识的理解,又能紧跟网络技术的发展,培养和提高学生的实际操作技能。在教学实践中,编者一直坚持编写和完善实验指导书,并与选用谢希仁编著《计算机网络》做教材的一些兄弟院校的教师多次交流,修订完成了这本《计算机网络实验指导书》。 本书内容涵盖诠释网络原理,应用组网技术和实施网络管理等几个方面的实验项目十九个。由于编者水平有限,编写时间紧迫,不足与错误在所难免,恳请专家和广大读者不吝批评指正。 参加本书编写的人员有华南理工大学广州学院计算机工程系余小华老师,华南师范大学增城学院教育信息技术部黄锦煜老师,华南师范大学增城学院网络中心罗肖辉老师。 本书由华南师范大学增城学院计算机系主任陶培基教授担任主审。 感谢广东轻工职业技术学院计算机系教授石硕对本书编写和出版所提供的意见、建议和热忱帮助。 编者 2011年6月 于华南师范大学增城学院,广州 E-mail: hsguoya@https://www.360docs.net/doc/2614774388.html, II

计算机网络实验二报告

计算机网络实验报告 课程_ 计算机网络 _ 实验名称TCP/IP协议分析与验证 姓名实验日期: 学号实验报告日期: 同组人姓名报告退发: ( 订正、重做 ) 同组人学号 实验名称 TCP/IP协议分析与验证 一.实验环境(详细说明运行的操作系统,网络平台,机器的IP地址) 操作系统:Win8.1 网络平台:Wireshark 机器的IP地址:192.168.191.3 二.实验目的 通过本实验使学生了解和掌握报文捕获工具Wiresshark(或者EtherDetect) 的使用方法和基本特点,通过Wireshark软件捕获并分析基于链路层的协议数 据,包括ARP、ICMP、IP、TCP、UDP以及DNS、FTP、HTTP协议的报文格式以及 工作过程,促使学生真正了解TCP、UDP、IP等协议的构成 三.实验内容及步骤 【实验内容】 要求学生在各自机器上进行文件下载和浏览网页操作,通过Wireshark捕获报文并分析TCP/IP协议族中各种协议的报文格式和工作过程。然后在各自机器上发送ping、tracert命令,然后通过Wireshark捕获以太网帧并分析IP、ICMP和ARP协议的报文格式和工作过程 【实验步骤】 (1)启动Wireshark,并设置好相关参数; (2)启动Wireshark捕获功能;

(3)发送ping或tracert命令或进行文件下载和网页浏览; (4)分析Wireshark捕获的各种报文并验证TCP/IP协议的报文格式和工作过程【实验题目】 1-1.(1)设置获取数据包的filter为两台机之间。 (2)捕获两台机之间的IP数据报的报文。 (3)在报文的十六进制代码中找出源IP、目标IP、首部长度以及协议字段的值。 粘贴报文处: 源IP:c0 a8 bf 03 目标IP:c0 a8 a8 0a 首部长度:45 协议字段的值及含义:01:使用的协议为icmp协议 1-2.(1)设置获取数据包的filter为两台机之间。 (2)捕获两台机之间的ICMP报文。 (3)分析echo request和echo reply两种类型的ICMP报文的。 Ping or tracert?(运行结果):

计算机网络实验三

计算机网络实验三

仲恺农业工程学院实验报告纸 自动化(院、系)自动化专业 122 班___ 组计算机通信网课 实验三虚拟局域网VLAN 第一部分:交换机端口隔离. 【实验名称】 交换机端口隔离. 【实验目的】 理解Port Vlan的配置,了解VLAN的原理,熟练掌握交换机端口隔离划分虚拟局 【背景描述】 假设此交换机是宽带小区城域网中的一台楼道交换机,住户PC1连接在交换机的 fa0/5口;住户PC2连接在交换机的fa0/15口,住户pc3连接在fa0/1口.现要实现各家各户 的端口隔离. 【实现功能】 通过PORT VLAN实现本交换机端口隔离. (通过虚拟局域网技术可以隔离网络风暴, 提高网络的性能,降低无用的网络开销。并能提高网络的安全性,保密性。) 【实现拓扑】 Switch PC1 PC2 【实验设备】 S2126G 1台、PC机 【实验步骤】 步骤1.搭建一个小型局域网的拓扑,使得一台可网管的交换机,通过普通快速以太 网端口f0/1、f0/2、f0/10与多台PC,使用直连线相连接。

并给三台PC机配置IP,要求所有IP属于同一个网段。保证三台PC两两之间互相能够ping通。截图于此 switchA#configure terminal !进入交换机全局配置模式 switchA(config)#vlan 2 !创建VLAN2 switchA(config-vlan)#name wxk01 !将其命名为wxk01 switchA(config-vlan)#exit!退出VLAN 01 switchA(config)#vlan 3 !创建VLAN 02 switchA(config-vlan)#name wxk02 !将其命名为wxk02 switchA(config-if)#exit 验证测试 使用命令show vlan和show running-config查看与刚才有何不同。 switchA#show vlan 步骤2.将接口分配到VLAN. switchA(config)#interface fa0/1 !进入fa0/1的接口配置模式。 switchA(config-if)#switch mode access switchA(config-if)#switch access vlan 2 !将fa 0/1 端口加入VLAN 2中。switchA(config-if)#exit switchA(config)#interface fa 0/2 !进入fa0/2的接口配置模式。 switchA(config-if)#switch mode access switchA(config-if)#switch access vlan 3 !将fa 0/2 端口加入VLAN 3中。switchA(config-if)#exit 验证测试 switchA#show vlan 步骤3.测试任两台PC互相PING不通.

计算机网络实验指导书(6个实验)

实验一交换机的基本配置 一.实验原理 1.1以太网交换机基础 以太网的最初形态就是在一段同轴电缆上连接多台计算机,所有计算机都共享这段电缆。所以每当某台计算机占有电缆时,其他计算机都只能等待。这种传统的共享以太网极大的受到计算机数量的影响。为了解决上述问题,我们可以做到的是减少冲突域类的主机数量,这就是以太网交换机采用的有效措施。 以太网交换机在数据链路层进行数据转发时需要确认数据帧应该发送到哪一端口,而不是简单的向所有端口转发,这就是交换机MAC地址表的功能。 以太网交换机包含很多重要的硬件组成部分:业务接口、主板、CPU内存、Flash、电源系统。以太网交换机 的软件主要包括引导程序和核心操作系统两部分。 1.2以太网交换机配置方式 以太网交换机的配置方式很多,如本地Console 口配置,Telnet远程登陆配置,FTP TFTP配置和哑终端方式 配置。其中最为常用的配置方式就是Console 口配置和Telnet远程配置。 1.3以太网交换机基本配置方法 1.3.1交换机的用户界面交换机有以下几个常见命令视图: (1)用户视图:交换机开机直接进入用户视图,此时交换机在超级终端的标识符为。 (2)系统视图:在用户视图下输入实system-view命令后回车,即进入系统视图。在此视图下交换机的标识符 为:。](3)以太网端口视图:在系统视图下输入interface命令即可进入以太网端口视图。在此视图下交换 机的标识符为:。 (4)VLAN配置视图:在系统视图下输入vlan vlan —number即可进入VLAN配置视图。在此视图下交换机的标识符为:。 (5)VTY用户界面视图:在系统视图下输入user-interface vty number 即可进入VTY用户界面视图。在此视图下交 换机的标识符为:。 进行配置时,需要注意配置视图的变化,特定的命令只能在特定的配置视图下进行。 1.3.2交换机的常用帮助在使用命令进行配置的时候,可以借助交换机提供的帮助功能快速完成命令的查找和配置。 (1)完全帮助:在任何视图下,输入?”获取该视图下的所有命令及其简单描述。 (2)部分帮助:输入一命令,后接以空格分隔的?”,如果该位置为关键字,则列岀全部关键字及其描述;如果该位置为参数,则列岀有关的参数描述。 在部分帮助里面,还有其他形式的帮助,如键入一字符串其后紧接?”,交换机将列岀所有以该字符串开头的命令; 或者键入一命令后接一字符串,紧接?”,列岀命令以该字府串开头的所有关键字。 实验内容:交换机配置方法

计算机网络实验报告xx

实验一网络命令与使用 实验要求: 1、在窗口中显示网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关 2、向一台电脑无限制的发送数据包,此数据包大小为60000byte 3、查看本地计算机或另一台计算机的ARP高速缓存中的当前内容 4、从一台ftp服务器上下载一份文件 实验过程: 1、在窗口中显示网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关 在命令行输入:ipconfig 命令 2、向一台电脑无限制的发送数据包,此数据包大小为60000byte 在命令行格式:ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-lis

其中-t表示ping指定计算机直到中断,-l定义发送数据包的长度。 3、查看本地计算机或另一台计算机的ARP高速缓存中的当前内容 命令行格式:ARP -a [inet_addr] [-N if_addr] 4、从一台ftp服务器上下载一份文件 命令行格式:ftp [-v] [-n] [-i] [-d] [-g] [-s:filename] [-a] [-w:windowsize]

[computer] 《计算机网络》实验指导书(24学时).doc 实验三网络协议分析 一,使用Ethereal分析软件捕获一段Ping命令的数据流,并分析其工作过程:如图所示: 第一行suorce为172.16.38.5为我的主机名,Destination 为172.16.38.3 为我发送的目的地主机名。后面的request表明我请求发送 第二行suorce为172.16.38.3为目的地的主机名,Destination 为172.16.38.5 为我的主机名。后面的replay表明目的地主机名向我发送信息表明收到了我发的数据包。 下面是命令行的截图:

计算机网络实验实验

计算机网络实验实验报告 姓名:张程程 学号:1202100110 班级:电气自动化类121班实验一、网络基本知识及网线的制作 实验目的: 1、使学生掌握基本的网络知识; 2、使学生掌握RJ-45接头的制作。 实验内容: 1、阅读预备知识掌握网络基础知识; 2、一般双绞线的制作 3、交叉双绞线的制作 4、测试一般双绞线的导通性 思考问题: 1、交换机与集线器的区别 答:(1)在OSI/RM中的工作层次不同 交换机和集线器在OSI/RM开放体系模型中对应的层次就不一样,集线器是同时工作在第一层(物理层)和第二层(数据链路层),而交换机至少是工作在第二层,更高级的交换机可以工作在第三层(网络层)和第四层(传输层)。 (2)交换机的数据传输方式不同 集线器的数据传输方式是广播(broadcast)方式,而交换机的数据传输是有目的的,数据只对目的节点发送,只是在自己的MAC 地址表中找不到的情况下第一次使用广播方式发送,然后因为交换机具有MAC地址学习功能,第二次以后就不再是广播发送了,又是有目的的发送。这样的好处是数据传输效率提高,不会出现广播风暴,在安全性方面也不会出现其它节点侦听的现象。具体在前面已作分析,在此不再赘述。 (3)带宽占用方式不同 在带宽占用方面,集线器所有端口是共享集线器的总带宽,而交换机的每个端口都具有自己的带宽,这样就交换机实际上每个端口的

带宽比集线器端口可用带宽要高许多,也就决定了交换机的传输速度比集线器要快许多。 (4)传输模式不同 集线器只能采用半双工方式进行传输的,因为集线器是共享传输介质的,这样在上行通道上集线器一次只能传输一个任务,要么是接收数据,要么是发送数据。而交换机则不一样,它是采用全双工方式来传输数据的,因此在同一时刻可以同时进行数据的接收和发送,这不但令数据的传输速度大大加快,而且在整个系统的吞吐量方面交换机比集线器至少要快一倍以上,因为它可以接收和发送同时进行,实际上还远不止一倍,因为端口带宽一般来说交换机比集线器也要宽许多倍。 2、常见的局域网拓扑结构有哪些 答:目前常见的网络拓扑结构主要有以下四大类: (1)星型结构 (2)环型结构 (3)总线型结构 (4)星型和总线型结合的复合型结构 3、局域网的几种工作模式 答:目前局域网主要存在着两种工作模式,它们涉及到用户存取和共享信息的方式,它们分别是:客户/服务器(C/S)模式和点对点(Peer-to-Peer)通信模式。 4、T568A、T568B 打线方法 答:在EIA/TIA布线标准中规定了双绞线的两种线序568A与568B。 568A标准:绿白—1,绿—2,橙白—3,蓝—4,蓝白—5,橙—6,棕白—7,棕—8 568B标准:橙白—1,橙—2,绿白—3,蓝—4,蓝白—5,绿—6,棕白—7,棕—8 标准中要求12、36、45、78线必须是双绞。这是因为,在数据的传输中,为了减少 和抑制外界的干扰,发送和接收的数据均以差分方式传输,即每一对线互相扭在一起传输一 路差分信号。 实验二、常用网络命令及网络软件的使用

计算机网络实验报告

计算机网络实验报告

实验1.跨交换机实现V ALN 1.1 实验环境 (1)Windows 操作系统的计算机 (2)https://www.360docs.net/doc/2614774388.html,NP.v6.0.Final.Beta (3).NET Framework 2.0 (4)Adobe Acrobat Reader 1.2 实验目的 理解VLAN如何跨交换机实现。 1.3 背景描述 假设宽带小区城域网中有两台楼道交换机,住户PC1、PC2、PC3、PC4分别接在交换机一的0/1、0/2端口和交换机二的0/1、0/2端口。PC1和PC3是一个单位的两家住户,PC2和PC4是另一个单位的两家住户,现要求同一个单位的住户能够互联互通,不同单位的住户不能互通。 1.4 实现功能 在同一VLAN里的计算机系统能跨交换机进行相互通信,而在不同VLAN 里的计算机系统不能进行相互通信。 1.5实验设备 Switch2950 2台 Pc 4台 1.6 实验步骤 (1).用Boson Network Designer 完成实验拓补图并连接好

(2).在模拟器重配置交换机和pc 。 先打开‘Boson NetSim’软件,再在‘Boson Network Designer’中点击Load…进行加载,进入Boson模拟器的环境,一边进行相关配置。 1)交换机S1进行配置 Switch>enable Switch#vlan database Switch(vlan)#vtp domain xyz Switch(vlan)#vtp server Switch(vlan)#vlan 2 name jsjx Switch(vlan)#exit

计算机网络实验

杭州电子科技大学 实验报告 学生姓名:韩民杨学号:12081420 指导教师:吴端坡 实验地点:1#108 实验时间:2015-4-24 一、实验室名称:1#108 二、实验项目名称:计算机网络实验1 Coding on error dectecting algorithms(C++) 三、实验学时: 四、实验原理:C++编程 五、实验目的:利用C++编程CRC16校验及奇偶校验 六、实验内容: Coding on error dectecting algorithms(C++) 1.Cyclic redundancy check Using the polynomials below to encode random generated data stream (40-100bits). Show the FEC, and encoded data frame. CRC-4 x4+x+1 ITU G.704 CRC-16 x16+x15+x2+1 IBM SDLC CRC-32 x32+x26+x23+ (x2) x+1 ZIP, RAR, IEEE 802 LAN/FDDI, IEEE 1394, PPP-FCS For the error patter listed below, what the conclusion does the receiver get? Can the receiver find the errors?

Case Error pattern No error 0000 (0000) One error 1000 (000) Two errors 100 (001) Random errors Random error pattern 2.Parity check Using even or odd parity check on random generated data stream (8-20bits). Show encoded data frame. For the error patter listed below, what the conclusion does the receiver get? Can the receiver find the errors? Case Error pattern No error 0000 (0000) One error 1000 (000) Two errors 100 (001) 七、实验器材(设备、元器件): PC机一台,装有C++集成开发环境。 八、实验步骤: #include #include #include #include #include #include #define NO_ERROR 1 #define ONE_ERROR 2 #define TWO_ERROR 3 #define RANDOM_ERROR 4 #define RESULT 1 #define CRC 0 #define Parity 0

相关文档
最新文档