文章目录
网络层:
在复杂网络环境中,为每一条数据选择一条合适路径进行传输
而选择的路径是根据每一条数据中的目的端地址决定
并且路由选择也依托于良好的地址管理
ip协议特性解析:
协议字段信息:
4位协议版本:指定IP协议的版本, 对于IPv4来说, 就是4
4位头部长度:IP头部最大长度是60字节
8位服务类型:4位TOS字段,最小延时, 最大吞吐量, 最高可靠性, 最小成本. 这四者相互冲突,只能选择一个
16位数据报长度:包括IP头在内,一个IP报文的长度(2^16,64k)---一个udp报文的最大数据段大小为64k-20-8
16位标识:
3位标记:第一位保留,第二位置为1表示禁止分片,第三位表示更多分片
8位TTL:数据报到达目的地的最大报文跳数,这个字段主要是用来防止出现路由循环
8位上层协议:表示上层协议的类型
16位校验和:CRC检验头部是否损坏
32位源ip地址/目的ip地址:发送端和接收端
40字节选项数据
地址管理:
ip地址的组成:
网络号+主机号
网段的划分:
早期的划分方式:A(0-127,低24位是主机号)/B(128-191,低16位是主机号)/C(192-223,低8位主机号)/D/E
现在的划分方式:CIDR
子网掩码:uint32_t,一个连续的由二进制1组成的数字
1.子网掩码与ip地址与操作可以得到网络号
2.子网掩码取反可以得到局域网中最大主机号 范围(0-最大主机号)
特殊的ip地址:主机号全为0/主机号全为1/127.0.0.1(本地回环)/255.255.255.255(全网广播)/0.0.0.0
组建私网的网络号:(10. * . * . * ) (172.16. * . * ) -(172.31 . * . *) (192.168 . * . *)
链路层:
以太网协议特性解析:
Ethernet协议字段信息:
6字节目的端mac地址/源端mac地址
2字节上层协议;
CRC检验和
相邻设备的mac地址获取:通过arp协议获取
arp:介于网络层与链路层之间的协议,广播arp请求通过ip地址获取对端mac地址
mac地址本质:uint8_t[6] 无符号48位整数,网卡出厂时设定
MTU:最大传输单元—链路层控制的最大数据帧大小(不包括以太帧头和以太帧尾)
MSS:最大数据段大小(应用层数据大小,不包括任何数据头)
MTU对TCP的影响:
tcp在传输层三次握手的时候就会根据自身的mtu大小协商mss;取其中较小的乙方作为最大数据段大小
tcp在传输层会自动进行分段,不会在网络层进行数据分片
MTU对UDP的影响:
udp不会再传输层进行分段,数据若大于mtu,则会在网络层进行数据分片,到达对端主机后进行分片重组,一饿分片出错,整个udp报文将被丢弃,分片越多越危险
域名服务器的层级划分:
DNS:域名系统—进行域名解析(通过域名解析获取服务器ip地址)
根域名服务器—>顶级域名服务器—>二级域名服务器—>三级域名服务器…
域名的层级划分:
顶级域名(.com/.org/.gov/.edu/.cn/.jp)—>二级域名(baidu.com)—>三级域名(image.baidu.com)
域名的解析流程:
1.浏览器先在缓冲中查看域名对应关系
2.查看操作系统缓冲,解析hosts文件
3.本地DNS服务器(一般是自动获取运营商的本地DNS服务器)递归或者迭代去根域名服务器/二级域名服务器
/三级域名服务器查找对应关系
ICMP协议:
是一个网络层协议,作用是进行网络探测
NAT技术:
网络地址转换服务,通常部署在网关设备上,对流经网关的数据进行地址替换(把源端地址替换位本机地址),为了让数据怎么出去就怎么回来
NAT和代理的区别:
1.NAT是部署在网关设备上,而代理服务可以部署在任意设备上
2.NAT服务工作在网络层,进行源地址替换,代理服务工作在应用层,要求源端先 将数据发给自己,自己在将数据交给对端