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]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地址
网络层的地址 源IP地址 目标IP地址
总结:数据包在网络中发送时网络层的源IP地址和目标IP地址一直保持不变
数据包在跨网段之间互通时数据链路层的目标MAC地址和源 MAC地址每经过一个网段就会发生一次变化
如果不跨网段数据在通信的时候,
网络层的地址:源IP地址 和目标IP地址 不变
数据链路层的地址:源MAC地址和目标MAC地址 不变的
[Huawei]display interface GigabitEthernet 0/0/0 \\查询路由器接口信息
[Huawei]display interface GigabitEthernet 0/0/1
网络层的地址:源IP地址===类似快递包裹最开始发出的城市
数据链路层的地址:源MAC地址=====类似快递在传输过程中经过的城市
----------------------------------查询交换机的MAC地址--------------------------------
[Huawei]display bridge mac-address
System bridge MAC address: 4c1f-ccd0-03e2
------------------------------------------------------
唯一的标识一个网络设备(电脑、手机、服务器、手环、智能电视机)在网络中的位置,具有唯一性
--IPv4地址的长度:32个二进制位(32个0和1组成的值)
--IPv4地址举例:
10进制: 192. 168. 1. 1 人类用的
2 进制: 11000000. 10101000.00000001.00000001 计算机用的
==============================================
问题:网络中会不会有这样的地址:300.1.0.1
答案: 不会 因为 8个bit位 都为1 转换成十进制为255;
===============================================
--点分十进制:以4组十进制数来表示,之间用.隔开,称点分十进制
192. 168. 1. 1
--使用子网掩码来区分,所以掩码长度也是32bit
--子网掩码和IP地址是好基友,形影不离,有IP地址的地方,一定会有子网掩码,有子网掩码的地方,一定会有IP地址;
IP地址 |
192 |
168 |
1 |
1 |
子网掩码 |
255 |
255 |
255 |
0 |
子网掩码转二进制数 |
11111111 |
11111111 |
11111111 |
00000000 |
--先将十进制转换成二进制,IP地址和子网掩码进行比对
--IP地址中与子网掩码1所对应的位就是网络位
--IP地址中与子网掩码0所对应的位就是为主机位
----------------------------------课堂例子---------------------------------------
IP地址:
子网掩码:11111111. 11111111. 11111111.00000000
网络位 网络位 网络位 主机位
IP地址中如果与子网掩码中1所对应的位置就是网络位
-----------------------------------------------------------------
============================================
例如:找出来那些是网络位那些是主机位?
IP地址:192.168.1.1 子网掩码:255.255.255.0
网络位:192.168.1 主机位:.1
IP地址:10.10.10.1 子网掩码:255.0.0.0
网络位:10 主机位:.10.10.1
-------------------------------掩码的三种表示方式-----------------------------
IP地址:192.168.1.1/24
十进制子网掩码 255.255.255.0
二进制子网掩码 11111111.11111111.11111111.00000000
IP地址:191.0.0.1/16
十进制子网掩码 255.2550.0
二进制子网掩码 11111111.11111111.00000000.00000000
IP地址:10.10.10.1/8
十进制子网掩码 :255.0.0.0
二进制子网掩码 :11111111.00000000.00000000.00000000
------------------------------------------------------------
1)为什么要将IP地址进行分类呢?
因为IPv4的地址数量太多了,一共有232=4294967296个,
为了好管理IP地址,人们将IP地址分为5类
、
单播地址:一个IP地址对应一个网络设备
组播地址:一个IP地址对应部分网络设备
广播地址:一个IP带孩子对应所有的网络设备
2)P地址按照范围分类跟子网掩码没有关系,也跟网络位和主机位没有关系
ABC三类默认掩码:
5)默认的子网掩码
A类地址(默认):255.0.0.0 (1网3主)
B类地址(默认):255.255.0.0 (2网2主)
C类地址(默认):255.255.255.0 (3网1主)
备注:默认的意思,是指默认情况下是这样,但是不是绝对的是这样
在企业网络中,大部分不用默认子网掩码(有类地址和无类地址)
6)IPv4地址的使用情况:
--存在的问题---IPv4地址严重不够用
--解决方案:切换IPv6-----考虑到各层之间互通是否能够支持ipv6
--缓解方案:将IP地址进行公有IP地址和私有IP地址的划分
将IP地址进行子网划分
7)公有地址:
1)在互联网上使用的合法地址
2)需要向运营商付费租用的地址
3) 具有唯一性
4)举例:家里联网--需要花钱---租用公有IP地址和带宽的费用
8)私有地址:
家庭和公司都可以自由的使用,由公司的网络工程师自己分配的
但是私有地址在同一个企业内部是唯一的。
A类私有范围:10.0.0.0~10.255.255.255
有效地址范围:10.0.0.1~10.255.255.254
B类私有范围:172.16.0.0~172.31.255.255
有效地址范围:172.16.0.1~172.31.255.254
C类私有范围:192.168.0.0~192.168.255.255
有效地址范围:192.168.0.1~192.168.255.254
备注:在企业中公有IP地址和私有IP地址在使用时,都是公网地址和私有地址结合起来使用----使用NAT转换
一个网段中有多少个IP地址?
看主机位的个数,就是2的几次方
例如 :192.168.1.00000000/24
网络位 主机位 (8个)
28=256-2=254
为什么要减2呢?
每个网段中有2个地址不能用,一个是网络地址
一个是广播地址
9)IP地址中的网络地址和广播地址
网络地址:主机位全为0的地址 192.168.1.0
代表的是一个网络范围、或一个网段,并不具备唯一性
广播地址:主机位全为1的地址 192.168.1.255
代表的一个内所有的网络设备,不具备唯一性
备注:网络/广播地址不能配置给任何一个网络设备来使用,
因为他们不具有唯一性!
10)特殊IP地址
--回环测试地址:
范围:127.0.0.0--127.255.255.255 使用:127.0.0.1
作用:一般测试 自己的网卡是否有故障
--32位全为1的地址: 255.255.255.255
作用:当网络设备找不到具体主机时会使用这个地址,发给连接自己的所有主机来寻找目标设备;
--32位全为1的地址: 0.0.0.0
作用:如果有主机配置了该地址,代表没有配置地址
可用地址:
在一个网段中除非了主机位全0和主机位全1的地址,剩下都是可配置单个网络设备使用
==============练习======================
200.78.39.7 255.255.255.0
网络地址: 200.78.39.0
广播地址: 200.78.39.255
可用IP地址范围:200.78.39.1-----200.78.39.254
减去主机位全0的地址和主机为全1的地址,剩下是可用的
162.28.32.10 255.255.0.0
网络地址: 162.28.0.0
广播地址: 162.28.255.255
可用IP地址范围:162.28.0.1-----162.28.255.254
162.28.00000000.0000001
162.28.00000000.0000010
162.28.00000000.0000100
减去主机位全0的地址和主机为全1的地址,剩下是可用的
10.1.1.1/8 10.0.0.0/8
10.10.100.99/8 10.0.0.0/8
是属于同一个网段
192.168.98.6/17 255.255.128.0=11111111.11111111.10000000.00000000
215=32768-2=32766
2主机位次方-2(一个网络地址、一个是广播地址)
如果让算每个网段中有多个可用的IP地址数量:公式
===================================
1、ICMP
1)Intrnet Control Message Protocol,网络控制消息协议
2)作用:探测网络连接情况
3)位于TCP/IP的第三层(网络层)
2、ICMP的作用:
--探测网络中存在哪些问题,从而根据回应解决对应的问题。
3、ICMP 消息提示 :
1)连接建立成功,Reply from(从对方回应) 目标地址 .. .. 连接成功
-数据可以达到对方,并接到对方的回应,简单来说就是ping通了
数据的通信:发送数据 -----传数据----接收数据
--同网段中没有这个地址
--夸网段通信时,本主机没有填写网关地址
--在进行数据封装时失败,导致数据无法发出
原因:数据包可以出去,但是回不来【肉包子打狗】
-- 数据包从主机中发出去了,但是中间传输的网络设备无法找到目标主机
-- 数据包从主机中发出去了,传输的网络设备也将数据包发送给目标主机了,但是目标主机没有回复,或者目标主机回复的消息,中间的传输设备没能正常转发给源主机
-- 对方主机没有填写网关地址
-- 防火墙,被防火墙阻断了
4、icmp报文类型
1)echo request 8 请求报文
2)echo replay 0 应答报文
实验验证:
配置思路:
1. 配置终端设备
给PC机配置IP地址参数
2. 配置网络设备
路由器
-初始化(关闭消息提示、修改设备名)
-给接口配置IP地址
[Huawei]sysname r1 \\给设备修改名R1
[r1]interface GigabitEthernet 0/0/0 \\进入接口0/0/0
[r1-GigabitEthernet0/0/0]ip address 192.168.1.254 24 \\给此接口配置IP地址
[r1-GigabitEthernet0/0/0]quit \\返回
[r1]interface GigabitEthernet 0/0/1 \\进入接口0/0/1
[r1-GigabitEthernet0/0/1]ip address 192.168.2.254 24\\给此接口配置IP地址
[r1-GigabitEthernet0/0/1]quit \\返回
记得报文类型:未来在工作做可以拒绝接收类型为8的包
Ping 192.168.2.1 -t 一直ping
Ctrl+c 停止
属于网络层的协议
1、什么是ARP
1)地址解析协议
2)作用:已知目标设备的IP地址,获取目标设备的MAC地址
3)解析的方式:发送arp广播,得到mac地址后,缓存到arp缓存表中
4)源设备发送 ARP 请求报文,通过广播的方式
5)目标设备回应 ARP 回应报文,通过单播的方式
2、为什么要解析为MAC地址呢?
为了完成数据帧的封装
数据帧的格式:目标MAC 源MAC 类型 数据 帧校验序列
如果表里没有IP地址和MAC地址的对应关系 就需要通过ARP协议获取
如果表里有 就直接完成数据帧的封装
TYPE 对应关系
3、ARP工作过程
1)主机10.1.1.1要与10.1.1.2通信,首先要发送ARP广播
2)所有的主机都接受到10.1.1.1的ARP广播,但只有10.1.1.2给他回复一个单播
包,并缓存10.1.1.1的MAC地址
3)主机10.1.1.1将10.1.1.2的MAC地址保存到ARP缓存中,然后就可以发送数据
5、Windows 主机 arp 常用命令
1)arp -a //显示arp缓存表
2)arp -d //清空arp缓存表
3)arp -s 192.168.1.2 00-0c-29-00-00-01 //添加arp静态映射