第一篇:计算机网络实验-DNS、SMTP、POP3协议分析
实验三 DNS、SMTP、POP3协议分析
【实验目的】
了解DNS解析的过程;掌握DNS报文格式, 学习DNS协议的原理和实现方法 掌握nslookup命令和ipconfig命令的使用;理解SMTP, POP3协议的基本原理及其与传输层协议的关系。
【实验内容】
一、DNS协议分析
使用nslookup工具解析域名,捕获数据包并进行分析
1、在实验主机上启动网络协议分析仪进行数据捕获并设置过滤条件,在工具栏点击“过滤器”按钮,会弹出“设置&过滤器”对话框,在“过滤器类型”中选择“类型过滤器”,类型值中选择“DNS协议”,点击“设置参数”按钮后“确定”,开始进行数据包的捕获:
图5-1 设置DNS协议过滤器
2、使用nslookup工具进行域名的解析。
nslookup命令是查询域名对应IP的工具,其用法可以直接在Windows系统的命令提示符下运行命令:nslookup域名 来进行域名解析,例如:
图5-2 使用nslookup工具
(一)也可以仅仅运行nslookup命令(不需任何参数),进入nslookup的交互界面,在“>”提示符后可以多次输入不同的域名,以实现多次的查询,例如可以在一次nslookup的交互过程中,进行www.xiexiebang.com、www.xiexiebang.com、www.xiexiebang.com,观察此时是否还有DNS请求?
2、关闭IE浏览器后再重新打开,访问一个尚未访问过的网站,例如www.xiexiebang.com,观察此时是否有DNS请求?为什么?
3、在Windows系统的命令提示符下运行:ipconfig /displaydns显示本机缓冲区中的DNS解析内容,如图5-6所示:
图5-6 显示本机的DNS缓存
4、在Windows系统的命令提示符下运行:ipconfig /flushdns,则可以清除本机的DNS缓存记录,如图5-7所示:
图5-7 清除本机的DNS缓存
二、SMTP协议分析
说明:实验室收发邮件服务器为192.168.2.24并且能够支持SMTP和POP3协议,实验室主机安装有Outlook Express软件,学生可以进行账号的配置,并利用其进行收发邮件的的操作:
邮箱为nxx@netlab.ie,(注意其中xx=01-40,每位同学取与自己的机器号相同的数字)密码为123,配置完成后可看到的邮件帐户属性(帐户名一定要写完整:nxx@netlab.ie)在Outlook中创建一封邮件,发送出去。
步骤一:利用Outlook发送电子邮件,捕获数据包并分析
1、打开邮件工具:Outlook Express,按照已经申请的邮箱信息进行配置,例如邮箱为n01@netlab.ie,密码为:123,配置完成后可看到的邮件帐户属性为:
图5-8 在Outlook Express中设置邮箱帐户
2、在主机上打开协议分析仪,点击工具栏上的“过滤器”,“类型过滤器”的下拉列表中选择“SMTP协议”:
图5-9 设置SMTP协议过滤器
3、在Outlook中创建一封邮件,发送出去。
4、进行数据捕获,并分析数据包内容,可以看到SMTP的命令和参数,图5-10中可以看到MAIL FROM命令,并可看到邮箱地址 n01@netlab.ie:
图5-10 SMTP协议的MAIL FROM命令报文
而在图5-11中,则可以看到这是一个携带邮件内容的DATA报文:
图5-11 SMTP协议中的DATA报文
5、分析其中发送邮件的过程传输层采用什么协议?发送端的目的端口号是多少?代表什么协议?
6、使用Outlook工具接收一封邮件;
7、进行数据捕获,并分析数据包内容,可以看到POP3协议的命令和参数,如图5-12和图5-13所示,就是POP3协议使用USER命令和PASS命令在传输邮件的帐号和密码:
图5-12 POP3协议的USER命令
图5-13 POP3协议的PASS命令
8、分析其中接收邮件的过程传输层采用什么协议?使用的端口号是多少,代表什么协议?
步骤二:利用“TCP工具”和SMTP命令编辑邮件并发送
本步骤的目的是学习SMTP协议的命令用法,以及一个邮件发送的过程。首先要与某个邮件服务器建立一个TCP连接,例如:使用步骤一中的netlab.ie的邮件服务器,可从刚才捕获到的报文中看到其IP地址为:(),用户名:(),密码为:(),邮件服务器域名:()。
1、首先打开协议分析仪,准备好进行数据包的捕获,然后打开协议分析仪,点击工具栏中的“TCP”按钮;
2、在弹出的“TCP连接工具”中填写邮件服务器的IP地址(192.168.2.24)及邮件服务器SMTP协议的端口号(25),点击“启动”,从而建立本机与邮件服务器SMTP端口的TCP连接,如图5-14所示:
图5-14 利用TCP工具与邮件服务器建立连接
3、若连接成功,在接收窗口会显示成功连接的信息:
若不成功,查看IP地址和端口号是否有错,再次尝试进行连接,直到成功。在命令行输入命令,进行交互邮件发送(参见课本78页);
步骤三:利用“TCP工具”和SMTP命令编辑邮件并发送
1、首先打开协议分析仪,准备好进行数据包的捕获,然后点击工具栏中的“TCP”按钮;
2、在弹出的“TCP连接工具”中填写服务器的IP地址(192.168.2.24)及服务器POP3协议的端口号(110),点击“启动”,从而建立本机与POP3服务器的TCP连接:
3、若连接成功,在接收窗口会显示成功连接的信息若不成功,再次尝试进行连接,直到成功。
在命令行输入命令,进行交互邮件接受(参见课本83页);
三.邮局协议POP3分析
步骤一:利用Outlook工具接收电子邮件,捕获数据包并分析
1、打开邮件工具:Outlook Express,按照已经申请的邮箱信息进行配置,例如邮箱为2008.test.star@163.com,密码为:Test2008,配置完成后可看到的邮件帐户属性为:
图5-15在Outlook Express中设置邮箱帐户
2、在主机上打开协议分析仪,点击工具栏上的 “过滤器”,在“端口过滤器”的“端口值”中选择“发送/接收”的端口为110,如图5-16所示:
图5-16 设置POP协议过滤器
3、在Outlook中创建一封邮件,发送出去,再使用Outlook工具进行接收;
4、进行数据捕获,并分析数据包内容,可以看到POP3协议的命令和参数,如图5-12和图5-13所示,就是POP3协议使用USER命令和PASS命令在传输邮件的帐号和密码:
图5-17 POP3协议的USER命令
图5-18 POP3协议的PASS命令
5、分析其中接收邮件的过程传输层采用什么协议?使用的端口号是多少,代表什么协议?
步骤二:利用TCP连接客户端工具和POP命令接收电子邮件
本步骤的目的是学习POP3协议的命令用法,以及接收一个邮件的过程。
1、首先用Outlook工具构造一个邮件发送出去,如图5-19所示,然后关闭Outlook工具:
图5-19 使用Outlook构造一封测试用邮件
2、建立与POP3服务器的TCP连接,继续使用163.com的POP3服务器,可从刚才捕获到的报文中看到其IP地址为:202.208.5.100,用户名:2008.test.star,密码为:Test2008,邮件服务器域名:163.com。(1)首先打开协议分析仪,准备好进行数据包的捕获,然后点击工具栏中的“TCP”按钮;
(2)在弹出的“TCP连接工具”中填写服务器的IP地址(202.208.5.100)及服务器POP3协议的端口号(110),点击“启动”,从而建立本机与POP3服务器的TCP连接:
(3)若连接成功,在接收窗口会显示成功连接的信息(+OK Welcome to coremail Mail Pop3 Server(163coms[3d8c1fa079729fb6acc588e66d30360es]);若不成功,再次尝试进行连接,直到成功。
2、用POP3命令接收邮件,捕获数据包并进行分析:
(1)在发送的编辑栏里面编辑发送POP 3协议的命令USER,参数为邮箱帐号:USER 2008.test.star ;
(2)发送命令PASS,参数为邮箱密码:PASS Test2008 ;(3)此时可以看到服务器对油箱帐号的验证已经通过,返回了邮箱内的邮件数量和占用字节数:1封邮件,大小是2038字节,可以用STAT命令和LIST命令(无参数)再次查看邮箱内邮件的情况;
(4)使用RETR命令收邮件,携带参数“1”,表示读取第一封邮件的内容;(5)服务器返回邮件的内容,从中可以看到:
From: “2008.test.star” 2008.test.star@163.com; To: <2008.test.star@163.com> Subject: test 邮件正文内容使用BASE64编码,所以无法在TCP工具中看明内容;(6)可以使用DELE命令删除邮件,携带参数“1”表示删除第一封邮件;
3、使用命令QUIT可以结束会话,断开连接。
第二篇:计算机网络应用SMTP协议
计算机网络应用SMTP协议
简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是一种电子邮件协议,它既具有客户端(发送方)发送邮件的功能,又具有服务器(接收方)接收邮件的功能。SMTP协议允许将电子邮件从一个计算机邮件服务器发送到另一个计算机邮件服务器,并且SMTP服务器接收本地用户发送的邮件,以便将其传输到互联网中其他邮件服务器上。
在互联网中,大多数计算机系统通过本地邮件系统服务器在本地按路径发送电子邮件。SMTP发送程序从输出邮件队列中得到邮件报文,通过多个TCP连接将邮件报文传输到目标主机的25号端口上。在发送过程中,SMTP接收程序必须能够证实本地邮件目的地址,并处理各种差错,包括传输差错以及没有足够接收空间等。
SMTP发送程序对报文的作用直到SMTP接收程序指示传输完成才结束,因此SMTP协议的作用范围仅限于SMTP发送程序和SMTP接收程序之间的对话过程。SMTP协议的主要功能是传送报文,为了保证正确传送报文,SMTP协议规定了14条命令和21种响应信息。其中,每条命令由一行文本组和四个字母的命令组成;而每一种响应信息由一个三位数据代码和简单的文字说明组成。下面介绍SMTP协议通信过程中,各阶段主要用到的命令和响应信息。
1.建立连接
邮件发送方将需要发送的邮件发送到邮件缓存中,SMTP发送程序将每隔一定时间对邮件缓存进行扫描。如果缓存有未发送的电子邮件,则使用SMTP程序端口号与目的计算机的SMTP服务器建立连接。
建立连接后,发送方将发送“220 Service ready(服务就绪)”的信息,并向SMTP服务器发送用来标识自己的HELLO命令。当接收方的SMTP程序接收到发送方所发送的信息后,则返回响应信息“250 OK(一切正常)”,以便接收发送方SMTP发送程序的身份标识。如果接收方的邮件服务器不可用,则返回响应信息“421 Service not available(服务不可用)”。
2.传输邮件
当连接建立成功后,SMTP发送程序将向SMTP接收程序发送邮件报文信息。邮件报文传送包括以下三个逻辑阶段:
用一个EAIL命令标识出邮件报文的发送方。例如,MAIL FROM:
用一个或者多个RCPT命令标识该邮件报文的接收方。例如,RCPT TO: <收信人电子邮箱地址>。
用一个DATA命令标识该邮件报文的内容。
发送MAIL命令后,如果SMTP服务器已经做好接收邮件的准备,则返回响应信息“250 OK(一切正常)”。否则,返回有关无法接收邮件原因的响应信息,例如451(处理时出错)、452(存储空间不够)、500(命令无法识别)等。
RCPT命令标识邮件接收方的电子邮箱地址,多次使用该命令能够为邮件指定多个接收者,并且每个RCPT命令都会返回一个单独的响应信息。例如“550 No such user here(无此用户)”,即不存在此电子邮箱地址。RCPT命令的作用是:先检测SMTP接收服务器是否做好接收邮件的准备,然后在进行邮件传输。
3.关闭连接
邮件发送完毕后,发送方SMTP服务器程序将发送QUIT命令。当接收方SMTP服务器程序返回响应信息“211(服务关闭)”时,表明接收方SMTP服务器程序同意关闭TCP连接。
第三篇:北邮计算机网络课程设计DNS服务器
北邮计算机网络课程设计DNS服务器 环境
操作系统随意,语言python2.7
2.文件
Socket.py 说明
完成缓存检测,确定是回应,还是转发,如果是回应,确定是本地回应还是外部应答转发
import socket import mydic import charhandle import makeframe
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)port = 53
the_dic = mydic.get_web_ip()client_request = {} client_request_index = {} reverse_map = {} key_record = 0 client_wait = []
s.bind(('',port))
time_rest = 0 request_general = ''
print 'running' while True:
try:
msg ,(client,port)= s.recvfrom(1024)
except:
print 'Time out!'
continue
request = []
request = list(msg)
requre_web = charhandle.get_request(request[12:])
website = ''.join(requre_web)
if(port == 53):
answer = []
answer = list(msg)
print “Type:Remote Response”
print “remote answer is: ”
response_ip = msg[-4]+msg[-3]+msg[-2]+msg[-1]
char_ip = socket.inet_ntoa(response_ip)
print website + ' has the ip : '+char_ip
fre = mydic.storeForUpdate(website,char_ip)
print 'with the frequence of '+ str(fre)
###real_request = client_request[request[0]+request[1]]
for each_client in client_wait:
my_key = client_request[request[0]+request[1]+str(each_client)]
if client_request_index.get(my_key)!= None :
s.sendto(msg,client_request_index[my_key])
print “Response to ip and Client port:”
print client_request_index[my_key]
break
else:
print “Type: Client Request”
print “ip and port:”
print(client,port)
### requre_web = charhandle.get_request(request[12:])
### website = ''.join(requre_web)
print “Request website:”+website
if(the_dic.get(website)!= None):
print “Found in local cache:”
re_ip = the_dic.get(website)
print re_ip
fre = mydic.storeForUpdate(website)
print re_ip[0]+' with frequence '+str(fre)
zhen = makeframe.make(re_ip[0],msg)
s.sendto(zhen,(client,port))
else:
print “need to ask remote server”
key_record = key_record + 1
request_general = key_record
client_request[request[0]+request[1]+str(client)] = request_general
client_request_index[request_general] =(client,port)
if client not in client_wait:
client_wait.append(client)
# select authority DNS server as you wish
s.sendto(msg,('10.3.9.4',53))
time_rest = time_rest+1
try:
if(time_rest == 50):
print 'pay attention'
print '
#'
mydic.updateCache()
print '
#'
the_dic = mydic.get_web_ip()
time_rest = 0
except:
print 'not valid frequence'
print '--------------------' s.close()
Mydic.py 完成本地查询,LRU算法维护本地缓存,socket.py第97行的time_request值可以确定更新缓存的频率,可以直接输出在dnsrelay.txt内,但是为了方便观测变化,我输出到了dnsrelaycopy.txt里面,运行一段时间之后,可以去看看学习到的新条目
import pickle import os import threading A=[] d_web_ip = {} d_ip_web = {} update_dic = {}
data = open('dnsrelay.txt')for each_line in data:
try:
(ip,sitecopy)= each_line.split(' ',1)
(site,nothing)= str(sitecopy).split('n',1)
d_web_ip[site] = [ip,1]
d_ip_web[ip] = site
except:
print 'file error'
data.close()
try:
with open('newdnsrelay.pickle','wb')as newdnsrelay_file:
pickle.dump(d_web_ip,newdnsrelay_file)except IOError as err:
print 'File error:'+str(err)except pickle.PickleError as perr:
print 'Pickling error:'+str(perr)
def get_web_ip():
with open('newdnsrelay.pickle','rb')as f:
global update_dic
update_dic = pickle.load(f)
return update_dic.copy()
return(None)
def storeForUpdate(web_site, add = None):
global update_dic
if(update_dic.get(web_site)!= None):
add_frequen = update_dic[web_site]
add_frequen[1] = add_frequen[1] + 1
print web_site+' frequence incrase 1,with ip '+add_frequen[0]
return add_frequen[1]
else:
update_dic[web_site] = [add,1]
print 'record for a new site'
return 1
def updateCache():
global update_dic
m = update_dic.copy()
t = threading.Thread(target = my_thread,kwargs = m)
print 'ready to update local cache'
t.start()
t.join()
def my_thread(*argu,**arg):
frequence = []
remain_dic = {}
for each_key in arg:
tmp = arg[each_key]
if(tmp[1] not in frequence):
frequence.append(tmp[1])
if(tmp[0] == '0.0.0.0'):
remain_dic[each_key] = '0.0.0.0'
print 'various frequence:'
for each in frequence:
print 'have '+ str(each)
for each_key in remain_dic:
arg.pop(each_key)#enimilate ban
i = 0
while(i < 30):
max_frequence = max(frequence)
for each_key in arg:
tmp = arg[each_key]
if(tmp[1] == max_frequence):
remain_dic[each_key] = tmp[0]
i = i + 1
if(i == 30):
break;
frequence.remove(max_frequence)
if(not frequence):###no more
break;
updateFile(remain_dic)
def updateFile(new_dic):
f = open('dnsrelaycopy.txt','w')
for each_key in new_dic:
word = str(new_dic[each_key])+ ' ' + str(each_key)
f.write(word)
f.write('n')
new_dic[each_key] = [new_dic[each_key],0]
try:
with open('newdnsrelay.pickle','wb')as newdnsrelay_file:
pickle.dump(new_dic,newdnsrelay_file)
except IOError as err:
print 'File error:'+str(err)
except pickle.PickleError as perr:
print 'Pickling error:'+str(perr)
Makefram.py 成帧模块,形成对外围权威服务器的询问帧
import socket
def make(re_ip,msg):
tmp_list = []
for ch in msg:
tmp_list.append(ch)
tmp_list[4:12] = ['x00','x01','x00','x01','x00','x00','x00','x00']
tmp_list = tmp_list+['xc0','x0c','x00','x01','x00 ','x01','x00','x00','x02','x58','x00','x04']
dive_ip = socket.inet_aton(re_ip)
ch_ip = []
for each_ch in dive_ip:
ch_ip.append(each_ch)
tmp_list = tmp_list + ch_ip
re_msg = ''.join(tmp_list)
return re_msg
Charhandle.py 提取出报文中的url
def get_request(your_list):
my_list = []
new_list = []
my_list.extend(your_list)
re_list = []
thelen = ord(my_list[0])
try:
while thelen!= 0:
new_list = new_list + my_list[1:thelen+1]
my_list[0:thelen+1] = []
thelen = ord(my_list[0])
new_list.append('.')
except IndexError:
print “bao wen ge shi bu dui”
new_list.pop()
return new_list
原始的dnsrelay.txt老师给出了,自己去弄,把四个py文件放一个目录下,再放一个dnsrelay.txt 然后,用python shell 打开 socket.py 从python shell 运行,或者直接F5,记得把本地dns手动指向本机。
P.S:本人亲测,蒋老师没用过python,从头到尾就是我讲他听,从不为难我,我说有个LRU算法,他还说我做的好!
如果有不懂的 联系作者:302969722@qq.com 学妹优先
第四篇:计算机网络实验
计算机网络实验
试验一 网络简单观察实验(上机随堂测试)
1.2.3.4.5.6.7.观察了解网卡、线缆、集线器、路由器等设备; 掌握windows中的网络组成及各项参数; 了解通过TCP/IP协议连接上网的方式; 配置windows系统网络的各项参数; 练习使用与网络设置、配置、测试等有关的命令; 掌握windows系统的各种与网络有关的配置和操作; 学习和了解各种网络应用软件的使用;
实验二 学习使用Linux操作系统(上机随堂测试)
1.2.3.4.了解Linux系统的特性; 安装linux系统; 学习使用linux图形用户界面; 学习使用linux命令;
实验三 使用Wireshark(原名Ethereal)进行网络抓包实验(撰写实验报告)
1.了解wireshark的功能;
2.下载、安装wireshark;
3.使用wireshark对网络数据进行抓包分析;
实验四 搭建FTP服务器(撰写实验报告)
1.windows平台下ftp服务器的搭建(要求配置不同账号、不同权限,并测试);
2.linux平台下的ftp服务器的搭建;
实验五 网页制作与发布(撰写实验报告)
1.2.3.4.5.学习Html语言的语法、规则; 完成简单网页页面; 完成自我简历网页的设计; 了解使用IIS、Apache软件的功能; 安装IIS、Apache软件(选作);
对完成的网页使用IIS或Apache软件进行发布(选作); 6.实验六 windows对等网的连接实验
1.配置网卡并学习网络硬件的连接方式;
2.完成对等网络的组建与测试;
3.1.实验两人一组,自由组合,协作完成,每组提交报告一份;
2.实验报告内容记录实验过程,包括截图和结果等,不描述大量无关的背景知识等;
3.严禁拷贝抄袭,尤其是网络上的资料,要的是自己的实验结果;
4.实验上机过程中随时检查试验进展,对于试验过程、结果、截图等数据要进行个人保留,以免关机后数据丢失。
第五篇:计算机网络实验
实验一 交换机基本配置
一、实验目的
1.掌握桌面网络组建方法
2.掌握Quidway S 系列中低端交换机几种常见配置方法
二、实验内容
1.通过 Console 口搭建配置环境 2.通过 Telnet 搭建配置环境
3.熟悉 VRP 的各种视图及各视图下的常用命令
三、实验原理、方法和手段
1.交换机配置方式
交换机通常的配置方式有:Console 方式,telnet 方式,web 方式和modem 拨号方式 2.命令行接口 Command-line Interface 华为网络设备中运行的操作VRP向用户提供一系列配置命令以及命令行接口,方便用户配置和管理网络设备,包括以太网交换机。命令行有如下特性: 1)通过 Console 口进行本地配置 2)通过 telnet 进行本地或远程配置
3)通过 modem 拨号登录到网络设备进行远程配置
4)配置命令分级保护,确保未授权用户无法侵入到网络设备 5)用户可以随时键入>以获得在线帮助
6)提供网络测试命令,如tracert、ping 等,迅速诊断网络是否正常 7)提供种类丰富、内容详尽的调试信息,帮助诊断网络故障 8)用 telnet 命令直接登录并管理其它网络设备 9)提供 ftp 服务,方便用户上载、下载文件
10)提供类似Doskey的功能,可以执行某条历史命令
11)命令行解释器对关键字采取不完全匹配的搜索方法,用户只需键入无冲突关键字即可解释
四、实验组织运行要求
1.熟悉实验内容;
2.要求独立完成实验,教师可以给予一定的辅导;
五、实验条件
1.华为Quidway S/思科 Catalyst 2960/中兴 ZXR10 交换机 2.计算机一台即可
六、实验步骤
1.通过 Console 口搭建配置环境
1)如图 1-2,建立本地配置环境,只需将微机(或终端)的串口通过配置电缆与以太网交换机的 Console 口连接。
2)在微机上运行终端仿真程序(如 Windows 的超级终端),设置终端通信参数为:波特率为 9600bit/s、8 位数据位、1 位停止位、无校验和无流控,并选择终端类型为 VT100,如图 1-2 至图 1-3 所示:
3)以太网交换机上电,终端上显示以太网交换机自检信息,自检结束后提示用户输入回车,之后将出现命令行提示符。
2.键入命令,配置以太网交换机或查看以太网交换机运行状态。需要帮助可以随时键入“?”,通过 Telnet 搭建配置环境
1)在通过 Telnet 登录以太网交换机之前,需要通过 Console 口在交换机上配置欲登录的 Telnet 用户名、认证口令、验证方式及权限。
[Quidway-ui-vty0-4] authentication-mode password [Quidway-ui-vty0-4] user privilege level 3 2)配置交换机 IP 地址,需要进入交换机的 VLAN 接口 1 视图,通常配置交换机 VLAN 接口 1 的 IP 地址就是配置了交换机的 IP 地址。当使用 VLAN 时情况另当别论。[Quidway] interface vlan 1 [Quidway-Vlan-interface1] ip address x.x.x.xx.x.x.x(分别是 IP 地址和子网掩码)3)如图 1-4 所示,建立配置环境,只需将微机以太网接口通过局域网与以太网交换机的以太网口连接。注意微机配置的 IP 地址必须与以太网交换机的IP 地址在同一个子网下。
在微机上运行 Telnet 程序,输入与相连的以太网口所属 VLAN 的 IP 地址,如图 1-5 所示:
4)终端上显示“User Access Verification”,并提示用户输入已设置的登录口令,口令输入正确后则出现命令行提示符(如
1)熟悉在用户视图、系统视图、接口视图之间的切换命令 2)充分利用?熟悉如何获得命令的关键字和格式 3)了解使用时出现的各种错误信息的含义
七.实验结果
1.建造模型
2.在PC上运行桌面程序,在终端上设置终端通信参数
在CLI上进行配置信息,可看到交换机的一些参数
4.输入?可以罗列在该模式可用的命令
5.键入命令,配置以太网交换机或查看以太网交换机运行状态 通过 Telnet 搭建配置环境
1.通过telnet/ssh登录路由器,可以看到vty后面是“0 4”,即0到4,这说明我们可以创建5个virtual terminator。
2.进行vty线路配置,下图是配置完成的信息显示
3.建立模型,用交叉网线连接PC和路由器。
4.利用终端进入Command Prompt,通过Telnet登录设好的IP,进入认证
八.心得体会
我学到了自己进行配置路由和交换机,这个配置验证很有趣,Command Prompt的界面弄得像编程似的,很有意思。
九.思考题
1)Telnet 配置方式比起 console 配置方式有哪些优点?
答:telnet可以远程调试,只要能ping通交换机,就可以采用telnet方式对其进行查看和配置,而console必须是本地连接console线,显然telnet更加方便和快捷。2)为什么 IP 地址要设置在交换机的 VLAN 接口上?
答:在Vlan接口上设置IP地址,是因为能够方便远程管理二层交换机,也可以当作对应端口的网关,而且二层交换机不能设置IP。
实验二 静态路由协议配置
一、实验目的
1.掌握手工配置路由表的方法 2.掌握读懂路由表的能力
二、实验内容
1.根据要求正确连接网络
2.正确配置网络中设备的 IP 信息
3.正确配置路由器之间的广域网协议参数 4.在路由器上配置静态路由协议
三、实验原理、方法和手段
1.静态路由简介静态路由是一种特殊的路由,由管理员手工配置而成。在组网结构较简单、到给定目标只有一条路径的网络中,只需配置静态路由就能使路由器正常工作。正确地设置和使用静态路由能有效地保证网络安全,并可为重要的应用保证带宽。使用静态路由也存在一些问题:当网络出现问题或因其它原因引起拓扑变化时,静态路由不会自动发生改变,不需要有网络管理员的介入。2.静态路由的配置
静态路由的配置包括: 1)配置静态路由
2)配置缺省路由
3)配置静态路由缺省优先级
3.路由表的显示和调试
四、实验组织运行要求
1.熟悉实验内容;
2.拟定实验方案,熟悉实验步骤;;
五、实验条件
1.华为 Quidway/思科2811/中兴ZXR 路由器 2.计算机、局域网环境
六、实验步骤
1.建模
2.首先来配置PC1,进入它的桌面(Desktop),运行IP Configuration Router>enable Router#hostname Router0 Router0#config terminal Router0(config)#interface fa0/0 Router0(config-if)#ip address 192.168.1.1 255.255.255.0 Router0(config-if)#no shutdown Router0(config-if)#interface fa0/1 Router0(config-if)#ip address 192.168.2.1 255.255.255.0 Router0(config-if)#no shutdown 3.我们来配置Serial 2/0接口,先设置之前设计的IP地址,不记得话看看之前的设计草图。因此,该接口的地址应该是192.168.1.65。子网掩码依然是255.255.255.224,即/27。不要忘记该接口是DCE端,需要提供时钟,我们将时钟设置为56000bit/second。4.查看路由器的路由表,配置实例: Router0# show ip route 分析路由表的表项及路径可达范围
5.在路由器上添加去往非直连网络的静态路由,并测试 PC 机的寻址范围,配置实例如下:
Router0# config terminal Router0(config)# ip route 192.168.4.0 255.255.255.0 192.168.2.1 6.查看路由器的路由表,并分析分组的路由过程。
七、实验结果
1.连接装备
2.设置 IP 地址和掩码和网关等并观察不同
3.前面我们已经确定了寻址方式(Addressing Scheme),并且添加并配置好了设备。下面测试看看设备的应答。首先,我们测试PC1是否能够Ping通它自己的网关
可以ping通,但是是当PC1尝试Ping右边的Router2时,Router2并没有左侧IP子网的路由信息,无法返回Echo应答消息,如下
我们要做的就是在Router2中添加192.168.1.32/27的路由信息。
这样就可以ping了
4.从CLI看三个路由的信息
5.再次在PC1的命令行输入Ping 192.168.1.98,可以看到可以Ping通。虽然第一个Echo应答超时,那只是模仿交换机还学习的延迟导致丢包。
七、心得体会
这让我懂了很多,CLI以及ping让我耽搁了不少的时间,也让我学会了不少东西,感谢这次试验。
九、思考题
1.当路由表中存在多条下一跳同样的静态路由,应如何简化路由的配置?
答:根据这些静态路由的目的IP子网进行汇总或者使用一条目的网段全0的静态默认路由代替之前的所有路由,也可以使用动态路由: route rip net 下一跳的网络
net 其他连接在本路由器的网络
2.试在实验环境中通过设置静态路由,形成路由环路。
只要使用三个路由器R1、R2、R3,使得 R1下一跳指向R2,R2下一跳指向R3,R3下一跳指向R1。
实验三 帧中继协议配置
一、实验目的
1.掌握路由器上配置帧中继协议的方法 2.掌握在帧中继交换机上配置PVC的方法
二、实验内容
1.根据实验要求正确连接网络
2.正确配置网络中所有设备的IP信息 3.正确路由器端帧中继协议的相关参数 4.正确配置帧中继交换机并创建PVC
三、实验原理、方法和手段
帧中继(Frame-Relay)是在X.25技术基础上发展起来的一种快速分组交换技术。相对于X.25协议,帧中继只完成链路层核心的功能,简单而高效。
帧中继网络提供了用户设备(如路由器和主机等)之间进行数据通信的能力,用户设备被称作数据终端设备(即 DTE);为用户设备提供接入的设备,属于网络设备,被称为数据电路终端设备(即 DCE)。帧中继网络既可以是公共网络或者是某一企业的私有网络,也可以是数据 设备之间直接连接构成的网络。帧中继也是一种统计复用协议,它在单一物理传输线路上能够提供多条虚电路。每条虚电路用数据链路连接标识 DLCI(Data Link ConnectionIdentifier)来标识。通过帧中继帧中地址字段的 DLCI,可区分处该帧属于哪一条虚电路。DLCI 只在本地接口和与之连接的对端接口有效,不具有全局有效性,即在帧中继网络中,不同物理接口上相同的 DLCI 并不表示是同一个虚连接。帧中继网络用户接口上最多可支持 1024 条虚电路,其中用户可用的DLCI范围是16~1007。由于帧中继虚电路是面向连接22的,本地不同的 DLCI 连接到不同的对端设备,所以可认为本地 DLCI就是对端设备的“帧中继地址”。帧中继地址映射是把对端设备的协议地址与对端的帧中继地址(本地的DLCI)关联起来,以便高层协议能通过对端设备的协议地址寻找到对端设备。帧中继主要用来承载IP协议,在发送IP报文时,由于路由表只知道报文的下一跳地址,所以发送前必须由该地址确定它对应得DLCI。这个过程可以通过查找帧中继地址映射表来完成,因为地址映射表中存
放的是对端IP地址和下一跳的DLCI的映射关系。地址映射表可以由手工配置,也可以由 Inverse ARP 协议动态维护。
根据虚电路建立的不同方式,可以将虚电路分为两种类型:永久虚电路PVC 和交换虚电路 SVC。手工设置产生的虚电路称为永久虚电路,通过协议协商产生的虚电路称为交换虚电路,这种虚电路由 Inverse ARP 协议自动创建和删除。目前在帧中继中使用最多的方式是永久虚电路方式,即手工配置虚电路方式。目前常用的是帧中继的 PVC 业务。网络服务商为用户提供固定的虚电路连接,用户可以申请许多虚电路,通过帧中继网络交换到不同的远端用户。
本地管理接口 LMI(Local Management Interface)协议就是建立与维护路由器和交换机之间的连接。LMI 协议还用于维护虚电路,包括虚电路的建立、删除和状态改变。VRP 支持三种 LMI 协议:遵从 ITU-T Q.933 建议附录 A 的 LMI 协议、遵从 ANSI T1.617 建议附录 D 的 LMI 协议以及非标准的 LMI 协议。它们的基本工作方式是: DTE 设备每隔一定的时间间隔发送一个状态请求报文(Status Enquiry 报文)去查询虚电路的状态,DCE 设备收到状态请求报文后,立即用状态报文(Status 报文)通知 DTE 当前接口上所有虚电路的状态。
对于 DTE 侧设备,永久虚电路的状态完全由 DCE 侧设备决定。对于 DCE侧设备,永久虚电路的状态由网络来决定。在两台网络设备直接连接的情况下,DCE 侧设备的虚电路状态是由设备管理员来设置的。在 VRP23中,虚电路的个数和状态既可以在设置地址映射(fr map 命令)的同时设置,也可以用配置帧中继本地虚电路命令(frdlci 命令)来配置。
四、实验组织运行要求
1.熟悉实验内容;
2.学生拟定实验方案,熟悉实验内容和实验步骤;
五、实验条件
1.华为 Quidway/思科 2811/中兴 ZXR 路由器 2.FR 交换网环境
六、实验步骤
1.先增加一个WAN Emulation,向工作区增加一个云,加入路由器建立帧中继网络 2.在CLI中配置R1 配置好路由后开始配置云,点击一个Cloud,进入Config窗口,首先需要配置一下接口和DLCI。
3.在帧中继交换设备上,建立串行接口间的虚电路映射,4.将路由器的串行接口封装 FR 协议,并配置 IP 地址参数,配置实例如下: Router# config terminal Router(config)# interface se0/3/0 Router(config-if)# encapsulation fr Router(config-if)# ip address 1.1.1.1 255.255.255.0 Router(config-if)# no shutdown Router(config-if)# end 5.查看路由器的串行接口状态,并测试路由器之间的连通性。
七、实验结果
1.在路由器增加串行接口,连接 FR 交换网
2.在帧中继交换设备的串行接口上,为每一路虚电路创建 DLCI
3.在帧中继交换设备上,建立串行接口间的虚电路映射
4.改变该接口封装的链路层协议。
5.显示当前的帧中继映射表并用ping测试
八、心得体会 这个实验主要困难是重复的码字,出错会让人难受,妄自菲薄,重压之下你要耐得住性子,仔细查找错误,同时避免不必要的错误。
九、思考题
1.为什么说虚电路 DLCI 只具有本地有效性?
答:因为链路两端的虚电路号是可以相同的。也可以为多个接口指定相同的虚电路号。但在一个物理接口上,虚电路号必须是唯一的。2.若实验中,要实现任意两台路由器之间都可以相互访问,请问如何配置帧中继网络? 答:把每个路由看作一个点,而每两个路由之间的映射看作线,则它们之间的连线只要构成一个回路。
实验四 应用层协议分析与服务配置
一、实验目的
1)掌握 Web 服务器的设置方法 2)掌握 FTP 服务器的设置方法 3)熟悉 Mail 服务器的设置方法
二、实验内容
1.了解常用应用层协议DNS、FTP、Mail、HTTP等的基本原理、工作过程等。2.熟悉并会配置DNS、FTP、Mail、HTTP。
三、实验原理
DHCP的任务是集中管理IP地址并自动配置IP地址的相关参数(如子网掩码、默认网关、DNS等),当DHCP客户端启动时,它会自动与DHCP服务器建立联系,并要求DHCP服务器给它提供IP地址。当DHCP服务器收到客户端请求后,会根据服务器中现有的IP地址情况,采取一定的方式给客户端分配一个IP地址
四、实验组织运行要求
1.熟悉实验内容; 2.熟悉实验步骤;
五、实验条件
1.华为 Quidway/思科2811/中兴ZXR 路由器 2.计算机、局域网环境
六、实验步骤(图为实验结果)
1.建立拓扑结构。
2.配置router
3.DHCP配置 4.进行网页配置 修改网页信息,然后,在PC上的web进行访问
配置http通过域名登录
5.FTP协议的操作:
首先将服务器的FTP
开关打开,设置用户名及其密码;
用FTP来下载和上传
6.使用mail 首先对服务器进行http协议的设置:
收到自己发的邮件
七.心得体会
经过本次的DHCP服务器的实验,我了解了DHCP服务器动态分配地址的工作原理,懂得了DHCP服务器的作用只能是一个起作用,知道DHCP中继代理实际上的一种软件技术,掌握了编辑网页和FTP传输和邮件的使用。