摘要:
``` error: ../../grub-core/kern/efi/sb.c:183:bad shim signature. error: ../../grub-core/loader/i386/efi/linux.c:168:youneed to load the kernel first. 阅读全文
摘要:
# Debian/Ubuntu v2r[abc]ayA 的功能依赖于 V2R[abc]ay 内核,因此需要安装内核 ## 安装 V2R[abc]ay 内核 ### 方法一 V2R[abc]ay 的官方脚本 V2R[abc]ay 安装参考:https://github.com/v2fly/fhs-in 阅读全文
摘要:
项目一开始用的autotool一套,但是这套东西太重了,出现的比较久远,依赖的东西也比较多,学习成本高,编译效率也没有新出现的ninja等工具好,所以准备换掉。 可选项有cmake和ninja/meson,不过考虑到项目还没有大到使用这些工具,目前直接更换为makefile自己手动维护。 inclu 阅读全文
摘要:
http是在TCP上层的应用协议,基础协议到TCP/UDP就结束了,剩下的是应用协议。应用协议都是在TCP/UDP payload中,根据需求制定的标准。 # 请求 请求包括:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。 ![](https://img2 阅读全文
摘要:
Linux为什么要有大页内存?为什么DPDK必须要设置大页内存?这都是由系统架构决定的。一开始为了解决一个问题,设计了对应的方案,随着事物的发展,无法满足新的需求,就在原来的基础上改进,慢慢的变成了现在的样子。 物理内存 Physical address 物理内存就是电脑的内存条,上面的每一个方块就 阅读全文
摘要:
RFC1700总结了相关的内容,比如IP层中每种协议对应的数字,特定的协议比如http默认端口,tcp中TOS的数值意义等。 https://www.rfc-editor.org/rfc/rfc1700.html 阅读全文
摘要:
用来按照你的需求格式化输出各种字符,比如"{:#06x}".format(i)。 首先,我们需要知道,都是"{}".format()格式,大括号中的内容就是指定格式化的样式,以:开头。常见的有: |标志|意义| | | | |:<|左对齐| |:>|右对齐| |:^|居中| |:=|把标志放到左边, 阅读全文
摘要:
unpack的作用就是把字符串或者byte类型数据按照你的格式转换,比如 import struct ethernet_header = b'\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xdd' (source_mac, destinat 阅读全文
摘要:
`file a.out` 如果是debug版本,会显示with debug信息 `readelf -S a.out|grep debug` 如果是debug版本,会有相关信息 阅读全文
摘要:
相对TCP,UDP更简单,UDP只需要传递数据,不需要建立链接,不保证顺序,没有重传(也就是数据丢了就丢了),没有拥塞控制。 虽然UDP本身看上去是不可靠的,但是我们可以在上一层(应用层)自己控制,编写逻辑来维护其可靠性。 UDP一般用作网络音视频流、网络电话视频会议等。因为这些场景的特点是偶尔丢失 阅读全文