随笔分类 -  网络

摘要:给客户端的端口号通常是动态分配的,称为ephemeral port(临时端口) net.ipv4.ip_local_port_range 在Linux系统上临时端口号的取值范围是通过这个内核参数定义的:net.ipv4.ip_local_port_range (/proc/sys/net/ipv4/ 阅读全文
posted @ 2020-12-15 17:02 城东 阅读(1186) 评论(0) 推荐(0)
摘要: 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状态,完成三次握手。`(连接从半连接队列移出,移入全连接队列中。)` 阅读全文
posted @ 2020-12-12 12:09 城东 阅读(1064) 评论(0) 推荐(0)
摘要:sockaddr_in结构体定义 1.成员sin_family 地址族(Address Family) | 含义 | : : AF_INET | IPv4网络协议中使用的地址族 AF_INET6| IPv6网络协议中使用的地址族 AF_LOCAL | 本地通信中采用的Unix协议的地址族 2.成员s 阅读全文
posted @ 2018-03-30 15:58 城东 阅读(4136) 评论(0) 推荐(0)
摘要:设置标准I/O函数缓冲区的主要目的是为了提高性能。但套接字中的缓冲主要是为了实现TCP协议而设立的。例如,TCP传输中丢失数据时将再次传递,而再次发送数据则意味着在某地保存了数据。存在什么地方呢?套接字的输出缓冲中。与之相反,使用标准I/O函数缓冲的主要目的是为了提高性能。 实际上,缓冲并非在所有的 阅读全文
posted @ 2018-03-28 11:50 城东 阅读(466) 评论(0) 推荐(0)
摘要:为什么TCP协议终止链接要四次? 1、当主机A确认发送完数据且知道B已经接受完了,想要关闭发送数据口(当然确认信号还是可以发),就会发FIN给主机B。 2、主机B收到A发送的FIN,表示收到了,就会发送ACK回复。 3、但这是B可能还在发送数据,没有想要关闭数据口的意思,所以FIN与ACK不是同时发 阅读全文
posted @ 2018-03-16 09:37 城东 阅读(541) 评论(0) 推荐(0)
摘要:ip地址 0.0.0.0与 127.0.0.1 的区别 localhost 本地主机ip 阅读全文
posted @ 2017-06-16 10:05 城东 阅读(7212) 评论(0) 推荐(0)