目录
[1. IP协议概述](#1. IP协议概述)
[1.1. 定义](#1.1. 定义)
[1.2. 功能](#1.2. 功能)
[1.3. IP网络的结构](#1.3. IP网络的结构)
[1.4. IP头格式](#1.4. IP头格式)
[2. IP地址和地址映射](#2. IP地址和地址映射)
[3. IP包转发](#3. IP包转发)
[4. 其他相关协议介绍](#4. 其他相关协议介绍)
1. IP协议概述
1.1. 定义
IP协议:IP协议是网际互连协议;
工作层次:网络层;
封装:IP头部封装;
特点:不关心、不保证、不维护;不可靠的、无连接的;
TCP/IP协议栈(协议堆叠):ARP、RARP、ICMP、IGMP;
1.2. 功能
1)标识节点和链路-[标记]:分配全局唯一的网络号;
链路-网段;节点-主机;
2)寻址和转发-[确定]:路径;
3)适应各种数据链路-[传递]
MTU(Maximum Transfer Unit,最大传输单元):最大的IP报文,分片、重组;
三层的地址到二层地址的映射
例子:地图、学校找人
1.3. IP网络的结构
"网段==范围"
路由器直连PC机
浪费资源,路由器每个接口都是不同的网段;
1.4. IP头格式
1、长度
20~60个字节不等;
固定+可变;
字节
位(bit):是计算机存储的最小单位,"0100-4位";
位数:计算机能一次处理数据的大小,32位、64位;Windows命令:dxdiag
字节:计量单位,存储容量,1字节等于8位;例如,字母B;
2、Versrion | IHL | Type of Service | Total Length
Versrion:版本号,4或6;("ipconfig");
IHL:头部长度;
Type of Service(Tos):优先级,0~63,数字越大,优先级越高;
场景:广域中的QoS用于流量控制、限制,发送先后顺序、传输率、带宽的大小;
Total Length:总长度(IP头+数据);
3、Identification | Flags | Fragment Offest
Identification:标识符,标识分片来自哪一个数据包;
Flags:标志位;(0是关闭,1是开启)
1:保留;2:标识数据包是否禁止分片;3:标识数据包是否为最后一个分片;
Fragment Offset(片偏移):标识某个分片在整个数据包所处的位置或顺序;收发顺序的重组
补充:
数据包的分片:一个数据包切分成小数据包,进行分散、重组;传输层,网络层;
MTU:最大传输单元;接口收发数据支持的单个包的最大长度;
场景:以太网默认接口MTU1500B;PPPoE默认接口MTU1492B;
为什么要有MTU?
数据传输双方之间的协同同步
4、Time to Live | Protocol | Header Checksum
Time to Live(生存时间):标识数据包还能再经过几个路由器就已经到达生命的尽头;备注:每经过一个路由器进行减1处理,避免产生环路。("ping")
Protocol(标识上层协议):封装与解封装,封装传输层头部,IP头部拆掉后是给谁?
Header Checksum:头部校验和,数据包的差错检测;
5、Source Address | Destination Address
源地址、目的地址;
6、Options | Padding
Options:可选项;
Padding(填充项):是4字节的倍数,若不是4的倍数,填充0,达到4个字节的倍数;例如1197就不行
2. IP地址和地址映射
1、背景引入
IP地址==门牌号
IP地址 → 全球唯一 → 专门的机构管理(互联网数字分配机构IANA);
资源紧缺:ip地址43亿 → 2001年耗尽 → 2022年285亿设备 → 2022年人口80亿;
2、IP地址的概述
功能:IP寻址,数据包发送给谁?工作在网络层,逻辑地址;
格式:32位长度,点分十进制(十进制取值范围:0~9)
组成:网络位+主机位;
"网络位长度和数字完全一致的地址属于同一网段",例如192.168.1.1 和 192.168.1.2
3、IP地址分类
A类:大型全国或国际性企业;例如国际物流公司DHL
B类:大型中型企业,6~65万个主机共享;例如苹果公司
C类:小型组织、家庭用户、学校;例如机房教室;
D类:媒体平台;例如直播平台;
E类:不公开,留给科研机构使用;
目的:是划分不同的网络规模;
二分法思维:网络位越长,主机位越短;
4、特殊的IP地址
① 127.X.X.X
定义:本地环回地址,用于标识本机;
作用:测试本机操作系统中的TCP/IP协议工作是否正常;
场景:127.0.0.1/无网卡
② 主机位全为0的地址
定义:是网络地址,用于标识网段;
例如:
192.168.1.0是网络地址;
172.168.1.0不是网络地址;
③ 主机位全1的地址(二进制的1)
定义:本网段广播地址,标识广播范围;
单播(1对1)、组播(1对多)、多播(1对所有)
④ 全网广播:255.255.255.255
全网广播地址,全部网段的所有人;
⑤ 通配地址:0.0.0.0
通配地址,任意IP地址,条件匹配,可以代表任何一个地址;
例子:斗地主的癞子;
5、公网和私网地址
公网地址:可以在互联网上寻址的地址,全球唯一,需要运营商分配(ISP),付费;
私网地址:局域网内,本地随意使用,无法在互联网上寻址;
自动私有地址:169.254.X.X;用于网段内部通信,无法出网段;
补充说明:电脑网卡,IP地址模式设置自动获取,无DHCP服务器,自动寻址失败,产生169.254.X.X;
3. IP包转发
1、ARP协议
定义:地址解析协议,把IP地址解析为MAC地址;
问题:IP数据包通过以太网发送时,链路层不能识别IP地址;
网络层(32位IP地址)---链路层(48位MAC地址)
工作机制
① 主机A广播请求发送ARP,询问主机B的IP对应的MAC地址;
② 主机B以单播响应回复A主机本机MAC地址;
③ A主机把B主机的IP地址和MAC地址的映射关系写入ARP缓存表;
场景:arp -a
2、IP数据转发原理
知识1:封装,完成3层封装后,进行第2层封装;
知识2:网关(Geteway):本网段出口的IP地址;
知识3:路由器:连接不同网段;交换机:数据发送给PC机;
工作机制:
① 检查本机IP和目的IP是否一致;
② 处理:
如果目的IP和本机IP属于同一网段,会直接查询目的IP的Mac地址,进行封装;
如果目的IP和本机IP不属于同一网段,会查询网关IP地址的Mac地址,由路由器将IP包转发给目的主机,进行封装;
补充:
不同网段之间,能直接用ARP请求吗?
不能,广播不能过路由器,路由器会隔离广播域;
如果路由器不隔离广播,电脑能上网,所有机器都能收到,广播风暴。
4. 其他相关协议介绍
1、RARP协议
逆向ARP:逆向地址解析协议;
根据本机的MAC地址,查询本机的IP地址;
场景:早期的网吧 → 无盘工作站
2、ICMP
定义:互联网控制消息协议
ping命令:测试网络连通性;
tracert命令:路由跟踪;"tracert www.baidu.com"
3、代理ARP
定义:允许一个设备代理另一个设备响应 ARP 请求,常用于在不同的子网之间转发数据包
场景:路由器转发数据包、负载均衡、网络安全;