网络层的功能
- 定义了基于IP协议的逻辑地址
- 连接不同的媒介类型
- 选择数据通过网络的最佳路径
IP数据包格式
- 协议字段
- IP字段
版本:该段包含的是IP的版本号,目前版本为IPv4
- 首部长度
该字段用于表示IP数据包头长度,4bit。IP数据包头部最短为20字节,但是其长度是可变的,具体长度取决于可选项字段的长度。
- 优先级与服务器类型
该字段用于表示数据包的优先级和服务类型,8bit。用于实现Qos(服务质量)的要求
- 总长度
该字段用以指示整个IP是数据包的长度,16bit。最长为65535字节,包含包头和数据
- 标识符
该字段用于表示IP数据包的标识符,16bit。在IP对上层数据进行分片时,他将给所有的分片分配统一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误的重组。路由器将一个包拆分后所有拆分开的小包被标记相同的值,以便于区分
- 标志
标志字段,3bit。对当前的包不能进行分片,或当一个包被分片后用以指示在一系列的分片中,最后一个分片是否已发出。
- 段偏移量
该字段用于表示段偏移量,13bit。段偏移量中包含的信息是指在一个分片序列中如何将各分片重新连接起来。
- TTL
该字段用于表示IP数据包的生命周期,8bit。一个数据包每经过一个路由器,TTL将减去1.当TTL为0时,该数据包被丢弃。防止一个数据包在网络中无限循环转发下去
- 协议号
协议字段,8bit。该字段用以指示在IP数据包中封装的哪一个协议,是TCP还是UDP,TCP协议号为6,UDP协议号为17。
- 首部校验和
该字段用于表示校验和,16bit。接收方和网关用来校验数据是否被改动过。
- 源IP地址
该字段用于表示数据包的源地址,32bit。
-
目标IP地址 该字段用于表示数据包的目的地址,32bit。 -
可选项
可选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。
ICMP协议
- ICMP是一个"错误侦测与回馈机制"
- 通过IP数据包封装的
- 用来发送错误和控制消息
ICMP协议的封装
Windows系统中ping命令常用选项
-t 参教会一直不停的执行ping
-a 参数可以显示主机名称
-1 参数可以设定ping包的大小 在Linux系统下为:-s
-n 指定发送包的个数 -c
-s 指定源IP去ping -1
在Linux系统下为: 参数可以设定ping包的大小 -s 指定发送包的个数 -c 指定源IP去ping -1
跟踪路由路径命令:
WIN: tracert IP/域名
Linux: traceroute IP/域名
ARP工作原理
-
PC1想发送数据给PC2,会先检查自己的ARP缓存表。 -
如果发现要查找的MAc地址不在表中,就会发送一个ARP请求广播,用于发现目的地的MAc地址。ARP请求消息中包括Pc1的IP地址和MAc地址以及Pc2的IP地址和目的MAc地址(此时为广播Mac地址FF-FF-FF-FF-FF-FF) -
交换机收到广播后做泛洪处理,除Pc1外所有主机收到ARP请求消息,PC2以单播方式发送ARP应答,并在自己的ARP表中缓存Pc1的IP地址和MAC地址的对应关系,而其他主机则丢弃这个ARP请求消息。 -
Pc1在自己的 ARP表中添加Pc2的IP地址和MAC地址的对应关系,以单播方式与Pc2通信。
ARP协议概述
ARP攻击原理
ARP欺骗原理
利用ARP欺骗管理网络
|