随笔分类 -  网络

摘要:连接 1. TIME-WAIT Linux 系统停留在 TIME_WAIT 的时间为固定的 60 秒。 #define TCP_TIMEWAIT_LEN (60*HZ) /* how long to wait to destroy TIME-WAIT state, about 60 seconds 阅读全文
posted @ 2020-08-29 20:48 小小小南瓜 阅读(157) 评论(0) 推荐(0)
摘要:1. 套接字的地址结构 1.1 通用的地址结构: /* POSIX.1g 规范规定了地址族为 2 字节的值. */ typedef unsigned short int sa_family_t; /* 描述通用套接字地址 */ struct sockaddr{ sa_family_t sa_fami 阅读全文
posted @ 2020-08-29 20:18 小小小南瓜 阅读(286) 评论(0) 推荐(0)
摘要:一个 TCP 连接可以发多少个 HTTP 请求呢? 1. 打开网址的过程 DNS服务器请求解析(检查host文件) 建立TCP连接,三次握手 发送HTTP请求,请求行、请求头部、空行和请求数据4部分组 服务器返回,服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应 阅读全文
posted @ 2020-08-29 20:16 小小小南瓜 阅读(581) 评论(0) 推荐(0)
摘要:HTTP “HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范”。 是一个请求响应协议,运行在TCP之上应用层协议。 在互联网世界里,HTTP 通常跑在 TCP/IP 协议栈之上,依靠 IP 协议实现寻址和路由、TCP 协议实现可靠数据传输、DNS 协议实 阅读全文
posted @ 2020-08-29 19:28 小小小南瓜 阅读(211) 评论(0) 推荐(0)
摘要:TCP TCP握手与分手的完整过程 1. 三次握手 首先客户端向服务器端发送一段TCP报文,包括SYN包和序列号,进入SYN_SENT 服务器端接收到来自客户端的TCP报文之后,结束LISTEN阶段,应答SYN和ACK,确认序列号,发送自己的序列号,进入SYN-RCVD 客户端接收到来自服务器端的确 阅读全文
posted @ 2020-08-29 18:51 小小小南瓜 阅读(169) 评论(0) 推荐(0)
摘要:网络分层模型 OSI协议栈层次图: 物理层:网卡、光纤、线缆、集线器等 数据链路层:以太网协议、mac地址控制 网络层:IP协议,IP地址 子网、网关等等 传输层:建立端口到端口的通信,TCP协议、UDP协议等等 会话层 :维护网络中的连接状态、保持会话和同步 表示层:把数据转换为合适、可理解的语法 阅读全文
posted @ 2020-08-29 17:36 小小小南瓜 阅读(131) 评论(0) 推荐(0)
摘要:在没接触过这个问题之前,自然会想到服务器端连接数是由服务器端口号限制的。但这其实是一个很严重的误解,要解决这个问题,必须理解socket的连接过程。 以python为例,tcp服务端socket需要经过如下的初始化步骤: import socket # 建立socket对象 s = socket.s 阅读全文
posted @ 2020-08-27 20:51 小小小南瓜 阅读(2398) 评论(0) 推荐(0)