计算机网络原理实验三winsock套接字编程实验报告(精选5篇)

时间:2019-05-12 06:53:32下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《计算机网络原理实验三winsock套接字编程实验报告》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《计算机网络原理实验三winsock套接字编程实验报告》。

第一篇:计算机网络原理实验三winsock套接字编程实验报告

实验

三、WINSOCK套接字编程实验报告

序号:姓名:学号:成绩

1.实验目的:

用C或JAVA语言编写客户端、服务器程序,实现基于TCP或UDP的网络通信数据传输服务,熟悉基于TCP或UDP的Socket编程原理。

2.实验环境:

建立在TCP/IP 网络体系结构之上计算机网络实验环境。各计算机除了安装TCP/IP 软件外,还安装了TCP/IP 开发系统。计算机具备Windows环境中套接字socket 的编程接口功能,可为用户提供全网范围的进程通信功能。

3.实验指导:

参见套接字编程实验指导

4.实验步骤

(1)运行指导书中给出的参考程序,分析实验结果,并回答问题(1)-(3)

(2)根据给定参考程序修改代码,完善修改服务器和客户端的功能。并回答问题(4)-(5)

5.实验结果分析

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

(2)为什么在服务器和客户端程序中要加入#pragma comment(lib,“ws2_32.lib”)

语句,如果不加会出现什么问题?

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

什么问题?

(4)修改后的程序完成实现了什么功能,附上修改后的源代码。(修改或填加的代

码用波浪线标注,并填加注释),并附上实验截图

(5)请详细说明此实验在设计及运行时遇到的问题和解决办法,及实验体会及建议。

第二篇:计算机网络原理实验三

实验

三、套接字编程

1.实验目的:

两人一组,编写一个客户端、服务器程序,掌握Socket编程原理。2.实验环境:

连入局域网络的主机一台。3.实验指导:

Socket API是实现进程间通信的一种编程设施,也是一种为进程间提供底层抽象的机制。理解socket编程模型及其原理。4.实验分析,回答下列问题。

a.运行指导书中的程序,并修改服务器的功能(自己思考),改写成多线程web服务器(选作),附上源代码,并加关键代码注释。服务器:

#include “stdafx.h” #include #include #include #include #pragma comment(lib,“ws2_32.lib”)#define MYPORT 3490 /*定义用户连接端口*/ #define BACKLOG 10 /*多少等待连接控制*/ #define SERVER_IP_ADDR “113.55.34.41” /*服务器的IP地址*/ int _tmain(int argc, _TCHAR* argv[]){ SOCKET sock, msgsock;#define PORT 3490 int length = 0;struct sockaddr_in server;struct sockaddr tcpaddr;char buf[1024] = “";int rval= 0, len= 0, err = 0,i;//用于循环 WORD wVersionRequested;WSADATA wsaData;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));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 #%dn“, ntohs(server.sin_port));listen(sock, 5);len = sizeof(struct sockaddr);do { msgsock = accept(sock,(struct sockaddr *)&tcpaddr,(int *)&len);if(msgsock ==-1)perror(”accept“);else {

for(i=0;i<=1000;i++)//循环控制 { memset(buf, 0, sizeof(buf));if((rval = recv(msgsock, buf, sizeof(buf),0)< 0))perror(”reading stream message“);if(rval == 0)

printf(”%sn“, buf);} } closesocket(msgsock);} while(TRUE);closesocket(msgsock);

客户端:

#include ”stdafx.h“ #include #include #include #include return 0;} #pragma comment(lib,”ws2_32.lib“)#define PORT 3490 /* 客户机连接远程主机的端口*/ #define MAXDATASIZE 100 /* 每次可以接收的最大字节*/ int _tmain(int argc, _TCHAR* argv[]){ WORD wVersionRequested;WSADATA wsaData;int err = 0 ,rval = 0 ,i;SOCKET fd;struct sockaddr_in servaddr;struct hostent* hp;char buf[1024] = ”“;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.34.41“);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 {

for(i=0;i<=1000;i++)//循环控制 { memset(buf, 0, 1024);scanf(”%s“,&buf);rval = send(fd, buf, strlen(buf)+ 1,0);if(rval < 0)printf(”Write error!“);} } closesocket(fd);exit(5);} return 0;

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

c.回答下列问题:

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

答:用Winsock2 API,这样有助于对异步、非阻塞Socket编程机制的理解。为了简单起见,服务器端和客户端的应用程序均是基于MFC的标准对话框,网络通信部分基于Winsock2 API实现。

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

答:用该语句,指示编译当前单元时,linker会优先链接该preproccessor 指定的lib文件,这样等于就告诉编译器有这样一个lib文件可以去链接。如果不加就会出现类似“LNK2019: 无法解析的外部符号__imp__closesocket@4,该符号在函数_wmain 中被引用”的错误。

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

答:使用Winsock库函数之前,必须先调用函数WSAStartup,该函数负责初始化动态连接库Ws2_32.dll.若ws2_32.dll尚未初始化,是无法调用WSAGetLastError.WSAStartup是任何使用Winsock的应用程序或者 DLL首先必须调用Winsock库函数.一方面它初始化 ws2_32.dll,另一方面他用于在应该程序DLL与系统Winsock库版本协商。所以,如果不用该函数程序将无法按照正常的情况进行。

(4)如果程序在Turbo C环境下运行,在服务器和客户程序中还需要上面的内容吗?

答:不需要。

(5)如果服务器程序中没有memset(server.sin_zero, 0,sizeof(server.sin_zero));语句,程序会出现什么错误,为什么?

答:此函数是为新申请的内存做初始化工作。如果去掉该语句在理论上面应该有错误,但是在我的实际操作中却没有错误,这个问题在我将继续深究。

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

答:无法连接。因为如果先运行客户端的话,没有服务器端等待,那么服务器端艰苦肯定无法给予响应,所以也就无法连接。

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

答:无法连接。会出现报错。

(8)上述服务器是串行处理多个客户端的请求,如何该成并发处理的服务器?

答:用父进程调用accept,然后调用fork,这样,已连接套接口就在父进程与子进程间共享,一般来说,接下来便是子进程读、写已连接套接口并关闭侦听套接口,而父进程则关闭已连接套接口。

5.实验环境:提供的Socket程序在visual c++ 2008中的设置(1)创建工程

(2)在应用程序开发中选择预编译头

(3)源程序有如下改变,winsock2.h windows.h头文件顺序要改变

#include #include

第三篇:计算机网络原理实验三

实验

三、套接字编程

序号: 姓名: 字丽梅 学号: 20091120216 成绩

1.实验目的:

两人一组,编写一个客户端、服务器程序,掌握Socket编程原理。2.实验环境:

连入局域网络的主机一台。3.实验指导:

Socket API是实现进程间通信的一种编程设施,也是一种为进程间提供底层抽象的机制。理解socket编程模型及其原理。4.实验分析,回答下列问题。

a.运行指导书中的程序,并修改服务器的功能(自己思考),改写成多线程web服务器(选作),附上源代码,并加关键代码注释。

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

c.回答下列问题:

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

答:Windows网络编程至少需要两个头文件:winsock2.h和windows.h。

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

答:#pragma comment(lib,“ws2_32.lib”)表示链接ws2_32.lib这个库。该库对应ws2_32.dll,提供了对某些网络相关API的支持,若使用其中的API,则应该将ws2_32.lib加入工程,如果不加入#pragma comment(lib,“ws2_32.lib”),则不能使用其中的API,即得不到相关API的支持。

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

答:本函数必须是应用程序或DLL调用的第一个Windows Sockets函数.它允许应用程序或DLL指明Windows Sockets API的版本号及获得特定Windows Sockets实现的细节。应用程序或DLL只能在一次成功的WSAStartup()调用之后才能调用进一步的Windows Sockets API函数。如果不用应用程序或DLL就不能进一步的调用Windows Sockets API函数,程序就不能继续执行。

(4)如果服务器程序中没有memset(server.sin_zero, 0, sizeof(server.sin_zero));语句,程序会出现什么错误,为什么?

答:没有错误,注释这一条语句后,程序调试成功,实现访问。

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

答:程序跳出运行,并显示”can not creat connect!”因为没有相应的服务器与之创立链接。

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

答:如果服务器程序所在计算机没有链接网络,则执行程序后出现:

binding stream socket: No error Press any key to continue...(7)上述服务器是串行处理多个客户端的请求,如何该成并发处理的服务器? 答:用父进程调用accept,然后调用fork,这样,已连接套接口就在父进程与子进程间共享,一般来说,接下来便是子进程读、写已连接套接口并关闭侦听套接口,而父进程则关闭已连接套接口。

第四篇:计算机网络原理实验报告

重庆交通大学 实验报告

班 级: 电子信息 专业 级 班

学 号:

姓 名:

实验项目名称: 计算机网络原理实验

实验项目性质: 设计性(验证性)

实验所属课程: 计算机网络

实验室(中心): 软件实验室

指 导 教 师 :

实验完成时间: 2016 年 6 月 29

实验1 控制台网络操作的基本命令

实验目的:

掌握和使用控制台网络操作的基本命令:ipconfig,ping,tracert,arp,dhcp,nslookup,netstat。

实验环境:

Windows7,使用命令提示符

实验步骤: ipconfig 使用ipconfig/all查看自己计算机的网络配置,尽可能明白每行的意思。分析:你和旁边的计算机是否处于同一子网,为什么? Ping 练习ping命令,掌握反馈的意思。

通过ping/?了解ping命令的各种选项并实际使用。Tracert/pathping 使用tracert或pathping进行路由追踪。思考为何能进行路由追踪?请实际验证。Arp 以arp –a命令,查看当前arp缓存,并通过网络获得查看缓存的变化。以arp –s命令将网关设置为静态arp。Dhcp 使用ipconfig/release释放自动获取的网络配置,并用ipconfig/renew重新获取,了解DHCP。

如果你不能释放,请思考如何处理。常用端口号

打开C:WINDOWSsystem32driversetcservices文件,了解常用的端口号分配。Netstat 练习netstat命令,查看当前的网络连接状况。Nslookup 练习nslookup命令,进行命令行的DNS解析。Hosts文件

打开C:WINDOWSsystem32driversetchosts文件,思考如何屏蔽浏览网页和观看视频时的广告?

实验内容: ipconfig

Ping

tracert/pathping

arp

Dhcp

netstat

nslookup

hosts文件

 实验结果与分析

1.是同一子网

因为默认网关是同一个子网里面取出来的一个ip地址作为的,既然默认网关都一样,那就是在同一个子网之内,也就是处于同一个网络。

如果不在同一个网络之内的两台电脑肯定是拥有不一样的网关的。

2.Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间(TTL)字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。

3.利用系统文件hosts,在该文件后面添加广告地址屏蔽

实验2 Wireshark实验

本部分实验在Wireshark中进行。请访问 Wireshark图文教程 和 中国协议分析网 熟悉其使用。

DNS解析

进行一个DNS解析,用Wireshark进行分析,了解UDP和DNS的使用。

这是捕获的通过百度得到的“无线路由器设置细节详解”

下图是进行DNS缓存清除

实验3 Cisco Packet Tracer实验

本部分实验在Cisco Packet Tracer软件中完成。请同学们先了解VLSM、CIDR、RIP、OSPF、VLAN、STP、NAT及DHCP等概念,以进行网络规划和配置。

CPT软件使用简介

了解和熟悉CPT软件的使用。请先阅读使用简介

用交换机连接PC构建LAN 构建如下所示的拓扑结构。进行各PC的基本网络配置,要求相互能ping通。

实验结果

如图是我构建的拓扑结构

上图中的PC和多路交换机中的节点是绿色的,表示该连接是畅通的;当它是红色的时候,表示该连接是阻塞的;

CLI信息

VLAN设置

RIP设置

思考:

1、这些PC处于同一个子网吗?不在同一个子网能否通信?

答:这些PC是处于同一子网。它们虽然不在同一子网,但是不影响它们之间的通信。

2、测试如PC1的IP为192.168.1.1/24,而PC2的IP为192.168.2.1/24能否通信?

3、测试如PC1的IP为192.168.1.1/16,而PC2的IP为192.168.2.1/24能否通信?

4、设置网关了吗?为什么?

答:我未设置网关。因为可分配给主机的第一个地址被PC占有。

思考:

集线器Hub是只工作在物理层的设备,它与交换机的区别何在?请在CPT软件中进行实际验证。

答:1.从工作方式来看:集线器是一种广播模式,容易产生广播风暴,而当交换机工作的时候,只有发出请求的端口和目的端口之间相互相应而不影响其它端口,因此交换机就能够隔离冲突与病有效的抑制广播风暴的产生。

2.从带宽来看:集线器所有端口都是共想一条带宽,是总线型拓扑结构;而对于交换机而言,每个端口都有一条独占的带宽。

验证:将左边的交换机2960替换为集线器hub。

用PC0 ping PC1,用PC2 ping PC3,模拟结果如下图所示

实验4 静态路由配置

静态路由是非自适应性路由计算协议,是由管理人员手动配置的,不能够根据网络拓扑的变化而改变。因此,静态路由非常简单,适用于非常简单的网络。

在当前这个简单的拓扑结构中我们可以使用静态路由,即需要直接告诉路由器到某网络该怎么走。在上述配置情况如下添加如下命令:

交通大学路由器:

Router(config)#ip route 192.168.3.0 255.255.255.0 192.168.2.2 //到3.0这个网络的下一跳是2.2 Router(config)#exit //退到全局配置模式

Router#show ip route //查看路由表

同理,重庆大学路由器:

Router(config)#ip route 192.168.1.0 255.255.255.0 192.168.2.1 //到1.0这个网络的下一跳是2.1 Router(config)#exit //退到全局配置模式

Router#show ip route //查看路由表

VLAN间通信

构建如下拓扑结构:

其中,两个2960交换机和核心的3560交换机使用Gbit口相连。

Cisco 3560交换机是局域网中的核心交换机,将其作为VTP Server,VLAN在其上创建。配置如下:

Switch(config)#hostname 3560 //更改交换机名称

3560(config)#vtp domain cqjtu //设置VTP(VLAN中继协议)域名称

3560(config)#vtp mode server //设置其为VTP服务器

3560(config)#vlan 2 //新建VLAN2(缺省的,交换机所有端口都属于VLAN1,不能使用)

3560(config-vlan)#name computer //别名

3560(config-vlan)#exit

3560(config)#vlan 3 //再建VLAN3

3560(config-vlan)#name communication //别名

3560(config-vlan)#exit

3560(config)#int vlan 2 //配置接口VLAN2,它将是该子网的网关

3560(config-if)#ip address 192.168.1.1 255.255.255.0 3560(config-if)#exit

3560(config)#int vlan 3 //配置接口VLAN2,它将是该子网的网关

3560(config-if)#ip address 192.168.2.1 255.255.255.0

两个Cisco 2960交换机是作为局域网中的汇聚层/接入层交换机,将其作为VTP Client,自己决定哪些端口划入哪个VLAN。左边交换机配置如下:

Switch(config)#hostname 2960A //更改交换机名称

2960A(config)#vtp domain cqjtu //加入名为cqjtu的VTP域

2960A(config)#vtp mode client //设置其为VTP客户

2960A(config)#int g1/1 //配置与核心交换机连接的端口

2960A(config-if)#switchport mode trunk //设置该端口为中继(trunk)模式

2960A(config-if)#switchport trunk allowed vlan all //允许为所有的VLAN中继

2960A(config-if)#exit

2960A(config)#int f0/1 //将接口1划分到VLAN2 2960A(config-if)#switchport mode access 2960A(config-if)#switchport access vlan 2 2960A(config-if)#exit

2960A(config)#int f0/2 //将接口2划分到VLAN3 2960A(config-if)#switchport mode access 2960A(config-if)#switchport access vlan 3

右边交换机2960B与此类似,请参照配置。此时在3个交换机的特权模式下,都可使用show vtp status命令查看VTP状态,使用show vlan命令查看VLAN状态

各PC基本配置如下:

机器名 PC0 PC1 PC2 PC3 连接的端口 2960A-F0/1 2960A-F0/2 2960B-F0/1 2960B-F0/2

所属VLAN VLAN 2 VLAN 3 VLAN 2 VLAN 3

IP 192.168.1.2 192.168.2.2 192.168.1.3 192.168.2.3

子网掩码 255.255.255.0 255.255.255.0 255.255.255.0 255.255.255.0

网关 192.168.1.1 192.168.2.1 192.168.1.1 192.168.2.1 基本配置完成。同VLAN可以ping通,而不同VLAN不行(即使配置为同一子网),且得到统一规划和管理。

目前的问题是:广播风暴抑制了,但VLAN间的正常通信如何进行? 此时我们需要所谓的独臂路由器为其进行转发!因为我们的核心交换机是个3层交换机,也称路由交换机,即具有路由功能,因此配置如下

3560(config)#int g0/1 //配置该接口

3560(config-if)#switchport trunk encapsulation dot1q //封装VLAN协议

3560(config-if)#switchport mode trunk //中继模式

3560(config-if)#switchport trunk allowed vlan all //转发所有VLAN 3560(config-if)#exit

3560(config)#int g0/2 //配置该接口

3560(config-if)#switchport trunk encapsulation dot1q //封装VLAN协议

3560(config-if)#switchport mode trunk //中继模式

3560(config-if)#switchport trunk allowed vlan all //转发所有VLAN 3560(config-if)#exit

3560(config)#ip routing //启用路由功能

第五篇:《计算机网络实验》实验报告-201101030

《计算机网络实验》实验报告

学号:201101030045

姓名:

【说明,实验指导文档上有思考题的就做,没有的就不用了。希望大家按质、按量、按要求完成,不要偷工减料】

实验二

配置WWW服务器 思考题

1、如何设置站点默认访问页面?

点开始-设置-控制面板-管理工具-Internet 信息服务,然后点(本地计算机)前面的+号,然后点“网站”前+号,点默认网站,右键点默认网站,属性,文档,然后添加默认访问首页,然后调整下顺序就可以了

2、为什么在IIS中药配制目录的安全性:如何禁止匿名用户访问?

配制目录的安全性,可以保证目录中文件的安全,不会被随意删改。在Internet信息服务中的默认网站点击右键单击属性,单击安全账号,把允许匿名链接的勾去掉

实验三

配置DNS服务器 思考题

1如果某大型网站有多个内容相同的服务器(多个IP地址),如何配置使其拥有同一个域名

你要的功能其实很好实现。

HTTP服务器有两个网卡吧,一个公网,一个私网。1,在公网DNS上配置你的域名跟公网IP。

2,在内网DNS上把域名配置成私网的。然后设置成 cache-only 模式 3,在内网的电脑上首选DNS设置成内网的DNS,备用DNS设置公网的DNS 这样,内网的电脑就会通过私网访问。外网的用户则访问其他网站一样,走公网IP。

追问: 这我知道,但关键是在服务器它是如何做到的,虽然服务器有两张网卡但在配置IIS站点时WEB服务器时值允许选择一个IP或者IP+端口就如,它是如何做到两个线路都汇集一个站点呢?

如图,它一个站点只能让你选一个地址

实验四:

配置FTP服务器 思考题

1.如何限制同一IP的并发连接数目及下载速度?

这个得在你的路由器或是行为管理器中设置,好的路由器才可以有这种控制!!软件法 现在基本没用了,因为计算机360中都有反ARP软件所以不用考虑

2.如何使用账号登录FTP,在那里进行设置?

建议使用SERVER-U软件进行FTP设置,WIN2003自带的FTP服务设置方法比较烦琐,而且达不到想要的分用户分等级效果,还需要配合硬盘的用户权限分配。

实验五 配置DHCP服务器

思考题

1.如果完成以上测试步骤,仍然不能租约到IP地址,是发生了什么问题? 答:发生IP地址不够用了的情况

2..在没有设置IP地址,也没有租用到IP地址的情况下,客户机是否有IP地址?如果有是多少,如果没有,为什么?

答:没有。客户机必须向DHCP服务器申请IP地址。

实验六

网络协议分析基础

思考题

1.在一次浏览网页过程中,主机发送了哪些数据包,接收了哪些数据包?

答:主机将关于将要进行组播传输的文件的数据包填入组播数据包结构表中;在填写完组播数据包结构表之后,发送端处理机采用组播方式发送数据包,并将数据包放入发送端处理机的发送缓冲区中;在接收到数据包之后,接收端处理机向发送端处理机反馈数据包接收确认消息,并将数据包放入接收端处理机的接收缓冲区中;以及根据组播数据包结构表,接收端处理机判断组播传输是否完成,并在确定组播传输完成后,将接收到的数据包写入存储设备并清空接收缓冲区。

2..浏览相同的网页时,利用Ethereal观察捕捉结果是否一致?为什么?

答:不同的浏览器 可能捕捉的不一样。同一个浏览器 打开同样的网站 理论上 应该是类似的.实验七

网络协议分析-以太网及ARP协议

思考题

1.在以太网中发送数据产生产生冲突时,如何解决?查看Ethereal中接口上发送数据的统计信息。

答:以太网中发送数据产生冲突时,应停止发送信息,并发送干扰信息警告所有的其他站点。

2.以太帧上运行的协议有哪些?

答:ARP协议、TCP协议、IP协议、645协议、376.1协议。

实验八

网络协议分析-IP协议

思考题

1.IP分组中TTL字段是什么意思,有何作用?利用Ethereal观察ping互联网上一台主机时TTL字段变化? 答:TTL(time to live),即生存时间,该字段表示一个IP数据报能够经过的最大的路由器跳数,TTL字段是由IP数据报发送端初始设置的,每个处理该数据报的路由器都需要将其 TTL值减1,即当一个IP数据报每经过一个路由时,其TTL值会减1,当路由器收到一个TTL值为0的数据报时,路由器会将其丢弃。因此,TTL字段的目的是就是为了防止1个IP数据报网络中循环的流动。

字通段变化通常为246-250之间

2.当主机不存在时,ICMP的echo请求中返回的报文是谁产生的?

答:是它的默认网关回复给它的,因为计算机发出的IP报文都是交给它的默认网关去处理,当默认网关无法得到目标主机的回复确认的时候就会发送“超时”消息给源主机。

实验九 网络协议分析-TCP和UDP

思考题

1.UDP和TCP所能支持的报文长度分别是多少?两者一样吗?尝试利用发送长度大于64KB的UDP报文可以吗? 答:UDP本身对报文长度不会有限制,但是避免不了IP分片。TCP为了避免IP分片,会有一个MSS的限制,例如协商的链路MTU是1500,则TCP报文一般会限制在1460(IP头和TCP头都是20的情况)。两者不一样。不能用发送长度大于64KB的UDP报文。

2.TCP 协议头部中接收窗口的作用是什么?观察在持续发送TCP 数据中该字段的变化情况。

答:目的是为了避免发送方的速度太快,超过了接收方的处理速度,从而导致重传的发生。

3.TCP 连接中采用的序号有多少位?会产生回绕现象吗?即有两个序号相同,但是数据不同的报文同时存在吗?

答:32位。回绕是有可能发生的,但你想想,32位,发生回绕的时候黄花菜都凉了,上一个同一个序列号的报文造就湮灭在浩瀚网络中了。

实验十

交换机基本配置

思考题

1.在密码配置中,”password”模式和”secret”模式有什么区别?各自用在什么场合?

答:password是明码,可以在showrun中看到你的密码;secret是加密的,在showrun看的是窜加密字符,他们的作用都是进入路由或交换机需要密码,区别是安全等级不一样。一般在工程上都要用secret配置密码,password最好是做实验的时候用。

实验十一

基于交换机端口划分VLAN 思考题

1.在VLAN配置中,“Trunk”模式和“Access”模式有什么区别?如何应用? 答:trunk模式是用作干线,传输各vlan信息,通常trunk口是接网络设备,就是交换机和交换机,或者是交换机和路由的连接;access把该端口划分到某vlan,就是主机接入。trunk: 主要用在连接其它交换机,以便在线路上承载多个vlan,access: 主要用来接入终端设备,如PC机、服务器、打印服务器等

实验十二

基于交换机端口划分VLAN

(二)思考题

1.连接多个交换机主干道的作用是什么? 答:干道的作用是为不同vlan数据传输做准备的。2.VTP服务器的作用是什么?

答:VTP在服务模式下,可以创建、删除、修改VLAN,并且转发VTP消息。其他的交换机(除透明模式的交换机)可以学习到VLAN的更新、修改、删除,方便VLAN的管理。

实验十三

配置静态路由

思考题

1.ip route 192.168.1.0 255.255.255.0 fa0/0;ip route 192.168.3.0 255.255.255.0 192.168.2.2的路由配置命令是什么意思?还可以怎么更改,表示为什么?

答:ip route 192.168.1.0 255.255.255.0 fa0/0,指的是默认路由,意思是将从192.168.1.0 子网掩码255.255.255.0 接收的数据从fa0/0转发出去;

ip route 192.168.3.0 255.255.255.0 192.168.2.2,指的是默认路由,意思是将从192.168.3.0 子网掩码255.255.255.0 接收的数据转发到192.168.2.2

实验十四

配置静态路由(RIP)

思考题

1.在RIP协议中,在相邻的路由器之间交换的信息是什么?

答:RIP每30秒(当然是默认.你可以修改.)相邻路由器交换一次完整路由表。2.当一个路由器的线路断开后,这个事件能被其他邻居发现吗?

答:断开以后要等待到下次交换路由表的时候才被邻居发现.然后邻居向外通告其网络不可达.实验十五

配置静态路由(OSPF)

思考题

1.在OSPF协议中,一个路由器何时向网络扩散其链路状态?

答:OSPF路由器收集其在网络区域上各路由器的连接状态信息,生成链路状态数据库,路由器掌握了该区域上所有路由器的链路状态信息也就等于了解了整个网络的拓扑状况时向网络扩散其链路状态。

2.为什么在OSPF协议中,链路状态的改变很快能被其他路由器发现? 答:首先,OSPF有区域的概念,一个区域相对来说更容易会聚;

其次,稳定时候OSPF保存了想同的拓扑表和路由表,且时刻都有LSA,只要有一个路由改变,通 过LSA,可以很快地告知相邻的路由器,通过比对拓扑表与路由表,可以很快就找出变化的部份

还有,对于多路访问网络,还指定了DR和BDR,这使得更新的组播信息量更少,更有利于会聚。

下载计算机网络原理实验三winsock套接字编程实验报告(精选5篇)word格式文档
下载计算机网络原理实验三winsock套接字编程实验报告(精选5篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    《计算机网络实验》实验报告格式五篇

    学号 计算机网络实验报告实验一 建网的基本技能和组建以太网组 班 成 指长姓名 级 绩 方星 10网络2班高树成 导教师 计算机与信息工程学院 2010年 09月 16日- 1 - 一、实验......

    计算机网络实验报告(路由算法、Socket编程)

    计算机网络实验报告 班级: 姓名: 学号:实验一 一. 实验目的及要求 编写程序,模拟距离矢量路由算法的路由表交换过程,演示交换后的路由表的变化。 二. 实验原理 距离矢量路由算法是......

    计算机网络实验报告三(5篇材料)

    计算机网络实验报告 实验三:使用SNORT观察网络数据包和TCP链接 一、实验目的 (1)学会安装使用自由软件SNORT (2)截获以太网数据包,并分析和描述TCP连接的三个阶段。 (3)截获ARP协议......

    实验2_基于CS结构的套接字程序设计

    实验二:基于C/S结构的套接字程序设计 一、实验目的 1、理解基于C/S结构的网络通信模型。 2、掌握利用WinSock编写基于C/S结构的TCP/UDP通信程序的方法。 二、实验内容 1、用......

    《计算机网络实验》实验报告-软件实

    浙江大学城市学院实验报告 课程名称计算机网络实验实验项目名称实验四Ethereal抓包软件高级学生姓名专业班级学号实验成绩指导老师(签名 )日期一. 实验目的和要求 1. 进一步学......

    实验三GUI编程

    实验三GUI编程 一、实验目的: 1、了解Java系统图形用户界面的基本工作原理和界面设计的步骤 2、了解图形用户界面的事件响应机制. 3、掌握图形用户界面各种常用的基本组件的......

    计算机网络实验三报告

    实验三 交换机配置 一、实验目的 1、掌握交换机在网络中的作用及交换机设备的选型。 2、掌握交换机的工作原理。 3、掌握利用超级终端对交换机配置的过程。 4、掌握Cisco295......

    计算机网络实验报告-实验四(写写帮整理)

    实验四 用户数据报协议(UDP ) 3F 一、 实验目的 1.掌握UDP协议的报文格式 2.掌握UDP协议校验和的计算方法 3.理解UDP协议的优缺点 4.理解协议栈对UDP协议的处理方法 5.理解UD......