![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机网络
清风徐来918
这个作者很懒,什么都没留下…
展开
-
NAT环境下tcp_timestamps问题
tcp_tw_recycle参数用来快速回收TIME_WAIT连接,不过如果在NAT环境下会引发问题。RFC1323中有如下一段描述:An additional mechanism could be added to the TCP, a per-hostcache of the last timestamp received from any connection.Thi原创 2016-10-18 17:33:29 · 3384 阅读 · 0 评论 -
NetBIOS协议
一、 NetBIOS (网络输入输出系统)简介 ---- 通过主机名称转换IPNETBIOS协议是由IBM公司开发,主要用于数十台计算机的小型局域网。用于将NetBIOS名解析为相应IP地址。在局域网内部使用NetBIOS协议可以方便地实现消息通信及资源的共享。因为它占用系统资源少、传输效率高,所以几乎所有的局域网都是在NetBIOS协议的基础上工作的。本机的NetBIOS原创 2016-11-22 15:32:17 · 1007 阅读 · 0 评论 -
ICOP Win异步通讯
iocp (I/O Completion Port,I/O 完成端口 ) 是 Windows 异步通讯机制完成端口大概的处理流程:1:创建一个完成端口。2:创建一个线程A。3:A线程循环调用GetQueuedCompletionStatus()函数来得到IO操作结果,这个函数是个阻塞函数。4:主线程循环里调用accept等待客户端连接上来。5:主线程里accept返回新原创 2016-11-22 15:31:08 · 574 阅读 · 0 评论 -
C10K问题
网络服务在处理数以 万计的客户端 连接时,往往出现效率底下甚至完全瘫痪,这被成为 C10K问题 。select和poll在连接数增加时,性能急剧下降。这有两方面的原因:(1)操作系统面对每次的select/poll操作,都需要 重新建立 一个当前线程的关心事件链表,并把线程挂在这个复杂的等待队列上,这是相当耗时的。(2)应用软件在select/poll返回后需要对传入的句柄原创 2016-10-18 17:28:20 · 711 阅读 · 0 评论 -
INADDR_ANY
INADDR_ANY 就是指定地址为 0.0.0.0 的地址,这个地址事实上表示不确定地址, 或" 所有地址 "、"任意地址"。如果服务器有多个网卡(每个网卡上有不同的IP地址),bind INADDR_ANY, 服务器程序则在0.0.0.0这个地址上进行侦听。告诉操作系统:"我需要在yyyy端口上侦听,所以不管是哪个网卡/哪个IP地址接收到发送到这个端口的数据,都是我处理的。"原创 2016-11-22 15:24:18 · 412 阅读 · 0 评论 -
ICMP
原创 2016-11-22 15:23:29 · 318 阅读 · 0 评论 -
回环接口 loopback
大多数的产品都支持 环回接口 (Loopback Interface),以允许运行在 同一台主机上 的客户程序和服务器程序通过TCP/IP进行通信。A类网络号127就是为环回接口预留的。根据惯例,大多数系统把IP地址 127.0.0.1 分配给这个接口,并命名为 localhost 。一个传给环回接口的IP数据报 不能在任何网络上出现。传给广播地址或多播地址的数据报复制一份原创 2016-11-22 15:21:30 · 662 阅读 · 0 评论 -
TCP/UDP 报最大长度
传输层:对于UDP协议来说,整个包的最大长度为65535,其中包头长度是65535-20=65515;对于TCP协议来说,整个包的最大长度是由最大传输大小(MSS,Maxitum Segment Size)决定,MSS就是TCP数据包每次能够传输的最大数据分段。为了达到最佳的传输效能TCP协议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候往往用MTU值代替(需要原创 2016-11-22 15:11:48 · 11628 阅读 · 0 评论 -
IP-TOS字段
服务类型 (TOS)字段包括一个3 bit的优先权子字段(现在已被忽略),4 bit的TOS子字段和1 bit未用位但必须置04 bit的TOS分别代表: 最小时延、最大吞吐量、最高可靠性和最小费用 。4 bit中只能置其中1 bit。如果所有4 bit均为0,那么就意味着是一般服务。原创 2016-11-22 15:07:20 · 9381 阅读 · 0 评论 -
TC/IP 协议格式
(1)数据链路层IEEE 802.2/802.3(RFC 1042)和以太网的封装格式(RFC 894)(2) IP层(3)TCP(4)UDP原创 2016-11-22 15:04:56 · 1337 阅读 · 0 评论 -
原始套接字
Unix的Socket() C函数详细说明:int socket(int domain, int type, int protocol)domain 的取值:PF_UNIX Unix IPC通信PF_INET IPV4通信PF_INET6 IPV6PF_IPX Novell IPXPF_NETLINK Kernel用户接口驱动程序PF_X25 X.25原创 2016-11-22 14:58:51 · 354 阅读 · 0 评论 -
SYN Cookies 技术
TCP协议开辟了一个比较大的内存空间 backlog队列 来存储 半连接条目 ,当SYN请求不断增加,并这个空间,致使系统 丢弃SYN连接 。为使半连接队列被塞满的情况下,服务器仍能处理新到的SYN请求,SYN cookies技术被设计出来。SYN cookies应用于linux、FreeBSD等操作系统,当半连接队列满时,SYN cookies并不丢弃SYN请求,而是通过 加密 技术原创 2016-11-22 14:56:50 · 1145 阅读 · 1 评论 -
【TCP 关键知识点】
(1) 设置socket为非阻塞端口int setNonBolck(int nfd){//set non-block socketint bFlags = fcntl(nfd, F_GETFL, 0);if(bFlags {std::coutreturn -1;}bFlags |= O_NONBLOCK ;if(fcntl(nfd, F_SETFL,原创 2016-11-22 14:55:35 · 580 阅读 · 0 评论 -
私有IP
私有IP:属于非注册地址,专门为组织机构内部,使用地址范围:A: 10.0.0.0~10.255.255.255 /8 B: 172.16.0.0~172.31.255.255 /16 C: 192.168.0.0~192.168.255.255 /24特殊IP:任何第一个字节大于223小于240的IP地址(范围224.0.0.1-239.255.2原创 2016-11-16 16:54:05 · 225 阅读 · 0 评论 -
TCP/IP状态图
原创 2016-11-16 16:52:58 · 277 阅读 · 0 评论 -
Accept惊群
什么是“Accept惊群”?简单说来,多线程/多进程等待同一个socket事件,当connect事件发生时,这些线程/进程被同时唤醒,就是惊群。这样效率很低,许多进程被内核重新调度唤醒,同时去响应这一个事件,当然只有一个进程能处理事件成功,其他的进程在处理该事件失败后重新休眠。这种性能浪费现象就是惊群。惊群通常发生在server上,当父进程绑定一个端口监听socket,然后fork原创 2016-10-18 17:40:48 · 487 阅读 · 0 评论 -
带外数据
TCP协议 只支持 1字节 带外数据如果发送一个多字节的带外数据:send(fd, "123", 3, MSG_OOB);或者连续发送多次带外数据:send(nConnfd, "cmd=100", 7, 0);send(nConnfd, "x", 1, MSG_OOB);send(nConnfd, "aaa", 3, 0);send(nConnfd, "123",原创 2016-11-22 15:34:10 · 314 阅读 · 0 评论