上传计算机网络的全部实验报告。
图片暂时不需要。
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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user