ImageVerifierCode 换一换
格式:DOCX , 页数:37 ,大小:2.30MB ,
资源ID:5316256      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5316256.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机网络课程设计报告.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机网络课程设计报告.docx

1、计算机网络课程设计报告一 课程的目的和任务本课程要求学生在“计算机网络原理”理论学习基础上,验证和加深对计算机网络概念的理解。通过本课程的实践,培养学生独立思考、综合分析和动手实践的能力。通过本课程的学习,达到如下目标:(1). 理解计算机网络体系结构和工作原理,掌握常用的网络命令,能够对命令的功能进行解释,分析命令执行结果,得到合理有效结论。(2). 掌握Packet Tracer软件的操作方法,能够使用该软件模拟组网、配置交换机、路由器,能够按照实验方案实施仿真实验,采集和整理数据。(3). 具备网络编程能力,能够设计抓包程序获取数据包,结合相关协议对数据包各个字段的含义进行分析、处理和解

2、释,获取有效结论。二 课程的基本内容和要求2.1 实验理论1.常用网络命令的工作原理及协议2. ARP的原理3.ICMP协议及原理4.telnet远程登录的原理5.IP报文格式及路由转发6.以太网CSMA/CD协议原理7.透明网桥、以太网交换机8.虚拟局域网VLAN9.路由器的作用、静态路由、动态路由10.IP报文格式及IP协议11. Socket网络编程2.2 实验内容1. 常用网络命令要求在Windows环境下掌握ipconfig,ping,netstat,tracert,arp,telnet进行网络状态监测、跟踪的方法。(a).ipconfig ipconfig的功能:可用于显示本机所有

3、当前的TCP/IP配置的设置值,刷新动态主机配置协议(DHCP),以及域名系统设置(DNS)。1.不带参数的ipconfig 该命令用于查看适配器的IP地址子网掩码等属性图中可以看到以太网适配器IP地址10.136.6.220,其子网掩码255.255.240.02.带参数的ipconfig(1).ipconfig/all该命令用于查看适配器的IP地址,子网掩码等属性,较不带参数的ipconfig多了显示MAC地址,下图可以看到各个组件的物理地址,与ipconfig相比较更为详细 (2).ipconfig/renew即重新获取IP地址(3).ipconfig/release该命令用于释放即归还

4、所有适配器的IP地址,与不带参数的ipconfig相比较,以太网适配器,即网卡的的IP地址没有显示,说明已被释放(b)ping ping命令的作用用于检查网络是否连通,到某个目的地址是否可达,可以帮助分析网络故障ping命令的原理基于ICMP协议,PING使用了回送请求与回送回答报文。根据是否收到报文来判断目的端口是否可达,根据发送的报文的个数与接收到的回答报文的个数来判断链路的质量,根据RTT来判断源端与目的端之间的距离。1.不带参数的ping图1是ping环回地址,图2则是一个本网内不存在的IP,可以看到图1ping通,而图二请求超时 2.带参数的ping(1).ping t该命令即一直p

5、ing某个地址,直到结束为止,在ctrl+c输入前一直不会停止(2).ping a该命令是将地址解析为用户名,图中的Advertisement就是解析出的用户名(3).ping n该命令用于设置发送的个数,设置1即发送1个,8即8个(c).netstat netstat命令的作用显示网络连接、路由表和网络接口信息,显示目前有哪些网络连接正在工作。可用于检验本机各端口的网络连接情况。1.不带参数的netstat 该命令用于监控TCP/IP网络,显示活动的TCP连接,图中显示了活动中的TCP连接,不包括LISTENING状态的连接2.带参数的netstat(1).netstat a显示所有连接和侦

6、听端口,所有有效连接信息的列表(由于数据过多,只截取了一些)。 (2).netstat s 显示每个协议的各项的统计(数据很多,只截取了一部分) (3).netstat e 该命令即显示总量的统计,数值上为-s 各个协议的总和 (4).netstat r 该命令显示核心路由表(d) .Tracert Tracert命令的作用用于查看IP数据包在访问目标时采取的路径 Tracert命令的原理 从源主机向的主机发送一连串的IP数据报,其中分装的是的是无法交付的UDP用户数据报,通过设置数据包的生存时间TTL,到路由器时的TTL恰好为1,接着路由器将TTL变为0,丢弃数据报并向源主机发送ICMP时间

7、超过差错报告报文。当达到目的主机时,由于无法交付UDP用户数据报,目的主机向源主机发送ICMP终点不可达差错报告报文。源主机可以从这些差错报文中知道路径上的路由信息。 1.不带参数的Tracert 该命令用于查看数据包在访问目标时采取的路径,不带参数则默认30个跃点跟踪 2.带参数的Tracert (1).Tracert h 控制跃点跟踪的个数,设置5个就只显示5个 (2).Tracert d 设置不把地址解析为计算机名,与不带参数的Tracert对比可见计算机名没有显示 (e).arp arp命令的作用arp命令用于显示和修改ARP使用的“IP到物理”地址转换表。arp命令的原理每台装有网卡

8、的主机中都有一个ARP表,保存着同一网络中IP到MAC之间的映射记录。ARP表并不是一成不变的,大约每2分钟更新一次,这种纪录称为动态式(Dynamic)记录。还有一种称为静态记录,也就是表中的记录不变,直到TCP/IP协议重启后才会消失。 1.arp命令 (1).arp s与arp -d arp s 用于增加ARP项,arp-d用于删除ARP项目,先增加了138.125.12.14和其对应MAC地址3C-FD-A1-85-34-12,再查询可以查到,再通过-d删除,之后便查不到了 (2).arp a与arp-a-v arp a 用于显示所有的ARP项目,arp-a-v则是详细的显示(-v会显

9、示无效的项目),arp-a后加IP地址则显示IP地址对应的ARP项目(如上图) (f).telnet telnet的作用用户可以登录到远地的另一台主机上,可以使用目标主机上的软、硬件资源,是一个简单的远程终端协议。 telnet的原理 使用客户服务器方式。在本地系统运行Telnet客户进程,远地运行服务器进程。 1.telnet IP 即连接这个IP地址,图中连接了127.0.0.1即环回地址,连接成功 2.建立连接后有这些操作 3. sen 即发送字符串,图中发送了123456789123456798 4. display 显示操作参数, 5.set与unset图1和图2为帮助中的一些设置操

10、作,图3图4测试了进行身份验证的设置,图三设置了进行身份验证,图四解除了这个设置 6.close关闭连接,关闭了与127.0.0.1的连接,再次企图发送数据则显示未连接2. 交换机与路由器安装packet tracer,在packet tracer仿真环境下,熟悉交换机命令、交换机初始化配置;在交换机上实现VLAN配置,要求:创建三个VLAN,给出拓扑,查看VLAN信息 基于Console控制台登录配置路由器,学习路由器配置相关命令;基于packet tracer构建网络环境,分别进行静态路由配置和基于RIP的动态路由配置。要求:静态路由配置拓扑中至少4个路由器;RIP动态路由配置中源站和目的

11、站之间设置两条跳数不同的路径,通过RIP配置后查看选择的是哪条路径。 节点包括主机、路由器、交换机等都要根据个人名字首字母加学号的后两位进行命名。要求给出网络设计的思路、拓扑结构、配置方法与过程及验证思路与过程。提供截图实验内容:1.在交换机上实现VLAN配置 (1). 建立VLAN思路需要构建三个VLAN,首先需要用6台主机。用两台交换机,则主机和交换机之间需要直通线缆6根,两个交换机之间需要交叉线缆一根。在HKB11 switch0上,创建三个VLAN,即VLAN 10,VLAN 20,VLAN30,把三个端口分别划给这三个VLAN。HKB11 switch1上也是如此,之后把两个交换机相

12、连(2).拓扑结构 (3).配置过程主机IP地址连接交换机/端口所属VLANHKB11 PC0192.168.1.1HKB11 Switch0 Fa0/1VLAN1HKB11 PC1192.168.1.2HKB11 Switch0 Fa0/2VLAN2HKB11 PC2192.168.1.3HKB11 Switch0 Fa0/3VLAN3HKB11 PC3192.168.1.4HKB11 Switch1 Fa0/1VLAN1HKB11 PC4192.168.1.5HKB11 Switch1 Fa0/2VLAN2HKB11 PC5192.168.1.6HKB11 Switch1 Fa0/3VLA

13、N3 (a).配置主机IP地址,子网掩码以及修改名称(以PC0为例) 将PC0的IP地址设为192.168.1.1,子网掩码为255.255.255.0,名称为HKB11 PC0(b).修改交换机的名称(以Switch0为例)将Switch0的名称设为HKB11 Switch0 (c).设置VLAN 在交换机Switch0中增加了VLAN 10,VLAN 20,VLAN 30,Switch1中同理 (d).把端口划分给这三个VLAN 端口1划分给VLAN1,端口2划分给VLAN2,端口3划分给VLAN3,Switch1中相同操作 (e).设置交换机互连接口 我的交换机的互连接口均为10号,图中

14、为Switch0的设置,1同理, (4).验证结构正确 (a).查看VLAN表 图中为Switch0的VLAN表,可以看到三个VLAN中个有一个端口(b).ping命令PC0分别pingPC2,PC3,PC4PC0和PC2在同一个交换机下,ping不通PC0和PC3属于同一个VLAN,ping通PC0和PC4既不属于同一个VLAN,也不在同一个交换机下,ping不通说明VLAN建立正确 pc2pc3 pc4 2.静态路由设置 (1).建立静态路由思路 首先根据题目要求需要4个路由器,则需要至少8台主机,4台交换机,8台主机两两一组,分为4组,4组分别处在不同的网段下,各自连接一个交换机,之后交

15、换机再连接一个路由器,路由器之间相互连接 (2).拓扑结构 (3).配置过程路由器网段主机1主机2Router0192.168.4.0Pc0 192.168.4.2Pc1 192.168.4.3Router1192.168.5.0Pc2 192.168.5.2Pc3 192.168.5.3Router2192.168.6.0Pc4 192.168.6.2Pc5 192.168.6.3Router3192.168.7.0Pc6 192.168.7.2Pc7 192.168.7.3 (a).配置主机 以PC0为例,IP地址设为192.168.4.2,子网掩码255.255.255.0,默认网关设为

16、192.168.4.1,即其路由器的IP地址 (b)配置路由器 首先关闭路由器电源,然后把WIC-2T拖到图中花圈除再打开电源 然后设置FastEthernet0/0端口,填入IP地址和子网掩码,之后再Port Status处点击On打开连接 然后,设置Serial0/3/0(0/3/1)同理,同样设置IP地址和子网掩码,然后Clock Rate处进行设置,最后Post Status处设置 ps.Router0与Router1之间为192.168.1.0网段,Router1与Router2之间为192.168.2.0网段,Router2与Router3之间为192.168.3.0网段 最后设置

17、下一跳 Router0 Router1 Router2 Router3 (4).验证结构正确(a).ping命令此处由PC0依次pingPC1(192.168.4.3) PC2(192.168.5.2),PC4(192.168.6.2),PC6(192.168.7.2) pc1 pc2 pc4 pc6可见被ping的四个主机位于4个不同的子网中,均能ping通,可见静态路由建立成功(b).tracert命令来验证正确此处由PC0查看其到PC4,PC6的路径 pc4 pc6由路径也可以看到与设置的下一跳完全吻合3. RIP动态路由配置(1).动态路由思路一个端口到另一个端口有两条跳数不同的路径,

18、则最简单的结构为三角结构,即需要三个路由器两两互连,再各自连上一台主机(2).拓扑结构(3).配置过程 路由器网段主机Router0192.168.4.0PC0 192.168.4.2Router1192.168.5.0PC1 192.168.5.2Router2192.168.6.0PC2 192.168.6.2 (a).配置主机(以主机PC0为例) 设置IP地址为192.168.4.2,子网掩码255.255.255.0,默认网关192.168.4.1 (b).配置路由器 首先同样关闭电源将WIC-2T拖入黑圈处,再打开电源 然后配置FastEthernet0/0端口,IP为192.168

19、.4.1,子网掩码255.255.255.0,然后点击On打开 然后配置Serial0/3/0端口,3/1同样 此处Router0和Router之间为192.168.1.0网段,Router1与Router2之间为192.168.2.0网段,Router2与Router0之间为192.168.3.0网段 最后配置路由表 Router0 Router1Router2 (4).验证结构正确 (a).ping命令 由PC0分别pingPC1和PC2 pc1 pc2 均能ping通 (b).Tracert命令 查看PC0到PC1的路径 显示路径符合RIP动态路由3. 网络编程编程需求:捕获本机网卡的I

20、P包,对捕获的IP包进行解析。要求必须输出以下字段:版本号、总长度、标志位、片偏移、协议、源地址和目的地址。实验总结与心得体会(5分) (1).操作系统和实验软件操作系统为Windows10,软件为Visual Studio 2017 (2).IP数据报首部各个字段版本号: 占4位,IP协议版本号, IPv4此字段值为4, IPv6此字段值为6首部长度:占4位,包括固定部分和可选部分, 因此首部最长为60字节, 最短为20字节(不包括选项和填充部分);服务类型:占8位,(由于该字段一直弃而不用, 因此不用考虑)总长度:占16位,以字节为单位, 总长度包含IP的头部和数据部分, IP数据报最大长

21、度为65535字节, 但是注意最大不要超过MTU的长度标识:占16位,唯一标识一个数据报,可以将之当成一个计数器, 每发送一个数据包, 则该值加1, 如果数据报分片,则每个分片的标识都一样, 各个分片共享一个标识号标志位:占3位,最高位为0;最低位MF=1(0),后面还有分片(最后一个报片);DF=1(0),不能分片(可以分片)片偏移:占13位,用以指出该分段的第一个数据字节在原始数据报中的偏移位置(以8字节为单位),IP分片后每一个分组都具有自己的首部, 而且标志位相同, 但是片偏移值不同, 通过片偏移值接收端可以重新组装IP包生存时间:占8位,表示数据报最多可经过的路由器的数量. 取值02

22、55,每经过一个路由器, TTL值减1,为0时被丢弃, 并发送ICMP报文通知源主机, TTL可以避免数据报在路由器之间不断循环协议类型:占8位,指明IP层上承载的是哪个高级协议, 在分用的过程中, 协议栈知道该交给上层的哪个协议处理, 如1为ICMP, 2为IGMP, 6为TCP, 17为UDP等.。首部检验和:占16位,保证数据报头部的数据完整性,但校验不包括数据部分。源地址:32位,发送方IP地址目的地址:32位,接受方IP地址 (3).设计思路socket编程,在了解IP数据报首部的前提下去进行,先定义IP数据包头类,然后初始化套接字,将网卡设置为混杂模式,监听数据包,最后接收经过的I

23、P包并输出 (4). 实验结果与分析 第一个数据包UDP包,源地址为10.136.6.220即本机,目的地址为192.168.113.1,第二个包为UDP包,源地址为192.168.113.1,目的地址为10.136.6.220即本机 (5). 程序流程图 (6).实验总结 这算是一个全新的领域吧,起码对我而言是这样,之前没有接触过任何关于这方面的东西,完全不知道如何下手,没办法只能去搜查资料,通过这次实验也对这方面有了点了解了,不会像开始那样不知道怎么写了源代码:IP_HEAD.h#include class IP_HEAD /IP首部public: BYTE ver_hlen; /IP协议

24、版本和IP首部长度。高4位为版本,低4位为首部的长度(单位为4bytes) BYTE byTOS; /服务类型 WORD wPacketLen; /IP包总长度。包括首部,单位为byte。 WORD wSequence; /标识,一般每个IP包的序号递增。 union WORD Flags; /标志 WORD FragOf; /分段偏移 ; BYTE byTTL; /生存时间 BYTE byProtocolType; /协议类型,见PROTOCOL_TYPE定义 WORD wHeadCheckSum; /IP首部校验 DWORD dwIPSrc; /源地址 DWORD dwIPDes; /目的

25、地址 BYTE Options; /选项;main.cpp#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #include #include IP_HEAD.h#pragma comment(lib,Ws2_32.lib)using namespace std;int number;int DecodeIP(char *buf, int len) int n = len; if (n = sizeof(IP_HEAD) IP_HEAD iphead; iphead = *(IP_HEAD*)buf; cout

26、 第 number+ 个IP数据包信息: endl; cout 协议版本: 4) endl; cout 首部长度: (iphead.ver_hlen & 0x0F) 2) endl;/单位为4字节 cout 服务类型:Priority: 5) ,Service: 1) & 0x0f) endl; cout IP包总长度: ntohs(iphead.wPacketLen) endl; /网络字节序转为主机字节序 cout 标识: ntohs(iphead.wSequence) endl; cout 标志位: DF= 14) & 0x01) ,MF= 13) & 0x01) endl; cout

27、片偏移: (iphead.FragOf & 0x1fff) endl; cout 生存周期: (int)iphead.byTTL endl; cout 协议类型: int(iphead.byProtocolType) endl; cout 首部校验和: ntohs(iphead.wHeadCheckSum) endl; cout 源地址: inet_ntoa(*(in_addr*)&iphead.dwIPSrc) endl; cout 目的地址: inet_ntoa(*(in_addr*)&iphead.dwIPDes) endl; cout - endl endl; return 0;voi

28、d AutoWSACleanup() :WSACleanup(); / 终止Winsock的使用int main() int n; WSADATA wd; /一种数据结构,这个结构被用来存储被WSAStartup函数调用后返回的Windows Sockets数据,它包含Winsock.dll执行的数据。 n = WSAStartup(MAKEWORD(2, 2), &wd); /返回winsock服务初始化是否成功,若返回1则输出错误 if (n) cerr WSAStartup函数错误! endl; return -1; atexit(AutoWSACleanup); SOCKET sock = socket(AF_INET, SOCK_RAW, IPPROTO_IP); /创建SOCKET if (sock = INVALID_SOCKET) cerr WSAGetLastError(); return 0; /获取本机地址 char name128; if (-1 = gethostname(name, sizeof(na

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1