计算机网络
1.无类型域间选路(CIDR)
32 位的 IP 地址一分为二,前面是网络号,后面是主机号。将子网掩码和 IP 地址按位计算 AND,就可得到网络号。
举例10.100.122.2/24 广播地址,10.100.122.255 子网掩码,255.255.255.0
2.ARP请求
当需要目标地址的MAC地址时,如果是在同一个网段(局域网),发送ARP请求(通过广播)获得目标地址的MAC地址。如果不在同一个网段,就发到网关
3.动态主机配置协议(DHCP)
DHCP协议会给新加入网络的计算机动态分配ip地址
4.交换机
交换机在发送数据时会记住不同端口的mac地址,下次传输数据的时候直接能找到和Mac地址对应的端口,不需要广播了
5.ICMP
互联网控制报文协议
6.网关
例如 192.168.1.0/24 这个网段,Gateway 往往会是 192.168.1.1/24 或者 192.168.1.2/24。
7.TCP和UDP
TCP是面向连接的,UDP是面向无连接的
TCP 提供可靠交付。通过 TCP 连接传输的数据,无差错、不丢失、不重复、并且按序到达
TCP 是面向字节流的
TCP 是可以有拥塞控制的
TCP 其实是一个有状态服务
UDP头
TCP头
TCP 包头很复杂,但是主要关注五个问题,顺序问题,丢包问题,连接维护,流量控制,拥塞控制;
TCP的三次握手
seq代表序列号
TCP的四次挥手
8.HTTP协议
请求头
响应头
URI: 统一资源标识符,使用它就能够唯一地标记互联网上资源
URL:统一资源定位符。就是我们俗称的“网址”,它实际上是 URI 的一个子集,不过因为这两者几乎是相同的,差异不大,所以通常不会做严格的区分
Nginx 网站来举例,看一下 URI 是什么样子的。
http://nginx.org/en/download.html
URI 主要有三个基本的部分构成:
- 协议名:即访问该资源应当使用的协议,在这里是“http”;
- 主机名:即互联网上主机的标记,可以是域名或 IP 地址,在这里是“nginx.org”;
- 路径:即资源在主机上的位置,使用“/”分隔多级目录,在这里是“/en/download.html”。
https
它的全称是“HTTP over SSL/TLS”,也就是运行在 SSL/TLS 协议上的 HTTP