
TCP/IP
zpznba
日日行,不怕千万里。常常做,不怕千万事。
展开
-
【TCP/IP】TCP的三次握手和四次挥手
传输控制协议(TCP)是一种面向连接的协议,网络程序使用这个协议的时候,网络可以保证客户端和服务端的连接是可靠的,安全的。如果 A机向 B机发送“hello”,在物理网线上传输的数据不仅仅是“hello”这5个字符,其实除了hello(被称为有效载荷)之外,还必须有用于TCP/IP协议进行处理所需要的其他很多内容。这其中与socket 编程相关的最主要有4 个东西:A机 IP地址(源IP)、B...原创 2019-03-15 17:13:53 · 356 阅读 · 0 评论 -
TCP状态转换图详解
之前已经介绍了TCP协议的三路握手和四次挥手。如下图所示,TCP通信过程包括三个步骤:建立TCP连接通道(三次握手)、数据传输、断开TCP连接通道(四次挥手)。这里进一步探究TCP三路握手和四次挥手过程中的状态变迁以及数据传输过程。先看TCP状态状态转换图。1. 建立连接(thre...转载 2019-03-17 16:13:14 · 2069 阅读 · 0 评论 -
TCP 拥塞控制
如果网络出现拥塞,分组将会丢失,此时发送方会继续重传,从而导致网络拥塞程度更高。因此当出现拥塞时,应当控制发送方的速率。这一点和流量控制很像,但是出发点不同。流量控制是为了让接收方能来得及接收,而拥塞控制是为了降低整个网络的拥塞程度。TCP 主要通过四个算法来进行拥塞控制:慢开始、拥塞避免、快重传、快恢复。发送方需要维护一个叫做拥塞窗口(cwnd)的状态变量,注意拥塞窗口与发送方...原创 2019-03-22 16:12:31 · 246 阅读 · 0 评论 -
Web 页面请求过程
1. DHCP 配置主机信息:获取IP地址及其他网络配置假设一台计算机最开始没有 IP 地址以及其它信息,如何动态获取IP地址? 这就需要用到运行动态主机配置协议(Dynamic Host Configuration,DHCP),以从本地的DHCP服务器获取一个IP地址以及其他信息。 主机生成一个 DHCP 请求报文,并将这个报文放入具有目的端口 67 和源端口 68 的 UDP 报文段...原创 2019-03-23 12:05:19 · 159 阅读 · 0 评论 -
强制重启处于TIME_WAIT状态的sock
有时候我们希望避免TIME_WAIT状态,因为当程序退出后,我们希望能够立即重启它。但由于处在TIME_WAIT状态的连接还占用着端口,程序将无法启动(直到2MSL超时时间结束)。考虑一个例子:在测试机器ernest-laptop上以客户端方式运行nc命令,登录本机的Web服务,且明确指定客户端使用12345端口与服务器通信。然后从终端输入Ctrl+C终止客户端程序,接着又立即重启nc程序,以完全...原创 2019-05-12 11:24:38 · 477 阅读 · 0 评论