编程
文章平均质量分 71
夏末嘞
热爱生活,永远行走在路上。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
每次看serverless,我恨我不会编程
晚上心血来潮,看看阿里云的产品都有哪些小场面的,不要钱且比较好玩儿的,就看到了 function compute, 这个看了下其实就是serverless的概念。看了它的计费原则,只有在运行时才计算费用,就索性注册了一个用户:我也终于成了阿里云的用户。来看看什么是serverless。说说我的理解。我就不从20世纪60年代说起了,就从90年代说起吧。曾经的企业花大钱去购买各种...转载 2019-01-15 16:11:19 · 1245 阅读 · 2 评论 -
闲谈IPv6-它到底好在哪儿
这个话题网上一搜,结果早就已经汗牛充栋,我为什么还在再写一篇呢?其实我是在写一篇总结,补充说点别人可能没有说到的点。报头精简-处理简化IPv4的报文头长度由IHL字段指出,虽然绝大多数的IP报头都没有 选项 ,但是为了统一化处理,协议栈便不能默认报头是固定大小的,也就是说需要复杂地解析和处理,而只要有if语句,就会徒增CPU指令,而且还会破坏局部性,降低cache利用收益。注意,I...原创 2019-03-04 16:36:17 · 1781 阅读 · 1 评论 -
闲谈IPv6-6to4隧道和ISATAP隧道
本来我是不准备涉及这个话题的,我希望看到的是一个纯粹的IPv6网络,而对为了与IPv4网络共存而引入的兼容性技术没有丝毫的兴趣。所以说,我就一直没有去写这方面的东西。但是,具有讽刺意义的是,那些IPv6所特有的炫酷技术,比如Anycast,比如自动配置,比如源地址选择,比如聚类分配等等,一般技术开发和运维人员涉及的还真不多,反而大家都必须要打交道的就是IPv6如何与IPv4网络共存的技术。...翻译 2019-03-19 17:47:48 · 1418 阅读 · 0 评论 -
闲谈IPv6-我们在技术思维上需要作出改变(1)
IPv6时代即将来临,这是一个新的时代,需要我们在很多方面作出改变,《闲谈IPv6》系列文章准备抽出几篇,专门来描述这些个IP协议本身的变化,以及我们需要作出什么改变来应对这些变化。IPv6强网络而弱主机这个是非常重要的,我也是一直在强调这一点。在IPv4时代,你很容易将一个IP地址对应到一台主机,比如给出一个IP地址100.123.201.34,我们脑海里很容易会有 它被配置在某个地...原创 2019-03-20 17:33:23 · 1237 阅读 · 0 评论 -
闲谈IPv6系列文章集锦
本文总结一个目录提纲,只要是给自己看的,记录一下哪些东西已经总结过了。闲谈IPv6-我们在技术思维上需要作出改变(1): https://blog.youkuaiyun.com/dog250/article/details/88652125闲谈IPv6-6to4隧道和ISATAP隧道: https://blog.youkuaiyun.com/dog250/article/details/88644797闲谈IPv...转载 2019-03-20 17:49:20 · 449 阅读 · 0 评论 -
闲谈IPv6-组播和广播
IPv6试着将骚扰降低到了最低,虽然还不完美,但至少适应了时代!IPv4年代,一个IP网段对应一个以太网,因为连接连接层和IP层的EARP是基于广播的。我们通告文档公告可知,一个以太网可以承受的主机数量从几十台到上千台不等,我们还知道,一个1000BaseT的单线缆长度不能超过千米,这些都是物理限制。逻辑上与物理无关的IP网络因为ARP被广播域的大小所限制,再加上Spanning Tree...转载 2019-03-12 15:42:01 · 7068 阅读 · 1 评论 -
闲谈IPv6-IPv6对移动性的天然支持
IPv4的移动支持非常垃圾,非常复杂,不断修订也没出个所以然来。这不禁让人想看看IPv6的方案, 天然支持移动IP!要理解IPv6如何天然支持移动IP,有两个前置知识点。这两个前置知识点一旦理解,移动IP就是自然而然的事情了。这两个前置知识点就是关于两类IPv6扩展头的理解。IPv6路由扩展头这个和IPv4的源路由选项类似,但是更加强大。IPv6的路由扩展头是作为固定长度IPv...原创 2019-03-12 16:13:44 · 905 阅读 · 0 评论 -
利用IPv6的地址特性写一个攻击甩锅程序
早上微信的一个技术群里不知怎么就提到了MAC的OUI,我记得我说IANA早就获得00-00-5e这个OUI了,这个OUI本来可用来做地址解析,但是IPv4简单地用ARP广播实现了地址解析,没有用到这个OUI拼接的组播进行…一SDWAN领域的元老级别的,开公司当老板的哥们儿拿到了自己的OUI,可见这位老板哥已经做大了,可以自己出网卡了…在IPv4时代,如果你想对某个大厂的服务器组织一次DDo...转载 2019-03-21 17:00:39 · 899 阅读 · 0 评论 -
Stata做空间杜宾模型、莫兰指数等操作
以下内容完全由本人在实际操作中搜集整理总结得到,很细致的介绍:从如何在stata中导入数据,怎么定义面板数据,再到如何做局部和全局空间相关性检验(莫兰指数)和空间杜宾模型等。1、导入面板数据在excel中输入如下格式的数据:打开STATA,data-data editor- data editor(edit),将excel中数据复制上去接着在STATA主界面的command窗...转载 2019-03-21 17:07:06 · 93533 阅读 · 54 评论 -
闲谈IPv6-Anycast以及在Linux/Win7系统上的Anycast配置
在我们check IPv6的基本特征列表时,总是可以看到IPv6对Anycast的支持。说实话,对于很多人而言,这是个比较陌生的概念,对于希望看看Anycast到底是什么样子的人而言,甚至在网上很难搜到关于 如何配置Anycast 的资源。这是比较令人遗憾的。抛开概念,那么本文尝试从不同的角度来针对Anycast探究一番。IPv4年代的Anycast说起Anycast,并不是在IPv6...原创 2019-03-08 16:52:35 · 1731 阅读 · 1 评论 -
二十分钟Linux ftrace原理抛砖引玉
我们可以通过objdump -D看到内核模块或者用户态程序里面的函数开头的指令,以便知道如果想hook它的话,要预先备份多少指令。但是如何看到内核函数的开头几个指令呢?我试图去objdump系统boot目录下的vmlinux,但是什么也看不到。这里说一句,如果你的/boot目录下只有vmlinuz,那么首先你必须将其解压成vmlinux,这个比较容易,内核源码或者内核头文件开发包中都自带了...转载 2019-03-08 16:41:05 · 397 阅读 · 0 评论 -
闲谈IPv6-物理/逻辑,网段/主机,IPv4/IPv6
你看到,题目中所示的几个概念,这是几个相互矛盾的概念。物理的还是逻辑的IPv6管理网段还是管理主机IPv6到底什么时候才能取代IPv4我们之所以要在早就已有的 物理网络 之上构建一个三层的IP网络,其目的之一就是为了指望IP可以 在逻辑上 把不属于同一个物理位置的主机纳入同一个管理网段。同样思路,我们从LAN到VLan的发展中也能可见一斑。如果我开一家公司,希望在福建和吉林各部署...转载 2019-02-26 16:11:53 · 1251 阅读 · 0 评论 -
设计一个对向车道的左转待转区提高十字路口的并行通行率
动机和概述这个小节又是一顿闲扯,想直接看方案的可以直接忽略。在上海的时候,早上自然不必说,六点多的时候,全国各地哪哪路上都通畅,但是下班时就不一样了,由于我讨厌地铁站那种复杂无效的通行程序,为了能从闸北区快速到达嘉定区,我宁可先辗转到上海火车站,然后在那里坐全程高速的新嘉专线也不愿意去坐普通公交,这样保证一个小时内到达嘉定老城区,然后在小区家门口点一根烟…。当然,这得益于上海的快速路网络非...原创 2019-01-21 16:05:26 · 660 阅读 · 0 评论 -
聊TCP BBR的2/ln2 bbr_high_gain问题
问题1: init_cwnd×2n=cwndinit_cwnd×2n=cwnd对nn求导怎么会是n×2n−1n×2n−1 问题2:如果能用2x2x同时表示速率和BDP,那么对速率积分所得的BDP为什么会比2x2x多出来一个1ln21ln2因子呢?先来看第一个问题,这个是温州皮鞋厂老板在问我为什么bbr_high_gain是2ln22ln2的时候他自己算出来的,很显然他算错了,至于为什么错,...转载 2019-01-21 16:08:25 · 634 阅读 · 0 评论 -
在任意位置Reset掉任意的TCP连接
这篇文章完全来自于我在解决另一个问题是一个突然的想法。所以并没有什么前因后果。我本来是想模拟一个TCP接收端对收到数据包的确认,采用了Scapy这个简单的工具,然而折腾了大半天没有顺利搞定。其实我是不怎么懂Python的,折腾了大半天之后,竟然对Python产生了兴趣,正好旁边有人碰到了TCP连接被莫名Reset掉的案例,借这个楼,就想写一个能把任意TCP连接给Reset掉的小程序,主要是为了...转载 2019-01-16 16:26:45 · 1480 阅读 · 0 评论 -
QUIC成为了HTTP/3的标准传输协议!
动机和缘起记得大概是三四天前,朋友圈被《Google QUIC正式更名 HTTP/3 协议》这篇文章刷了屏,当时第一感觉就是“我靠,HTTP/2还没普及呢,怎么3就来了,TCP真的这么快就要下课了吗?”。我真的是虚惊一场,我虽然不喜欢TCP,但还要靠着它吃饭呢…TCP要是下课了,我岂不是有丢饭碗的危险?谢特了。又爱又恨的TCP啊!读了全文,发现不是,我也就放了心,至少还能保住饭碗,但同时心...转载 2019-01-16 16:29:20 · 1206 阅读 · 1 评论 -
R语言:根据经纬度在世界地图上画出各个点
“ljs.csv”的文件内容:mydata<-read.table("ljs.csv",header=TRUE,sep=",") #导入自己的名字为“ljs.csv”文件 visit.x<-mydata$longitude visit.y<-mydata$latitude #数据准备 library(ggplot2) library(ggmap) l...转载 2019-01-29 16:28:52 · 5936 阅读 · 1 评论 -
我们为什么存在于三维空间而不是四维空间
每个人都有一个小宇宙,每个人都存在于自己的小宇宙中,我们都不能或者说不善于看到外面的世界。【后面我会专门写一篇关于《七龙珠》,《圣斗士》以及《地道战》,《小兵张嘎》,《三体》的文章】那么,这里有一个比较客观的问题,那就是 我们为什么是三维的,我们为什么只能理解三维世界?我曾经说,我们的身体中没有能触发我们感知四维空间机制的器官,但这看起来不像是终极的答案,我们还可以接着问,我们的身体为...转载 2019-02-27 16:35:42 · 1559 阅读 · 0 评论 -
Linux内核为大规模支持100Gb/s网卡准备好了吗?并没有
事实上,不仅仅是Linux内核,几乎所有的 现代操作系统 都没有为支持100Gb/s做好准备。这是一个变革的年代,现代操作系统 已经不再 现代!我们回望一下类似Unix/Linux,Windows NT这些操作系统是如何被称作 现代 的。嗯,是因为虚拟内存系统。是 隔离的地址空间 让操作系统一下子进入了现代社会。在此之前,操作系统都是谭浩强书里写的那种一旦操作空指针就会系统崩溃的系统。...原创 2019-02-28 17:22:12 · 238 阅读 · 0 评论 -
闲谈IPv6-它到底好在哪儿
这个话题网上一搜,结果早就已经汗牛充栋,我为什么还在再写一篇呢?其实我是在写一篇总结,补充说点别人可能没有说到的点。报头精简-处理简化IPv4的报文头长度由IHL字段指出,虽然绝大多数的IP报头都没有 选项 ,但是为了统一化处理,协议栈便不能默认报头是固定大小的,也就是说需要复杂地解析和处理,而只要有if语句,就会徒增CPU指令,而且还会破坏局部性,降低cache利用收益。注意,I...转载 2019-02-28 17:24:25 · 771 阅读 · 0 评论 -
几张图理解移动IPv6的全貌和细节
我怎么觉得我在描述IPv6移动性的时候这么费劲呢,洋洋洒洒几大篇,竟然还是没有囊括移动IPv6的所有,比如说,我总是试图避开复杂的XFRM…这并不完美!并不甘心,所以我要找找看看有没有什么现成的东西。哈哈,终于被我找到了:https://wiki.aalto.fi/download/attachments/70790972/presentation.pdf?version=1&mod...转载 2019-03-18 17:20:37 · 1901 阅读 · 0 评论 -
闲谈IPv6-从ICMP的视角形而上地分析IPv6
ICMP可谓是IP协议的首席助力协议,是IP协议的带内信令协议,如果我们把IP协议按照数据,控制,管理三个平面划分的话,那么IP协议本身自然属于数据面,而ICMP和IGP/BGP则分别属于控制面和管理面。可是,ICMP在IPv4版本中并没有发挥其应该发挥的作用(ICMPv4中的很多功能被阉割,甚至废除!)。这也许是因为当时的网络协议各方面技术都不完善。互联网伊始一切靠摸索当然会走很多的弯路...转载 2019-03-25 16:46:54 · 567 阅读 · 0 评论 -
闲谈IPv6-Loopback网口上的IPv6地址
先说Loopback网卡,它一般的用途有三个:用于网络软件发布前的测试。用于协议栈本身的测试。用于配置一些可以标识主机的IP地址以供管理和接入(比如Linux LVS)。早年,我也写过关于Loopback的两篇文章:用IP地址的用途理解Loopback接口: https://blog.youkuaiyun.com/dog250/article/details/12272455从Loopback接...转载 2019-04-18 17:45:45 · 2371 阅读 · 0 评论 -
为什么Linux Loopback接口上整个网段的地址都能通?
有人咨询了一个比较有意思的问题:我在lo上添加了10.0.1.1/24这个地址,为什么10.0.1.0/24整个段都可以在本机ping通呢?而且在本机telnet这个段任何地址的侦听0.0.0.0的端口也是通的,为什么?答案似乎不难解释。 因为添加IPv4地址到lo口时,链路层路由就自动在Local表生成啊!本文接着上面那篇继续写点儿细节。比如,当我添加地址到lo口时:[root...原创 2019-04-24 10:24:35 · 969 阅读 · 0 评论 -
关于一个lo接口IPv6 unreachable路由的细节
今天时间不多,直奔主题。我准备两台虚拟机,设为主机A,主机B,分别用其eth0接口直连,配置如下:# 主机A-eth0 直连 主机B-eth0# 主机Aeth0:1111:1111::101/64# 主机Blo:1111:1111::110/64eth0:1111:1111::123/64如果如上述这般配置,那么协议栈显然会生成下面的相关路由(确实也是的):# 主机A1...转载 2019-04-24 17:08:28 · 1403 阅读 · 0 评论 -
那么telnet到底是一个协议还是一个软件呢?
写点轻松的好玩的事,所谓轻松的好玩的事,那就是既不怕犯错,又不用背锅的事,完全不用负责任,那就说说telnet吧。如题目,这个问题曾经困扰了我好多年,初识这个问题是在2003年,那时的老师也没有讲清楚。后来我想清楚了,但一直没有时间总结,好像发过朋友圈,但真的是忘了。早上班车上刷到一篇相关的知乎问题挺有意思:https://www.zhihu.com/question/22733033...转载 2019-04-25 18:07:35 · 1861 阅读 · 3 评论 -
数据包怎么排队?从存储转发网络看芯片
两条路的车流汇入一条路,怎么办?停下来排队呗。事实上,红绿灯系统就是这么设计的,此外高速公路,城市快速路的匝道也都是排队系统的绝佳实例。然而,飞机怎么办?地面交通工具之所以可以可以排队,关键因素在于它们 可以停下来! 然而飞机是停不下来的。所以,飞机必须在起飞前就把自己的路线抢占好。否则,一旦机场拥堵必须要排队的时候,飞机只能在天上绕圈圈,飞机没有办法停下来等待。飞机要维持升力...转载 2019-06-05 17:43:12 · 538 阅读 · 0 评论 -
CSMA/CD总线以太网和交换式以太网
在规划一群计算机如何使用网络介质传输数据包而不是一群人如何使用电话线实时通话的时候,不得不换一种思路。为什么以太网最初没有采用TDM或者FDM或者随便别的什么xxDM,而是采用随机统计分时复用的CSMA/CD呢?以太网流量是突发的以太网流量不要求实时以太网无连接其实,甚至 冲突检测 都是次要的,它只是优化,而并非核心。有冲突就要有退避,所以,紧随着冲突,以太网采用的二进制指数退避,也...转载 2019-06-14 10:02:19 · 4914 阅读 · 0 评论 -
云计算世界里的企业级软件何去何从
互联网世界的发展是传统商品社会的映射。它可以如此花哨,但我们已经见证过这般花哨。日光之下,并无新事。什么是企业级开发?现在还需要企业级软件吗?我怎么觉得云计算是企业级软件的掘墓者呢?如今都Serverless了,真的还需要企业级软件吗?周四早上上班的班车上,看到一篇文章:Go会接替Java,成为下一个企业级编程语言吗? https://zhuanlan.zhihu.com/p/627...转载 2019-06-03 15:30:20 · 481 阅读 · 0 评论 -
闲说一个关于TSO/IP分片的NAT模块bug
声明,这个Bug无论是Kernel社区还是别的什么地方,早就已经解决了,但是 这种引入Bug的思路 至今仍在。这是我在2011年时候的一起排查案例,当时我在Linux 2.6.8内核上工作,嗯,超级老的内核。问题的描述可以看下面的文章:从Linux 2.6.8内核的一个TSO/NAT bug引出的网络问题排查观点: https://blog.youkuaiyun.com/dog250/article/d...转载 2019-06-11 18:19:34 · 796 阅读 · 0 评论 -
闲谈IPv6-v4/v6协议转换报文的checksum无关性
在IPv6时代,是不是可以用本地链路质量信息编码源地址的主机标识符从而指导服务器端拥塞控制策略呢,是不是也可以把自己是谁编码进去呢?比如自己是Android,自己是一台PC,或者说自己是一双智能皮鞋?以此来指导数据发送端的定制化动作呢?IPv6的地址空间足够大,且留下了可达64位的主机标识符可供任意发挥,如此长度的主机标识符可以藏匿很多信息啊!可以先看一下我很久之前在2012年写的一篇文章...转载 2019-04-09 14:18:12 · 711 阅读 · 0 评论 -
闲谈IPv6-IPv4的TCP和NAT让互联网变得畸形
下班的路上读了一篇比较有意思的百家号文章:IPV6和5G来到后,我们会体验到《镜花缘》里的景象嘛?: https://baijiahao.baidu.com/s?id=1590883265841566472这篇文章可以引起一些思考。文章很短,两分钟可以看完,我并不就着这篇短文做评论,而是想说,为什么这些在IPv4时代不可能发展起来。我将其归咎于NAT!NAT是IPv4的遗毒!NAT已...翻译 2019-04-09 14:03:11 · 1396 阅读 · 0 评论 -
闲谈IPv6-没有选项胜有选项的TLV
IPv6协议头固定,并且非常简单,去掉了IPv6的选项字段,把变长头部统改成了定长。这有什么益处就不多说了,肯定百分百地是提升了处理效率。然而,这里我要说的是,在获得这些收益的同时,其实并没有付出任何代价!这也就是说,IPv4的设计在某种意义上是错误的设计!不过呢,也不必因为我这句话而大跌眼镜,进化嘛,缺陷总是有的。我们乍看IPv6,好像是缺失了options选项,这是不是意味着它和IPv...转载 2019-03-13 17:14:58 · 991 阅读 · 0 评论 -
v6-IPv6对移动性的天然支持
本文想聊一下IPv6的移动性支持。IPv4的移动支持非常垃圾,非常复杂,不断修订也没出个所以然来。这不禁让人想看看IPv6的方案, 天然支持移动IP!要理解IPv6如何天然支持移动IP,有两个前置知识点。这两个前置知识点一旦理解,移动IP就是自然而然的事情了。这两个前置知识点就是关于两类IPv6扩展头的理解。IPv6路由扩展头这个和IPv4的源路由选项类似,但是更加强大。I...原创 2019-03-13 17:33:02 · 451 阅读 · 0 评论 -
活塞发动机和喷气式发动机-绝妙的动力转换
本文最初的题目是《固定翼飞机如何起飞-绝妙的动力转换》,后来发现汽车使用的活塞发动机和飞机的喷气式发动机其背后竟然是一回事,就换了个题目。同时,我也真的觉得,技术代差不是靠 古已有之 这种自我评价可以弥补的。在今年的元旦前夜的罗胖子跨年演讲中,他提到一件事,那就是活字印刷术竟然在印章出现很久后才出现,令人不可思议。开始我也觉得惊奇,但是罗胖的东西往往是经不起推敲的,如果仔细想想,我们会发现...转载 2019-03-26 16:38:15 · 904 阅读 · 0 评论 -
闲谈IPv6-IPv6地址的scope到底是什么?
一台主机启动后,每一块网卡都会自动生成一个fe80打头的 链路本地地址 ,这个地址在Linux上你删都删不掉,不信你试试,在Windows是可以删掉的,但是只要你重置网卡,它就会自动生成…这个所谓的链路本地地址到底有何怪异?我的主机安装两块网卡,分别连接两个网络, 在系统初启的时候,两块网卡分别自动获得了两个IPv6地址:enp0s8:fe80::fbb2:a1e:e59:15eb/64...转载 2019-03-26 16:58:03 · 10590 阅读 · 0 评论 -
关于Linux进程切换switch_to宏的一个细节(认识内联汇编)
起因和缘起本文献给一位非常努力的穿皮鞋的同事。有一天,因为一个已经忘却了的原因就没有在公司食堂吃午饭,当然是出去饭店来了一顿更好的咯…餐后,突然就是天昏地暗暴雨倾盆,当我们意识到这场雨一时半会儿停不下来的时候,我们就打了同事的电话,看看能不能帮忙送几把伞过来…穿着皮鞋跑步总是不会慢的!过了大概十分钟的样子,同事穿着皮鞋蹚着到小腿肚子深的水过来了…那双皮鞋因此进水了,那双皮鞋因为进水...原创 2019-04-04 17:01:12 · 1040 阅读 · 0 评论 -
闲谈IPv6-聊聊IPv6端到端分段和MTU探测的问题
我始终相信,新的事物总是好的,它要么是为了解决前任的问题,要么是从零到一引入了一个创举,人性不好说,但科技总是随着时间进步的。然而人总是有惰性,人没有拥抱变化的基因,所以让人接受新的东西,就要付出点代价。人们会反驳,说新的东西引入了以前曾经没有的问题,但这十有八九是借口,背后其实是再说, 我才不想为支持你这个新玩意儿去改动旧框架呢? 毕竟人都是懒惰的,涉及到工作量的时候,能不动就不动。IP...原创 2019-03-27 17:20:50 · 4397 阅读 · 1 评论 -
对马科维兹“均值-方差”不足之处小结
马氏资产组合理论意义重大,但是在其假设过于严苛,有以下几点不足:第一,理性人假设。理性人假设不符合实际投资者行为,人是有非理性因素的,现实的投资者至多为有限理性,而做不到完全理性,因为投资者会存在一定的认知偏差。第二,假设投资者是风险厌恶的。假设投资者是风险厌恶的,他们对风险的态度是相同的,但是实际中,有的人却既买保险,又买股票,风险偏好和风险厌恶的两种特征在同一投资者身上体现。第三,...转载 2019-04-02 17:26:09 · 7702 阅读 · 0 评论 -
国外经济学期刊分类汇总(经济学、统计学、精算学和金融计量方面)
经济学:顶尖期刊:American Economic ReviewEconometricaJournal of Political EconomyQuarterly Journal of EconomicsReview of Economic Studies一流期刊:Economic JournalGames and Economic BehaviorInternationa...翻译 2019-04-02 17:29:01 · 3387 阅读 · 0 评论
分享