网络层
在复杂的网络中确定一个合适的路径(负责地址管理与路由选择)
IP协议
-
4位协议版本:IPV4/Ipv6
-
4位头部长度:IP报文头最大长度是60个字节(4字节为单位)
-
8位服务类型:4位TOS字段(最小延时/最⼤吞吐量/最高可靠性/最小成本)1位保留位
-
16位报文长度:限制一个IP报文最大长度64kb udp数据最大长度:64kb-20-8
-
MTU:最大传输单元
当mtu< udp数据长度<64K-20-8时,链路层则不支持大于mtu大小数据传输,这时候网络先获取下层mtu大小,在网络层对数据进行分片 -
16位标识(id):udp数据可能在网络层进行数据分片,这个标识则可以指定当前分片属于哪个udp数据包
-
3位标志:1位启用,1位标识是否禁止分片,1位用于标识分片末尾
-
13位片偏移:用于指定udp数据分片相对于udp数据包起始位置的偏移量(分片在数据包的位置)偏移量是以8字节为单位,每个分片都是8的整数倍长度(除最后一个分片)
-
8位ttl:报文生命周期,这个数据包被丢弃前最多能经过的路由器个数
-
8位上层协议:用于数据分用时,决定由上层哪个协议进行解析
-
32位源/目的IP地址:标识数据从哪来到哪去
-
40字节选项数据
网段划分:
IP地址:网络号+主机号
- 网络号:保证相互连接的两个网段既有不同的标识
- 主机号:同一网段中,主机之间拥有相同的网络号,不同的主机号
子网:
- 子网就是把网络号相同的主机放在一起
- 如果在子网中增加一台主机,那这台主机的网络号必须与子网的网络号一致,主机号一定不能重复
合理的设置主机号和网络号可以保证在相互连接的网络中,每台主机的IP地址都不同,有一种技术叫DHCP,可以自动为子网内新增的主机节点分配IP地址**,避免手动管理的不便(一般的路由器都具有DHCP的功能)**
IP地址分类:
早期划分方式:5类 - A类 0.0.0.0到127.255.255.255
- B类 128.0.0.0到191.255.255.255
- C类 192.0.0.0到223.255.255.255
- D类 224.0.0.0~247.255.255.255
- E类地址:240.0.0.0~247.255.255.255
那么现在就存在一个问题,这种划分方式的局限性就是,大多数组织都申请B类网络,A类网络还有很多没有用,就大大的浪费了地址空间
现在增加子网掩码进行划分:CIDR——这样划分网络好的方式与A/B/C类是没有关系的(IP地址与子网掩码相与就是网络号)
子网掩码:有一串连续的二级制1组成的一个无符号4个字节的整数 - 将IP地址和⼦网掩码进⾏ “按位与” 操作, 得到的结果就是网络号;
- 子网掩码取反得到网络中主机号个数;
- 子网地址范围为主机号从全0到全1;
- 将IP地址中的主机号全部设为0,就成了网络号,代表这个局域网;将IP地址中的主机号全部设为1,就成了广播地址,用于给一个链路中的所有主机发送数据包
- 127.0.0.1:本机虚拟回环地址,用于本机网络的测试
- 用于组建私网的网段也不能随意使用:以下网段用于私网的组建
10...* 172...* ~172.31.. 192.168.. - 相邻的网络不能同时使用相同的网络号
ARP协议:
IP间的通信依赖于MAC地址,在网络上,通信双方不在同一局域网内,是不能获取到对方的MAC地址的,这时通信双方只能把数据包传送到两个子网相连接的网关(gateway)处,让网关去处理。若在同一网络内,就可以使用ARP协议通过IP地址获取到MAC地址,ARP是一种用以解析地址的协议,根据通信方的IP地址就可以反查处对应的MAC地址。
ICMP协议:网络控制报文协议
IP协议并不是一种可靠地协议,他不保证数据一定被送达,那这就需要其他模块来完成保证数据安全送的功能。当传送IP数据包发生错误时,比如:主机不可达,路由不可达,ICMP协议就会把错误的信息封包,然后传回主机,给主机处理错误的机会,这就是建立在IP层以上的协议可能做到安全的愿意