1、网络层的功能:寻址和路由
定义了IP地址,连接不同的网络,选择最佳路径
协议:IP、IPX、AppleTalk
2、IP数据报报头字段
1)每一个位置称为一个字段,如版本字段、首部长度字段...
2)IP数据包的单位是32bit,即4字节,即一行内容必须是32bit
3)IP报头的固定部分 为 20字节,分为5行,每一行 32bit(4字节)
4)每个字段括号里面的数字是指用多少二进制来表示这个字段
5)IP报包有两部分组成:固定部分和可选项部分
首部:固定部分(20个字节)+可变部分
8bit=1个字节 每个行是32bit=4个字节
可以选项:取值范围:0字节-40字节 一般情况下没有,如果有也不会超过40字节
- 版本
指的IP地址的版本 (IPv4 IPV6)
- 首部长度:
次数据包的首部长度一共是多少,有没有加可现项
- 优先级与服务类型:
表示数据包是否需要优选传递 如果有值为1 如果没有值为0
- 总长度:
表示的是整个数据包的大小,也就是 首部+数据
- 标识符、标志、段偏移量:
的作用将拆开的数据包进行组合(用来数据重组的)
标识符:他表示的是一个数据包的编号,每个数据包都有一个唯一的编号
举例:第一个ping包的表示符是3231
举例:第二个ping包的表示符是3232= 3231+1
TTL值:数据生命周期当此值的数字变成0时,该数据包就和被丢弃,每经过一台路由器时值减1
协议号:数据包在网络中传递时所用的协议,用的是那个协议
固定编号:当编号为6时,表示上层用的是 TCP协议--传输层的协议
当编号为17时,表示上层用的是 UDP协议--传输层的协议
当编号为1时,表示上层用的是ICMP协议---是网络层的协议
首部校验和:是用来做数据包核对用的,确定数据包是否是完整,如果是就接收,如果不是完整的数据包,不接收该数据包,让重新发送(整个过程不需要我们来做,设备自己进行计算)
可选项:他是一个可变长度,取值范围:0-40个字节 一般数据包中不是加该选项的,
什么情况下加该选项:当想要传输用户 密码 软件使用场景是会用到该字段
数据:他是应用层发出的数据-----在数据包中体现,单独看不到
实验一:
验证验证TTL值的变化:
实验目的:查看在网络中数据包的TTL值每经过一个路由器 值会减
实验思路:
1. 搭建拓扑图
2.给PC配置IP地址(IP地址、掩码、网关)
3.给路由器的接口配置IP地址
4.在路由器的两个接口上抓包(先抓包在测试互通)
和看到一个接口的TTL值是128
另外一个接口的TTL值是127
<Huawei>undo terminal monitor \\关闭信息提示
<Huawei>system-view \\进去系统视图
[Huawei]interface GigabitEthernet 0/0/0 \\进入接口0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 192.168.1.254 24 \\给接口0/0/0添加IP地址
[Huawei-GigabitEthernet0/0/0]quit \\返回
[Huawei]interface GigabitEthernet 0/0/1 \\进入接口0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 192.168.2.254 24 \\给接口配置IP地址
[Huawei-GigabitEthernet0/0/1]quit \\返回
如图路由器的G0/0/0接口TTL
ENSP抓包学习分析IP报头
数据包在网络中的封装流程:
主要看数据链路层的源MAC地址和目标MAC地址,与网络层的源IP地址和目标IP地址,在网络中的变化
在路由器接口G0/0/0
数据链路层的地址 源MAC地址和目标MAC地址
网络层的地址 源IP地址 目标IP地址
在路由器接口G0/0/1
数据链路层的地址 源MAC地址和目标MAC地址