- 博客(22)
- 资源 (19)
- 收藏
- 关注
原创 网络仿真工具Mahimahi的安装和基础用法
Mahimahi是一个网络仿真工具,在Linux容器内外构建一条虚拟管道,并在这个管道中模拟网络时延、丢包和带宽变化。本文是一个保姆级教程,介绍如何安装和使用。
2022-10-01 22:21:15 4918 3
原创 论滑动窗口
最近整理桌面,发现一个尘封的笔记本,顺手翻了翻,发现之前在一个无聊的会议中随手写下的思考笔记,觉得可能对大家有用,我把它分享出来。这个笔记叫《论滑动窗口》。以下是笔记全文:流量控制,就是慢接收方控制快发送方的发送速率。传输控制为什么需要流量控制呢?一般来说,是因为已接收的数据,由于上层应用没有及时取用,这些数据会占用接收缓存,因此接收方需要及时地通知发送方,“您老给我发慢点,我快收不过来了……”接收方通知发送方的方式,就是通告一个接收窗口RWND(receive window)。我认为……...
2021-11-17 10:50:44 2445
原创 美化PlantUML画图风格(附源码)
有没有觉得PlantUML默认画出来的图,是60年代的风格?彤哥在这里将其重新整理成了最方便使用的方式,那就是给大家提供一个样式库,可以美化PlantUml的样式。只需要一步即可。
2020-12-08 17:09:53 6310 5
原创 协议确认机制TACK的通俗解析
传输控制是计算机网络领域中的经典问题。在数据传输的过程中,人们通常关注正向的数据报文传输性能,却很少关心反向路径上确认报文ACK的传输。今年SIGCOMM提出了一种全新的传输协议确认机制TACK,这篇博文为大家对TACK进行通俗化的解析,算作导读。
2020-11-26 11:00:41 5716 18
原创 如何在PDF文档中嵌入字体,以满足hotcrp/edas等投稿系统要求
我们同学们中了论文以后,通常需要准备一个Camera Ready版本的论文,提交到论文系统。不同的投稿系统(如hotcrp, edas, easychair等)对论文格式的严苛程度不同,但是有一个共同的要求,就是嵌入字体(Font Embedding)。
2023-07-25 10:49:21 1898
原创 将PPT中画的图转成eps格式的有效方法
写学术论文的时候,不少同学还在使用位图(jpg, png,bmp),然而我们更希望使用失量图,这样生成的pdf最终稿以后可以无限放大,也不会失真。对于latex或者overleaf而言,我们希望矢量图的格式是eps格式或者直接是pdf格式。同时,我们经常用幻灯片PPT(PowerPoint)来画图,比visio画的图更加美观,而且便于日常交流讨论。那么,如何将PPT中画的图片转成epf格式呢?...
2022-05-25 16:24:16 13222 4
原创 Ubuntu16.04安装多个Python3版本后,配置默认python的方法
问题:Ubuntu16.04系统默认安装了Python3.5,而项目需要用到Python3.7以上,于是安装了python3.9。现象:输入python --version, 显示python 2.7.12输入python3 --version, 显示python 3.5.2输入python3.9 --version, 显示python 3.9.0Python3.9安装方法(如果不是root用户,请在命令前加sudo):1、完成以下步骤:apt updateapt install buil
2021-11-12 15:42:36 2003
原创 Ubuntu源码安装软件时编译慢,make时一直在checking的解决方法
问题:Ubuntu16.04系统默认安装了Python3.5,而项目需要用到Python3.7以上,于是下载了python3.9源码进行安装,输入make -j8,结果跑了一天都没有完成编译。现象:无限在屏幕显示“checking… yes/no”,编译无法完成。原因&分析:原因:系统时间不正确。具体到我的情况,是公司服务器禁用了NTP服务,因此时间有偏差。具体地,系统时钟为2016年,则实际当时是2021年。分析:make命令实际上不会进行checking步骤,只有configur
2021-11-12 14:26:21 3842
原创 Python复制方法“=/copy/deepcopy”的区别
1、对于数值、字符串和元组,不同的复制方式没有区别,复制后,=/copy/deepcopy的id不变。改变原对象的内容,不会改变新对象的内容。2、对于数值、字符串和元组,只能通过赋值来修改这些对象,修改后id会发生变化。对于列表和字典这些可变对象,可以通过赋值来修改这些对象,修改后id会发生变化;也可以通过直接修改对象的内容,修改后id不会发生变化。3、deepcopy才是真正意义上的复制了一个独立的对象,复制后,id会变,内容不会随着原对象的变化而变化。4、可以把列表和字典这些可变对象看作箱子。b=
2021-07-30 16:49:59 695
原创 相对定位的新星——超宽带UWB的前世、今生和未来
超宽带UWB技术并不是新的,但是近期各大厂商都在布局,这到底是什么样的技术?它的原理是什么?与现有的蓝牙和Wi-Fi技术有什么区别和联系?它的未来将会是什么?如果你也有这些疑问,那这篇文章会给你答案。
2021-05-31 13:28:33 1625 5
原创 IETF草案更新CheckList
下载最新版本的xml文件:https://github.com/superlitong/standards/blob/main/IETF/draft-li-quic-optimizing-ack-in-wlan-02.xml修改<rfc category="exp" docName="draft-li-quic-optimizing-ack-in-wlan-02">修改<date day="25" month="May" year="2020"/>修改.
2021-05-25 16:43:41 386 2
原创 难与易:有一次我把专利写了70页
前一段时间在公司里写了一个专利,说明书和权利要求书A4纸共写了70多页。写完后我自己心中也是一惊,脑海中浮现孔老夫子的评价:过尤不及。于是,我开始思考,到底要怎么写专利?到目前为止,我申请或授权了16项专利,其中还包括一些美国专利和欧洲专利。按理来说,专利对我来说是如鱼得水,像呼吸空气一样简单。然而,我倒是愈发地觉得专利并不是一件简单的事。尤其对在以商业利益为第一位的企业来说,更是难上加难。很多公司在申请专利之前,都会有内部的评审。具体来说就是找一堆专利标准方面的专家和一堆业务方面的专家,来一起打四个
2021-04-30 18:05:16 1183 1
原创 判断一个数是否为素数,计算最大素数因子
1、2是最小的素数,所以与素数数相关的编程,下标一般从2开始2、任何一个正整数字都可以表示多个素数因子的和,如果从小到大进行因子分解,则最后剩下的就是最大素数因子3、如果需要遍历一个数字n的因子或者加数,则一般不需要遍历全集。例如,对于加数而言,遍历范围可以是range(int(n/2)), 对于因子而言,遍历范围可以是range(int(math.sqrt(n)) + 1)判断一个数是否为素数,计算最大素数因子。参考代码如下:import mathdef is_prime(n): if
2021-03-01 11:52:47 845
原创 根据List输入,创建、打印、反转链表,并判断是否是回文链表
代码如下:class Node: def __init__(self, val): self.val = val self.next = None class LinkList: def __init__(self): self.head = None def create_linklist_from_list(self, input_list): input_list_
2021-02-27 16:47:35 99
原创 信标杂谈:外卖骑手和微信摇一摇的故事
阅读警告:这篇文章其实没有什么营养。第一次听到信标的时候,觉得这个名字非常奇怪,像是舶来品,所以平时我们圈内都是叫它的英文名:Beacon。通常,人们认为Beacon特指蓝牙Beacon,再特别一点,是低功耗蓝牙(BLE)Beacon。蓝牙Beacon是一个蓝牙设备,周期性地广播一个ID,如果其它设备通过蓝牙扫描到这个ID,就表示发现了这个蓝牙Beacon。发现一个Beacon,接下来会发生什么事,就是应用决定的了,这里面可以有很多发挥的空间,比如推送一条广告,展示一张图片,等等。早在2013年以来
2021-02-04 17:02:47 292 1
原创 SIGCOMM2018 多径TCP高铁测量论文解读和参会感想
我们还处于全连接世界的初级阶段,没有人知道未来网络会是怎样的,我们在网络领域还大有可为;不要去试图改变无法改变的东西,而是要致力于使新型的改变成为可能。想做有影响力的工作,要么在某个小的传统领域里钻研得到非常深,有关键的贡献;要么敢于创造全新的idea, 启发人们思考。最后,就是要解决实际问题!
2020-12-08 17:33:09 594 1
原创 让人烦躁的 Font Type 3
这是一篇流水账,本来不想写,但我还是写了。因为在事务缠身“十万火急”的催命符影响下,我还是顺利地解决了“Bad font: Type3 font”的问题。事情是这样的。今年投了一个还不错的会议文章,收到文章录用通知以后,我就投入了其它紧急项目中,完全没有时间来修改审稿人的意见。终于在Camera-ready版本截稿的三天前,我开始准备论文,幸运的是要改的地方不多,迅速地改完XD。然而,当我上传一稿到HotCRP系统时,提示“Bad font: Type3 font”。我立马意识到,坏了!
2020-12-08 16:45:35 2023
原创 在Android上编译和安装ethtool工具
Linux有个很好用的网卡配置工具,叫ethtool。然而,Android系统并没有默认安装该工具,因此需要自行手动编译和安装。以下记录编译和安装步骤。一、下载1、下载ethtool源代码:git clone git://git.kernel.org/pub/scm/network/ethtool/ethtool.git2、解压tar -xzf ethtool-master.tar.gzcd ethtool-master二、编译1、执行脚本:./autogen.sh2、配置./
2020-12-08 16:36:46 2779
原创 互联网上的包,到底丢哪了?
通常我们发现网络性能不好的时候,第一个冒出来的想法不是tcpdump抓包看看?然而,抓包只是一个手段,只能查看端到端的整体情况。我们有时候要更多地注意这些包还可能丢在了端节点上,再进一步,进行一次灵魂拷问:这些丢的包,到底丢哪了?答案是:有缓存的地方就有可能丢包!大体来看,网络收发过程中有三个缓存,网卡收发包时通过DMA方式交互的RingBuffer(即RX/TX 队列、驱动buffer)、内核协议栈sk_buffer(即qdisc队列、backlog)、socket buffer (即平常所说的TC
2020-12-08 16:13:47 777
原创 人人都懂TCP:TCP相关知识网址大全
以下是来自互联网的TCP相关的推荐列表,本人懒得分类,但是想要了解TCP的同学一定会从中获益,其中很多仅代表网友个人观点,我贴上来不代表我完全同意他们的思想,但是至少我是大部分同意的,尽信书不如无书,大家多多自己思考吧~
2020-11-26 11:34:07 1341 1
原创 我是一只小绵羊:拥塞控制算法LEDBAT学习心得
LEDBAT是Bittorrent客户端上使用的一种拥塞控制机制。它的设计理念是:不给当前的网络制造麻烦;保证数据流的带宽公平性,不恶意竞争带宽。简直就是一只小绵羊啊!!LEDBAT是一个已经商用的后台应用程序传输协议,当前MAC OS和iOS在内核TCP中集成了LEDBAT,用于应用市场的下载业务,苹果已将其开源。目前Linux、Android和iOS都默认使用TCP CUBIC,而iOS可以根据不同的应用选择不同的算法,比如后台的应用市场采用LEDBAT,前台程序仍然使用CUBIC。LEDBAT有以
2020-11-26 11:17:28 1388 6
原创 华为的TACK和谷歌的RACK有什么区别?
RACK和TACK目前都在IETF工作组中进行讨论,那两者有什么区别和联系呢?先说说概念上的区别。TACK是为了减少ACK数目,但是又不影响协议性能的一种确认机制。确认机制需要支撑的协议功能不仅仅是丢包检测,还要其他功能比如拥塞控制和传输状态监控等。RACK是一个由谷歌提出的丢包检测算法,它依赖的确认机制还是原生的delayed ACK (SACK enabled)。虽然两者命名类似,但是我更倾向于把两者看作不同范畴的概念。下面探讨一下两者的联系。
2020-11-26 10:47:37 1400 2
德国工业4.0白皮书
2017-10-30
2012-2013年中国交换机市场研究报告
2013-12-16
武汉大学本科生论文格式自动排版工具
2012-05-16
RS232串口程序示例源代码(内含完整可用的com232c.cpp/com232c.h)
2011-04-21
SCI论文全攻略(看了有用)
2011-04-20
虚拟硬盘简介(入门级读物)
2011-03-31
基于虚拟磁盘的文件加密方法
2010-03-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人