随笔分类 - 网络技术
摘要:https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml Decimal Keyword Protocol IPv6 Extension Header Reference 0 HOPOPT IPv6 Hop-by
阅读全文
摘要:当一个机构或者组织,比如大学,有很多部门,大家都处于一个局域网下。仅仅格局ip段或者路由器,有很大的局限性。这时就提出了vlan,也就是虚拟网络。类似于微信或者qq的分组。是一个逻辑上的网络分组,物理上大家还是在同一个交换机/路由器下。 设置vlan后,可以根据不同vlan之间做隔离,比如有的聊天信
阅读全文
摘要:简介 1883定义了ipv6的协议,不过作废了,在2460又重新做了定义,区别不大,只是有个别字段做了扩充。后面8200又做了新的定义,废弃了2460。 2373和2374对ipv6的格式做了规定。 ipv6是下一代ip地址协议,比ipv4的地址更长,可以表示更多地址段。不过由于ipv6地址太长,不
阅读全文
摘要:tcp/udp网络通信与socket实际上是两个概念,不过因为我们平常使用tcp/udp,不可避免的使用socket,所以认为两者是同一个事物。 我们现在所说的或者最常用到的都是BSD版本的socket。socket是对tcp/udp等网络协议的封装,提供上层接口,供我们使用,可以编写程序在网络间传
阅读全文
摘要:# 服务端源码 ``` #include #include #include #include #include #include #define BUFF_SIZE 1024 int main() { int sock = 0; int recvlen = 0; // 接收数据缓冲区 char b
阅读全文
摘要:udp的好处很明显,效率高,减少了建立连接的流程,减少了报文头的占比,也减少了维护连接的开销。缺点就是不稳定,会丢包。还有就是由于udp的高效,导致用于udp的一些应用开发,并发都比较大,更容易丢包。 # io复用 SO_REUSEADDR SO_REUSEPORT 创建listener用来监听数据
阅读全文
摘要:开发高性能server的时候,不可避免的需要对原生socket做一些配置调优,包括设置io复用、接收发送缓存大小等 如果使用io复用,必须要设置监听socket为SO_REUSEADDR和SO_REUSEPORT。设置复用端口和地址还有个好处,就是程序崩溃后,端口监听有可能没有释放,必须要等两分钟才
阅读全文
摘要:sflow是一种用来统计网络流量的采样方案。 # 采样方式 ## 按照包数采样 比如采样率是1000,每经过一个包,计数器减一,如果计数器为0,采样当前的数据包,然后计数器重置。 ## 随机采样 由于按照固定包数采样,有可能会采到有规律的包,影响采样有效性。比如采样率是1000,每1000个包中,9
阅读全文
摘要:http是在TCP上层的应用协议,基础协议到TCP/UDP就结束了,剩下的是应用协议。应用协议都是在TCP/UDP payload中,根据需求制定的标准。 # 请求 请求包括:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。 ,没有拥塞控制。 虽然UDP本身看上去是不可靠的,但是我们可以在上一层(应用层)自己控制,编写逻辑来维护其可靠性。 UDP一般用作网络音视频流、网络电话视频会议等。因为这些场景的特点是偶尔丢失
阅读全文
摘要:数据在网络中传输,底层并不能保证其稳定性。也就是数据是否到达,到达的顺序是否一直,这些都是无法保证的。TCP就是在底层IP协议的基础上,人为的增加了一种规定,用来保证数据的准确性。就是所有的入网设备,大家都按照我这个规定:发送数据的时候增加一个编号,对方收到数据返回一个通知。数据到达后根据编号进行排
阅读全文
摘要:协议头 |00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31| | Version | IHL | DSCP | ECN | Total Length | |
阅读全文
摘要:以太网帧有多种标准,每个标准有细微区别。最常见的是Ethernet II标准,除此之外还有Novell raw IEEE 802.3|IEEE 802.2 LLC|IEEE 802.2 SNAP。 帧头格式 |Dest MAC|Src MAC|Ethernet Type|Data|CRC| | |
阅读全文
摘要:介绍 在19世纪80年代后期,Van Jacobson, Steve McCanne 和其他人在位于Lawrence Berkeley National Laboratory的Network Research Group中开发了tcpdump——用来捕获和分析网络流。读取网络流,然后通过libpca
阅读全文