计算机网络实验三
计算机网络实验三参考答案
1. What is the IP address and TCP port number used by the client computer (source) that is transferring the file to ? To answer this questio n, it’s probably easiest to select an HTTP message and explore the details of the TCP packet used to carry this HTTP message, using the “details of the selected packet header window” (refer to Figure 2 in the “Getting Started with Wireshark” Lab if you’re uncertain about the Wireshark windows).Ans: IP address:192.168.1.102 TCP port:11612. What is the IP address of ? On what port number is it sending and receiving TCP segments for this connection?Ans: IP address:128.119.245.12 TCP port:80If you have been able to create your own trace, answer the following question:3. What is the IP address and TCP port number used by your client computer(source) to transfer the file to ?ANS: IP address :10.211.55.7 TCP port:492654. What is the sequence number of the TCP SYN segment that is used to initiate the TCP connection between the client computer and ? What is it in the segment that identifies the segment as a SYN segment?ANS: sequence number: 0 Syn Set = 1 identifies the segment as a SYN segment5. What is the sequence number of the SYNACK segment sent by to the client computer in reply to the SYN? What is the value of the ACKnowledgement field in the SYNACK segment? How did determine that value? What is it in the segment that identifies the segment as a SYNACK segment?ANS: The sequence number: 0ACKnowledgement number : 1 which is sequence number plus 1Both the sequence flag and the ACKnowledgement flag been set as 1, identifies the segment as SYNACK segment.6. What is the sequence number of the TCP segment containing the HTTP POST command? Note that in order to find the POST command, you’ll need to dig into the packet content field at the bottom of the Wireshark window, looking for a segment with a “POST” within its DATA field.Ans: The sequence number : 17. Consider the TCP segment containing the HTTP POST as the first segment in the TCP connection. What are the sequence numbers of the first six segments in the TCP connection (including thesegment containing the HTTP POST)? At what time was each segment sent? When was the ACK for each segment received? Given the difference between when each TCP segment was sent, and when its acknowledgement was received, what is the RTT value for each of the six segments? What is the EstimatedRTT value (see page 249 in text) after the receipt of each ACK? Assume that the value of the EstimatedRTT is equal to the measured RTT for the first segment, and then is computed using the EstimatedRTT equation on page 249 for all subsequent segments.Note: Wireshark has a nice feature that allows you to plot the RTT for each of the TCP segments sent. Select a TCP segment in the “listing of captured packets” window that is being sent from the client to the server. Then select: Statistics->TCP Stream Graph- >Round Trip Time Graph.Segment 1 Segment 2 Segment 3Segment 4Segment 5Segment 6After Segment 1 : EstimatedRTT = 0.02746After Segment 2 : EstimatedRTT = 0.875 * 0.02746 + 0.125*0.035557 = 0.028472 After Segment 3 : EstimatedRTT = 0.875 * 0.028472 + 0.125*0.070059 = 0.033670 After Segment 4 : EstimatedRTT = 0.875 * 0.033670 + 0.125*0.11443 = 0.043765 After Segment 5 : EstimatedRTT = 0.875 * 0.043765 + 0.125*0.13989 = 0.055781 After Segment 6 : EstimatedRTT = 0.875 * 0.055781 + 0.125*0.18964 = 0.072513 8. What is the length of each of the first six TCP segments?(see Q7)9. What is the minimum amount of available buffer space advertised at the received for the entire trace? Does the lack of receiver buffer space ever throttle thesender?ANS:The minimum amount of buffer space (receiver window) advertised at for the entire trace is 5840 bytes;This receiver window grows steadily until a maximum receiver buffer size of 62780 bytes.The sender is never throttled due to lacking of receiver buffer space by inspecting this trace.10. Are there any retransmitted segments in the trace file? What did you check for (in the trace) in order to answer this question?ANS: There are no retransmitted segments in the trace file. We can verify this by checking the sequence numbers of the TCP segments in the trace file. All sequence numbers are increasing.so there is no retramstmitted segment.11. How much data does the receiver typically acknowledge in an ACK? Can youidentify cases where the receiver is ACKing every other received segment (seeTable 3.2 on page 257 in the text).ANS: According to this screenshot, the data received by the server between these two ACKs is 1460bytes. there are cases where the receiver is ACKing every other segment 2920 bytes = 1460*2 bytes. For example 64005-61085 = 292012. What is the throughput (bytes transferred per unit time) for the TCP connection? Explain how you calculated this value.ANS: total amount data = 164091 - 1 = 164090 bytes#164091 bytes for NO.202 segment and 1 bytes for NO.4 segmentTotal transmission time = 5.455830 – 0.026477 = 5.4294So the throughput for the TCP connection is computed as 164090/5.4294 = 30.222 KByte/sec.13. Use the Time-Sequence-Graph(Stevens) plotting tool to view the sequence number versus time plot of segments being sent from the client to the server. Can you identify where TCP’s slow start phase begins and ends, and where congestion avoidance takes over? Comment on ways in which the measured data differs from the idealized behavior of TCP that we’ve studied in the text.ANS: Slow start begins when HTTP POST segment begins. But we can’t identify where TCP’s slow start phase ends, and where congestion avoidance takes over.14. Answer each of two questions above for the trace that you have gathered when you transferred a file from your computer to ANS: Slow start begins when HTTP POST segment begins. But we can’t identify where TCP’s slow start phase ends, and where congestion avoidance takes over.。
计算机网络实验报告(6篇)
计算机网络实验报告(6篇)计算机网络实验报告(通用6篇)计算机网络实验报告篇1一、实验目的1、熟悉微机的各个部件;2、掌握将各个部件组装成一台主机的方法和步骤;3、掌握每个部件的安装方法;4、了解微型计算机系统的基本配置;5、熟悉并掌握DOS操作系统的使用;6、掌握文件、目录、路径等概念;7、掌握常用虚拟机软件的安装和使用;8、熟悉并掌握虚拟机上WINDOWS操作系统的安装方法及使用;9、掌握使用启动U盘的制作和U盘安装windows操作系统的方法;10、了解WINDOWS操作系统的基本配置和优化方法。
二、实验内容1.将微机的各个部件组装成一台主机;2.调试机器,使其正常工作;3.了解计算机系统的基本配置。
4.安装及使用虚拟机软件;5.安装WINDOWS7操作系统;6.常用DOS命令的使用;7.学会制作启动U盘和使用方法;8.WINDOWS7的基本操作;9.操作系统的基本设置和优化。
三、实验步骤(参照实验指导书上的内容,结合实验过程中做的具体内容,完成此项内容的撰写)四、思考与总结(写实验的心得体会等)计算机网络实验报告篇2windows平台逻辑层数据恢复一、实验目的:通过运用软件R-Studio_5.0和winhe_对误格式化的硬盘或者其他设备进行数据恢复,通过实验了解windows平台逻辑层误格式化数据恢复原理,能够深入理解并掌握数据恢复软件的使用方法,并能熟练运用这些软件对存储设备设备进行数据恢复。
二、实验要求:运用软件R-Studio_5.0和winhe_对电脑磁盘或者自己的U盘中的删除的数据文件进行恢复,对各种文件进行多次尝试,音频文件、系统文件、文档文件等,对简单删除和格式化的磁盘文件分别恢复,并检查和验证恢复结果,分析两个软件的数据恢复功能差异与优势,进一步熟悉存储介质数据修复和恢复方法及过程,提高自身的对存储介质逻辑层恢复技能。
三、实验环境和设备:(1)Windows _P 或Windows 20__ Professional操作系统。
计算机网络上机实验三
实验:二层以太网组网和交换机的配置实验一:二层以太网组网实验【实验目的】1. 了解局域网各组成部分。
2. 掌握网络设备类型选择、软硬件设置方法。
3. 掌握基本的网络故障的判断、解决方法。
【实验环境】Cisco 2950交换机、具备Windows 操作系统的PC 机、直通双绞线、交叉双绞线。
【实验重点及难点】9 重点:学习网络设备的连接与设置方法。
9 难点:网络故障的判断及解决方法【实验内容】网络连接示意图1、本实验选择Cisco 2950-24作为二层网络连接设备。
Cisco 2950是Cisco 最低端可网管交换机。
Catalyst 2950 系列包括Catalyst 2950T-24、2950-、2950-12 和2950C-24 交换机。
192.168.0.4 192.168.0.1 192.168.0.2 192.168.0.3 Cisco 2950 Cisco 2950Catalyst 2950-24 交换机有24 个10/100 端口;2950-12 有12 个10/100 端口;2950T-24 有24个10/100 端口和2 个固定10/100/1000 BaseT 上行链路端口;2950C-24 有24 个10/100 端口和2 个固定100 BaseFX 上行链路端口。
本次实验不考虑对交换机进行设计,只按照交换机的默认设置。
按照如上连接图进行网络连接。
具体连接过程如下:1)Cisco 2950交换机连接,将两台交换机接通电源,系统自检正常以后,任意选择两个交换机的端口,通过交叉线进行连接。
2)将如图PC机及笔记本加电,并通过直通线分别接入各交换机,观察各接入端口,待端口为绿色是为正常。
Cisco 2950交换机的端口在接入PC机时,其端口有30秒的测试过程,此过程中状态灯为黄色,若端口检测正常,则会转变为绿色。
在此步骤中思考以下问题:1)实验中Cisco 2950加电启动的过程?2)Cisco 2950交换机端口数是多少?3)Cisco 2950在接入设备时状态灯的变化过程。
实验三交换式以太网的组建
实验三交换式以太⽹的组建实验三交换式以太⽹的组建⼀、实验⽬的通过实训使学⽣掌握计算机局域⽹的⽹络配置与测试⽅法。
⼆、实验设备WIN2000计算机、局域⽹环境、交换机。
三、实验内容IP地址设置、⽹络测试四、实验步骤(⼀)Windows 2000/⽹络配置:IP地址配置⼀般情况下,中⽂Windows 2000会按照系统默认的⽅式设置本地连接的属性,我们需要根据实际情况设置TCP/IP协议,步骤如下:1.当⽹卡正确安装完后,您会发现在桌⾯上出现了⼀个“⽹上邻居”图标,⽤右键单击它并选中“属性”。
2.在“⽹络和拨号连接”窗⼝中⽤右键单击“本地连接”图标,并选中“属性”。
3.选择“本地连接属性”对话框中的“Internet协议(TCP/IP)”项,并单击“属性”按钮。
4.在“Internet 协议(TCP/IP)属性”对话框中,选择“使⽤下⾯的IP地址”选项,依次输⼊⽹络中⼼提供给你的IP地址(202.***.***.***)、⼦⽹掩码(255.255.255.***)、默认⽹关(202.113.96.2);再选择“使⽤下⾯的DNS服务器地址”选项,添⼊⽹络中⼼DNS 服务器地址(202.113.96.10)。
5.按“确定”结束TCP/IP设置。
到此,您就已经完成了上⽹所需的⽹络配置。
(⼆)Windows 2000/⽹络配置:⽹络测试当进⾏完⽹络的配置后,如果⼀切正常的话,⽤户的计算机应该与校园⽹连通了,接下来就可以使⽤⼀些常见的Internet服务了。
测试⽹络连通情况时,通常使⽤ping命令。
在Windows 2000环境中,从【开始】,选【运⾏(R)】项,在【运⾏】对话框中输⼊“cmd”后单击“确定”按钮,进⼊DOS环境下。
运⾏ping命令检测⽤户计算机与⽹关(路由器)的连通情况。
1.请先检测局域⽹的⽹关,例如:某局域⽹的⽹关为202.200.48.129,则运⾏命令:ping 202.200.48.129 ,如果⽹关连通正常,则出现如下信息,如图:如果⽹关不通,则会出现如下的信息:Request timed out.Request timed out.Request timed out.Request timed out.那么,请您仔细检查您的⽹卡安装及⽹络配置是否正确。
北邮计算机网络技术实践--实验三
计算机网络技术实践实验报告实验名称 RIP和OSPF路由协议的配置及协议流程姓名__ 17____ 实验日期: 2014年4月11日学号___ _____实验报告日期: 2014年4月12日报告退发: ( 订正、重做 )一.环境(详细说明运行的操作系统,网络平台,网络拓扑图)(1)操作系统:Windows7(2)网络平台:Dynamips环境下的虚拟网络(3)网络拓扑图:6个路由器,3个PC机,11个网段。
(PS:我的学号是511,所以第三个IP为1)二.实验目的✧在上一次实验的基础上实现RIP和OSPF路由协议✧自己设计网络物理拓扑和逻辑网段,并在其上实现RIP和OSPF协议;✧通过debug信息来分析RIP协议的工作过程,并观察配置水平分割和没有配置水平分割两种情况下RIP协议工作过程的变化。
三.实验内容及步骤(包括主要配置流程,重要部分需要截图)(1)改写的.net文件(2)实现RIP和OSPF协议前配置1.运行各个路由器和主机2.完成各个路由器和主机端口配置R1端口:PC1端口:测试连通性:(3)实现RIP协议未配置RIP协议的情况:R1端口配置RIP:测试RIP后路由之间的联通:测试RIP后主机之间的联通:配置RIP协议的情况:Debug信息:R1路由:R2路由:同一自治系统中的路由器每过一段时间会与相邻的路由器交换子讯息,以动态的建立路由表。
RIP 允许最大的跳数为15 多于15跳不可达。
RIP协议根据距离矢量路由算法来完成。
每个路由器都有一个路由表,通过相互传递路由表来更新最新的与其他路由之间的信息。
从上图中R1路由是接收R2传来的信息来更新路由表,而R2是从R5接收信息来更新路由表。
关闭R2水平分割:通过对比关闭之前和之后的R2的debug信息,我们可以发现,在关闭之前,路由器会标记已经收到的信息,不会重复的接收和发出,而关闭之后路由器就在两个路由之间不停的循环发送和接收,照成了不必要操作。
计算机网络实验 实验三 PAP、chap认证
步骤1.基本配置 Red-Giant(config)# hostname Ra 由器主机名Ra Ra(config)# Red-Giant(config)# hostname Rb 由器主机名Rb 配置路
配置路
对路由器Ra进行的配置
Ra(config)# interface serial 1/3 Ra(config-if)# ip address 172.16.2.1 255.255.255.0 配置接口地址 Ra(config-if)# no shutdown Ra# show int serial 1/3
对Rb进行配置
Rb(config)# interface serial 1/3 ( DCE), DTE Rb(config-if)# ip address 172.16.2.2 255.255.255.0 Rb(config-if)# clock rate 64000 (DCE端进行 时钟配置) Rb(config-if)# no shutdown
验证测试
注意事项:先关掉电源开关,然后打开,再调 试debug命令。 Ra# debug ppp authentication 观察pap验证 过程 Rb# debug ppp authenticationຫໍສະໝຸດ 步骤2.配置PPP PAP认证
Rb(config)# username Ra password 0 star ! 在验证方配置被验证方用户名、密码 Ra(config-if) # encapsulation ppp 接口 下封装PPP协议 Ra(config-if) # ppp pap sent-username Ra password 0 star ! PAP认证的用户名、密码 Rb(config-if)# encapsulation ppp Rb(config-if)# ppp authentication pap ! ppp 启用pap认证方式
2024版《计算机网络》实验指导书
使用`tracert`命令跟踪路 由路径
使用`ping`命令测试网络 连通性
使用`netstat`命令查看网 络连接状态
实验结果与分析
1. 网络配置结果 展示主机名、IP地址、子网掩码和默
认网关的配置结果 2. TCP/IP协议分析结果
展示捕获的数据包,并分析各层协议 头部信息,包括源/目的IP地址、源/ 目的端口号、协议类型等
01 1. 环境搭建
02
安装和配置实验所需的软件和工具,如虚拟机、操作系
统、网络模拟器等;
03
构建实验网络拓扑,包括内部网络、外部网络和防火墙
等组成部分。
实验内容和步骤
2. 防火墙配置
选择一种防火墙软件或设备,如iptables、pfSense等; 配置防火墙规则,包括访问控制列表(ACL)、网络地址转换(NAT)、 端口转发等;
1. 连接路由器和交换机, 并启动设备
实验步骤
01
03 02
实验内容和步骤
3. 配置路由器接口,并启用路由协议 4. 配置交换机VLAN,并启用STP 5. 验证配置结果,确保网络连通性
实验结果与分析
01
实验结果
02
路由器和交换机配置成功,网络连通性良好
03
各设备运行状态正常,无故障提示
04
分析
02 如何提高网络服务器的安全性和稳定性?
03
如何优化网络服务器的性能?
04
在实际应用中,如何管理和维护网络服务 器?
05
实验五:网络安全与防火 墙配置
实验目的和要求
理解和掌握网络安全的基本概念和原 理;
通过实验,了解防火墙在网络安全中 的作用和重要性。
计算机网络实验报告实验3
计算机网络实验报告实验3一、实验目的本次计算机网络实验 3 的主要目的是深入理解和掌握计算机网络中的相关技术和概念,通过实际操作和观察,增强对网络通信原理、协议分析以及网络配置的实际应用能力。
二、实验环境本次实验在计算机网络实验室进行,使用的设备包括计算机、网络交换机、路由器等。
操作系统为 Windows 10,实验中使用的软件工具包括 Wireshark 网络协议分析工具、Cisco Packet Tracer 网络模拟软件等。
三、实验内容与步骤(一)网络拓扑结构的搭建使用 Cisco Packet Tracer 软件,构建一个包含多个子网的复杂网络拓扑结构。
在这个拓扑结构中,包括了不同类型的网络设备,如交换机、路由器等,并配置了相应的 IP 地址和子网掩码。
(二)网络协议分析启动 Wireshark 工具,捕获网络中的数据包。
通过对捕获到的数据包进行分析,了解常见的网络协议,如 TCP、IP、UDP 等的格式和工作原理。
观察数据包中的源地址、目的地址、协议类型、端口号等关键信息,并分析它们在网络通信中的作用。
(三)网络配置与管理在实际的网络环境中,对计算机的网络参数进行配置,包括 IP 地址、子网掩码、网关、DNS 服务器等。
通过命令行工具(如 Windows 中的 ipconfig 命令)查看和验证配置的正确性。
(四)网络故障排查与解决设置一些网络故障,如 IP 地址冲突、网络连接中断等,然后通过相关的工具和技术手段进行故障排查和解决。
学习使用 ping 命令、tracert 命令等网络诊断工具,分析故障产生的原因,并采取相应的解决措施。
四、实验结果与分析(一)网络拓扑结构搭建结果成功构建了包含多个子网的网络拓扑结构,各个设备之间能够正常通信。
通过查看设备的状态指示灯和配置信息,验证了网络连接的正确性。
(二)网络协议分析结果通过 Wireshark 捕获到的数据包,清晰地看到了 TCP 三次握手的过程,以及 IP 数据包的分片和重组。
北航计算机网络实验实验三rip协议分析
10
北航计算机网络实验
RIP协议( Protocol) RIP协议(Routing Information Protocol) 协议
请求报文——Request报文 Request报文 请求报文 Request
RIP报文 报文
应答报文——Response报文 Response报文 应答报文 Response
命令(1-5) 版本1 必须为0 必须为0 网络i的IP地址 必须为0 必须为0 到网络i的跳数(metric)
RIP协议的报文结构
11
网络i的协议族
北航计算机网络实验
RIP原理 RIP原理
距离矢量(DV)对网络的描述 距离矢量(DV)对网络的描述 (DV)
A 子网: 子网: 202.112.138.0/24
北航计算机网络实验
实验三
RIP协议分析 RIP协议分析
刘艳芳
2009.12
北航计算机网络实验
主要内容
RIP路由协议概述 路由协议概述 RIP协议分析实验 协议分析实验
2
北航计算机网络实验
RIP路由协议概述 RIP路由协议概述
北航计算机网络实验
路由的概念
PC A
PC B
选路 转发包
4
北航计算机网络实验
网络故障 - 自动维护
子网: 子网:
1.0.0.0/24
A 子网: 子网:
3.0.0.0/24
B 子网: 子网:
C
D
4.0.0.0/24
目的地址 3.0.0.0
下一跳 跳数
C D 路由器A的路由表 路由器 的路由表
18
1 2
北航计算机网络实验
水平分割( 水平分割(Split Horizon)
计算机网络实验3TCP实验
计算机网络实验报告三TCP实验1. What is the IP address and TCP port number used by the client computer (source)that is transferring the file to To answer this question, it’sprobably easiest to select an HTTP message and explore the details of the TCPpacket used to carry this HTTP message, using the “details of the selected packetheader window” (refer to Figure 2 in the “Getting Started with Wireshark” Lab ifyou’re uncertain about the Wireshark windows).答:client computer (source):IP address:TCP port number:11612. What is the IP address of On what port number is it sendingand receiving TCP segments for this connection答:the IP address of :IP address:port number:803.If you have been able to create your own trace, answer the following question:What is the IP address and TCP port number used by your client computer(source) to transfer the file to 答:My client computer:IPaddress:What is the sequence number of the TCP SYN segment that is used to initiate theTCP connection between the client computer and What is it in the segment that identifies the segment as a SYN segment答:sequence number:0 ;syn 被设置为1说明是syn段。
《计算机网络》实验三 交换机基本配置 实验报告
interface FastEthernet0/21
!
interface FastEthernet0/22
!
interface FastEthernet0/23
!
interface FastEthernet0/24
!
interface GigabitEthernet0/1
!
interface GigabitEthernet0/2
五、实际步骤
建立超级连接
建立CONSOLE连接
进入特权命令状态
进入全局状态模式
设置交换机的名字为SWITCH_2
进入接口设置状态,设置接口参数
(1)进入接口设置状态
(2)设置交换机的duplex方式
退出配置状态,在特权命令状态,验证端口工作状态
检查4台机的通信状态
设置switch2为端口VTP的server
Enter enable secret:
% No defaulting allowed
Enter enable secret:
% No defaulting allowed
Enter enable secret: switch>
The enable password is used when you do not specify an
Would you like to enable as a cluster command switch? [yes/no]: n
The following configuration command script was created:
hostname Switch
enable secret 5 $1$Aj2X$oQ4NIEhr7TX023s32vivd1
西工大计算机网络实验三
实验报告实验名称--SOCKET编程一、实验目的(1)加深对TCP和UDP的理解;(2)实现两台计算机之间TCP/UDP通信。
二、实验过程原理:socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用以实现进程在网络中通信。
如下图所示:TCP通信原理如图:代码:服务器端:#pragma comment(lib, "WS2_32.lib")#include<Winsock2.h>#include<iostream>#include<stdlib.h>using namespace std;int main(){int i=0;WSADATA wsaData;SOCKET oldSocket,newSocket;//客户地址长度int iLen=0;//发送的数据长度int iSend=0;//接收的数据长度int ircv =0;//处世要发送给客户的信息char buf[20]="I am a server";//接收来自用户的信息char fromcli[512];//客户和服务器的SOCKET地址结构struct sockaddr_in ser,cli;if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0){cout<<"failed to load winsock"<<endl;return 0;}cout<<"server waiting"<<endl;cout<<"---------------"<<endl;//创建服务器端帧听SOCKEToldSocket=socket(AF_INET,SOCK_STREAM,0);if(oldSocket==INVALID_SOCKET){cout<<"socket() failed:"<<WSAGetLastError()<<endl;return 0;}//以下是建立服务器端的SOCKET地址结构ser.sin_family=AF_INET;ser.sin_port=htons(5050);//使用系统指定的ip地址INADDR_ANY// ser.sin_addr.s_addr=htonl(INADDR_ANY);ser.sin_addr.s_addr= inet_addr("192.168.8.58");if(bind(oldSocket,(LPSOCKADDR)&ser,sizeof(ser))==SOCKET_ERROR) {cout<<"bind() failed:"<<WSAGetLastError()<<endl;return 0;}//进入侦听状态if(listen(oldSocket,5)==SOCKET_ERROR){cout<<"listen() failed:"<<WSAGetLastError()<<endl;return 0;}//接收客户端的连接iLen=sizeof(cli);newSocket=accept(oldSocket,(struct sockaddr*)&cli,&iLen);//产生一个新的SOCKETif(newSocket==INVALID_SOCKET){cout<<"accept() failed:"<<WSAGetLastError()<<endl;//return 0;}//进入一个无限循环,等待客户发送数据while(1){i++;//服务器初始化接收缓冲区memset(fromcli,0,512);ircv=recv(newSocket,fromcli,sizeof(fromcli),0);if(ircv==SOCKET_ERROR){cout<<"rcv() failed:"<<WSAGetLastError()<<endl;break;}else if(ircv==0)break;else {cout<<"-----服务器接收的内容为--------"<<fromcli<<endl;}if(strcmp(fromcli,"quit")==0)break;}closesocket(newSocket);closesocket(oldSocket);WSACleanup();}客户端:#pragma comment(lib, "WS2_32.lib")#include<winsock2.h>#include<iostream>#include<stdio.h>using namespace std;#define DATA_BUFFER 512int main(){WSADATA wsaData;SOCKET sClient;char ch;int i=0;char *Serip="192.168.8.58";//随着程序所在主机的地址改变而改变int SeriPort=5050;//从服务器接收的数据的长度int iLen;//发送的数据长度int isnd;//接收缓冲区char buf[DATA_BUFFER];//发送缓冲区char sndbuf[DATA_BUFFER];//服务器端SOCKET地址结构struct sockaddr_in ser;//接收/发送缓冲区的初始化memset(buf,0,sizeof(buf));memset(sndbuf,0,DATA_BUFFER);if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0){cout<<"failed to load winsock"<<endl;return 0;}//填写要连接的服务器地址信息ser.sin_family=AF_INET;ser.sin_port=htons(SeriPort);ser.sin_addr.s_addr=inet_addr(Serip);//建立客户端字节流式套接字sClient=socket(AF_INET,SOCK_STREAM,0);if(sClient==INVALID_SOCKET){cout<<"socket() failed :"<<WSAGetLastError()<<endl;return 0;}//请求与服务器建立连接// cout<<"set link";if(connect(sClient,(struct sockaddr *)&ser,sizeof(ser))==INVALID_SOCKET){cout<<"connect() failed: "<<WSAGetLastError()<<endl;return 0;}else{//向服务器端发送数据while(1){cout<<endl;i++;cout<<"第"<<i<<"发送"<<endl;cin>>sndbuf;isnd=send(sClient,sndbuf,sizeof(sndbuf),0);if(isnd==0)return 0;else if(isnd==SOCKET_ERROR){cout<<"send() failed:"<<WSAGetLastError()<<endl;return 0;}cout<<"-----客户端发送内容为----"<<sndbuf<<endl;}}closesocket(sClient);WSACleanup();}本机上客户端与服务器端通信结果如图:在两台服务器上分别运行服务器端和客户端,结果如图:UDP通信原理如图:代码:服务器端:#include "stdafx.h"#include <winsock2.h>#include <stdio.h>#include <stdlib.h>#define buffer_length 512#pragma comment(lib, "WS2_32.lib")void main(){WSADATA wsadata;SOCKET sSocket;int ilen;int irecv;char recv_buf[buffer_length];char send_buf[buffer_length];//服务器和客户SOCKET地址结构struct sockaddr_in seradd,cliadd;if(WSAStartup(MAKEWORD(2,2),&wsadata)!=0){printf("failed to load winsocket\n");return;}sSocket=socket(AF_INET,SOCK_DGRAM,0);if(sSocket==INVALID_SOCKET){printf("socket() failed:%d\n",WSAGetLastError());return;}//初始化服务器SOCKET地址结构seradd.sin_family=AF_INET;seradd.sin_port=htons(6666);//seradd.sin_addr.s_addr=htonl(INADDR_ANY);seradd.sin_addr.s_addr= inet_addr("0.0.0.0");if(bind(sSocket,(LPSOCKADDR)&seradd,sizeof(seradd))==SOCKET_E RROR){printf("地址绑定时出错:%d\n",WSAGetLastError());int rua;scanf("%d", &rua);return;}ilen=sizeof(cliadd);//初始化接收缓冲区memset(recv_buf,0,sizeof(recv_buf));irecv=recvfrom(sSocket,recv_buf,buffer_length,0,(structsockaddr*)&cliadd,&ilen);if(irecv==SOCKET_ERROR){printf("接收出错%d\n",WSAGetLastError());int rua;scanf("%d", &rua);return;}else if(irecv==0)return;else{printf("\n%s--",recv_buf);printf("Server received from Client ip:[%s],port:[%d]\n",inet_ntoa(cliadd.sin_addr),ntohs(cliadd.sin_port));}while(1){//在此函数中cli为传出参数irecv=recvfrom(sSocket,recv_buf,buffer_length,0,(structsockaddr*)&cliadd,&ilen);if(irecv==SOCKET_ERROR){printf("接收出错%d\n",WSAGetLastError());int rua;scanf("%d", &rua);return;}else if(irecv==0)break;else{printf("\n%s--",recv_buf);printf("Server received from Client ip:[%s],port:[%d]\n",inet_ntoa(cliadd.sin_addr),ntohs(cliadd.sin_port));}scanf("%s",send_buf);sendto(sSocket,send_buf,sizeof(send_buf),0,(structsockaddr*)&cliadd,sizeof(cliadd));}closesocket(sSocket);WSACleanup();}客户端:#include "stdafx.h"#include<winsock2.h>#include <stdio.h>#define data_buffer 1024void main(){WSADATA wsadata;SOCKET sclient;//服务器地址、端口号char * serip="192.168.8.58";int Seriport=6666;char ch[]="qita";//服务器SOCKET地址结构长度int ilen;//发送/接收数据大小int isend;int irecv;//要发送给服务器的数据char send_buf[]="hello,I am a client.";char recv_buf[data_buffer];//服务器端的SOCKET地址结构struct sockaddr_in seradd, cliadd;//初始化接收缓冲区memset(recv_buf,0,sizeof(recv_buf));//字符数组初始化memset(ch,0,sizeof(ch));if(WSAStartup(MAKEWORD(2,2),&wsadata)!=0){printf("failed to load winsock\n");return;}// 服务器SOCKET地址结构初始化seradd.sin_family=AF_INET;seradd.sin_port=htons(Seriport);seradd.sin_addr.s_addr=inet_addr(serip);cliadd.sin_family=AF_INET;cliadd.sin_port=htons(7777);cliadd.sin_addr.s_addr=inet_addr("0.0.0.0");sclient=socket(AF_INET,SOCK_DGRAM,0);if(sclient==INVALID_SOCKET){printf("build socket failed!\n");return;}if(bind(sclient,(LPSOCKADDR)&cliadd,sizeof(cliadd))==SOCKET_ERR OR){printf("地址绑定时出错:%d\n",WSAGetLastError());return;}//无连接不需要进行地址与套接字的绑定,直接发送数据即可ilen=sizeof(seradd);isend=sendto(sclient,send_buf,sizeof(send_buf),0,(struct sockaddr *)&seradd,ilen);if(isend!=0&&isend!=SOCKET_ERROR){//printf("data has been sent successfully!\n");printf("客户所发的数据为:%s, 字节数为:%d\n",send_buf,isend);}else return;while(1){scanf("%s",ch);sendto(sclient,ch,sizeof(ch),0,(structsockaddr*)&seradd,sizeof(seradd));irecv=recvfrom(sclient,recv_buf,data_buffer,0,(structsockaddr*)&seradd,&ilen);if(irecv==SOCKET_ERROR){printf("接收出错%d\n",WSAGetLastError());int rua;scanf("%d", &rua);return;}else if(irecv==0)break;else{printf("\n%s--",recv_buf);printf("Server received from Client ip:[%s],port:[%d]\n",inet_ntoa(seradd.sin_addr),ntohs(seradd.sin_port));}}closesocket(sclient);WSACleanup();}本机上客户端与服务器端通信结果如图:在两台服务器上分别运行服务器端和客户端,结果如图:三、实验中出现的问题实验中,因为对TCP和UDP中的代码不熟悉,编译时也缺少了头文件,导致在编译时一直都没有通过,最后在老师的提醒下知道了错误所在,才能编译通过。
计算机网络-BGP协议
实验3 BGP协议实验注意:为了提高效率,上传文件到服务器可以用在实验报告上粘贴相关内容的截图代替。
1.查看R1和R2的路由表,注入路由信息前,是否有对方loopback的路由信息?注入路由信息后,是否有对方loopback的路由信息?为什么?答:注入路由信息前,没有对方的loopback;注入路由信息后,有对方的loopback;因为没有注入路由信息前,5.5.5.5的路由信息不会被BGP转发。
2.[R2]ping –a 4.4.4.4 5.5.5.5 能否ping通?如果不用ping命令的-a参数是否能ping通?为什么?答:能ping通,如果不用-a不能ping通。
-a参数指定源地址,而如果不指定4.4.4.4为源地址,则源地址为2.1.1.2,而R1中没有2.1.1.2的路由信息,所以ping消息无法返回。
3.把所截报文命名为BGP1-学号,并上传到服务器。
根据截获的BGP报文的顺序和结构,填写下表。
4. 思考题:在实验截获的报文中是否有NOTIFICATION报文?为什么?答:没有,因为BGP运行正常没有出错。
5. 写出一个Update报文的完整结构,并指出报文中路由信息所携带的路由属性。
答:Marker(16 byte) 全1 检测BGP对等体之间的同步是否丢失Length(2 byte) 55 整个报文长度Type(1 byte) 2(UPDATE) 报文类型Withdrawn Routes Length(2 byte) 0 撤销路由长度Withdrawn Routes(变长0 byte) - 撤销路由Path Attribute Length(2 byte) 27 路径属性长度Path Attribute(27 byte) 见下路径属性ORIGIN(3+1=4 byte) 0(IGP) 起点属性AS_PATH(3+6=9 byte) 见下AS路径属性Segment type(1 byte) 2(AS_SEQUENCE)Segment length(1 byte) 1AS4(4byte) 100NEXT_HOP(3+4=7 byte) 1.1.1.1 下一跳属性MED(3+4=7 byte) 0 部邻居路由器进AS内的优先路径此Update报文共携带以上4个路由属性。
计算机网络实验三:交换机的配置及VLAN
实验三交换机的配置及VLAN背景资料:一、Cisco CLI的命令模式1. 用户执行模式Switch>2. 特权执行模式Switch#3. 全局配置模式Switch(config)#4. 特定配置模式Switch(config-if/vlan/…)二、交换机的基本配置Switch>enable (进入特权执行模式)Switch#configure terminal(进入全局配置模式)Switch(config)#hostname 提示符名称(配置交换机名称,例如SW)Switch(config)#enable secret ****** (配置交换机特权模式的密文密码)Switch(config)#enable pssword ******(配置交换机特权模式的明文密码)Switch(config[-if/…])#exit (逐级退出,特定配置模式->全局配置模式->特权执行模式->用户执行模式)Switch(config)#end (直接退到特权模式)****#^Z (退到特权执行模式)--More--表示还有内容显示,此时,空格:翻页显示;回车:按行显示。
三、创建和删除VLAN1. 生成vlan 10和vlan 20Switch>enableSwitch#configure terminalSwitch(config)#vlan 10Switch(config-vlan)#name test10Switch(config-vlan)#endSwitch#configure terminalSwitch(config)#vlan 20Switch(config-vlan)#name test20Switch(config-vlan)#endSwitch#show vlan2. 删除vlan 10和vlan 20Switch>enSwitch#conf tSwitch(config)#no vlan 10Switch(config)#endSwitch#conf tSwitch(config)#no vlan 20Switch(config)#endSwitch#show vlan brief四、在VLAN中添加和删除端口1.把交换机F0/1端口分配到VLAN 10中Switch>enSwitch#conf tSwitch(config)#interface f0/1Switch(config-if)#swichport mode accessSwitch(config-if)#switchport access vlan10Switch(config-if)endSwitch#show interface f0/1 switchport2.把交换机F0/1端口从VLAN 10中删除Swtich>enSwitch#conf tSwitch(config)#interface f0/1Switch(config-if)#no switchport access vlan 10Switch(config-if)#endSwitch#show vlan brief一、实验任务掌握划分交换机VLAN的基本方法。
实验3北航研究生计算机网络实验
实验3北航研究生计算机网络实验引言:计算机网络是现代社会中不可或缺的一部分,实验3是北航研究生计算机网络实验课程中的一部分。
该实验旨在帮助学生深入理解计算机网络的工作原理,并通过实践操作加深对计算机网络的理解。
实验目的:1. 了解计算机网络的基本原理和概念;2. 掌握计算机网络的实验环境和工具;3. 实践操作计算机网络的基本配置和管理。
实验内容:1. 实验环境的搭建:搭建一个基于模拟器的计算机网络实验环境,如使用 GNS3 或 Packet Tracer 软件进行网络拓扑的设计与配置;2. 网络配置与管理:配置网络设备,如路由器、交换机等,并实现网络互连与通信;3. 网络协议的配置与测试:配置网络协议,如TCP/IP协议,并进行相应的测试与验证。
实验步骤:1. 实验环境的搭建:a. 选择合适的计算机网络模拟器软件,如 GNS3 或 Packet Tracer;b. 安装所选软件,并进行基本配置;c. 设计一个适合的网络拓扑并配置网络设备。
2. 网络配置与管理:a. 配置路由器和交换机以实现网络设备的互连;b. 设置网络设备的IP地址,子网掩码等;c. 配置路由表以实现数据包转发;d. 测试网络连接和通信是否正常。
3. 网络协议的配置与测试:a. 选择合适的网络协议,如TCP/IP协议;b. 配置所选协议的相关参数,如IP地址、子网掩码、网关等;c. 测试配置是否正确,如通过 ping 命令测试是否能够与其他主机进行通信;d. 验证网络协议在正常工作情况下的特性,如TCP的可靠数据传输、IP的数据路由等。
实验总结与心得:通过完成实验3,我对计算机网络的工作原理和实现有了更深入的了解。
实验中,我通过搭建实验环境和配置网络设备,学会了如何建立和管理一个基本的计算机网络。
我还通过配置和测试网络协议,掌握了常用协议的配置和测试方法,并对协议在实际网络中的应用有了更好的理解。
在实验过程中,我遇到了一些挑战,如网络设备的设置和网络连接的调试。
计算机网络技术实验3
计算机网络技术实验3实验目的:1. 理解计算机网络中数据包的传输过程。
2. 掌握使用网络分析工具(如Wireshark)捕获和分析网络数据包。
3. 学习网络协议的基本概念和工作机制。
实验环境:1. 计算机若干台,每台计算机均安装有操作系统(如Windows或Linux)。
2. 网络分析工具Wireshark。
3. 网络连接设备,如路由器、交换机等。
4. 网络线缆,确保计算机之间可以进行网络连接。
实验步骤:1. 网络环境搭建:- 连接计算机至路由器,确保所有计算机处于同一局域网内。
- 配置计算机的IP地址,确保它们在同一子网中。
2. 安装并配置Wireshark:- 在每台计算机上安装Wireshark软件。
- 打开Wireshark,选择适当的网络接口进行捕获设置。
3. 数据包捕获:- 启动Wireshark,开始捕获网络流量。
- 在另一台计算机上进行网络活动,如浏览网页、发送邮件等。
4. 数据包分析:- 观察Wireshark捕获的数据包,注意数据包的类型、大小、源地址和目的地址等信息。
- 使用Wireshark的过滤功能,筛选特定的数据包,如HTTP请求、TCP三次握手等。
5. 协议分析:- 选择一个TCP/IP数据包,分析其头部信息,包括序列号、确认号、窗口大小等。
- 观察TCP三次握手过程,理解其在建立连接中的作用。
6. 网络故障模拟与诊断:- 人为制造一些网络故障,如断开网络连接、修改IP地址等。
- 使用Wireshark观察故障发生时的数据包变化,分析故障原因。
7. 实验报告撰写:- 记录实验过程中的关键步骤和观察结果。
- 分析数据包捕获和分析的结果,总结网络协议的工作原理。
- 讨论网络故障模拟与诊断的过程和结果。
实验注意事项:- 在进行网络故障模拟时,确保不会对实验环境造成不可逆的损害。
- 在使用Wireshark时,注意遵守相关法律法规,不得用于非法监听或侵犯他人隐私。
- 实验过程中,注意记录详细的数据包信息,以便于后续分析。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
辽宁工程技术大学上机实验报告
实验名称网际协议-1
院系软件学院专业软件工程班级
姓名学号日期2014-12-9
实验目的简述本次实验目的:
1.掌握IP数据报的报文格式。
2.掌握IP校验和计算方法。
实验准备你为本次实验做了哪些准备:
(1) 网际协议;
(2) IP报文格式以及IP分片。
实验进度本次共有 2 个练习,完成 2 个。
成绩
实验内容【练习一】:编辑并发送IP数据报
1.主机A启动仿真编辑器,编辑一个IP数据报,其中:
MAC层:
目的MAC地址:主机B的MAC地址(对应于172.16.1.1接口的MAC)。
源MAC地址:主机A的MAC地址。
协议类型或数据长度:0800。
IP层:
总长度:IP层长度。
生存时间:128。
源IP地址:主机A的IP地址(172.16.1.2)。
目的IP地址:主机E的IP地址(172.16.0.2)。
校验和:在其他所有字段填充完毕后计算并填充。
IP在计算校验和时包括那些内容?
答:IP报文中的首部。
【说明】先使用仿真编辑器的“手动计算”校验和,再使用仿真编辑器的“自动计算”校验和,将两次计算结果相比较,若结果不一致,则重新计算。
IP在计算校验和时包括哪些内容?
2.在主机B(两块网卡分别打开两个捕获窗口)、E上启动协议分析器,设置
过滤条件(提取IP协议),开始捕获数据。
3.主机A发送第1步中编辑好的报文。
4.主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据
报,并回答以下问题:
第1步中主机A所编辑的报文,经过主机B到达主机E后,报文数据是否发生变化?若发生变化,记录变化的字段,并简述发生变化的原因。
答:报文数据发生变化,生存时间和首部校验和变化了。
变化的字段:在主机B中,本机连接2对应的是路由,其IP地址为172.16.0.1。
“生存时间”的字段的值为128。
“首部校验和”字段的值为0D78,而主机E 中,“生存时间”字段的值为127,“首部校验和”字段的值为0E78.
原因:主机B为路由器,数据包每经过一跳“生存时间”字段的值会减1,并重新计算校验和。
5.将第2步中主机A所编辑的报文的“生存时间”设置为1。
重新计算校验和。
6.主机B、E重新开始捕获数据。
7.主机A发送第5步中编辑好的报文。
8.主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据
报,并回答以下问题:
主机B、E是否能捕获到主机A所发送的报文?简述产生这种现象的原因。
答:主机B对应于172.16.1.1的接口可以捕获到主机A所发送的报文;主机B
对应于172.16.0.1的接口和主机E不能捕获到主机A所发送的报文;中间经过了路由器,经过一跳生存时间减为0了,在路由器上被丢了。
【练习二】:特殊的IP地址
1.直接广播地址。
(1)主机A编辑IP数据报1,其中:
目的MAC地址:FFFFFF-FFFFFF。
源MAC地址:A的MAC地址。
源IP地址:A的IP地址。
目的IP地址:172.16.0.255。
校验和:在其他字段填充完毕后,计算并填充。
(2)主机A再编辑IP数据报2,其中:
目的MAC地址:主机B的MAC地址(对应于172.16.1.1接口的MAC)。
源MAC地址:A的MAC地址。
源IP地址:A的IP地址。
目的IP地址:172.16.0.255。
校验和:在其他字段填充完毕后,计算并填充。
(3)主机B、C、D、E、F启动协议分析器并设置过滤条件(提取IP协
议,捕获172.16.1.2接收和发送的所有IP数据包,设置地址过滤条件如
下:172.16.1.2<->Any)。
(4) 主机B、C、D、E、F开始捕获数据。
(5) 主机A发送这两个数据报。
(6) 主机B、C、D、E、F停止捕获数据。
记录实验结果:
主机号
收到IP数据报1 BCDEF
收到IP数据报2 BCD
结合实验结果,简述直接广播地址的作用。
答:路由器使用直接广播地址把一个分组发送到一个特定网络上的所有主机。
这样所有主机都可以收到具有这种类型的目的地址的分组。
2.受限广播地址。
(1)主机A编辑一个IP数据报,其中:
“目的MAC地址”设置为FFFFFF-FFFFFF。
(2)“目的IP地址”设置为255.255.255.255。
(3)(2) 主机B、C、D、E、F重新启动协议分析器并设置过滤条件(提
取IP协议,172.16.1.2<->Any)。
(3) 主机B、C、D、E、F重新开始捕获数据。
(4) 主机A发送这个数据报。
(5) 主机B、C、D、E、F停止捕获数据。
记录实验结果:
主机号
收到主机A发送的IP数据报 BCD
未收到主机A发送的IP数据报 EF
结合实验结果,简述受限广播地址的作用。
答:受限的广播地址是255.255.255.255。
该地址用于主机配置过程中IP 数据报的目的地址。
此时,主机可能还不知道它所在网络的网络掩码,甚至是它的IP地址也不知道。
受限的广播通常只在系统启动时才会用到。
在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报。
这样的数据报仅出现在本地的网络中。
所以只有主机C、D、B1收到主机A发送的IP数据报,而主机EF和B的路由B2未收到主机A发送的IP数据报。
3.环回地址。
主机F重新启动协议分析器开始捕获数据并设置过滤条件(提取IP协
议)。
主机E ping 127.0.0.1。
主机F停止捕获数据。
主机F是否收到主机E发送的目的地址为127.0.0.1的IP数据报?为什么?
答:未收到,因为127.0.0.1为回环地址,用于本机上的软件测试和网络程序之间的通信地址,不涉及其他主机。