目录
1、ip数据包的格式
第一行32位:ip数据的基础信息
版本号(4):表示ip的版本号,一般是ipv4,还有些是ipv6
首部长度(4):仅仅代表ip数据包头部的长度,一般固定为20个字节,因为首部长的单位为4字节(可以理解为如图的行数),也就是最小为5行,转化为二进制为0101,同时4位最大值为1111,也就是15,那么首部最长字节为60,那么可选部分的长度最大为40字节
优先级(8):表明数据传输的优先顺序,比如迅雷的数据在系统设置最初比较优先
数据包总长度(16):包含包头和数据一起
第二行32位:ip数据的分片以及重组信息
因为数据传输的最大单元是受限的(比如以太网的MTU为1500字节),那么传输过程中数据可能会进行分片
标识符(16):数据分片的时候,会给这些数据一个编号,表示这些数据是一起的,为了后面能够重组
标志(3):为了表示是否是最后一个分片或者这个数据能否分片
段偏移量(13):表示分片以后的数据距离在原始数据中所处的位置,可以理解为给分片的数据按顺序标号,为了能够正确重组
第三行32位:
TTL(8):表明数据包的生命周期,每经过一个网络设备,TTL值会减1,直到为0,被丢弃。目的是防止错误数据转发多次浪费网络资源
协议号(8):上层数据的协议,比如TCP协议号是6,UDP的协议号为17,ICMP的协议号为1
首部校验和(16):专门校验首部信息的正确性
源ip地址/目标ip地址:分别占32位,4字节
可选项:这个作为数据信息的补充,比如数据创建的时间等
2、广播域和冲突域
冲突域:两台主机发送消息时会相互干扰,那他们处于同一个冲突域中;
广播域:当一台主机能够给另一台主机发送消息,并且另一台主机能收到消息,说明两台主机处于同一个广播域;
设备特性:
交换机:默认交换的接口连接的主机无论处于什么网段,都是一个广播域;
路由器:默认路由器的所有接口都不在一个广播域;
3、ICMP协议
①ICMP协议的作用
用于测试网络是否双向可达,主要是通过ping命令
②ping命令
实际上是一种小而巧的程序,是一个基于icmp协议的程序
③ping相关命令及功能:
-l (小L) 大小 | 默认大小是32字节 |
-w 时间 | 默认是2秒 |
-n 次数 | 默认是4次 |
-t | 不停地ping下去,用ctrl+c停止 |
④ping返回状态分类
TYPE | code | 描述信息 |
0 | 0 | 回复 |
3 | 0 | 网络不可达 |
3 | 1 | 主机不可达 |
3 | 2 | 协议不可达 |
3 | 3 | 端口不可达 |
11 | 0 | 超时 |
8 | 0 | ping请求 |
⑤tracert命令
tracert命令也是一种基于ICMP协议的一种命令,可以用于追踪传输路径
4、ARP协议
ARP(address resolution protocol),顾名思义地址解析协议,有两种功能:
①已知的ip地址解析获取其mac地址
ARP是最最最开始启动的协议,原理与交换机类似,ARP广播必须是要在同一个广播域中!!!
ARP协议是将ip地址解析成mac地址,中间不存在目标概念,而是发送方和回应方的关系
可以理解为,能够ARP广播的不一定能通信,是两个不同的概念
ARP原理过程:
第一步:主机A想要给主机B通信,最初状态主机A的ARP缓存表为空,主机A 并不知道主机B的mac地址,但是数据帧封装必须要有mac地址,所以会先发一个ARP广播,询问主机B的ip对应的mac是多少;
第二步:此时这个广播域中的所有主机都会收到这个ARP广播,所有主机都会自动学习主机A的ip和对应mac地址记录到自己的ARP缓存表中;
第三步:主机B收到广播发现是自己,然后会回复一个ARP应答数据,把自己的mac地址告诉主机A
第四步:主机A收到主机B的回复,把主机B的ip和mac对应记录在ARP缓存表中,后期即可单播通信
②检测ip地址冲突
一旦冲突,此ip地址在本局域网中不能正常使用了!!!
实验环境设置:比如有一台主机连着一台路由器,主机的ip为192.168.1.1/24,当路由器的接口也设置为192.168.1.1/24时,会产生冲突(因为一个局域网段下,ip地址只能给一个主机使用)
如图: