回顾
物理层:
- 网络设备的机械特性,电器特性,功能特性,过程特性
- 数据通信的基础知识:数字信号,模拟信号
- 频分多路复用
- 时分多路复用
数据链路层:
- 封装成帧
- 透明传输
- 差错检验(无差错接受)
- 点到点线路的数据链路层 PPP
- 广播信道的数据链路层 CSMA/CD
- 以太网:集线器,网桥,交换机
一、网络层提供服务
网络层:负责在不同的网络之间转发数据,不负责丢包、重传,也不负责顺序。
路由器能看到网络层的地址,可以根据地址来选择路线
实操:设计两个局域网,用路由器连通,实现跨网段通讯
(1) 利用Packet tracer构建
a.给计算机分配好IP
b.配置路由器
c.右边路由器类似配置:
Router>en
Router#config t
Router(config)#interface serial 3/0 右端串行接口
Router(config-if)#ip address 11.0.0.2 255.0.0.0
Router(config-if)#no sh
Router(config-if)#ex
Router(config)#interface fastEthernet 0/0 左端快速以太网接口
Router(config-if)#ip address 12.0.0.1 255.255.0.0
Router(config-if)#no sh
d.配置路由协议
这个时候:
- 各个局域网内的网络是通的
- 各局域网内计算机ping网关是通的
- 路由器之间ping是通的
但是
- 两个局域网之间是不通的,因为路由器还不知道怎么选择路径
- 路由器的路由表可以由管理员告诉它,或者配置路由协议自己来学习
Router#show ip route
查看路由表的命令
再次查看路由表show ip route
同理配置右边的路由器
Router>en
Router#show ip route
Router#config t
Router(config)#ip route 10.0.0.0 255.0.0.0 11.0.0.1
二、网络设备和OSI参考模型的关系
1.OSI模型图解
1. 应用层:应用程序准备要传输的文件
2. 传输层:将问文件分段,并编号
3. 网络层:添加目标IP地址、源地址
4. 数据链路层:添加MAC地址(确定下一跳给谁)
两种情况:
- 使用自己的子网掩码 判断自己在哪个网段
- 使用自己的子网掩码 判断目标地址在哪个网段(自己的IP地址与目标地址的子网掩码做与运算也能判断)
如果是同一个网段,使用ARP协议广播解析目标IP地址的MAC地址
如果是不同网段,要配置网关,不同网段路由器(如上图,是PPP协议,则MAC地址为FF,FF)
5. 物理层:转化为比特流,进行传输
路由器能不能中病毒?交换机能不能中病毒?
不能,病毒是应用程序,在网络层和数据链路层都不能运行。但是病毒能够影响网络设备,比如在局域网使劲发广播包,或者不断访问外网,占用带宽,造成网络拥堵。
2. ARP协议(IP→MAC)
ARP协议:(用于同一个网段)将IP地址通过广播:目标MAC地址是FF-FF-FF-FF-FF-FF ,解析目标IP地址的MAC地址
ARP欺骗:数据链路层故障
通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。(PC机缓存了一个目标PC错误的MAC地址,两台就不通了)
- 排除故障:
可以通过其他同一局域网的PC机缓存的正确的网关MAC地址,来修改故障PC的ARP表,使用命令:arp -s 网关地址 网关MAC地址
- 可以制作一个批处理文件.bat,来设置arp表中网关,或通信PC对应的mac地址,并且开机启动
- 制作方法:
新建一个txt文件,内容为 arp -s IP地址 对应的MAC地址,扩展名改为bat
win+R: 输入gpedit.msc打开组策略编辑器,点击计算机配置脚本(启动/关机),在启动的时候添加刚才bat文件,在指定目录C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup(可以通过浏览查看文件路径)
- 清除ARP缓存
点击本地连接,点击修复
3. ICMP(internet control message protocol网际控制报文协议)
检测ICMP协议的命令:ping(packet internet grope 因特网包探索器)
- TTL表示数据包的生存时间(time to live),当等于0的时候,这个数据就没了,防止数据包循环发
- ping 查看延迟,看ping的时间大概知道对方是什么系统:linux <=64, windows <=128, unix<255
ping ip地址 -l 200
:表示指定200字节大小的数据包发送(上图默认32发送)ping /?
查看其它命令ping -i ttl时间
: 可以通过修改ttl时间为从1,2,3.。。。来查看沿途经过的路由器地址(指定ttl时间,指定数据包在网络中的存活时间,会打印在那个ip把ttl耗光了)
一台pc机上不了网了:ping 网关地址 通不通- 情景:QQ能上网,网页打不开
QQ能上网,说明网络是通的,说明没有网络欠费,也没有ARP欺骗
可能DNS域名解析出现问题了,配置一下DNS服务器(例如8.8.8.8) - ping命令可以估算网络带宽
- pathping命令可以查看数据包的路径,并且可以计算丢包情况
tracert 目标地址
windows上跟踪数据包经过路由器的路径 (使用ICMP协议)
traceroute 目标地址
路由器上跟踪数据包路径的命令(使用ICMP协议)
4. IGMP(internet group management protocol组管理协议)
(1) 点到点
(2) 广播:目标地址255.255.255.255
(3) 组播=多播
三、IP数据包的通信
1. IP数据包
版本:用来表示TCP/IP协议,v6,v4
网络层的数据包最大可以是65535,而以太网的数据帧最多不超过1500个字节
- 以太网V2的MAC帧格式
2. 传输层分的段太大
- 传输层分的段太大了,网络层加上地址,结果在数据链路层传的时候站不下了怎么处理?
答:进行分片发送,单独协商IP地址,单独选择路径,接收端将分片数据合成一个,然后给到网络层。 - 泪滴攻击
3. IP数据包分片举例
四、分析数据包的结构
1.协议号
- ICMP(internet control message protoco 互联网控制消息协议)协议号 1
- IGMP(internet group management protocol 互联网组管理协议)协议号 2
- TCP协议号 6
- UDP协议号 17
- IPv6 协议号 41
- OSPF(open shortest path first开放式最短路径优先)协议号 89
2.数据包检验
(1) 首部检验和
用首部检验和去判断,如果有错误,就丢弃,无错误,接收。
数据报每经过一次路由,ttl会减1,然后路由就重新计算这个检验和,写入数据包中
(2) 利用抓包工具排除网络故障
广播包,导致网络拥塞,上图是:104这台PC有问题,如果发广播包的地址是一个虚拟地址,那只能通过拔网线,二分法来查找是哪台PC发的广播
五、IP协议
静态路由和动态路由
RIP:routing information protocol,路由信息协议
OSPF:open shortest path first开放式最短路径优先
1. 网络畅通的条件
数据包有去有回,每一个路由器知道下一跳给谁
案例:
原因:PC3没有配置网关
分析:
- 数据包有去无回, PC1的数据到PC3了,但是PC3到不了PC1
- PC3和路由器右边属于一个网段,所以能ping通,但是没有配置网关,不知道下一跳给谁,就不能到其他网段
2.静态路由
- 1)给pc配置ip地址和子网掩码,默认网关
- 2)配置路由器两个接口的IP地址,其他同理配置interface serial 2/0或者3/0或者fastEthernet 0/0具体看接线情况
Router>enable
Router#config t
Router(config)#interface fastEthernet 0/0 进入不同接口,看连接的线
Router(config-if)#ip address 192.168.0.1 255.255.255.0 配置左边接口IP
Router(config-if)#no sh 开启
Router(config-if)#ex
Router(config)#interface serial 2/0
Router(config-if)#ip address 172.16.0.1 255.255.255.0 右边接口IP
Router(config-if)#clock rate 64000 交叉线的一个接口设置时钟频率
Router(config-if)#no sh
- 3)配置静态路由
Router#show ip route 显示路由
Router#config t
Router(config)#ip route 192.168.1.0(目标网段地址) 255.255.255.0 (目标网段的子网掩码)172.16.0.2(路由器下一跳接入接口ip)
Router(config)#ex 退出配置
静态路由,需要管理员告诉路由器所有没有直连的网络下一跳给谁
静态路由的缺点:适合于小规模网络,不能够自动调整路由
3.动态路由
(1) RIP:routing information protocol路由信息协议
RIP:
- 周期性广播路由表,跳数
- 30秒更新一下路由信息
- 最大跳数15跳,大于16跳标记为不可到达
- OSPF:open shortest path first开放式最短路径优先
Router>en
Router#config t
Router(config)#router rip 启动动态路由,rip协议
Router(config-router)#network 192.168.0.0 配置动态路由工作在哪些口上对应的网段
Router(config-router)#network 192.168.1.0
Router(config-router)#network 192.168.2.0
Router(config-router)#network 192.168.7.0
Router(config-router)#
Router#show ip protocols
显示结果
Routing Protocol is "rip"。。。。。。。