随笔分类 - 网络
摘要:给客户端的端口号通常是动态分配的,称为ephemeral port(临时端口) net.ipv4.ip_local_port_range 在Linux系统上临时端口号的取值范围是通过这个内核参数定义的:net.ipv4.ip_local_port_range (/proc/sys/net/ipv4/
阅读全文
摘要:
1. 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;`(将连接放入半连接队列中)`
2. 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
3. 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。`(连接从半连接队列移出,移入全连接队列中。)`
阅读全文
1. 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;`(将连接放入半连接队列中)`
2. 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
3. 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。`(连接从半连接队列移出,移入全连接队列中。)`
阅读全文
摘要:sockaddr_in结构体定义 1.成员sin_family 地址族(Address Family) | 含义 | : : AF_INET | IPv4网络协议中使用的地址族 AF_INET6| IPv6网络协议中使用的地址族 AF_LOCAL | 本地通信中采用的Unix协议的地址族 2.成员s
阅读全文
摘要:设置标准I/O函数缓冲区的主要目的是为了提高性能。但套接字中的缓冲主要是为了实现TCP协议而设立的。例如,TCP传输中丢失数据时将再次传递,而再次发送数据则意味着在某地保存了数据。存在什么地方呢?套接字的输出缓冲中。与之相反,使用标准I/O函数缓冲的主要目的是为了提高性能。 实际上,缓冲并非在所有的
阅读全文
摘要:为什么TCP协议终止链接要四次? 1、当主机A确认发送完数据且知道B已经接受完了,想要关闭发送数据口(当然确认信号还是可以发),就会发FIN给主机B。 2、主机B收到A发送的FIN,表示收到了,就会发送ACK回复。 3、但这是B可能还在发送数据,没有想要关闭数据口的意思,所以FIN与ACK不是同时发
阅读全文
摘要:ip地址 0.0.0.0与 127.0.0.1 的区别 localhost 本地主机ip
阅读全文

浙公网安备 33010602011771号