计算机网络原理 期末实验 中小规模互联网设计与实现

计算机网络原理

期末实验 中小规模互联网设计与实现

一、网络需求

本次项目作业用到的设备有3台虚拟机,2台路由器和1台交换机。将PC1作为客户机,PC2配置为DNS服务器,PC3配置为WWW服务器,PC1与PC2、PC3之间通过交换机和路由器连接。

由于项目要求客户机、DNS和WWW服务器部署在不同的网络中,所以按照要求分别给它们分配了不同网段的IP地址。具体配置如下表所示:

DNS服务器中域名为:www.XXX.com.cn

WWW服务器进程使用临时端口300

二、网络技术分析

(一)交换机

(1)交换机的工作原理:交换机刚开始加电时,转发表是空的,在接收到第一个数据帧时,只能采用洪泛法把数据帧从除接收端口外的所有端口进行转发,同时把数据帧的源MAC地址和接收该数据帧的端口之间的映射关系保存在转发表中。继续解析从以太网端口接收的数据帧,获得的源和目的MAC地址与系统内部的转发表中的映射关系进行比较。如果目的地址和源地址对应的端口号相同,说明源主机和目的主机在同一个网段,交换机将该数据帧过滤掉,即丢弃而不转发该帧。如果目的地址和源地址对应端口号不同,说明源主机和目的主机不在同一个网段,交换机就会查出哪个端口和目的地址相关,并将该数据帧转发到这个端口。如果目的地址不在地址数据库中,交换机采用洪泛法将该数据帧发往除接收端口以外的所有端口,并将该对应关系加人到地址映射表中。

(2)交换机是利用自学习算法来动态建立和维护转发表的。转发表中保存硬件地址和端口号的映射关系,以太网交换机是利用转发表进行数据交换的,并且在每次加入或更新地址映射表的表项时,加入或更改的表项被赋予一个计时器。

(3)泛洪:交换机收到需转发的数据帧,但是MAC地址表中无目标端的MAC地址的对应关系,则会将此数据帧发送给所有端口(除源端口),例如:当交换机收到一个广播帧或未知的单播帧时,会进行泛洪。

(二)路由器

(1)路由器的功能:路由器是一种连接多个网络的网络互联设备,它的主要工作就是为经过路由器的每个IP数据寻找一条最佳传输路径,并将该数据报有效地传送到目的站点。路由器的功能有:连接异构网络、隔离广播、路由选择、网络安全。

(2)路由器任务是转发分组。从路由器某个输入端口收到的分组,按照分组要去的目的地(即目的网络),把该分组从路由器的某个合适的输出端口转发给下一跳路由器。下一跳路由器也按照这种方法处理分组,直到该分组到达终点为止。路由器通过路由选择决定数据的转发,路由选择是指分组由发送主机向接收主机传送时,选择一条用于发送分组的路径的过程,此过程是由路由器设备来完成的。转发是指当一个分组到达某路由器的一个输入端口时,该路由器将分组移动到适当的输出端口的过程。路由器的转发过程类似于网桥的转发过程,不过也有区别。路由器是在不同的网络之间转发网络层的 IP 数据报,而交换机是在同一个网络中转发数据链路层数据帧。从概念上说 IP 路由选择是简单的,特别是对于主机来说。如果目的主机与源主机直接相连(如点到点链路)或都在一个共享网络上(如以太网),那么 IP 数据报就直接送到目的主机上。否则,主机把数据报发往一个默认的路由器上,由路由器来转发该数据报。在每个路由器的内存中都有一张路由表,路由表中的每一项都包含目的IP地址、掩码、下一跳。

(三)RIP协议

(1)该协议要求网络中每一台路由器都要维护从自身到每个目的网络的路由信息。RIP协议基于距离矢量算法,使用跳数来衡量网络中的“距离”,从一台路由器到其直连网络的跳数定义为1,从一台路由器到其非直连网络的距离定义为每经过一个路由器则距离加1。“距离”:也称为“跳数”。到达目的网络跳数最少的路由被认为是最佳路由。RIP允许路由的最大跳数为15,就是指跳数为16是不可达的,那些必须经过15个以上的路由器才能达到的主机被认为是不可到达的,因此RIP协议只适合于小型的网络。

(2)RIP协议只与相邻路由器交换路由信息。

(3)RIP路由的更新规则如下:

①若项目中的目的网络不在路由表中,表明此项目是新的路由信息,添加到本路由器的路由表中。

②否则就不是新路由信息,比较两条路由信息的下一跳字段给的路由器地址是否相同,如果相同就用收到的项目替换原路由表中的项目,也就是进行更新,重新启动计时器。

③否则比较两条路由信息的跳数,若收到的项目中的跳数小于路由表中的跳数,就用收到的项目替换原路由表中的项目,重新启动计时器。

④否则什么也不做。

(四)ARP工作原理

(1)每台主机都设有一个ARP高速缓存,里面保存已知的本局域网上各主机或路由器端口的IP地址和硬件地址的映射表。当主机A要向本局城网上的某个主机B发送IP数据报时,先在其ARP高速缓存中查看是否有主机B的IP地址。如果有,就在ARP高速缓存中查出其对应的硬件地址,再把这个硬件地址写人MAC帧,然后通过局域网把该MAC帧发往此硬件地址。也有可能查不到主机B的IP地址的项目。这可能是主机B才人网,也可能是主机A刚刚通电。其高速缓存还是空的。在这种情况下,主机A就自动运行ARP。然后按以下步骤找到主机B的硬件地址。①构造ARP请求报文。②发送ARP请求报文。③目的主机返回响应报文。④源主机接收到ARP响应报文后,获得目的主机的MAC地址,就可以把要传送的IP数据报封装在MAC帧中,然后发送构造好的MAC帧,同时将此IP地址和MAC地址的映射关系作为一条新记录保存到ARP高速缓存中。

(2)判断是否在同一个网络:用源IP地址和本主机的子网掩码做“与”得到一个值,再用目的IP地址和本主机的子网掩码做“与”得到一个值,这两个值比较,如果网络号相同就是同一个网络,反之不在同一个网络。

(3)ARP在同网段下的工作原理:每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个ARP响应数据包,告诉对方自己是它需要查找的MAC地址;源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

(3)主机在构造报文的目的物理地址时,若在ARP表中有目的IP对应的MAC地址,则不用寻址,否则会将目的IP和自己的子网掩码对比,在同一子网直接寻找目的主机对应的硬件地址,否则会将报文交付给默认网关,由默认网关代为转发。

(4)ping过程:①主机1(源)将自己的子网掩码分别与源IP、目的IP做“与”,比较后判定主机1(源)、主机2(目的)是否在同一个网段,如果在同一个网段,可以用ARP协议获得对方物理地址,从而实现直接交付的通信过程,若ARP表中没有目的IP对应的物理地址,广播寻址之后转发请求报文,主机2接收到报文后,构造响应报文,到响应报文的目的物理地址时,也要用主机2的子网掩码与主机2、主机1的IP做“与”,比较后判定主机2、主机1是否在同一个网段,如果在同一个网段,则发送响应报文,可以ping通;如果不在同一个网段,则ping不通。

②主机1(源)将自己的子网掩码分别与源IP、目的IP做“与”,比较后判定主机1(源)、主机2(目的)是否在同一个网段,如果不在同一个网段,则主机1将该IP地址分组,首先发到默认网关。若默认网关没有设置,则无法发送分组,因此ping不通。

(五)TCP实验原理

(1)TCP连接建立过程,如图所示。

在运行服务器进程的主机B上扫描端口,准备接受客户进程的TCP连接建立请求。运行客户进程的主机A向主机B发送TCP连接请求报文段,其首部中的同步比特SYN应置为1,同时选择一个序号x,表明在后面传送数据时起始序号是x。

主机B的TCP收到连接请求报文段后,如果同意就发回确认。在确认报文段中应将SYN置为1,确认序号应为x+1,同时也为自己选择一个序号y。

主机A的TCP收到此报文段后,还要向B返回确认,其确认序号为y+l。

运行客户进程的主机A的TCP通知上层应用进程,连接已经建立。当运行服务器进程的主机B的TCP收到主机A的确认后,也通知其上层应用进程,连接已经建立。

连接建立采用的这种过程叫做三次握手。 采用三次握手机制主要是为了防止过期的连接请求报文段突然又传送到了主机B,因而产生错误。

(2)TCP连接释放过程

在数据传输结束后,通信的双方都可以发出释放连接的请求。假设下图中的主机A的应用进程先向其TCP发出连接释放请求,并且不再将数据传送给运输层。TCP通知对方要释放从A到B这个方向的连接,将发往主机B的TCP报文段首部的终止比特FIN置1,其序号u等于前面已传送过的数据的最后一个字节的序号加1。

主机B的TCP收到释放连接的通知后,即发出确认,其序号为 u+1,同时通知高层的应用进程。这样从A到B的连接就释放了,连接处于半关闭状态。这种状态相当于主机A向主机B说:“我已经没有数据要发送了。但你如果还发送数据,我仍接收。”

此后主机B不再接收主机A发送的数据。但是如果主机B还有数据要发往主机A,则可以继续发送。主机A只要收到数据,仍应向主机B发送确认。

在主机B向主机A的数据发送结束后,其应用进程就通知TCP释放连接。主机B发出的连接释放报文段除必须将终止比特FIN置1,并使其序号w等于前面已传送过的数据的最后一个字节的序号加1,还必须重复上次已发送过的ACK=u+l。主机A必须对此发出确认,给出ACK=w+1。这样才将从B到A的反方向连接释放掉。主机A的TCP再向其应用进程报告,整个连接已经全部释放。

(六)配置静态路由与默认路由

(1)对于非直连的路由,需手工进行静态路由的配置。配置静态路由的命令是ip route

非直连网段网络地址 掩码 下一跳,在这里要注意目的网络地址和下一跳的地址不要配置错,最后可以使用show ip route查看一下路由表。

(2)默认路由一般使用在只有一条出口路径的网络,命令为ip route 0.0.0.0 0.0.0.0 下一跳,当目的IP地址和掩码均为“0.0.0.0”时,就是配置默认路由。

(七)配置WWW服务器和DNS服务器

(1)DNS服务器工作原理及功能:DNS通过在网络中创建不同的区域(一个区域代表该网络中要命名的资源的管理集合),并采用一个分布式数据系统进行主机名和地址的查询。当在客服机的浏览器中键入要访问的主机名时就会触发一个IP地址的查询请求,请求会自动发送到默认的DNS服务器,DNS服务器就会从数据库中查询该主机所对应的IP地址,并将找到IP地址作为查询结果返回。浏览器得到IP地址后,就根据IP地址在Internet中定位所要访问的资源。

(2)万维网WWW(World Wide Web)服务,又称为Web服务,是目前TCP/IP互联网上最方便和最受欢迎的信息服务类型。万维网以客户/服务器方式工作。万维网文档所在的计算机运行服务器进程,因此这个计算机也称为万维网服务器。浏览器就是运行在用户计算机上的万维网客户进程。客户进程向服务器发出请求,服务器进程向客户进程发送客户所要的万维网文档。在一个客户程序主窗口上显示的万维网文档称为页面。而主页是用户通过客户端浏览器浏览Web服务器所看到的第一个页面。主页有其他网站或网页的超链接,通过它们链接到其他的网站或其他的页面上。

(3)配置时需要注意的是域名不要写错,DNS服务器要在正向查找域新建主机,WWW服务器要将默认站点的IP地址改为自己WWW服务器的IP地址。

三、网络拓扑结构和IP地址等分配方案

(一)网络拓扑结构

(二)IP地址等分配方案

1、配置虚拟机PC1、PC2、PC3

(1)配置PC1的IP地址,子网掩码,默认网关和DNS服务器的地址

(2)配置PC2的IP地址,子网掩码,默认网关和DNS服务器的地址

(3)配置PC3的IP地址,子网掩码,默认网关和DNS服务器的地址

2、配置路由器R1、R2

(1)配置路由器R1

(2)配置路由器R2

(三)测试连通性

1、检验拓扑结构是否能ping通

(1)使用PC1(客户机)ping PC2、PC3,可以ping通。

(2)使用PC2 ping PC1、PC3,可以ping通。

(3)使用PC3 ping PC1、PC2,可以ping通。

四、网络设备配置及运行调试

(一)安装并配置DNS服务器

1、安装DNS服务器

(1)将映像文件导入虚拟机

(2)单击“开始/程序/管理工具/管理您的服务器”,打开“管理您的服务器”窗口,单击“添加删除角色”,打开“配置您的服务器向导”对话框。在配置选项中选择“自定义配置”,在服务器角色列表框中选择“DNS服务器”选项,单击“下一步”按钮,直到打开“选择配置操作”对话框,如图所示。选择“创建正向查找区域”,单击“下一步”。

(3)在“主服务器位置”对话框中,选择“这台服务器维护该区域”,单击“下一步”。

(4)在新建区域对话框中设置区域名称“XXX.com.cn”,如图所示。单击“下一步”。

(5)建立区域文件,保存在c:\windows\system32\dns文件夹中,使用默认的文件名“XXX.com.cn.dns”。单击“下一步”。在动态更新对话框中选择“不允许动态更新”,单击“下一步”。

(6)在转发器对话框中选择“否,不向前转发查询”,如图所示。单击“下一步”,完成DNS服务器的配置。

2、配置DNS服务器

(1)在“管理您的服务器”窗口,单击“管理此DNS服务器”,打开DNS服务器管理窗口,如图所示。在正向查找区域中打开“XXX.com.cn”区域,可以看到“域服务管理器”已自动创建起始机构授权、名称服务器记录。

(2) 在要添加主机记录的区域“XXX.com.cn”名上单击右键,选择“新建主机”菜单命令,打开“新建主机”对话框。

(3)在“新建主机”对话框中,名称文本框输入主机名“www”,IP地址栏输入“221.250.3.10”,单击“添加主机”,如图所示。这样就在区域“XXX.com.cn”中建立了域名www.zourenjuan.com.cn到IP地址221.250.3.10之间的映射关系。

(二)安装并配置WWW服务器

1、安装WWW服务器

(1)将映像文件导入虚拟机

(2)单击“开始/程序/管理工具/管理您的服务器”,打开“管理您的服务器”窗口,如图所示。

(3)单击“添加删除角色”,打开“配置您的服务器向导”对话框,单击“下一步”。

(4)选择配置选项为“自定义配置”,单击“下一步”。在服务器角色列表框中选择“应用程序服务器(IIS,ASP.NET)”选项,单击“下一步”按钮,如图所示。

(5)选择“启用ASP.NET”复选框,单击“下一步”按钮。按照提示完成服务器的安装,如图所示。

2、配置WWW服务器

(1)在管理服务器窗口,单击“管理此应用程序服务器”,打开“应用程序服务器”窗口。展开IIS管理器,在“网站”文件夹中能够见到在安装WWW服务器时已经创建的“默认网站”,如图所示。

(2)在“默认网站”上单击右键,在弹出的快捷菜单中选“属性”,打开“默认网站属性”对话框,设置其IP地址为221.250.3.10和TCP端口地址为3000,如图所示。

(三)运行调试

1、访问网站,能够通过域名访问WWW服务器

(1)在客户机PC1访问网站,客户机能够通过域名访问WWW服务器

(2)在DNS服务器PC2访问网站,能够通过域名访问WWW服务器

(3)在WWW服务器PC3访问网站,能够通过域名访问WWW服务器

2、客户机通过域名访问WWW服务器捕获的报文及分析

分析客户机通过域名访问WWW服务器的过程,域名解析,DNS请求报文,DNS响应报文,ARP请求报文,ARP响应报文,建立TCP连接,发送HTTP请求报文,接受HTTP响应报文,断开TCP连接。

(1)域名解析

在客户机输入一个域名:www.XXX.com,然后对这个域名进行解析。客户端向本地的DNS服务器发起一个请求,本地DNS服务器首先会查看缓存记录,如果缓存中有该条记录,就会将对应IP返回给客户端。

如果本地DNS服务器缓存中没有记录,本地DNS服务器就会向根DNS服务器发起请求,根DNS服务器中有域名与IP的对应关系记录,如果根DNS服务器中有该条记录,就会将对应IP返回给客户端。

(2)发送HTTP请求报文, 接收HTTP响应报文

(3)进行TCP连接,三次握手

(4)发送HTTP请求报文

TCP建立连接成功,浏览器向web服务器发送一条HTTP请求报文

(5)接收HTTP响应报文

请求后返回HTTP响应报文。

(6)断开TCP连接(四次握手)

访问WWW服务器之前,清除ARP、DNS缓存表

客户机通过域名访问WWW服务器,访问成功后关闭页面

客户机PC1通过域名访问WWW服务器后,PC1捕获的报文

访问WWW服务器之后,查看ARP、DNS缓存表

DNS请求报文

DNS响应报文

ARP请求报文

ARP响应报文

TCP报文格式

TCP连接建立过程(三次握手)

第11、12、13号报文是TCP的连接建立过程(三次握手)

第一次握手:

运行客户进程的主机PC1向主机PC3发送TCP连接请求报文段,其首部中的同步比特SYN应置为1,同时选择一个序号47 6c be 5d(x),表明在后面传送数据时起始序号是47 6c be 5d(x)。

第二次握手:

主机PC3的TCP收到连接请求报文段后,如果同意就发回确认。在确认报文段中应将SYN置为1,确认序号应为47 6c be 5e(x+1),同时也为自己选择一个序号8b b7 8b 40(y)。

第三次握手:

主机PC1的TCP收到此报文段后,还要向PC3返回确认,其确认序号为8b b7 8b 41(y+1)。

运行客户进程的主机PC1的TCP通知上层应用进程,连接已经建立。当运行服务器进程的主机PC3的TCP收到主机PC1的确认后,也通知其上层应用进程,连接已经建立。

HTTP请求报文

HTTP响应报文

TCP连接释放过程(四次握手)

第17、22、23、26号报文是TCP的连接建立过程(四次握手)

第一次握手:

在数据传输结束后,通信的双方都可以发出释放连接的请求。主机PC1的应用进程先向其TCP发出连接释放请求,并且不再将数据传送给运输层。TCP通知对方要释放从PC1到PC3这个方向的连接。

第二次握手:

主机PC3的TCP收到释放连接的通知后,即发出确认,同时通知高层的应用进程。这样从PC1到PC3的连接就释放了,连接处于半关闭状态。

第三次握手:

此后主机PC3不再接收主机PC1发送的数据。但是如果主机PC3还有数据要发往主机PC1,则可以继续发送。主机PC1只要收到数据,仍应向主机PC3发送确认。 在主机PC3向主机PC1的数据发送结束后,其应用进程就通知TCP释放连接。

第四次握手:

主机PC1必须对此发出确认。这样才将从PC3到PC1的反方向连接释放掉。主机PC1的TCP再向其应用进程报告,整个连接已经全部释放。

五、小结

通过本次项目作业,我明白了在配置路由器R1、R2时,要分清各个端口对应的目的IP地址和下一跳地址,要配置正确,配置成功后,要使用ping命令测试其连通性;其次配置WWW服务器的配置中,端口号是选择默认的80还是其他的,如果不是默认端口需要在访问http网址时加上端口号,并且访问前需要配置首选DNS服务器。最后,在这次项目作业中也明白了客户机通过域名访问WWW服务器的过程,这些都让我收获很多。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值