四、网络层

网络层提供的服务

  • 网络层(路由器)就是在不同网段之间尽力转发数据包
  • 不负责丢包重传,可靠传输由传输层来实现
  • 不负责数据顺序
  • 网络层只关心,选择得目标地址路线是最优的路线

在这里插入图片描述

数据包在Internet中的传输,Internet既有局域网,又有广域网,既有光纤,又有铜线,无线,还有不同的协议,这是Internet复杂所在。

在这里插入图片描述

互联网络与虚拟互联网络

虚拟网络把复杂的Internet看成一个网络,化简问题。虚拟互联网络就是逻辑互联网络,他的意思就是互联起来的各种物理网络的异构性本来就是客观存在的, 但是我们利用IP协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络,而不用考虑具体的网络异构细节

在这里插入图片描述

网络设备和OSI参考模型之间的关系

计算机通讯的过程 本网段通讯 跨网段通信

例子PC4向PC3传输数据

在这里插入图片描述

发送端(封装)
  1. 应用程序准备要发送的文件
  2. 传输层 将文件分段 并编号(段)
  3. 网络层 添加目标IP地址、源IP地址(包)
  4. 数据链路层 添加MAC地址、FCS 两种情况(帧)
    - 使用自己的子网掩码判断自己在哪个网段,再使用子网掩码判断目标地址所在网段,如果是在同一个网段,直接使用ARP协议,广播解析目标IP地址的MAC
    - 如果不是一个网段,就ARP广播路由器(网关)的MAC
  5. 在物理层将数据转化为比特流进行传输(Bit)
接收端
  1. 接收端接收到物理层的Bit流,确定是发送给自己的
  2. 去掉MAC地址,去掉IP地址解封成数据段
  3. 交给上层,进行拼接
  4. 数据接收完整后交给应用层
网络设备的分层
  • 集线器(物理层):只转发和加强比特流(一层设备)
  • 交换机(数据链路层):接收比特流,存储,检查MAC地址(能看懂MAC地址),把数据流分配给对应的端口(二层设备)
  • 路由器(网络层):接收bit流,也能看懂MAC地址,把数据再传给路由模块,通过查看数据包的目标IP地址,根据路由表来选择路径,通过PPP协议(三层设备)
    jixieqi

集线器、路由器、交换机能不能中病毒

结论:否
病毒程序在这些设备中是分段进行传输的,并不能完成运行
但是病毒产生的过多的无用流量占用带宽

网络层协议

TCP/IP协议之间的层次

ARP为IP提供服务,IP为ICMP、IGMP提供服务(不是同一级别)

在这里插入图片描述

IP

负责把数据从一个网段转发到另一个网段

ARP

将IP地址通过广播 目标MAC地址是全FF-FF-FF-FF-FF-FF 解析目标IP地址的MAC地址(本网段)

  • arp -a:查看网卡缓存的MAC地址
  • 扫描本网段的MAC地址:扫描工具

ARP欺骗

  • 欺骗者发送假的ARP数据包到网上,尤其是送到网关,其目的是要让送至特定的IP地址的流量被错误送到攻击者所取代的地方。
  • 因此攻击者可以将这些数据转送到真正的网关(被动式数据包嗅探)
  • 或是篡改后再转送(中间人攻击)
  • 攻击者亦可将数据包导到不存在的MAC地址达到阻断服务攻击的效果(网络执法官)
  • 将自己的MAC地址伪装成网关的MAC地址,攻击者来进行上网带宽限制(P2P终结者)
  • 发现被arp欺骗时,可以用:arp -s 目标IP 目标MAC 来进行手动设置MAC地址
  • 网卡设置里面点修复就可以清除设置的静态地址
  • 安装ARP防火墙,防止ARP欺骗

ICMP(网际控制报文协议)

作用:检测故障

ping(Packet Internet Grope,因特网包探索器)命令诊断网络故障

ping命令不需要应用程序来支持,他是一个ICMP协议内置的功能,所以不属于应用层,属于网络层
ping发送一个ICMP回声请求消息给目的地并报告是否收到所希望的ICMP回声应答

  • time:延迟
  • TTL(Time To Live):经过一个路由器,TTL减1,TTL到0时就消失了(防止数据包在网上做循环)
  • TTL粗略的判断对方的操作系统:
    • Linux 64
    • Windows 128
    • Unix 255
参数
  • -t:一直ping
  • -l size:数据包大小(size单位是字节)
  • -i TTL:指定TTL的数量(能跟踪数据包途中的路由器)

ping和pathping排除网络故障

  • 测试内网通不通
  • 测试到网关通不通
  • 测试到DNS服务器通不通
    • 8.8.8.8
    • 202.99.160.68
      能解析出域名说明网络层是通的
      当ping网段中一个服务器出现超时,此时同时ping改网段中其他的计算机,如果同时超时,那么不是服务器问题,而是网络问题
      ping估算网络是否畅通,ping局域网内的网关,如果是有线连接时间应该是1ms

请求超时:对方收到,无法传回
目标主机不可到达:无法送达

pathping(跟踪数据包的路径,并且计算丢包情况)
  • 第3列:丢包情况
  • 第4、5列:可以看到在路由器转发丢包和链路丢包的情况
tracert(跟踪路径,不计算统计)

IGMP(Internet组播管理协议)

点到点/广播/组播=多播

  • 点到点:直来直往
  • 广播(目标地址全F):全网广播(局域网内,过不了路由器)
  • 多播/组播:多播IP地址,服务器内创建多个多播IP地址,接收端绑定多播IP地址

多播应用场景:(语文频道和数学频道)

在这里插入图片描述

IGMP协议应用场景

作用:配置在路由器的接口上,每隔一段时间,路由器就扫描以下本网段内绑定了多播地址的计算机
当网段内没有计算机绑定多播地址时,路由器就会控制上游路由器,不再向此网段转发多播数据流了
多播不建立会话

场景:公司通过流媒体服务器进行多播来进行网络会议

在这里插入图片描述

IP数据包的结构

一个IP数据包由首部和数据两部分组成

  • 首部的前一部分是固定长度,共20字节,是所有IP数据包必须具有的
  • 在首部的固定部分的后面是一些可选字段,其长度是可变的

在这里插入图片描述

首部

在这里插入图片描述

  • 版本:用来表示TCP/IP的版本 IPv4 IPv6
  • 区分服务:优先级区分(QoS)
  • 总长度:2个字节,可以表示最大(2^16-1)=65535个字节
    数据链路层 数据帧最大1500字节 最大传输单元 MTU
    网络层数据包最大65535个字节
    数据链路层可能装不下一个完整的数据包,数据链路层会把数据包进行分片

泪滴攻击,向目标机器发送损害的IP包,通过TCP/IP协议栈中分片重组代码中的bug使操作系统瘫痪

  • 生存时间:TTL(防止数据包在网络中永不消失)
  • 协议:数据包使用的什么协议,时UDP还是TCP还是其他等等。常见协议号:
    • ICMP 1
    • IGMP 2
    • TCP 6
    • UDP 17
    • IPv6 41
    • OSPF 89
  • 首部检验和:用来检测首部的大小是否符合

在这里插入图片描述

  • 源地址/目标地址:一个IP就占了32位
  • 可变部分:IPv6已经废除可变功能

数据包分片

  • 标识:确认标识相同的数据包来自同一个数据包
  • 标志:标识是否分片(占3个字节,目前只用了两个字节,最低位是MF,MF=1表示后面还有分片,MF=0表示最后一个分片。标志中间的一位是DF。只有当DF=0时才允许分片)(正常的数据包三位都应该是0)
  • 片偏移

在这里插入图片描述

使用抓包工具排除网络故障

查看异常计算机

IP协议

路由器获得路由表有两种方式:
1、静态路由:管理员设置
2、动态路由:路由器之间通过IP协议,如RIP、OSPF(学习路由表的协议统称为IP协议)来学习到路由表

网络畅通的条件

数据包有去有回

在这里插入图片描述

IP、网关、路由表设置正确
注意,A机器ping包经过了机器B到达更远的机器,但是A机器不一定能ping的通机器B(跟路由表有关系)

静态路由

需要管理员告诉路由器,所有没有直连的网络如何转发下一跳给谁

缺点:
(1)适用于网络规模小的网络
(2)不能自动适应网络的变化

动态路由

RIP(开放式的动态路由协议)

周期性的广播路由表(30s更新一次),告诉其他路由器,到达某个网络可以经过他,并且经过几个路由器,其他路由器就会学习到路由表,并且判断最佳线路(跳数最少

最大跳数 15跳:不适合于网络规模大的场景

OSPF

选择最佳路径的标准是带宽

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值