网络层
- 网络层提供的两种服务
- 网际协议IP
- 虚拟互连网络
- IP地址
- 子网掩码(无分类编址CIDR)
- IP地址和MAC地址
- IP数据报格式
- (路由)转发分组的流程
- 因特网的路由选择协议(动态路由协议)
- 网际控制报文协议ICMP
- IP多播(IGMP协议)
- 虚拟专用网VPN和网络地址转换NAT
1、网络层提供的两种服务
- 争论焦点
- 虚电路服务和数据包服务
- 两种服务的对比
2、网际协议IP
1. 虚拟互连网络(逻辑互连,通过路由器将网络互连)
- 4种网络互连的设备【中间设备又称为中间系统或中继系统】
- 物理层中继系统:转发器(repeater)
- 数据链路层中继系统:网桥或桥接器-交换机(bridge)
- 网络层中继系统:路由器(router)
- 网络层以上的中继系统:网关(gateway)
-
【注意】
-
现在所说的网关是路由器的一个接口:如果没有配置网关,将不能访问其它网段,但可以访问本网段的网络,网关是访问其它网段的路由器的接口。
-
计算机可以配置多个网关
-
网关一般使用本网段的第一个地址或最后一个地址
-
-
虚拟互连网络需要解决的问题:虚拟互连网络可以由多种异构网络互连组成
-
IP协议简介(四个协议)
- ARP
- RARP
- ICMP
- IGMP
2. IP地址
-
分层次:网络号和主机号
-
点分十进制记法
-
IP地址的分类:(通过第一个字节和子网掩码划分)
- 十进制和二进制的关系(网络部分)
- 常见的三种类别的IP地址
网络类别 最大网络数 第一个可用的网络号 最后一个可用的网络号 每个网络中最大的主机数 A类 126(2^7-2) 1 126 16,777,214 B类 16383(2^14-1) 128.1 191.255 65534 C类 2,097,151(2^21-1) 192.0.1 233.255.255 254 -
特殊的几个IP地址
- 网络部分
(1)本地环回地址
172.0.0.1
(2)分配异常地址:Windows通过自动分配地址时,如果没有分配到正确的地址,自动分配这个网段的地址;
169.254.0.0
(3)保留的私网地址:(这些地址互联网上没有使用,提供给学校、企业等机构使用)
10.0.0.0 172.16.0.0——172.31.0.0 192.168.0.0——192.168.255.0
-
本机部分
(1)主机部分全为0,代表区号
(2)主机部分全为1,代表广播
3.无分类编址CIDR(子网掩码)
- 子网掩码的作用
- 主机地址IP和子网掩码进行二进制“与”运算得到网段;如果相同则两台主机在同一网段上,就可以直接通信;否则需要通过路由器的网关进行通信。
-
子网划分
-
C类网络的子网划分
-
点到点网络的子网掩码最好是252
- 原因:这样网络里就有两个地址,不浪费
-
变长子网的划分【不等分的子网掩码不一样】及练习
-
将B类网络划分为两个子网
-
-
构造超网(合并网段:子网掩码向前移动)
4. IP地址和MAC地址
-
数据包和数据帧
数据段+源IP+目标IP=数据包 //IP地址决定最终到哪一台机器 数据包+源MAC+目标MAC=数据帧 //MAC地址决定下一跳给谁
-
基于MAC地址控制的代理服务器只能控制本网段计算机是否能上网:CCProxcy软件(代理软件)+Proxifier
-
ARP协议相关(不安全)
-
工作机制:通过广播,将IP地址解析为MAC地址
-
ARP欺骗(可截获数据包)
-
P2P终结者:利用ARP欺骗将你们通信的目标Mac地址设置为自己的电脑,自己接受到数据包再发出去,可利用这个来控制带宽。
-
网络执法官:利用ARP欺骗拦截并返回一个根本不存在的Mac地址,这样可以控制计算机间的通信。
-
【思考】如果想禁止本网段的网络访问互联网,如何操作?
-
使用网络执法官将本网段的网络解析错误的网关的mac地址,这样就禁止本网段的网络访问互联网
-
-
ARP防火墙:配置静态MAC地址,可以防止ARP欺骗;
- 如果想自动配置,将命令
arp -s
写在.bat
文件中,并设置为开机自启(在Windows中输入gpedit.msc
,设置启动脚本)
arp -a //查看MAC地址 arp -s 10.7.90.1 00-0f-e2-8f-f8-8c //配置静态MAC地址(造成ARP欺骗,导致不能上网-不能ping网关)
- 应用软件:金山贝壳ARP防火墙
- 如果想自动配置,将命令
-
-
【案例】如何判断ARP欺骗
-
AB可以正常上网,C可以与AB正常通信,说明AB没问题并且C的物理层也没问题,可以考虑C解析不到网关的Mac地址,在可以正常通信的A使用arp -a查看正确的网关Mac地址,看C解析的Mac地址是否正确即可
-
如果C缓存了一个错误的Mac地址使用
arp -d
可以清空缓存即可 -
windows对网卡进行【网络诊断】,会把所有的MAC地址都清除掉
5.IP数据包格式
ping -i 1 //路由器网关(IP地址)回复:TTL传输中过期
【实验】通过抓包工具分析数据包首部
6.(路由)转发分组的流程
-
概念:路由器在不同网段转发数据包
-
路由表的作用:
- 沿途的路由器必须知道到目标网络下一跳给哪个接口
- 沿途的路由器必须知道到源网络下一跳给哪个接口
-
网络畅通的条件:能去能回
-
静态路由
【实验】添加静态路由
```
show interfaces fastEthernet 0/0 //查看路由器的接口地址
show ip route //查看路由表
ip route (下一个网段的,路由器不关心具体地址)192.168.0.0 255.255.255.0 (下一跳接口IP)172.16.0.1 //添加静态路由
no ip route 192.168.0.0 255.255.255.0 //删除静态路由
```
-
默认路由
-
Windows网关就是默认路由,网关不设置,就没有默认路由
-
【实验】添加默认路由
route print //打印路由表 route add (代表下一个网段)0.0.0.0 (子网掩码)mask 0.0.0.0 (下一跳,即网关)10.7.86.1 //添加默认路由
- 设置计算机路由的作用
【问题】当计算机有两个网卡(即两个网关)时,可连通两个网络,相当于有两个路由,这样可能会出现计算机在返回数据时,一条发到网络A,一条发到网络B
【解决方案】只在一个网卡上加默认路由,另一个给下一跳路由
-
-
动态路由协议
-
RIP协议(内部网关协议,自治系统内)
-
特点:最早、周期性广播(30秒)、根据跳数计算最佳路径(最大跳数16跳)
-
【实验】配置路由器的动态路由RIP协议
route rip //进入RIP全局配置模式 network 172.16.0.0 //这里默认B类网络,所以不需要加子网掩码255.255.0.0 show ip route //查看路由器的路由表
-
-
OSPF协议(内部网关协议,自治系统内;开放式,在电商、互联网等地方应用的协议)
-
特点:
- 度量值:带宽
- 支持多区域:即使用OSPF协议划分区域
- 触发式更新:自动计算最佳路径
- 有三个表:邻居表(邻居之间会发hello包)、链路状态表(交换邻居表,构成网络拓扑图)、计算路由表(最短路径优先算法,不会出现环路)
-
【实验】配置OSPF协议(单区域)
route OSPF 1(进程号---可随意写,无特殊意义) //进入OSPF全局配置模式 network 172.16.0.0 (反码掩码)0.0.255.255 (告诉它这个路由器属于哪一个区域)area 0 show ip route //查看路由器的路由表 tracert 172.17.0.2 //跟踪路由路径
-
-
路由优先级:静态路由(1)> OSPF协议分配的路由(110)> RIP协议动态分配的路由(120)
-
BGP协议(外部网关协议,自治系统间)
-
3、ICMP协议(网际控制报文协议)
- 类型:
ICMP报文种类 | 类型的值 | ICMP报文的类型 |
---|---|---|
差错报告报文 | 3 | 终点不可达 |
源点抑制报文 | ||
11 | 时间超过 | |
12 | 参数问题 | |
5 | 改变路由 | |
询问报文 | 8或0 | 回送(Echo)请求或回送回答 |
13或14 | 时间戳(Timestamp)请求或时间戳应答 |
-
格式及内容
-
【应用】诊断网络故障—ping tracert pathping三大命令
ping
命令:判断网络拥塞、粗略估算带宽tracert
/traceroute
命令:跟踪一个分组从源点到终点的路径pathping
命令:跟踪数据包路径;能计算丢包率(路由器转发丢包率、链路丢包率);判断拥塞时,哪一段网络丢包比较严重
【实验】抓包分析ICMP协议
4、虚拟专用网VPN
-
用途:通过外网访问内网
-
原理:将局域网通信数据等使用互联网再包一层进行传输
-
【应用】(案例3个)创建VPN拨号连接
(1)设置连接或网络-----(2)连接到工作区-----(3)VPN连接------(4)输入IP地址-----(5)输入用户名、密码(出现网卡)-----(6)修改属性(网络:去掉“在远程网络上使用默认网关”/这样访问互联网时不会进入内网)
- 站点间VPN:将两个局域网的使用VPN服务器连通,这样两个局域网内的终端可以互连
5、网络地址转换NAT
-
用途:
- 内网访问外网
- 节省公网IP
-
原理:公网地址切换
- NAT(只替换地址)
- PAT(替换端口和地址)
netstat -n //查看目标和源端口
-
应用
- 配置虚拟机的NAT
- 虚拟机配置NAT的端口映射( 在路由器上也可以配置端口映射)