![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
tcp/ip
文章平均质量分 87
davidsu33
这个作者很懒,什么都没留下…
展开
-
epoll学习:思考一种高性能的服务器处理框架
终于开始学习epoll了,虽然不明白的地方还是很多,但从理论到实践,相信自己动手去写一个具体的框架后,一切会清晰很多。1、首先需要一个内存池,目的在于:·减少频繁的分配和释放,提高性能的同时,还能避免内存碎片的问题;·能够存储变长的数据,不要很傻瓜地只能预分配一个最大长度;·基于SLAB算法实现内存池是一个好的思路:分配不同大小的多个块,请求时返回大于请求长度的最小块即可,对于转载 2017-02-08 10:16:16 · 1502 阅读 · 0 评论 -
MSL(Max Segment Lifetime) TTL(Time to Life) RTT(Round-Trip Time)
一、 msl、ttl及rtt的区别 1、 MSL 是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。因为tcp报文 (segment)是ip数据报(datagram)的数据部分,具体称谓请参见《数据在网络各层中的称呼》一文; 2、ip头中有一个TTL域,TTL是转载 2017-01-17 17:09:22 · 2893 阅读 · 0 评论 -
TCP分段与UDP/IP分片 (MTU最大传输单元,MSS最大分段大小)
我们在学习TCP/IP协议时都知道,TCP报文段如果很长的话,会在发送时发生分段,在接受时进行重组,同样IP数据报在长度超过一定值时也会发生分片,在接收端再将分片重组。 我们先来看两个与TCP报文段分段和IP数据报分片密切相关的概念。 MTU(最大传输单元) MTU前面已经说过了,是链路层中的网络对数据帧的一个限制,依然以以太网为例,MTU为1500个字节转载 2017-01-17 17:31:30 · 2361 阅读 · 0 评论 -
TCP UDP传输原理 及 数据块,分节,分组,数据报,数据包的区别
关于TCP输出: 每个TCP套接口有一个发送缓冲区,当应用程序调用write时,内核将应用程序的缓冲区的数据拷贝到TCP的发送缓冲区,(如果write成功返回,仅仅表示应用程序的缓冲区已经全部拷贝到TCP的发送缓冲区,说明此时应用程序的缓冲区中的数据可以丢弃,并不表示TCP的数据已经成功发送)TCP以对方MSS(maximum segment size)大小或者更小发送数据块给IP,并转载 2017-01-17 16:46:04 · 884 阅读 · 0 评论 -
IP数据包中报头长度的计算
IP数据包格式版本Version:4位,表示IP地址的版本 1111=32bits首部长度Header Length:4位,表示IP数据报头的长度,最小20字节,最大69字节。那么这个bit是怎么表示的呢。0001 = 1X4=4字节 0101 = 5 5X4=20字节 1111 = 15 15X4=60字节转载 2017-01-18 11:25:52 · 8714 阅读 · 0 评论 -
Linux网络编程常用文件
=====常用Linux网络编程头文件====sys/types.h:数据类型定义 sys/socket.h:提供socket函数及数据结构 netinet/in.h:定义数据结构sockaddr_in arpa/inet.h:提供IP地址转换函数 netdb.h:提供设置及获取域名的函数 sys/ioctl.h:提供对I/O控制的函数 sys/转载 2017-01-19 15:42:57 · 259 阅读 · 0 评论 -
Linux中SIGPIPE信号说明
当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。我写了一个服务器程序,在Linux下测试,然后用C++写了客户端用千万级别数量的短链接进行压力测试. 但是服务器总是莫名退出,没有core文件.最后问题确转载 2017-01-22 15:53:24 · 1896 阅读 · 0 评论