上传计算机网络的全部实验报告。
图片暂时不需要。
This commit is contained in:
parent
5906ac1efc
commit
5cab26ef0b
96
计算机网络/实验报告/实验10.tex
Normal file
96
计算机网络/实验报告/实验10.tex
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
\documentclass[../public/实验报告模板]{subfiles}
|
||||||
|
|
||||||
|
\renewcommand{\mydate}{2023年11月10日}
|
||||||
|
\renewcommand{\mylabname}{域名系统(DNS)}
|
||||||
|
\renewcommand{\mychapternum}{10}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\mytitle
|
||||||
|
\begin{enumerate}
|
||||||
|
\myitem{实验目的}{
|
||||||
|
\item 掌握DNS的报文格式
|
||||||
|
\item 掌握DNS的工作原理
|
||||||
|
\item 掌握DNS域名空间的分类
|
||||||
|
\item 理解DNS高速缓存的作用
|
||||||
|
}
|
||||||
|
\myitem{实验设备或环境}{
|
||||||
|
\item 采用网络拓扑结构一
|
||||||
|
}
|
||||||
|
\myitem{实验原理}{
|
||||||
|
\item 域名空间
|
||||||
|
\item DNS协议简介
|
||||||
|
\item DNS的域名分类
|
||||||
|
\item DNS报文格式
|
||||||
|
\item 正向解析与反向解析
|
||||||
|
\item 递归解析与迭代解析
|
||||||
|
\item 高速缓存
|
||||||
|
\item 压缩
|
||||||
|
\item DNS封装
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ ]{实验步骤}{
|
||||||
|
\item Internet域名空间的分类
|
||||||
|
\item DNS正向查询
|
||||||
|
\item DNS反向查询
|
||||||
|
\item DNS的应用及高速缓存
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ , itemsep=1em]{实验结果总结}{
|
||||||
|
\item Internet域名空间的分类
|
||||||
|
\begin{enumerate}
|
||||||
|
\item 类属域
|
||||||
|
|
||||||
|
“ www.python.org ”对应的IPv4地址是151.101.76.223,IPv6地址是2a04:4e42:1a::223。
|
||||||
|
|
||||||
|
“ www.python.org ”域名的顶级域名的含义是“orgnization”,非盈利机构。
|
||||||
|
|
||||||
|
\item 国家域
|
||||||
|
|
||||||
|
“ www.jl.gov.cn ”对应的IPv4地址是180.97.168.75,IPv6地址是240e:978:303::fe。
|
||||||
|
|
||||||
|
“ www.jl.gov.cn ”域名的顶级域名的含义是“China”,中国,二级域名的含义是“government”,政府机构,三级域名的含义是“JiLin”,吉林省。
|
||||||
|
|
||||||
|
\item 反向域
|
||||||
|
|
||||||
|
172.16.0.253 对应的域名是 JServer.NetLab 。
|
||||||
|
|
||||||
|
反向域的顶级域名是 arpa ,二级域名是 in-addr 。
|
||||||
|
|
||||||
|
\end{enumerate}
|
||||||
|
\thinkingquestion{
|
||||||
|
\item Internet的域名结构是怎样的?它与目前电话网的号码结构有何异同之处?
|
||||||
|
|
||||||
|
Internet的域名空间是树状结构,域名从下往上读取。目前电话网的号码结构可以分成三段,即1XX-XXXX-XXXX,其中前3位是网络识别号,各个运营商有不同的号段;第4-7位是地区码,由运营商分配;第8-11位是顺序码,由运营商随机发放供用户挑选。
|
||||||
|
|
||||||
|
因此域名结构和电话号码结构都是树状结构,区别在于域名是从下往上读取,而电话号码是从上往下读取。
|
||||||
|
}
|
||||||
|
|
||||||
|
\item DNS正向查询
|
||||||
|
|
||||||
|
在响应报文中提取对方主机的IP地址为172.16.0.217。
|
||||||
|
|
||||||
|
\thinkingquestion{
|
||||||
|
\item 域名的IP地址是否只有一个?
|
||||||
|
|
||||||
|
不一定,可以有多个。
|
||||||
|
|
||||||
|
\item 域名服务协议的主要功能是什么?域名服务协议中的根服务器和授权服务器有何区别?授权服务器和管辖区有何关系?
|
||||||
|
|
||||||
|
域名服务协议的主要功能是把IP地址映射为域名或把域名映射为IP地址。根服务器用于查询顶级域名服务器的地址,授权服务器用于查询某个具体域名对应的地址。授权服务器都有自己的管辖区。
|
||||||
|
}
|
||||||
|
|
||||||
|
\item DNS反向查询
|
||||||
|
|
||||||
|
在响应报文中提取主机A的域名地址为 host73.NetLab 。
|
||||||
|
|
||||||
|
\item DNS的应用及高速缓存
|
||||||
|
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-19-17-13.png}
|
||||||
|
|
||||||
|
在使用域名完成的通信中,DNS协议起到了将域名转化为IP地址,以便于网络层转发包的作用。
|
||||||
|
|
||||||
|
DNS高速缓存用来加速解析过程。
|
||||||
|
|
||||||
|
此次访问过程的报文交互图(包括ICMP协议)如下:
|
||||||
|
\includexopp[2]{10.4.1}
|
||||||
|
}
|
||||||
|
\end{enumerate}
|
||||||
|
\end{document}
|
136
计算机网络/实验报告/实验12.tex
Normal file
136
计算机网络/实验报告/实验12.tex
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
\documentclass[../public/实验报告模板]{subfiles}
|
||||||
|
|
||||||
|
\renewcommand{\mydate}{2023年11月17日}
|
||||||
|
\renewcommand{\mylabname}{超文本传输协议(HTTP)}
|
||||||
|
\renewcommand{\mychapternum}{12}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\mytitle
|
||||||
|
\begin{enumerate}
|
||||||
|
\myitem{实验目的}{
|
||||||
|
\item 掌握HTTP的报文格式
|
||||||
|
\item 掌握HTTP的工作原理
|
||||||
|
\item 掌握HTTP常用方法
|
||||||
|
}
|
||||||
|
\myitem{实验设备或环境}{
|
||||||
|
\item 采用网络拓扑结构一
|
||||||
|
}
|
||||||
|
\myitem{实验原理}{
|
||||||
|
\item 体系结构
|
||||||
|
\item 万维网文档
|
||||||
|
\item HTTP协议简介
|
||||||
|
\item HTTP报文格式
|
||||||
|
\item HTTP方法
|
||||||
|
\item HTTP状态码
|
||||||
|
\item 持久与非持久连接
|
||||||
|
\item HTTP代理服务器
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ ]{实验步骤}{
|
||||||
|
\item 页面访问
|
||||||
|
\item 页面提交
|
||||||
|
\item 获取页面信息
|
||||||
|
\item 较复杂的页面访问
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ , itemsep=1em]{实验结果总结}{
|
||||||
|
\item 页面访问
|
||||||
|
|
||||||
|
本练习使用HTTP协议的GET方法,这种方法的作用是从服务器请求一个文档。
|
||||||
|
\begin{table}[H]
|
||||||
|
\centering
|
||||||
|
\caption{实验结果}
|
||||||
|
\begin{tabular}{c|c}
|
||||||
|
\toprule
|
||||||
|
主机名 & 172.16.0.253 \\
|
||||||
|
URL & http://172.16.0.253/experiment \\
|
||||||
|
服务器类型 & Apache/2.2.3 (CentOS) \\
|
||||||
|
传输文本类型 & text/html \\
|
||||||
|
访问时间 & Fri, 17 Nov 2023 00:41:58 GMT \\
|
||||||
|
\bottomrule
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-20-51-39.png}
|
||||||
|
\caption{HTTP请求的会话分析即报文交互图}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
TCP协议是传输层协议,HTTP是应用层协议,HTTP 1和2是基于TCP的,但HTTP 3 是基于UDP的。
|
||||||
|
\thinkingquestion{
|
||||||
|
\item 一个主页是否只有一个连接?
|
||||||
|
|
||||||
|
如果使用持久连接的话,一个主页只有一个连接;否则就不一定。
|
||||||
|
}
|
||||||
|
|
||||||
|
\item 页面提交
|
||||||
|
|
||||||
|
本练习的提交过程使用了HTTP协议的POST方法,这种方法的作用是从客户向服务器发送一些信息。
|
||||||
|
|
||||||
|
此次通信分访问post.html页面,提交用户名和密码两个阶段。
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-21-08-23.png}
|
||||||
|
\caption{先GET post.html}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-21-09-08.png}
|
||||||
|
\caption{同时会附带GET favicon.ico获取图标}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-21-09-37.png}
|
||||||
|
\caption{点击确定后向res.html POST用户名和密码}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
可以注意到每次请求都重新建立TCP连接了,因此此服务器实现的HTTP/1.1不正确,因为HTTP/1.1应默认为持久连接。
|
||||||
|
|
||||||
|
\item 获取页面信息
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-21-14-23.png}
|
||||||
|
\caption{发送请求}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-21-14-58.png}
|
||||||
|
\caption{会话分析}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-21-15-16.png}
|
||||||
|
\caption{服务器返回了400 Bad Request}
|
||||||
|
\end{figure}
|
||||||
|
\thinkingquestion{
|
||||||
|
\item 同时打开多个浏览器窗口并访问一个WEB站点的不同页面时,系统是根据什么把返回的页面正确地显示到相应窗口的?
|
||||||
|
|
||||||
|
多个浏览器窗口访问同一个WEB站点的不同页面时,每个窗口都会建立一个TCP连接,这些连接有不同的源端口号,系统根据源端口号把返回的页面正确地显示到相应窗口。
|
||||||
|
}
|
||||||
|
|
||||||
|
\item 较复杂的页面访问
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-21-19-06.png}
|
||||||
|
\caption{先查询DNS}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-21-19-53.png}
|
||||||
|
\caption{再请求第一个页面,可以看到响应过大被分段了}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-21-21-41.png}
|
||||||
|
\caption{还请求了图片,响应过大仍然被分段}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-21-22-20.png}
|
||||||
|
\caption{也能观察到TCP的累积确认机制}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-21-23-03.png}
|
||||||
|
\caption{当然有的资源可能404 Not Found}
|
||||||
|
\end{figure}
|
||||||
|
\thinkingquestion{
|
||||||
|
\item 为什么HTTP不保持与客户端的TCP连接?
|
||||||
|
|
||||||
|
(标准回答)先问是不是,再问为什么。
|
||||||
|
|
||||||
|
使用持久连接时,HTTP会保持与客户端的TCP连接;使用非持久连接时,HTTP不保持与客户端的TCP连接。HTTP/1.1以下默认非持久连接,HTTP/1.1开始默认持久连接。而本次实验环境实现的HTTP不规范,因此导致HTTP不保持与客户端的TCP连接。
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\end{enumerate}
|
||||||
|
\end{document}
|
192
计算机网络/实验报告/实验13.tex
Normal file
192
计算机网络/实验报告/实验13.tex
Normal file
@ -0,0 +1,192 @@
|
|||||||
|
\documentclass[../public/实验报告模板]{subfiles}
|
||||||
|
|
||||||
|
\renewcommand{\mydate}{2023年12月29日}
|
||||||
|
\renewcommand{\mylabname}{远程登录与文件传送协议(TELNET与FTP)}
|
||||||
|
\renewcommand{\mychapternum}{13}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\mytitle
|
||||||
|
\begin{enumerate}
|
||||||
|
\myitem{实验目的}{
|
||||||
|
\item 掌握 TELNET 的工作过程
|
||||||
|
\item 理解 TELNET 选项协商
|
||||||
|
\item 掌握 FTP 的工作原理
|
||||||
|
\item 掌握 FTP 的一些常用命令的使用方法及用途
|
||||||
|
}
|
||||||
|
\myitem{实验设备或环境}{
|
||||||
|
\item 采用网络拓扑结构一
|
||||||
|
}
|
||||||
|
\myitem{实验原理}{
|
||||||
|
\item 分时系统
|
||||||
|
\item 本地登录与远程登录
|
||||||
|
\item 网络虚拟终端
|
||||||
|
\item TELNET简介
|
||||||
|
\item NVT字符集
|
||||||
|
\item TELNET选项协商
|
||||||
|
\item FTP协议简介
|
||||||
|
\item FTP连接、通信与传送
|
||||||
|
\item FTP命令与响应
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ ]{实验步骤}{
|
||||||
|
\item 运行TELNET命令,捕获数据并分析
|
||||||
|
\item TELNET选项协商的过程
|
||||||
|
\item FTP的工作过程
|
||||||
|
\item 使用TCP连接工具与服务器进行命令交互
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ , itemsep=1em]{实验结果总结}{
|
||||||
|
\item 运行TELNET命令,捕获数据并分析
|
||||||
|
|
||||||
|
TELNET使用的TCP端口是23。
|
||||||
|
|
||||||
|
客户端与服务器端进行选项协商的过程在练习2中有体现。
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-20-02-45.png}
|
||||||
|
\caption{可以捕获到用户名和密码}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
TELNET交互图为上图的会话分析的截图。
|
||||||
|
|
||||||
|
TELNET是明文传输,因此可能存在网络监听,是不安全的。
|
||||||
|
|
||||||
|
\item TELNET选项协商的过程
|
||||||
|
|
||||||
|
写出步骤3中每个十六进制字符对应的NVT字符。
|
||||||
|
|
||||||
|
FFFB18:WILL Terminal\_type, FFFB1F:WILL Negotiateaboutwindowsize \\
|
||||||
|
FFFC20:WONT Terminalspeed, FFFC23:WONT Xdisplaylocation, FFFB27:WILL Newenvironment \\
|
||||||
|
FFFD03:DO Suppressgo\_ahead \\
|
||||||
|
FFFB01:WILL Echo; FFFE05:DONT Status; FFFC21:WONT Remoteflowcontrol \\
|
||||||
|
|
||||||
|
步骤3中发送的每个数据各自的作用根据上述字符可以知道对应内容,服务器对其应答的内容如下:
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-20-15-30.png}
|
||||||
|
\caption{服务器应答选项协商}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\thinkingquestion{
|
||||||
|
\item 远程登录TELNET的主要特点是什么?什么叫做虚拟终端NVT?
|
||||||
|
|
||||||
|
主要特点是使用远程主机上的资源;网络虚拟终端NVT是让用户登录远程主机,并操作终端,就像在自己的主机上操作终端一样。
|
||||||
|
}
|
||||||
|
|
||||||
|
\item FTP的工作过程
|
||||||
|
|
||||||
|
FTP使用的TCP端口有21(命令传输端口),20(主动模式服务器发出连接的端口)、更高的随机端口(被动模式服务端打开的端口,或者客户端发出连接使用的端口)。
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-20-32-29.png}
|
||||||
|
\caption{FTP用户名}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-20-33-27.png}
|
||||||
|
\caption{FTP密码}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
可以看到用户名和密码,FTP是不安全的。
|
||||||
|
|
||||||
|
FTP的工作过程如上图的会话分析所示,控制连接和数据连接根据主动模式和被动模式有不同。
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-20-36-00.png}
|
||||||
|
\caption{数据连接}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\thinkingquestion{
|
||||||
|
\item 文件传送协议FTP的主要工作过程是怎样的?主进程和从属进程各起什么作用?
|
||||||
|
|
||||||
|
主要工作过程是先由主进程开启控制连接传输命令,然后由从属进程开启数据连接传输文件。
|
||||||
|
}
|
||||||
|
|
||||||
|
\item 使用TCP连接工具与服务器进行命令交互
|
||||||
|
|
||||||
|
USER group7\_3
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-20-39-58.png}
|
||||||
|
\caption{服务器回复的信息}
|
||||||
|
\end{figure}
|
||||||
|
PASS group7\_3
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-20-40-50.png}
|
||||||
|
\caption{服务器回复的信息}
|
||||||
|
\end{figure}
|
||||||
|
SYST
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-20-41-21.png}
|
||||||
|
\caption{服务器回复的信息}
|
||||||
|
\end{figure}
|
||||||
|
PWD
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-20-41-44.png}
|
||||||
|
\caption{服务器回复的信息}
|
||||||
|
\end{figure}
|
||||||
|
TYPE A
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-20-42-10.png}
|
||||||
|
\caption{服务器回复的信息}
|
||||||
|
\end{figure}
|
||||||
|
PORT 172,16,0,73,10,10
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-20-42-37.png}
|
||||||
|
\caption{服务器回复的信息}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
PORT 命令对端口信息是分成两个字节,当作两个8位整数传递;客户端使用的端口值为2570。
|
||||||
|
|
||||||
|
PORT的格式为 PORT $x_1,x_2,x_3,x_4,x_5,x_6$,其中 $x_1,x_2,x_3,x_4$ 携带的是本机的 IP 地址,$x_5,x_6$ 为端口值,计算方法为 $x_5\times 256+x_6$,该命令的用途是告知服务器本机客户端使用的端口。
|
||||||
|
|
||||||
|
这是FTP服务器是使用主动模式创建数据连接的,即客户端告知服务器自己开启的数据连接的端口,之后服务器从20端口主动连接客户端的这个端口。
|
||||||
|
|
||||||
|
STOR group7\_3\\
|
||||||
|
服务器回复的信息:150 Ok to send data.
|
||||||
|
|
||||||
|
filedata
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-20-55-17.png}
|
||||||
|
\caption{filedata}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
PASV
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-20-57-07.png}
|
||||||
|
\caption{服务器回复的信息}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-21-01-13.png}
|
||||||
|
\caption{服务器回复的信息}
|
||||||
|
\end{figure}
|
||||||
|
该命令的用途是告知服务器使用被动模式。
|
||||||
|
|
||||||
|
这里FTP服务器使用被动模式创建数据连接,即服务器告知客户端自己开启的数据连接的端口,之后客户端从随机端口连接服务器的这个端口。
|
||||||
|
|
||||||
|
在服务器回复的信息中可知服务器端使用的端口为:$227\times 256+126=58238$。
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-20-55-49.png}
|
||||||
|
\caption{服务器回复的信息}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
RETR group7\_3
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-21-02-12.png}
|
||||||
|
\caption{服务器回复的信息}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
其内容是步骤(9)输入的信息。
|
||||||
|
|
||||||
|
QUIT
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-21-02-52.png}
|
||||||
|
\caption{服务器回复的信息}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
会话交互图如前文的会话分析所示。
|
||||||
|
|
||||||
|
\thinkingquestion{
|
||||||
|
\item FTP的数据连接存在两种模式:主动模式和被动模式,说明各自的工作过程。如果服务器和客户端之间存在防火墙,使用哪种模式会引起一些麻烦?
|
||||||
|
|
||||||
|
主动模式和被动模式各自的工作过程在前文已有提到,如果存在防火墙,一般防火墙会阻止未经许可的向客户端的传入连接,所以使用主动模式会引起一些麻烦。
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\end{enumerate}
|
||||||
|
\end{document}
|
205
计算机网络/实验报告/实验14.tex
Normal file
205
计算机网络/实验报告/实验14.tex
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
\documentclass[../public/实验报告模板]{subfiles}
|
||||||
|
|
||||||
|
\renewcommand{\mydate}{2023年11月24日}
|
||||||
|
\renewcommand{\mylabname}{电子邮件协议(SMTP、POP3和IMAP)}
|
||||||
|
\renewcommand{\mychapternum}{14}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\mytitle
|
||||||
|
\begin{enumerate}
|
||||||
|
\myitem{实验目的}{
|
||||||
|
\item 掌握邮件服务的工作原理
|
||||||
|
\item 掌握SMTP、POP3、IMAP的工作过程
|
||||||
|
\item 了解SMTP、POP3、IMAP协议的命令和使用方法
|
||||||
|
}
|
||||||
|
\myitem{实验设备或环境}{
|
||||||
|
\item 采用网络拓扑结构一
|
||||||
|
}
|
||||||
|
\myitem{实验原理}{
|
||||||
|
\item 电子邮件简介
|
||||||
|
\item 电子邮件传输过程
|
||||||
|
\item SMTP协议简介
|
||||||
|
\item SMTP会话命令与响应
|
||||||
|
\item SMTP运行过程
|
||||||
|
\item POP3和IMAP简介
|
||||||
|
\item POP3会话命令
|
||||||
|
\item POP3运行过程
|
||||||
|
\item IMAP会话命令
|
||||||
|
\item IMAP运行过程
|
||||||
|
\item POP3协议与IMAP协议的区别
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ ]{实验步骤}{
|
||||||
|
\item 使用Live Mail发送电子邮件
|
||||||
|
\item 使用Live Mail接收电子邮件
|
||||||
|
\item 使用TCP工具和SMTP命令实现邮件发送
|
||||||
|
\item 使用TCP工具和POP3命令实现邮件接收
|
||||||
|
\item 使用TCP工具和IMAP命令实现邮件接收
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ , itemsep=1em]{实验结果总结}{
|
||||||
|
\item 使用Live Mail发送电子邮件
|
||||||
|
|
||||||
|
SMTP使用的TCP端口号是25。
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-01-10-10-30.png}
|
||||||
|
\caption{SMTP应该是能看到用户名和密码的,这里应该是之前登录过了所以没有}
|
||||||
|
\end{figure}
|
||||||
|
\begin{table}[H]
|
||||||
|
\centering
|
||||||
|
\caption{实验结果}
|
||||||
|
\begin{tabularx}{\linewidth}{c|ccZZ}
|
||||||
|
\toprule
|
||||||
|
% 为什么这里用b才能有居中的效果呢?难道和tabularx有关?
|
||||||
|
\multirow[b]{4}{*}{SMTP连接建立过程} & 源IP & 目的IP & 报文摘要和参数 & 报文作用 \\
|
||||||
|
\midrule
|
||||||
|
& 172.16.0.253 & 172.16.0.73 & 220服务就绪 & 服务器告诉客户已准备好接收邮件 \\
|
||||||
|
& 172.16.0.73 & 172.16.0.253 & HELO cslabc39 & 把客户的域名通知服务器 \\
|
||||||
|
& 172.16.0.253 & 172.16.0.73 & 250请求命令完成 & 连接成功 \\
|
||||||
|
\toprule
|
||||||
|
\multirow[b]{9}{*}{邮件传输过程} & 源IP & 目的IP & 报文摘要和参数 & 报文作用 \\
|
||||||
|
\midrule
|
||||||
|
& 172.16.0.73 & 172.16.0.253 & MAIL FROM: <group7\_3@JServer.Netlab> & 介绍报文的发送者 \\
|
||||||
|
& 172.16.0.253 & 172.16.0.73 & 250请求命令完成 & 请求命令完成 \\
|
||||||
|
& 172.16.0.73 & 172.16.0.253 & RCPT TO: <group7\_3@JServer.Netlab> & 告知收件人的邮件地址 \\
|
||||||
|
& 172.16.0.253 & 172.16.0.73 & 250 请求命令完成 & 请求命令完成 \\
|
||||||
|
& 172.16.0.73 & 172.16.0.253 & DATA & 告知即将开始发送邮件内容 \\
|
||||||
|
& 172.16.0.253 & 172.16.0.73 & 354 开始邮件输入 & 准备接收邮件报文 \\
|
||||||
|
& 172.16.0.73 & 172.16.0.253 & 发送报文,每行一CRLF(回车换行)结束,整个报文以仅有一个点的行结束 & 发送邮件内容 \\
|
||||||
|
& 172.16.0.253 & 172.16.0.73 & 250 OK & 接收邮件内容成功 \\
|
||||||
|
\toprule
|
||||||
|
\multirow[b]{3}{*}{SMTP连接释放过程} & 源IP & 目的IP & 报文摘要和参数 & 报文作用 \\
|
||||||
|
\midrule
|
||||||
|
& 172.16.0.73 & 172.16.0.253 & QUIT & 退出 \\
|
||||||
|
& 172.16.0.253 & 172.16.0.73 & 221 服务关闭 & 服务关闭 \\
|
||||||
|
\bottomrule
|
||||||
|
\end{tabularx}
|
||||||
|
\end{table}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-01-10-52-02.png}
|
||||||
|
\caption{MIME信息}
|
||||||
|
\end{figure}
|
||||||
|
可以观察到MIME信息为:
|
||||||
|
MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="---=NextPart\_000\_0097\_01DA1EB0.298B18B0"
|
||||||
|
|
||||||
|
这说明MIME的版本是1.0,内容有多个部分,并给出了内容的边界模式字符串。
|
||||||
|
|
||||||
|
\item 使用Live Mail接收电子邮件
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\item 使用POP3协议接受
|
||||||
|
POP3使用的TCP端口是110。
|
||||||
|
|
||||||
|
能看到用户名和密码。
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-01-11-06-00.png}
|
||||||
|
\caption{用户名的数据包}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-01-11-06-29.png}
|
||||||
|
\caption{密码的数据包}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
POP3在每次收取时都会发送用户名和密码进行验证,而SMTP只需要验证一次。
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-01-11-09-26.png}
|
||||||
|
\caption{命令RETR的响应报文与发送的内容一致}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\item 使用IMAP协议接收
|
||||||
|
|
||||||
|
IMAP使用的TCP端口号是143。
|
||||||
|
|
||||||
|
能看到用户名和密码。
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-01-11-11-41.png}
|
||||||
|
\caption{传输用户名和密码的数据包}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
IMAP的功能比POP3多,能直接操作服务器上的邮件而不需要先下载到本地。
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
\item 使用TCP工具和SMTP命令实现邮件发送
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{imgs/2024-01-01-11-14-37.png}
|
||||||
|
\caption{TCP工具发送邮件建立连接}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{imgs/2024-01-01-11-15-13.png}
|
||||||
|
\caption{TCP工具发送邮件发送内容}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{imgs/2024-01-01-11-16-17.png}
|
||||||
|
\caption{TCP工具发送邮件断开连接}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-01-11-17-24.png}
|
||||||
|
\caption{会话分析的过程与练习一的过程相同}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
在编写邮件内容时,我们只是简单发送“myemail”字符串,能否尝试添加邮件内容首部的一些关键信息,如From、Subject、To等及有关MIME的信息。
|
||||||
|
|
||||||
|
能。
|
||||||
|
|
||||||
|
\item 使用TCP工具和POP3命令实现邮件接收
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{imgs/2024-01-01-11-21-10.png}
|
||||||
|
\caption{TCP工具接收邮件}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{imgs/2024-01-01-11-21-49.png}
|
||||||
|
\caption{TCP工具接收邮件}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{imgs/2024-01-01-11-22-07.png}
|
||||||
|
\caption{TCP工具接收邮件}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-01-11-22-51.png}
|
||||||
|
\caption{会话分析}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\thinkingquestion{
|
||||||
|
\item 电子邮件系统使用TCP协议传送邮件。为什么有时我们会遇到邮件发送失败的情况?为什么有时对方会收不到我们发送的邮件?
|
||||||
|
|
||||||
|
可能发送时网络信号不好,突然断网了,导致发送失败。有时对方的邮件服务器将邮件错误地归类到了垃圾邮件中,导致对方收不到我们发送的邮件。
|
||||||
|
|
||||||
|
\item 通过实验说明你的电子邮件在网络上传输是安全的吗?为什么?你认为实现邮件安全传输的最好的办法是什么?
|
||||||
|
|
||||||
|
如果只是简单使用SMTP或POP3或IMAP,那就是不安全的。要确保安全,最好使用SSL/TLS加密,即在TCP上加一层使用非对称加密的公钥密码体系确保安全的SSL/TLS层。
|
||||||
|
}
|
||||||
|
|
||||||
|
\item 使用TCP工具和IMAP命令实现邮件接收
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{imgs/2024-01-01-11-32-08.png}
|
||||||
|
\caption{TCP工具IMAP协议接受邮件}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{imgs/2024-01-01-11-32-37.png}
|
||||||
|
\caption{TCP工具IMAP协议接受邮件}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-01-11-33-19.png}
|
||||||
|
\caption{TCP工具IMAP协议会话分析}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-01-11-34-02.png}
|
||||||
|
\caption{TCP工具IMAP协议会话分析}
|
||||||
|
\end{figure}
|
||||||
|
}
|
||||||
|
\end{enumerate}
|
||||||
|
\end{document}
|
91
计算机网络/实验报告/实验2.tex
Normal file
91
计算机网络/实验报告/实验2.tex
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
\documentclass[../public/实验报告模板]{subfiles}
|
||||||
|
|
||||||
|
\renewcommand{\mydate}{2023年12月1日}
|
||||||
|
\renewcommand{\mylabname}{地址解析协议(ARP)}
|
||||||
|
\renewcommand{\mychapternum}{2}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\mytitle
|
||||||
|
\begin{enumerate}
|
||||||
|
\myitem{实验目的}{
|
||||||
|
\item 掌握ARP协议的报文格式
|
||||||
|
\item 掌握ARP协议的工作原理
|
||||||
|
\item 理解ARP高速缓存的作用
|
||||||
|
\item 掌握ARP请求和应答的实现方法
|
||||||
|
\item 掌握ARP缓存表的维护过程
|
||||||
|
}
|
||||||
|
\myitem{实验设备或环境}{
|
||||||
|
\item 采用网络拓扑结构二
|
||||||
|
}
|
||||||
|
\myitem{实验原理}{
|
||||||
|
\item 物理地址与逻辑地址
|
||||||
|
\item ARP协议简介
|
||||||
|
\item ARP报文格式
|
||||||
|
\item ARP封装
|
||||||
|
\item ARP的运行过程
|
||||||
|
\item 代理ARP
|
||||||
|
\item 协议栈实现代码解析
|
||||||
|
\item 各模块推荐流程
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ ]{实验步骤}{
|
||||||
|
\item 领略真实的ARP(同一子网)
|
||||||
|
\item 编辑并发送ARP报文(同一子网)
|
||||||
|
\item 跨路由器地址解析(不同子网)
|
||||||
|
\item 发送arp请求,处理输入的arp数据包功能的实现
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ , itemsep=1em]{实验结果总结}{
|
||||||
|
\item 领略真实的ARP(同一子网)
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{imgs/2024-01-01-13-37-01.png}
|
||||||
|
\caption{主机C的ARP高速缓存}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{imgs/2024-01-01-13-41-56.png}
|
||||||
|
\caption{主机B的高速缓存}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
ARP高速缓存表由接口、Internet地址、物理地址、类型组成。
|
||||||
|
|
||||||
|
ARP协议的报文交互过程和ARP高速缓存表的更新过程是主机先广播发送ARP请求报文,目标主机收到后向请求方单播发送ARP应答报文,主机收到后更新ARP高速缓存表。
|
||||||
|
|
||||||
|
\item 编辑并发送ARP报文(同一子网)
|
||||||
|
|
||||||
|
主机B、E收到了ARP请求包,主机F给出了ARP响应包。
|
||||||
|
|
||||||
|
主机A、C、D没有收到ARP请求包,因为主机A、C、D与ARP请求发出者主机E不在一个子网。
|
||||||
|
|
||||||
|
\item 跨路由器地址解析(不同子网)
|
||||||
|
|
||||||
|
单一ARP请求报文不呢个跨越子网进行地址解析,因为它是数据链路层协议,只在一个子网内有效。
|
||||||
|
|
||||||
|
ARP地址解析在跨越子网的通信中起到了联通不同子网的作用。
|
||||||
|
|
||||||
|
\thinkingquestion{
|
||||||
|
\item 哪些主机收到了ARP请求包?哪台主机给出了ARP响应包?
|
||||||
|
|
||||||
|
主机B、C、D、E、F都收到了ARP请求包。主机F给出了ARP响应包,主机B收到后又转发了这个ARP响应包。
|
||||||
|
|
||||||
|
\item 比较ARP协议在同网段内解析和跨网段的解析有何异同点?
|
||||||
|
|
||||||
|
相同之处是ARP协议在同网段和跨网段解析在正确配置时都能解析成功,区别在于ARP协议在同网段内解析不需要路由器开启静态路由服务,而跨网段解析需要路由器开启静态路由服务。
|
||||||
|
|
||||||
|
\item ARP数据包的长度是固定的吗?试加以解释。
|
||||||
|
|
||||||
|
不是,ARP可以用于不同的硬件类型和协议类型,不同的硬件类型(比如以太网、无线局域网)可能有不同长度的硬件地址,不同的协议类型(比如IPv4、IPv6)可能有不同长度的逻辑地址。
|
||||||
|
|
||||||
|
\item 试解释为什么ARP高速缓存每存入一个项目就要设置10-20分钟的超时计时器。这个时间设置得太大或太小会出现什么问题?
|
||||||
|
|
||||||
|
因为设备的硬件地址和逻辑地址之间的关联可能会变化,比如DHCP租约到期后更换IP地址,或者某个设备离开网络了,因此需要超时计时器,在超时后重新发送ARP报文。
|
||||||
|
|
||||||
|
这个时间设置得太大会出现不能及时检测到网络变化的情况,设置得太小会导致频繁发送ARP广播请求消耗资源。
|
||||||
|
|
||||||
|
\item 至少举出两种不需要发送ARP请求数据包的情况。
|
||||||
|
|
||||||
|
当目的IP与MAC的对应关系在ARP高速缓存中已经查找到了,就不需要发送ARP请求数据包了;当目的IP与主机自己的IP不在同一个网段,这时需要将数据包发给网关,如果网关的IP与MAC的对应关系在ARP高速缓存中已经查找到了,就不需要发送ARP请求数据包了。
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\end{enumerate}
|
||||||
|
\end{document}
|
156
计算机网络/实验报告/实验3.tex
Normal file
156
计算机网络/实验报告/实验3.tex
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
\documentclass[../public/实验报告模板]{subfiles}
|
||||||
|
|
||||||
|
\renewcommand{\mydate}{2023年12月8日}
|
||||||
|
\renewcommand{\mylabname}{网际协议(IP)}
|
||||||
|
\renewcommand{\mychapternum}{3}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\mytitle
|
||||||
|
\begin{enumerate}
|
||||||
|
\myitem{实验目的}{
|
||||||
|
\item 掌握IP数据报的报文格式
|
||||||
|
\item 掌握IP校验和计算方法
|
||||||
|
\item 掌握子网掩码和路由转发
|
||||||
|
\item 理解特殊IP地址的含义
|
||||||
|
\item 理解IP分片过程
|
||||||
|
\item 理解协议栈对IP协议的处理方法
|
||||||
|
\item 理解IP路由表作用以及IP路由表的管理
|
||||||
|
}
|
||||||
|
\myitem{实验设备或环境}{
|
||||||
|
\item 采用网络拓扑结构二
|
||||||
|
}
|
||||||
|
\myitem{实验原理}{
|
||||||
|
\item IP协议简介
|
||||||
|
\item IP地址及其表示方法
|
||||||
|
\item 特殊的IP地址
|
||||||
|
\item 子网划分
|
||||||
|
\item IP报文格式
|
||||||
|
\item IP封装
|
||||||
|
\item IP数据报分片
|
||||||
|
\item IP数据报校验和
|
||||||
|
\item 交付与转发
|
||||||
|
\item 路由选择
|
||||||
|
\item 协议栈实现代码解析
|
||||||
|
\item 各模块推荐流程
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ ]{实验步骤}{
|
||||||
|
\item 编辑并发送IP数据报
|
||||||
|
\item 特殊的IP地址
|
||||||
|
\item IP数据报分片
|
||||||
|
\item 子网掩码的作用
|
||||||
|
\item IP数据报的接收与发送
|
||||||
|
\item IP路由表管理的设计与实现
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ , itemsep=1em]{实验结果总结}{
|
||||||
|
\item 编辑并发送IP数据报
|
||||||
|
|
||||||
|
IP在计算校验和时包括首部的内容。
|
||||||
|
|
||||||
|
第一步中主机A所编辑的报文,经过主机B到达主机E后,报文数据发生了变化,源MAC变成了主机B的右侧接口的MAC,生存时间从128变为了127,发生变化是因为经过了主机B的转发。
|
||||||
|
|
||||||
|
生存时间改为1后主机B能捕获到主机A所发送的报文,但主机E不能捕获到。因为主机A将报文间接交付给主机B后,主机B将生存时间减一,发现生存时间为0,于是丢弃此报文,并向A发送ICMP差错报文表示目的不可达。
|
||||||
|
|
||||||
|
\thinkingquestion{
|
||||||
|
\item 说明IP地址与硬件地址的区别,为什么要使用这两种不同的地址?
|
||||||
|
|
||||||
|
IP地址用来标识设备在整个网络中的位置,硬件地址用来标识设备在一个网段内的位置。使用这两种不同的地址是因为既要避免广播范围过大,又要让一个设备能够和全球的其他设备收发报文。
|
||||||
|
}
|
||||||
|
|
||||||
|
\item 特殊的IP地址
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\item 受限广播地址
|
||||||
|
\begin{table}[H]
|
||||||
|
\centering
|
||||||
|
\caption{实验结果}
|
||||||
|
\begin{tabular}{cc}
|
||||||
|
\toprule
|
||||||
|
& 主机号 \\
|
||||||
|
\midrule
|
||||||
|
收到主机A发送的IP数据报 & B、C、D \\
|
||||||
|
未收到主机A发送的IP数据报 & E、F \\
|
||||||
|
\bottomrule
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
受限广播地址的作用是用来发送给子网内的所有主机的。
|
||||||
|
|
||||||
|
\item 环回地址
|
||||||
|
|
||||||
|
主机F没有收到主机E发送的目的地址为127.0.0.1的IP数据报,因为目的地址为127.0.0.1表示环回地址,只有发送的主机自己能收到。
|
||||||
|
\end{enumerate}
|
||||||
|
\thinkingquestion{
|
||||||
|
\item 受限广播地址的作用范围?
|
||||||
|
|
||||||
|
当前子网。
|
||||||
|
|
||||||
|
\item 受限广播地址和直接广播地址的区别?
|
||||||
|
|
||||||
|
受限广播地址只能用于本地网络,直接广播地址可以被路由器转发从而用于更大范围的网络。
|
||||||
|
|
||||||
|
\item 路由器转发受限广播吗?
|
||||||
|
|
||||||
|
不转发。
|
||||||
|
}
|
||||||
|
|
||||||
|
\item IP数据报分片
|
||||||
|
|
||||||
|
\begin{table}[H]
|
||||||
|
\centering
|
||||||
|
\caption{实验结果}
|
||||||
|
\begin{tabular}{c|ccc}
|
||||||
|
\toprule
|
||||||
|
字段名称 & 分片序号1 & 分片序号2 & 分片序号3 \\
|
||||||
|
\midrule
|
||||||
|
“标识”字段值 & 869 & 869 & * \\
|
||||||
|
“还有分片”字段值 & 1 & 0 & * \\
|
||||||
|
“分片偏移量”字段值 & 0 & 97 & * \\
|
||||||
|
传输的数据量 & 776 & 224 & * \\
|
||||||
|
\bottomrule
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-01-19-00-41.png}
|
||||||
|
\caption{IP数据报分片}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\thinkingquestion{
|
||||||
|
\item Ping的数据部分为3000字节,回显请求报文为何被分为3片而不是2片?
|
||||||
|
|
||||||
|
因为MTU是包括IP头部的,假设IP头部为20字节,那么第一片只能装1480个字节的数据,第二片也是只能装1480个字节的数据,因此需第三片来装剩下的40个字节的数据。
|
||||||
|
|
||||||
|
\item 数据部分长度为多少时报文正好被分为2片?
|
||||||
|
|
||||||
|
以太网的MTU默认为1500,IP头部一般为20字节,那么一片的数据字段最多为1480字节,所以数据部分长度为$1480\times 2=2960$时报文正好被分为2片。
|
||||||
|
|
||||||
|
\item 不同协议的MTU的范围从296到65535,使用大的MTU有什么好处?使用小的MTU有什么好处?
|
||||||
|
|
||||||
|
使用大的MTU可以添加更少的帧首部信息,减少冗余。使用小的MTU可以减少信道持续占用的时间,更利于共享广播信道。
|
||||||
|
}
|
||||||
|
|
||||||
|
\item 子网掩码的作用
|
||||||
|
|
||||||
|
\begin{table}[H]
|
||||||
|
\centering
|
||||||
|
\caption{实验结果}
|
||||||
|
\begin{tabular}{cc}
|
||||||
|
\toprule
|
||||||
|
& 是否ping通 \\
|
||||||
|
\midrule
|
||||||
|
主机A---主机B & 是 \\
|
||||||
|
主机C---主机D & 是 \\
|
||||||
|
主机E---主机F & 是 \\
|
||||||
|
\bottomrule
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
当两主机的子网掩码不同时,按照发送方的子网掩码来看,如果这两个主机在同一个子网掩码代表的网络中,那么就能ping通;或者主机ping的是网关的时候也可以ping通(目的IP不在本地网络里就会发送到网关)。
|
||||||
|
|
||||||
|
\thinkingquestion{
|
||||||
|
\item IP数据报中的首部校验和并不检验数据报中的数据,这样做的最大好处是什么?缺点是什么?
|
||||||
|
|
||||||
|
最大好处是避免每经过一个路由器都要重复校验相同的数据;缺点是可能无法发现数据报中的数据错误。
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\end{enumerate}
|
||||||
|
\end{document}
|
98
计算机网络/实验报告/实验4.tex
Normal file
98
计算机网络/实验报告/实验4.tex
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
\documentclass[../public/实验报告模板]{subfiles}
|
||||||
|
|
||||||
|
\renewcommand{\mydate}{2023年12月8日}
|
||||||
|
\renewcommand{\mylabname}{Internet控制报文协议(ICMP)}
|
||||||
|
\renewcommand{\mychapternum}{4}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\mytitle
|
||||||
|
\begin{enumerate}
|
||||||
|
\myitem{实验目的}{
|
||||||
|
\item 掌握ICMP协议的报文格式
|
||||||
|
\item 理解不同类型ICMP报文的具体意义
|
||||||
|
\item 了解常见的网络故障
|
||||||
|
}
|
||||||
|
\myitem{实验设备或环境}{
|
||||||
|
\item 采用网络拓扑结构二
|
||||||
|
}
|
||||||
|
\myitem{实验原理}{
|
||||||
|
\item ICMP简介
|
||||||
|
\item ICMP报文格式
|
||||||
|
\item ICMP封装
|
||||||
|
\item ICMP报文类型
|
||||||
|
\item ICMP查询报文
|
||||||
|
\item ICMP差错报文
|
||||||
|
\item ICMP校验和
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ ]{实验步骤}{
|
||||||
|
\item 运行Ping命令
|
||||||
|
\item ICMP查询报文
|
||||||
|
\item ICMP差错报文
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ , itemsep=1em]{实验结果总结}{
|
||||||
|
\item 运行Ping命令
|
||||||
|
|
||||||
|
捕获的报文对应的“类型”字段是0(ICMP回显应答),“代码”字段是0。
|
||||||
|
|
||||||
|
报文中的类型、标识号、序列号字段保证了回显请求报文和回显应答报文的一一对应。
|
||||||
|
|
||||||
|
\item ICMP查询报文
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-01-20-27-37.png}
|
||||||
|
\caption{时间戳请求}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-01-20-27-06.png}
|
||||||
|
\caption{时间戳应答}
|
||||||
|
\end{figure}
|
||||||
|
\begin{table}[H]
|
||||||
|
\centering
|
||||||
|
\caption{实验结果}
|
||||||
|
\begin{tabular}{cc|cc}
|
||||||
|
\toprule
|
||||||
|
\multicolumn{2}{c}{时间戳请求报文}\vline& \multicolumn{2}{c}{时间戳应答报文}\\
|
||||||
|
ICMP字段名 & 字段值 & ICMP字段名 & 字段值 \\
|
||||||
|
\midrule
|
||||||
|
类型 & 13 & 类型 & 14 \\
|
||||||
|
标识号 & 0 & 标识号 & 0 \\
|
||||||
|
序列号 & 0 & 序列号 & 0 \\
|
||||||
|
发起时间戳 & 0 & 发起时间戳 & 0 \\
|
||||||
|
接收时间戳 & 0 & 接收时间戳 & 1347310080 \\
|
||||||
|
传送时间戳 & 0 & 传送时间戳 & 1347310080 \\
|
||||||
|
\bottomrule
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
\thinkingquestion{
|
||||||
|
\item 能否根据时间戳计算出当前的时间?
|
||||||
|
|
||||||
|
能。
|
||||||
|
|
||||||
|
\item 使用时间戳得到的时间比从系统得到的时间有什么好处?
|
||||||
|
|
||||||
|
使用时间戳请求得到的时间是和目标主机一致的,当系统的时间出错时可以据此校准。
|
||||||
|
}
|
||||||
|
\item ICMP差错报文
|
||||||
|
|
||||||
|
捕获到的是主机不可达报文。
|
||||||
|
|
||||||
|
\thinkingquestion{
|
||||||
|
\item 为什么要设置TTL字段?
|
||||||
|
|
||||||
|
防止一个报文在网络中无限制地转发下去。
|
||||||
|
|
||||||
|
\item 为什么要限制由由失效的 ICMP 差错报文再产生一个 ICMP 报文?
|
||||||
|
|
||||||
|
防止ICMP报文不断在网络中发送,占用资源。
|
||||||
|
|
||||||
|
\item 什么样的 ICMP 报文是由路由器发送出的?什么样的 ICMP 报文是由目的主机发送出的?
|
||||||
|
|
||||||
|
当主机向外部发送报文但出现差错时,路由器会向主机发出ICMP差错报文;当主机向目的主机发送ICMP回显请求时,目的主机会发送出回显应答报文。
|
||||||
|
|
||||||
|
\item 主机 A 向主机 B 发送数据报,主机 B 从未收到该数据报,而主机 A 也从未收到出问题的通知,试给出可能发生情况的 2 种不同解释。
|
||||||
|
|
||||||
|
可能是主机A向主机B发出的数据包发到错误的链路上丢失了;或者在链路中的某个地方出现差错,返回ICMP差错报文,但ICMP差错报文丢失或被丢弃了。
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\end{enumerate}
|
||||||
|
\end{document}
|
97
计算机网络/实验报告/实验5.tex
Normal file
97
计算机网络/实验报告/实验5.tex
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
\documentclass[../public/实验报告模板]{subfiles}
|
||||||
|
|
||||||
|
\renewcommand{\mydate}{2023年12月15日}
|
||||||
|
\renewcommand{\mylabname}{用户数据报协议(UDP)}
|
||||||
|
\renewcommand{\mychapternum}{5}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\mytitle
|
||||||
|
\begin{enumerate}
|
||||||
|
\myitem{实验目的}{
|
||||||
|
\item 掌握 UDP 协议的报文格式
|
||||||
|
\item 掌握 UDP 协议校验和的计算方法
|
||||||
|
\item 理解 UDP 协议的优缺点
|
||||||
|
\item 理解协议栈对 UDP 协议的处理方法
|
||||||
|
\item 理解 UDP 上层接口应满足的条件
|
||||||
|
}
|
||||||
|
\myitem{实验设备或环境}{
|
||||||
|
\item 采用网络拓扑结构一
|
||||||
|
}
|
||||||
|
\myitem{实验原理}{
|
||||||
|
\item 进程到进程的通信
|
||||||
|
\item 面向连接的服务与面向无连接的服务
|
||||||
|
\item UDP协议简介
|
||||||
|
\item UDP报文格式
|
||||||
|
\item UDP封装
|
||||||
|
\item UDP校验和
|
||||||
|
\item UDP应用
|
||||||
|
\item 协议栈实现代码解析
|
||||||
|
\item 各模块推荐流程
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ ]{实验步骤}{
|
||||||
|
\item 编辑并发送 UDP 数据报
|
||||||
|
\item UDP 单播通信
|
||||||
|
\item UDP 广播通信
|
||||||
|
\item UDP 数据报发送与接收
|
||||||
|
\item UDP 报文的上层投递的设计与实现
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ , itemsep=1em]{实验结果总结}{
|
||||||
|
\item 编辑并发送 UDP 数据报
|
||||||
|
|
||||||
|
UDP在计算校验和时包括伪首部、UDP首部以及从应用层来的数据。
|
||||||
|
|
||||||
|
\thinkingquestion{
|
||||||
|
\item 为什么UDP协议的“校验和”要包含伪首部?
|
||||||
|
|
||||||
|
确保此数据包确实是发送给自己的,并且确保这个数据包是属于UDP。
|
||||||
|
|
||||||
|
\item 比较UDP和IP的不可靠程度?
|
||||||
|
|
||||||
|
UDP和IP都是不可靠的协议,IP只验证首部,因此数据字段出现问题了也无法知道;而UDP会验证数据字段,因此IP比UDP更不可靠。
|
||||||
|
}
|
||||||
|
|
||||||
|
\item UDP单播通信
|
||||||
|
|
||||||
|
主机C上的“UDP工具”能够接收到主机A发送的UDP报文。
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-19-04-14.png}
|
||||||
|
\caption{主机C接收到主机A的UDP报文}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
UDP不是基于连接的协议,此特性的优点是能更快发送数据,缺点是可能不够安全。
|
||||||
|
|
||||||
|
UDP报文交互中没有确认报文,此特性的优点是占用资源更少,信道利用率更高,缺点是发送包可能不知道有数据包出错了。
|
||||||
|
|
||||||
|
主机E上的UDP通信程序接收到此数据包,UDP可以使用0作为校验和,即代表不校验。
|
||||||
|
|
||||||
|
\item UDP广播通信
|
||||||
|
|
||||||
|
主机B、C、D、E、F都能接收到主机A发送的UDP报文。
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-19-08-50.png}
|
||||||
|
\caption{接收到的报文}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
主机A发送的报文的目的MAC地址和目的IP地址都表示广播。
|
||||||
|
|
||||||
|
\thinkingquestion{
|
||||||
|
\item 如果将目的 MAC 地址从广播地址换成某一个主机的 MAC 地址,是
|
||||||
|
否所有的主机还会受到这种报文?
|
||||||
|
|
||||||
|
否。
|
||||||
|
|
||||||
|
\item 如果将目的 MAC 地址设置成广播地址,目的 IP 设置成某一主机的
|
||||||
|
IP 地址,结果怎样?
|
||||||
|
|
||||||
|
同一网段内的主机都能收到报文,但IP地址不是目的IP的主机解封装到IP层的时候会发现目的IP与自己的IP不一样从而丢弃报文。
|
||||||
|
|
||||||
|
\item 在可靠性不是最重要的情况下,UDP 可能是一个好的传输协议,试给
|
||||||
|
出这种特定情况的一些示例。
|
||||||
|
|
||||||
|
例如流媒体传输,或DNS、SNMP等应用层协议。
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\end{enumerate}
|
||||||
|
\end{document}
|
89
计算机网络/实验报告/实验6.tex
Normal file
89
计算机网络/实验报告/实验6.tex
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
\documentclass[../public/实验报告模板]{subfiles}
|
||||||
|
|
||||||
|
\renewcommand{\mydate}{2023年12月15日}
|
||||||
|
\renewcommand{\mylabname}{传输控制协议(TCP)}
|
||||||
|
\renewcommand{\mychapternum}{6}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\mytitle
|
||||||
|
\begin{enumerate}
|
||||||
|
\myitem{实验目的}{
|
||||||
|
\item 掌握 TCP 协议的报文格式
|
||||||
|
\item 掌握 TCP 连接的建立和释放过程
|
||||||
|
\item 掌握 TCP 数据传输中编号与确认的过程
|
||||||
|
\item 掌握 TCP 协议校验和的计算方法
|
||||||
|
\item 理解 TCP 重传机制
|
||||||
|
}
|
||||||
|
\myitem{实验设备或环境}{
|
||||||
|
\item 采用网络拓扑结构一
|
||||||
|
}
|
||||||
|
\myitem{实验原理}{
|
||||||
|
\item TCP协议简介
|
||||||
|
\item TCP报文格式
|
||||||
|
\item TCP封装
|
||||||
|
\item TCP校验和
|
||||||
|
\item TCP连接建立与释放
|
||||||
|
\item 流量控制
|
||||||
|
\item 差错控制
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ ]{实验步骤}{
|
||||||
|
\item 察看TCP连接的建立和释放
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ , itemsep=1em]{实验结果总结}{
|
||||||
|
\item 察看TCP连接的建立和释放
|
||||||
|
|
||||||
|
\begin{table}[H]
|
||||||
|
\centering
|
||||||
|
\caption{实验结果}
|
||||||
|
\begin{tabular}{cccc}
|
||||||
|
\toprule
|
||||||
|
字段名称 & 报文1 & 报文2 & 报文3 \\
|
||||||
|
\midrule
|
||||||
|
序列号 & 23308859 & 4100194079 & 263308860 \\
|
||||||
|
确认号 & 0 & 263308860 & 4100194080 \\
|
||||||
|
ACK & 0 & 1 & 1 \\
|
||||||
|
SYN & 1 & 1 & 0 \\
|
||||||
|
\bottomrule
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
TCP 连接建立时,前两个报文的首部都有一个“最大字段长度”字段,它的值是1460,作用是防止报文被分片。根据IEEE 802.3 协议规定的以太网最大帧长度(MTU)为1500字节,而TCP头部一般为20字节,IP头部一般也为20字节,所以这里的最大字段长度为$1500-20-20=1460$。
|
||||||
|
|
||||||
|
\begin{table}[H]
|
||||||
|
\centering
|
||||||
|
\caption{实验结果}
|
||||||
|
\begin{tabular}{ccccc}
|
||||||
|
\toprule
|
||||||
|
字段名称 & 报文4 & 报文5 & 报文6 & 报文7 \\
|
||||||
|
\midrule
|
||||||
|
序列号 & 263308860 & 4100194080 & 263308861 & * \\
|
||||||
|
确认号 & 4100194080 & 263308861 & 4100194081 & * \\
|
||||||
|
ACK & 1 & 1 & 1 & * \\
|
||||||
|
FIN & 1 & 1 & 0 & * \\
|
||||||
|
\bottomrule
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
这里只有三个报文是因为报文5把FIN和ACK合并了,而且报文4的ACK也为1,猜测可能也是捎带确认的原因。
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-21-24-05.png}
|
||||||
|
\caption{握手与挥手}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
结合步骤 3、5 所填的表,理解 TCP 的三次握手建立连接和四次握手的释放连接过程,理解序号、确认号等字段在 TCP 可靠连接中所起的作用。
|
||||||
|
|
||||||
|
三次握手过程为SYN、ACK+SYN,ACK,四次挥手过程为FIN、ACK、FIN、ACK。序号、确认号在TCP可靠连接中用于确保分组正确以及不乱序。
|
||||||
|
|
||||||
|
\thinkingquestion{
|
||||||
|
\item 为什么在 TCP 连接中需要 3 次握手,如不这样做可能会出现什么情况?
|
||||||
|
|
||||||
|
假设A与B建立连接,如果只有2次握手,那么B不知道A接收报文的功能是否正常,也就是B的SYN发出去后A不一定收到(可能由于被防火墙拦截了或超时了等原因),但此时B已经认为建立连接了;使用三次握手就可以避免这种情况,让B确认连接能够建立。
|
||||||
|
|
||||||
|
\item 解释TCP协议的释放过程?
|
||||||
|
|
||||||
|
假设A与B建立连接,A发送FIN数据包,B发送ACK确认;B发送FIN数据包,A发送ACK确认。
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\end{enumerate}
|
||||||
|
\end{document}
|
129
计算机网络/实验报告/实验8.tex
Normal file
129
计算机网络/实验报告/实验8.tex
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
\documentclass[../public/实验报告模板]{subfiles}
|
||||||
|
|
||||||
|
\renewcommand{\mydate}{2023年11月17日}
|
||||||
|
\renewcommand{\mylabname}{简单网络管理协议(SNMP)}
|
||||||
|
\renewcommand{\mychapternum}{8}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\mytitle
|
||||||
|
\begin{enumerate}
|
||||||
|
\myitem{实验目的}{
|
||||||
|
\item 掌握SNMP的报文格式
|
||||||
|
\item 掌握SMI定义的规则
|
||||||
|
\item 掌握MIB定义的结构
|
||||||
|
\item 理解SNMP工作原理
|
||||||
|
}
|
||||||
|
\myitem{实验设备或环境}{
|
||||||
|
\item 采用网络拓扑结构一
|
||||||
|
}
|
||||||
|
\myitem{实验原理}{
|
||||||
|
\item SNMP简介
|
||||||
|
\item SNMP报文格式
|
||||||
|
\item SNMP管理器和代理
|
||||||
|
\item SNMP管理构件
|
||||||
|
\item 管理信息结构SMI
|
||||||
|
\item 管理信息库MIB
|
||||||
|
\item SNMP通信过程
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ ]{实验步骤}{
|
||||||
|
\item 获取代理服务器信息
|
||||||
|
\item 设置代理服务器信息
|
||||||
|
\item 代理服务器的事件报告
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ , itemsep=1em]{实验结果总结}{
|
||||||
|
\item 获取代理服务器信息
|
||||||
|
|
||||||
|
\begin{table}[H]
|
||||||
|
\centering
|
||||||
|
\caption{实验结果}
|
||||||
|
\begin{tabular}{cccc}
|
||||||
|
\toprule
|
||||||
|
代理服务器信息 & OID & 返回值类型 & 返回值 \\
|
||||||
|
\midrule
|
||||||
|
操作系统类型(sysDescr) & & & \\
|
||||||
|
网卡数(ifNumber) & & & \\
|
||||||
|
物理地址(ifPhysAddress & & & \\
|
||||||
|
IP默认TTL值(ipDefaultTTL) & & & \\
|
||||||
|
\bottomrule
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
忘记截图了,也无法推测出该代理服务器的路由表。
|
||||||
|
|
||||||
|
为加深对SMI(管理信息结构)的理解,现给出某一报文中SNMP协议的数据。
|
||||||
|
|
||||||
|
302602010004067075626c6963a11902020a52020100020100300d300b06072b0601020101010500
|
||||||
|
|
||||||
|
结合SNMP报文格式和SMI定义的规则,绘制出树形的结构图(用树来表现sequence和sequence of的关系)。
|
||||||
|
|
||||||
|
这太复杂了,由于时间原因,就放弃了。
|
||||||
|
|
||||||
|
udptable如下图所示:
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-20-03-46.png}
|
||||||
|
\caption{udptable}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
通过察看代理服务器放到结果OID列表和主机D上捕获的SNMP报文类型,可以知道字典式排序在SNMP查询方式的中的意义是便于查找。
|
||||||
|
|
||||||
|
代理服务器开放的端口为161,UDP服务名为SNMP代理服务。
|
||||||
|
|
||||||
|
\item 设置代理服务器信息
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-20-11-45.png}
|
||||||
|
\caption{主机C更改主机D的系统名称}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-20-12-02.png}
|
||||||
|
\caption{可以看到已经成功更改}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-20-14-30.png}
|
||||||
|
\caption{主机D捕获到的更改的报文}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\item 代理服务器的事件报告
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-20-18-31.png}
|
||||||
|
\caption{主机D修改配置后主机C就无法获取主机D的信息了}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-20-23-34.png}
|
||||||
|
\caption{发送了请求没有响应}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-20-26-22.png}
|
||||||
|
\caption{但是会收到陷阱报告}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2023-12-31-20-29-21.png}
|
||||||
|
\caption{主机D也能捕获到陷阱报告的数据}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\thinkingquestion{
|
||||||
|
\item SNMP使用UDP协议进行封装,分析为什么不使用TCP进行封装?
|
||||||
|
|
||||||
|
应该是因为数据发送非常频繁,用TCP会导致负载过重;并且单个包丢失或错误不影响整体的管理。
|
||||||
|
|
||||||
|
\item 为什么SNMP的管理进程使用探询掌握全网状态属于正常情况,而代理进程用陷阱向管理进程报告属于较少发生的异常情况?
|
||||||
|
|
||||||
|
因为SNMP的管理进程一般会按周期持续主动向代理服务器探询全网情况,并且周期很短,这保证了SNMP能实时掌握最新的全网状态;所以代理进程只有在非常紧急的情况下才会用陷阱向管理进程报告,因此这属于较少发生的异常情况。
|
||||||
|
|
||||||
|
\item 假设你是网络管理人员,你能否通过SNMP协议和以前所学的知识,实现网络拓扑发现?
|
||||||
|
|
||||||
|
不能。
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\end{enumerate}
|
||||||
|
\end{document}
|
64
计算机网络/实验报告/实验9.tex
Normal file
64
计算机网络/实验报告/实验9.tex
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
\documentclass[../public/实验报告模板]{subfiles}
|
||||||
|
|
||||||
|
\renewcommand{\mydate}{2023年11月10日}
|
||||||
|
\renewcommand{\mylabname}{动态主机配置协议(DHCP)}
|
||||||
|
\renewcommand{\mychapternum}{9}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\mytitle
|
||||||
|
\begin{enumerate}
|
||||||
|
\myitem{实验目的}{
|
||||||
|
\item 掌握DHCP的报文格式
|
||||||
|
\item 掌握DHCP的工作原理
|
||||||
|
}
|
||||||
|
\myitem{实验设备或环境}{
|
||||||
|
\item 采用网络拓扑结构一
|
||||||
|
}
|
||||||
|
\myitem{实验原理}{
|
||||||
|
\item DHCP简介
|
||||||
|
\item DHCP报文格式
|
||||||
|
\item 静态地址分配与动态地址分配
|
||||||
|
\item 状态转换
|
||||||
|
\item DHCP运行过程
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ ]{实验步骤}{
|
||||||
|
\item 使用DHCP获取IP地址
|
||||||
|
\item 模拟重新登录
|
||||||
|
}
|
||||||
|
\myitemx[label=练习\arabic*\ , itemsep=1em]{实验结果总结}{
|
||||||
|
\item 使用DHCP获取IP地址
|
||||||
|
\begin{table}[H]
|
||||||
|
\centering
|
||||||
|
\caption{实验结果}
|
||||||
|
\begin{tabular}{cccccc}
|
||||||
|
\toprule
|
||||||
|
报文序号 & 操作码的值 & DHCP消息类型的值 & \parbox{5em}{租借时间的值(若有)} & 源IP地址 & 目的IP地址 \\
|
||||||
|
\midrule
|
||||||
|
0 & 1(请求) & 7(DHCP发行) & & 172.16.0.217 & 172.16.0.253 \\
|
||||||
|
1 & 1(请求) & 1(DHCP探测) & & 0.0.0.0 & 255.255.255.255 \\
|
||||||
|
2 & 2(应答) & 2(DHCP提供) & & 172.16.0.253 & 172.16.0.217 \\
|
||||||
|
3 & 1(请求) & 3(DHCP请求) & & 0.0.0.0 & 255.255.255.255 \\
|
||||||
|
4 & 2(应答) & 5(DHCP确认) & & 172.16.0.253 & 172.16.0.217 \\
|
||||||
|
5 & 1(请求) & 8(DHCP通知) & & 172.16.0.217 & 255.255.255.255 \\
|
||||||
|
6 & 1(请求) & 8(DHCP通知) & & 172.16.0.217 & 255.255.255.255 \\
|
||||||
|
\bottomrule
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
各报文中字段“操作码”、“DHCP消息类型”的值分别是多少?该请求报文的作用是什么?
|
||||||
|
|
||||||
|
字段中的值在上表中,该请求报文的作用是动态获取IP。
|
||||||
|
|
||||||
|
\item 模拟重新登录
|
||||||
|
\thinkingquestion{
|
||||||
|
\item DHCP协议适合于什么情况下使用?请举例说明。
|
||||||
|
|
||||||
|
DHCP主要用于大型网络环境和配置IP比较困难的地址。例如在家用无线局域网环境中,让用户手动配置IP地址比较麻烦,所以可以使用DHCP自动配置。
|
||||||
|
|
||||||
|
\item DHCP协议为何使用67、68两个熟知端口进行UDP通信?
|
||||||
|
|
||||||
|
便于使新连接到网络中的设备发送DHCP报文。
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\end{enumerate}
|
||||||
|
\end{document}
|
106
计算机网络/实验报告/实验IPv6.tex
Normal file
106
计算机网络/实验报告/实验IPv6.tex
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
\documentclass[../public/实验报告模板]{subfiles}
|
||||||
|
|
||||||
|
\renewcommand{\mydate}{2023年12月22日}
|
||||||
|
\renewcommand{\mylabname}{IPv6基础}
|
||||||
|
\renewcommand{\mychapternum}{0}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\mytitle
|
||||||
|
\begin{enumerate}
|
||||||
|
\myitem{实验目的}{
|
||||||
|
\item 了解华为 eNSP 网络仿真平台的使用方法;
|
||||||
|
\item 了解华为 VRP 操作系统的基本功能;
|
||||||
|
\item 了解和掌握通过 CLI 界面对华为网络设备进行 IPv6 基本配置(静态 IPv6 地址配置、无状态地址自动配置、DHCPv6 部署于配置);
|
||||||
|
\item 了解几个 ICMPv6 的应用(ping、tracert 和 path MTU 发现)的工作原理;
|
||||||
|
\item 了解 NDP 的基本功能(无状态地址自动配置、地址解析和 DAD)。
|
||||||
|
}
|
||||||
|
\myitem{实验设备或环境}{
|
||||||
|
\item PC 机一台,运行华为 eNSP 仿真软件
|
||||||
|
\item 以每人为小组独立完成实验
|
||||||
|
}
|
||||||
|
\myitem{实验原理}{
|
||||||
|
\item 华为 eNSP 仿真平台简介
|
||||||
|
\item 华为 VRP 简介
|
||||||
|
\item 华为设备的常用配置视图
|
||||||
|
\item 华为网络设备的配置保存
|
||||||
|
\item 华为 VRP 的基本配置命令
|
||||||
|
\item 使用 eNSP 完成第一个实验
|
||||||
|
\item IPv6 地址配置实验
|
||||||
|
\item ICMPv6 与 NDP 实验
|
||||||
|
}
|
||||||
|
\myitemx[itemsep=1em]{实验步骤和结果总结}{
|
||||||
|
\item 使用 eNSP 完成第一个实验
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-21-42-03.png}
|
||||||
|
\caption{能够ping通}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\item IPv6 地址配置实验
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-21-44-27.png}
|
||||||
|
\caption{配置正确,能够ping通}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-21-44-50.png}
|
||||||
|
\caption{ipconfig正确}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\thinkingquestion{
|
||||||
|
\item IPv6 无状态地址自动配置与 DHCPv6 地址自动配置的区别是?
|
||||||
|
|
||||||
|
无状态地址自动配置不需要独立的地址分配服务器,但是可管理性差,DHCPv6地址自动配置需要DHCPv6服务器,客户端也需支持DHCPv6,但是便于管理。
|
||||||
|
|
||||||
|
\item 在本实验中,我们使用路由器作为 IPv6 无状态地址自动配置的客户端,它依据什么规
|
||||||
|
范生成的 IPv6 接口 ID 并在获取 IPv6 地址前缀后最终形成单播地址?这个规范具体的
|
||||||
|
操作过程是什么?
|
||||||
|
|
||||||
|
IEEE EUI-64规范。具体操作过程是在48位的MAC地址对半劈开,然后插入“FFFE”,再把左数第7位取反,这就形成了IPv6接口标识。之后在前面加上64位的IPv6地址前缀,形成单播地址。
|
||||||
|
}
|
||||||
|
\item ICMPv6 与 NDP 实验
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-21-46-51.png}
|
||||||
|
\caption{RA报文内容}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-21-47-23.png}
|
||||||
|
\caption{RS和RA报文内容}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-21-47-59.png}
|
||||||
|
\caption{NS和NA报文内容}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-21-48-59.png}
|
||||||
|
\caption{ping报文内容}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-21-49-41.png}
|
||||||
|
\caption{Tracert报文内容}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-02-21-50-29.png}
|
||||||
|
\caption{MTU分片}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\thinkingquestion{
|
||||||
|
\item 当我们在路由器的 IPv6 接口上执行 undo ipv6 nd ra halt 命令后,该接口将周期性地发送
|
||||||
|
RA 报文,这些报文的目的 IPv6 地址是?该报文的载荷有什么内容?
|
||||||
|
|
||||||
|
目的IPv6地址是 FF02::1,用来发给链路上的所有节点。该报文的载荷有路由器的接口MAC地址,以及IPv6地址前缀。
|
||||||
|
|
||||||
|
\item 当一台设备的接口获得 IPv6 地址后,设备立即启动 DAD 过程并在接口上发送一个 NS
|
||||||
|
报文用于检测该地址是否已被使用,这个 NS 报文的目的 IPv6 地址是什么?这个地址
|
||||||
|
是如何形成的?
|
||||||
|
|
||||||
|
这个NS报文的目的IPv6地址是待检测地址对应的被请求节点组播地址,这个地址是由固定前缀FF02::1:FF00:0/104和对应IPv6地址的最后24bit组成。
|
||||||
|
|
||||||
|
\item IPv6 报文头部中的“Hop Limit”字段有什么用途?
|
||||||
|
|
||||||
|
用于限制RA报文能够经过的最大跳数。
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\end{enumerate}
|
||||||
|
\end{document}
|
Loading…
Reference in New Issue
Block a user