check7
Solo portion测试在wsl下非常顺利,下面是开始和关闭的截图 开始新连接截图: 互相发送截图 关闭截图 传输文件测试整个流程非常顺利,没有修改任何代码,直接成功 Group portion我选择和沈硕(221502023)互发这里首先我作为server尝试给对方发文件,下面是对应的截图: 我的截图 对方的截图然后我作为client尝试进行了聊天,非常成功,下面是截图
check6
Program Structure and Design这次实验比较简单,主要是需要设计一个高效的路由表,这里我选择设计的路由表类型是: 1std::array<std::map<uint32_t, std::pair<std::optional<Address>, size_t>>, 33> _routing_table {}; 这个结构的含义如下: 第一层Array用于表示前缀的长度,这样方便从长到短匹配 第二层里面是一个map,记录了从ip前缀到下一跳地址以及出口号的映射关系 最后存的是一个pair,记录了下一跳、出口地址 然后我封装了一个最长前缀匹配的算法: 12345678910111213141516std::pair<std::optional<Address>, size_t> Router::get_address( const uint32_t ip ) const{ for ( int idx = 32; idx >= 0; --idx ) { uint32_t...
check5
Program Structure and Design计时器结构首先这里也是需要一个计时器结构的,由于这里还是通过 tick 方法传入距离上次调用过去了多长时间,和之前的 check3 类似,所以我也采用了相似的做法,写了一个 timer 来统一管理计时,由于这里的request和record有两种不同的过期时间,所以我选择用继承的方式来实现两种不同的timer 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758class BasicTimer{protected: bool is_running_; uint64_t time_passed_;public: BasicTimer& operator=( const BasicTimer& tm ) = default; BasicTimer() : is_running_( false ), time_passed_( 0 ) {}; ...
DDPM | Diffusion基础
论文原文论文原文是20年的这一篇 Denoising diffusion probabilistic models 论文的地址: Arxiv.org 题外话,现在网上的教程都是一个抄一个,有个公式打错了结果我发现网上大部分教程都打错了 :-( 模型的整体思路整体的流程润下图所示:首先是从训练集开始不断地往上面加高斯噪声,最后直到达到一个纯随机的分布,再训练这个去除噪声的过程,从任意一个纯随机分布开始,一步步地去除噪声,直到还原出最后的图片 加噪声的过程引理考虑原输入和一个高斯噪声的加权平均的过程,假设第 步时,原输入为 加上了一个为 的高斯噪声,对应的权重为 和 ,其中的 由于独立的高斯分布具有可加性,即满足 那么考虑再往前一步的噪声 有:这其中的 考虑权重 的一个前缀累乘,记 有注意到这里的 的符号其实不重要,都是从 中采样的随机高斯噪声,所以我们可以发现第 ...
Network Layer | 网络层
网络层的组成——两个平面网络层主要由 数据平面 和 控制平面 两个部分组成的: 数据平面 :局部的性质,是指每一个交换机内部决定从入口的每一个包应该转发到哪一个出口上 控制平面 :整个网络规模的逻辑概念,决定每一个路由器应当如何导航 两种平面的交互 传统方法:在每一个路由器里面各自实现 software-defined nerworking(SDN) :在远程有一个服务器来决定如何转发这两种方法的区别如下图: 网络的服务模型服务模型表示了这个网络的组成方式提供了哪些保证,下面列出了一些服务模型提供的保证: Best Effort...
3D基础-坐标系
齐次坐标系参考文章:知乎 在二位笛卡尔坐标系中,一个点可以被表示为 而一条直线就是 但是此时有个问题,无法刻画两条平行线在无穷远处相交的情况,即对于透视空间无法处理,此时就需要引入齐次坐标系,在齐次坐标系中一个点被表示为 例如一个点 在齐次坐标系下的表示就是 而一旦这个点被平移到无穷远处那么在齐次坐标系下的表示就是 了。 齐次坐标系与笛卡尔坐标系的转换如下: 影像坐标系参考文章:CSDN 在影像坐标系下面,有两套体系,一套是以像素为单位的 坐标系,另一套是以物理尺寸为单位 坐标系,如果我们知道了像主点的位置 那么这两个坐标系的转换关系如下: 这里的像主点就是摄影中心在图像上的投影点 相机坐标系(Camera)三维相机坐标系和二位影像坐标系之间的对应关系是,相机坐标系的原点在摄影中心,相机坐标系的 轴和 轴分别与影像坐标系的 轴和 轴平行,而 轴垂直于像平面且朝向像平面,根据定义可以得知,此时的影像坐标系下面的所有点的 值都等于焦距 那么在影像 坐标系下面的点 在相机 坐标系下的坐标就是 根据中心投影的特征,假设像素点...
check4
TCP链接测试这个部分非常顺利,可能是由于前面的部分代码写的没有问题,在更换至虚拟机之后一次就成功了,下面是运行测试成功的截图![[0ddb6028c9158a2edf475e82409c5982_720.png]] Ping结果分析思路这个部分由于校园网太好了,我连续 ping...
使用acme.sh获取证书
官网地址官方的地址是 acmesh-official/acme.sh 如何安装 acme.sh官方的安装方式是 1curl https://get.acme.sh | sh -s email=my@example.com 在国内如果因为网络环境安装失败,可以参考官方的教程Install in China · acmesh-official/acme.sh Wiki 记得在你的 ~/.bashrc 里面加一条 alias acme.sh=~/.acme.sh/acme.sh 这样就可以直接使用命令 acme.sh 来调用了 如何申请这里我开始尝试直接用命令 1acme.sh --issue -d mydomain.com --nginx 来申请证书,但是它告诉我我的 nginx 配置有问题,查阅英文版本的readme发现,应当使用命令 1acme.sh --issue -d www.ericli.vip --nginx /etc/nginx/nginx.conf 这样就可以正常获取了,但是这时候我遇到了一个问题,之前我用的是 certbot 来获取证书,这玩意需要 sudo...
Application Layer
HTTP HTTP 的全程是超文本文件传输协议,即 HyperText Transfer Protocol 用于传输网页等超文本信息。 一个常见的网页(Webpage)主要由以下的东西组成: HTML文件 JavaScript脚本 CSS层叠样式表 JPEG等其它资源文件 而HTTP的主要功能就是向客户机正确提供这些文件 URLURL是输入在浏览器里面用来访问互联网资源的地址,其格式形如: 1http://www.someSchool.edu/someDepartment/picture.gif 这里面主要包含一下几个部分: http:// 指明协议,可能包含 http 、https 等 www.someSchool.edu 被称为hostname即主机名,是指提供该服务的主机名称 someDepartment/picture.gif 是路径名(Path name) 描述希望获取的资源的位置 这个URL这里是可以整花活的,例如你可以在桌面创建一个 a.txt 的文件,然后在浏览器中输入 file:///C:/Users/Username/Desktop/a.txt...
Network Overview
Network CoreStore-and-Forward Transmission在这个模式下,每个router会被要求先接收到一个完整的包,再把整个包转发出去,这里给出在 段链接(一共有 个router),每段链接上的传输速率都为 的情况下,传输长度为 的包,产生的端到端的时延为: Hint:为什么这里前面是 是因为,这里最后的client也必须完整收到一个包才能进行处理 FDM and TDMDelay and lossQueuing Delays这里面没啥说的,Queueing Delay 讲的是在每一个router内部,buffer的数量是有限的,所以有可能这个包即使被完全收到也不能马上向前传输出去,可能需要排队等待后面。 Processing Delay这个讲的是,在router收到某个包的时候,需要读这个包的头来判断往哪里转发,所以会产生 process delay Packet LossPacket Loss 讲的是如果这个buffer满了,某些包可能被丢弃。 Transmission Delay...