随笔分类 -  网络

网络
摘要:1 前言 之前趁腾讯云搞活动,买了两台一年的轻量级应用服务器,搭搭自己的微服务,方便自己测试研究嘛,后来看见域名有便宜的,就买了一个,然后要各种备案啊,走流程啊,这里来记录下一个个人域名到能解析到自己的网站的过程哈。 我的资源都在腾讯云哈,两台轻量级应用服务器、域名也都是在腾讯买的,域名购买到能解析 阅读全文
posted @ 2024-02-17 10:48 酷酷- 阅读(81) 评论(0) 推荐(0)
摘要:大家对于网速的认知可能有些问题。 例如你家装了100M的宽带,电脑里下载的单位是Bytes,而表示宽带的单位是bit,1Bytes=8bit,扣除开销字节,基本上100M宽带的下载速度在10-11M/s左右。 常见宽带 理论最高速率(Mbps) 理论最高速率(KB/S) 理论每秒下载速率(MB/S) 阅读全文
posted @ 2023-08-01 06:33 酷酷- 阅读(8875) 评论(0) 推荐(0)
摘要:1 前言 对于没有[公网 IP]的用户来说,如何实现远程管理或让局域网的服务可以被公网访问到是一个问题。当然,也有很多类似的需求,比如: 微信公众号小程序开发调试 公网访问本地 web 项目 异地远程处理公司服务问题 异地访问公司内网财务 / 管理系统 远程访问内网群晖 NAS 而解决这些问题的方案 阅读全文
posted @ 2023-08-01 06:21 酷酷- 阅读(6862) 评论(0) 推荐(0)
摘要:1 前言 这节我们来看看 IP 协议相关技术。 跟 IP 协议相关的技术也不少,接下来说说与 IP 协议相关的重要且常见的技术。 DNS 域名解析 ARP 与 RARP 协议 DHCP 动态获取 IP 地址 NAT 网络地址转换 ICMP 互联网控制报文协议 IGMP 因特网组管理协议 2 DNS 阅读全文
posted @ 2023-07-20 06:30 酷酷- 阅读(129) 评论(0) 推荐(0)
摘要:1 前言 这节我们来看看 IP的一些基础知识。 2 IP 基本认识 IP 在 TCP/IP 参考模型中处于第三层,也就是网络层。 网络层的主要作用是:实现主机与主机之间的通信,也叫点对点(end to end)通信。 网络层与数据链路层有什么关系呢? 有的小伙伴分不清 IP(网络层) 和 MAC ( 阅读全文
posted @ 2023-07-20 06:30 酷酷- 阅读(332) 评论(0) 推荐(0)
摘要:1 前言 在日常生活或工作中,我们在判断与对方网络是否畅通,使用的最多的莫过于 ping 命令了。 那你知道 ping 是如何工作的吗?这节我们就来看看哈。 2 IP协议的助手 —— ICMP 协议 ping 是基于 ICMP 协议工作的,所以要明白 ping 的工作,首先我们先来熟悉 ICMP 协 阅读全文
posted @ 2023-07-19 06:12 酷酷- 阅读(232) 评论(0) 推荐(0)
摘要:1 前言 这节我们来看个问题,就是 断网了,还能 ping 通 127.0.0.1 吗?如果把 127.0.0.1 换成 0.0.0.0 或 localhost 会怎么样呢?你知道这几个IP有什么区别吗? 话不多说,我们直接开车。拔掉网线,断网。 然后在控制台输入ping 127.0.0.1。 $ 阅读全文
posted @ 2023-07-19 06:12 酷酷- 阅读(212) 评论(0) 推荐(0)
摘要:1 前言 这节我们来看个问题,就是 TCP 四次挥手,可以变成三次吗? 2 刨析 虽然我们在学习 TCP 挥手时,学到的是需要四次来完成 TCP 挥手,但是在一些情况下, TCP 四次挥手是可以变成 TCP 三次挥手的。 而且在用 wireshark 工具抓包的时候,我们也会常看到 TCP 挥手过程 阅读全文
posted @ 2023-07-18 06:13 酷酷- 阅读(208) 评论(0) 推荐(0)
摘要:1 前言 这节我们来看个问题,就是 有 accept,能建立 TCP 连接吗? 2 刨析 下面这个动图,是我们平时客户端和服务端建立连接时的代码流程。 对应的是下面一段简化过的服务端伪代码。 int main() { /*Step 1: 创建服务器端监听socket描述符listen_fd*/ li 阅读全文
posted @ 2023-07-18 06:13 酷酷- 阅读(132) 评论(0) 推荐(0)
摘要:1 前言 这节我们来看个问题,就是 服务端没有 listen,客户端发起连接建立,会发生什么? 为服务端没有调用 listen,客户端会 ping 不通服务器,如果你这么想那你就搞错了。 ping 使用的协议是 ICMP,属于网络层的事情,而问的方向是传输层的问题。 针对这个问题,服务端如果只 bi 阅读全文
posted @ 2023-07-17 06:20 酷酷- 阅读(163) 评论(0) 推荐(0)
摘要:1 前言 这节我们来看个问题,就是 TCP 和 UDP 可以使用同一个端口吗? 关于端口的知识点,还是挺多可以讲的,比如还可以牵扯到这几个问题: 多个 TCP 服务进程可以同时绑定同一个端口吗? 重启 TCP 服务进程时,为什么会出现“Address in use”的报错信息?又该怎么避免? 客户端 阅读全文
posted @ 2023-07-17 06:19 酷酷- 阅读(655) 评论(0) 推荐(1)
摘要:1 前言 这节我们来看个问题,就是 TCP 协议有什么缺陷? 很多同学第一反应就会说把 TCP 可靠传输的特性(序列号、确认应答、超时重传、流量控制、拥塞控制)在应用层实现一遍。 实现的思路确实这样没错,但是有没有想过,既然 TCP 天然支持可靠传输,为什么还需要基于 UDP 实现可靠传输呢?这不是 阅读全文
posted @ 2023-07-16 12:31 酷酷- 阅读(374) 评论(0) 推荐(0)
摘要:1 前言 这节我们来看个问题,就是 TCP 协议有什么缺陷? TCP 通过序列号、确认应答、超时重传、流量控制、拥塞控制等方式实现了可靠传输,看起来它很完美,事实真的是这样吗?TCP 就没什么缺陷吗? 所以,今天就跟大家聊聊,TCP 协议有哪些缺陷?主要有四个方面: 升级 TCP 的工作很困难; T 阅读全文
posted @ 2023-07-16 12:31 酷酷- 阅读(165) 评论(0) 推荐(0)
摘要:1 前言 这节我们来看个问题,就是 TCP Keepalive 和 HTTP Keep-Alive 是一个东西吗? 事实上,这两个完全是两样不同东西,实现的层面也不同: HTTP 的 Keep-Alive,是由应用层(用户态) 实现的,称为 HTTP 长连接; TCP 的 Keepalive,是由  阅读全文
posted @ 2023-07-16 12:30 酷酷- 阅读(111) 评论(0) 推荐(0)
摘要:1 前言 这节我们来看个问题,就是 TCP 连接,一端断电和进程崩溃有什么区别? 这个属于 TCP 异常断开连接的场景,这部分内容在我的「图解网络」还没有详细介绍过,这次就乘着这次机会补一补。 这个问题有几个关键词: 没有开启 keepalive; 一直没有数据交互; 进程崩溃; 主机崩溃; 我们先 阅读全文
posted @ 2023-07-13 07:40 酷酷- 阅读(193) 评论(0) 推荐(0)
摘要:1 前言 这节我们来看个问题,就是 TIME_WAIT 状态持续时间过短或者没有,会有什么问题? 或者net.ipv4.tcp_tw_reuse 参数可以快速复用处于 TIME_WAIT 状态的 TCP 连接,那为什么 Linux 默认是关闭状态呢?也就是为什么要保留这个 TIME_WAIT 状态呢 阅读全文
posted @ 2023-07-13 07:28 酷酷- 阅读(207) 评论(0) 推荐(0)
摘要:1 前言 这节我们来看个问题,就是在 TCP 正常挥手过程中,处于 TIME_WAIT 状态的连接,收到相同四元组的 SYN 后会发生什么? 问题现象如下图,左边是服务端,右边是客户端: 2 先说结论 在跟大家分析 TCP 源码前,我先跟大家直接说下结论。 针对这个问题,关键是要看 SYN 的「序列 阅读全文
posted @ 2023-07-13 07:27 酷酷- 阅读(153) 评论(0) 推荐(0)
摘要:1 前言 这节我们来看个问题,就是四次挥手中收到乱序的 FIN 包会如何处理? 比如,如果 FIN 报文比数据包先抵达客户端,此时 FIN 报文其实是一个乱序的报文,此时客户端的 TCP 连接并不会从 FIN_WAIT_2 状态转换到 TIME_WAIT 状态。 因此,我们要关注到点是看「在 FIN 阅读全文
posted @ 2023-07-12 07:20 酷酷- 阅读(352) 评论(0) 推荐(0)
摘要:1 前言 这节我们来看个问题,就是一个已经建立的 TCP 连接,客户端中途宕机了,而服务端此时也没有数据要发送,一直处于 Established 状态,客户端恢复后,向服务端建立连接,此时服务端会怎么处理? TCP 连接是由「四元组」唯一确认的。然后这个场景中,客户端的 IP、服务端 IP、目的端口 阅读全文
posted @ 2023-07-12 07:19 酷酷- 阅读(713) 评论(0) 推荐(0)
摘要:1 前言 这节我们来看个问题,就是TCP 半连接队列和全连接队列满了会发生什么?又该如何应对? 2 什么是 TCP 半连接队列和全连接队列? 在 TCP 三次握手的时候,Linux 内核会维护两个队列,分别是: 半连接队列,也称 SYN 队列; 全连接队列,也称 accepet 队列; 服务端收到客 阅读全文
posted @ 2023-07-11 06:10 酷酷- 阅读(825) 评论(0) 推荐(1)