3_计算机网络_网路层-IP-子网划分-路由-ping

1、三层交换机

实现了不同vlan之间的通信
既是交换机,又有路由器的功能
在这里插入图片描述
路由器的接口需要配置ip地址,交换机不需要。因为傻瓜交换机不是根据ip地址转发数据的。
如果交换机要配置ip地址的话也是给vlan1配地址。
vlan1的接口是虚拟接口,任何一个接口只要属于vlan1都可以访问vlan1的ip(192.168.0.1)

所有的无线路由器的lan口的ip地址,就是vlan1的ip地址。

2、链路聚合

思科设备中,叫以太通道
将多条链路逻辑上捆绑成(逻辑上)一条链路,提升带宽。
作用:负载均衡、高可用(容错)

3、IP地址

internet protocol 互联网协议;
ip就是互联网协议里使用的地址;
一台电脑就是一台主机;
一个服务器就是一个主机;
一个主机就是一个节点(node);

IP地址有32个二进制(32bit)组成;
将8位二进制转换成十进制的,范围是0~255;

IPV4:ip协议的第四个版本(常见)——》32位(2^32=43亿) ——》平常的网络里面非常常见
IPV6:ip协议的第六个版本(下一代互联网协议)——》128位 ——》已经在公网里面使了

为什么不用ipv6?
全部投入ipv6的话资金设备大。ipv4可以通过NAT技术解决ip地址不足的问题

3.1 ip地址分类

网络部分 +主机部分

网段:就是指的网络部分,如果网络部分一样,ip地址就是一个网段的;

公网:互联网上使用的全球唯一的地址
私网:相当于一个的局域网
在这里插入图片描述

  • A类:1~126
    1个网络部分,3个主机部分
    容纳2^24 = 16777216台电脑
  • B类:128~191
    2个网络部分,2个主机部分
    容纳2^16 = 65536台电脑
  • C类:192~223
    3个网络部分,1个主机部分
    容纳2^8 = 256台电脑
  • D类:给组播地址使用 224以后
  • E类: 保留科学研究使用

环回loopback——》lo接口,环回接口
127开头的地址给所有电脑的lo接口使用,用来测试TCP/IP 协议是否正常;

https://www.ip138.com/
您的iP地址是:[175.8.135.205] 来自:中国湖南长沙芙蓉区 电信
ISP:网络服务提供者(Internet Service Provider)

3.2 私有地址

满足企业用户在内部网络中使用的需求
私有地址不能在Internet上使用
私有地址包括3组

A类:10.0.0.0~10.255.255.255
B类:172.16.0.0~172.31.255.255
C类:192.168.0.0~192.168.255.255

3.3 子网掩码

netmask : 和ip地址进行与运算确定一个ip的网段号(网络部分)

默认子网掩码
A类:255.0.0.0
B类:255.255.0.0
C类:255.255.255.0

ip地址和子网掩码作逻辑与运算后得到的就是网络地址;
在这里插入图片描述

3.4 IP包头格式

  • 版本: ipv4、6
  • 首部长度:ip包头部长度,因为长度可变,因此需要定义
  • 优先级与服务类型:对某些类型的数据优先转发
  • 总长度:ip数据的总长度
  • 标识符、标识、段偏移量(类似火车车厢以及编号)
  • TTL生命周期(经过一个路由器值减一,为0时,数据包丢弃。防止数据包在网络中无限地循环下去)
  • 协议号(用来标识封装的上层数据协议是17 UDP还是6 TCP)
  • 首部校验和
  • 源IP、目的IP

在这里插入图片描述

网络层:IP
传输层: TCP、UDP
17 UDP 无连接,不可靠 ,快 发短信–》–>QQ
6 TCP 面向连接,可靠 -->打电话

4、ping命令

ping的作用

ping命令是用来测试网络的质量
1.测试通还是不通
2.网络质量:
——lost 丢包率
——响应时间–》往返的时间总和

arp协议是将ip地址解析到对应的mac地址,
arping ip地址 就能得到mac地址。

[root@192 ~]# arping 192.168.56.1`在这里插入代码片`
ARPING 192.168.56.1 from 192.168.56.128 ens33
Unicast reply from 192.168.56.1 [00:50:56:C0:00:08]  0.834ms
Unicast reply from 192.168.56.1 [00:50:56:C0:00:08]  0.774ms

ip地址冲突: 一个ip地址,2台或者多台都在使用
一个人能上网另外的不能上网

ping 的过程

1.如果是域名,先进行域名解析到具体的一个ip
2.将要ping的ip地址和自己的子网掩码进行与运算,得出相应的网段号114.114.114.0
3.然后到自己的电脑里的路由表里查询是否有到这个网段的路由

ping 选项

-s 指定要发送数据的字节数(数据包大小)。缺省值是 56,当和 8 字节的 ICMP 头数据合并时被转换成 64 字节的 ICMP 数据。
-i 指定发包时间间隔
-c 指定发包数量
-w 指定期限
-W 超时时间 ,ping不通的时候最多能等多久(等待的时间至少1秒)

ping不通的原因

服务器挂了;
开启了防火墙 ;
运营商(中间线路中断,宽带被剪了);
路由器问题;

排除网路故障方法:分段排查、替换排查、先硬件后软件
场景:
1)请求超时
a)对方开启了防火墙,不允许icmp协议包通过

开启防火墙 
iptables -A INPUT -p icmp --icmp-type  8 -j DROP
关闭防火墙(清除防火墙规则)
iptables -F

b) 中间的路由器丢弃了我们的ping包

[root@localhost ~]# ping www.google.com
PING www.google.com (157.240.0.18) 56(84) bytes of data.
^C
--- www.google.com ping statistics ---
9 packets transmitted, 0 received, 100% packet loss, time 201ms

2)目的主机不可达
一般是ip地址没人使用

[root@localhost ~]# ping 192.168.66.3
PING 192.168.66.3 (192.168.66.3) 56(84) bytes of data.
From 192.168.66.254 icmp_seq=1 Destination Host Unreachable
From 192.168.66.254 icmp_seq=2 Destination Host Unreachable
From 192.168.66.254 icmp_seq=3 Destination Host Unreachable

3)网络不可达
不能跨网段通信,没有填写默认网关

[root@localhost 192~]#  ip route # 查看路由表
default via 192.168.1.1 dev ens224 proto static metric 101
192.168.1.0/24 dev ens224 proto kernel scope link src 192.168.1.133 metric 101
192.168.66.0/24 dev ens160 proto kernel scope link src 192.168.66.254 metric 100
[root@localhost 192~]#  ip route del default # 删除默认网关
[root@localhost 192~]# ping 114.114.114.114  # 报错
connect: 网络不可达
[root@localhost 192~]# ip route add default via 192.168.1.1 dev ens224  # 添加默认网关,下一跳地址必须是相同网段的ip

4)未知的名称或服务
没有填写DNS服务器地址

/etc/resolv.conf 存放dns服务器ip地址的,真正我们进行域名查询的时候,就到这个文件里找dns服务器地址;
当激活新的配置的时候,NetworkManager 服务会读取/etc/sysconfig/network-scripts/ifcfg-ens33 里的DNS1这个配置写到/etc/resolv.conf。
nameserver最多可以3个 优先级自上而下

[root@localhost network-scripts]#  cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114

5、DHCP协议

动态主机配置协议(Dynamic host configuration protocol)
帮助电脑配置ip地址、子网掩码、网关、dns服务

无线路由器上会启用DHCP功能–》帮助电脑配置ip地址,子网掩码,网关,dns服务器–》功能
无线路由器就是一个dhcp server
在这里插入图片描述

静态配置(手工配置)
动态获得(dhcp服务器分配): 就是局域网里的dhcp服务器给我们的电脑分配ip地址和子网掩码,网关,dns服务器

6、配置静态ip地址

1、查看系统的版本

[root@192 ~]# cat /etc/centos-release
CentOS Linux release 8.3.2011

2、查看网卡配置文件

[root@192 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet 
PROXY_METHOD=none  # 指定获得ip地址的引导协议,dhcp说明是动态获得,none是静态
BROWSER_ONLY=no
BOOTPROTO=dhcp     # none手工配置/dhcp动态获得
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy

PREFIX=24     # 子网掩码
NAME=ens33    # 网络连接的名字
UUID=3f9c1514-bb0d-470c-90b0-9fc2bd6bee96  # 网课设备的唯一标识
DEVICE=ens33  # 网卡的设备名
ONBOOT=yes    # 开机是否自启动(激活)

ifcfg-ens33 是ens33网卡的配置文件 (interface config 接口配置)
ens33是系统里的第一个网卡的名字 ;
centos7、8 里面叫ifcfg-ens33 相当于windows里面的本地连接或WLAN)
centos6 和乌邦图里面叫eth0;

3、修改配置文件ifcfg-ens33

[root@192 ~]# ip route  # 查看默认网关default via
default via 192.168.56.2 dev ens33 proto dhcp metric 100
192.168.56.0/24 dev ens33 proto kernel scope link src 192.168.56.128 metric 100
[root@slave-mysql network-scripts]# vim ifcfg-ens33 
BOOTPROTO=none  静态配置ip地址   none 静态配置(手工配置)  dhcp 就是动态获得,别的dhcp服务器给我们的机器分配ip地址
NAME=ens33   网络连接的名字
DEVICE=ens33   网卡的设备名
ONBOOT=yes   开机是否启动(激活)  yes 启动  no 不启动
IPADDR=192.168.0.27  ip地址
NETMASK=255.255.255.0  子网掩码
GATEWAY=192.168.0.1    默认网关
DNS1=114.114.114.114   首选DNS服务器地址
DNS2=192.168.0.1      备用DNS服务器地址

4.重启网络服务,获得新配置的ip

  • centos7 重启网络服务
    service network restart 重启网络服务
    service NetworkManager stop -->NetworkManager 是一个网络连接管理服务,经常会导致我们的网络配置的ip地址出现服务启动不了,没有获得ip地址。
    centos7里面要关闭,centos8里面不要关。

  • centos8 重启网络服务
    ifup ens33 --》interface up ens33
    NetworkManager 在centos8里是不能关闭,必须要开启的

临时添加IP地址:
ip address add ip地址 dev ens33
ip add add ip地址

7、子网划分

把大的网络划分成很多小的网络,就叫子网划分;

目的:满足不同网络对IP地址的需求,实现网络的层次性。

有效的ip地址范围= 网段号(网络部分)+ 主机部分

主机部分全为0表示网段号

练习:
1、192.168.220.0/24 划分成8个子网,要求你计算每个子网的网段号和子网掩码,有效ip地址段,每个子网的广播地址
在这里插入图片描述
2、192.168.212.123/27 , 请你计算这个ip所在网段和广播地址,有效ip地址范围。

  • 使用ip地址和子网掩码进行与运算,得出网段号
    网段:192.168.212.96
    广播地址:192.168.212.127
    有效地址范围:192.168.212.97~126
  • 路由器接口需要配ip地址;所有的无线路由器的LAN口的ip地址,就是vlan1的ip地址;
  • 交换机接口不需要ip地址,给交换机配置ip地址,就是vlan1的ip地址;

8、路由

路由(动词):跨越从源主机到目标主机的一个互联网络来转发数据包的过程;
路由器:帮助我们选择最佳的路径,把数据送过去的设备(中转站)
能够将数据包转发到正确的目的地,并在转发过程中选择最佳的路径;

  • 路由器是如何知道我们的数据从哪来到哪里去?
    IP包:源IP+目的IP

  • 路由器是如何判断最佳路径的?
    路由表:判断哪一条路由是最佳的,根据路由的优先级选择最佳的。
    找不到路径会丢包,显示目的主机不可达。

  • 路由器是如何知道自己能去哪里地方?
    路由表里面写了能到哪里

  • 路由器作用?
    实现跨网段通信,将数据包从一个网络转发到另外一个网络。根据路由表转发。

  • 哪些设备有路由表?
    电脑、手机、路由器、三层交换机——》能配置ip地址的设备都有路由表,路由表在内存里存放。

8.1 路由表

组成:目标网段+接口(从路由器自己的哪个接口发送出去)+下一跳地址(对方路由IP)
:在路由器的内存里面,停电会丢失;
只要能配置ip地址的地方都有路由表,电脑、手机里面都有路由表;

8. 2 路由的类型

直连路由:路由器的接口配置的ip地址,直接相连接的网段——》自己直接配置的网段。
直连路由自动产生,不需要配置;
满足条件:需要配置ip地址,同时需要激活网卡(接口是up状态);

非直连路由
只要不是直连的,如果想要过去,都要添加静态路由或动态路由。

  • 静态路由:人工配置,是单向的,缺乏灵活性;
    静态路由是管理员手工去配置的,不配置的话路由表里是没有的 --》适合网络规模比较小的

    • 默认路由:当路由器在路由表中找不到目标网络的路由条目,路由器把请求转发到默认路由接口。
      特殊的静态路由,需要人添加的,优先级比较低。
      配置网关,就是添加一条默认路由(比如IPv4默认网关192.168.0.1,不管你要去哪里都是送给这个网关,这个接口就是路由器的接口lan口)
  • 动态路由
    动态路由是路由器互相之间学习(互相告诉),需要在每个路由器上启用动态路由协议,配置自己能到达哪些网络 --》适合网络规模比较大,路由器比较多
    动态路由协议: rip,ospf,BGP

只要是不直连的,要想过去都要添加静态或者动态路由
优先级:直连路由——》静态路由——》动态路由——》默认路由
自己找对象——》朋友介绍指定的/别人主动追求——》 在周边找互相学习了解——》找不到对象,只能找爸妈介绍的对象

8.3 网关

网络的关卡——》gateway
路由器的LAN口的接口
网关是一个角色
配置网关,就是添加一条默认路由

8.4 route 相关命令用法

route -n 查看路由表
Destination目标主机 Gateway网关 Genmask子网掩码 Use Iface接口

[root@192 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.56.2    0.0.0.0         UG    101    0        0 ens33
192.168.56.0    0.0.0.0         255.255.255.0   U     101    0        0 ens33

ip route 显示路由,显示的路由记录与route显示的格式不一样

[root@192 ~]# ip route
default via 192.168.56.2 dev ens33 proto dhcp metric 101
192.168.56.0/24 dev ens33 proto kernel scope link src 192.168.56.128 metric 101

ip route del 删除路由

[root@slave-mysql ~]# ip route del 192.168.30.0/24 # 删除静态路由
[root@slave-mysql ~]# ip route del default  # 删除默认路由

ip route add default via xxx dev ens33 添加默认网关(默认路由)

# 添加静态路由
[root@sc-mysql ~]# ip route add 192.168.90.0/24      via 192.168.0.2    dev ens33  
                               目标网段和子网掩码     下一跳         从自己的那个接口送出去
# 添加默认网关
[root@slave-mysql ~]# ip route add default via 192.168.0.1 dev ens33
[root@slave-mysql ~]# ip route
default via 192.168.0.1 dev ens33 

8.5 路由器的工作过程

1.查看ip包的目的ip地址
2.计算出目标网段
3.到路由表里查看是否有到目标网段的路由
4.如果有,就转发,没有就告诉客户机不能到达

在这里插入图片描述

# 在linux里临时添加ip地址
ip  add/address add 192.168.20.1/24 dev ens33  # 在ens33设备上添加ip
ip  address add 192.168.30.1/24 dev ens33 

[root@slave-mysql ~]# ip route 查看路由表
default via 192.168.0.1 dev ens33 proto static metric 100 
192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.27 metric 100 
192.168.100.0/24 dev ens33 proto kernel scope link src 192.168.100.1 
192.168.200.0/24 dev ens33 proto kernel scope link src 192.168.200.1 

8.6 路由追踪

  • linux里面:
    tracepath 默认情况下是30跳
    tracepath6 追踪ipv6
    巧妙利用了TTL生命周期
  • windows里面:
    tracert
[root@slave-mysql ~]# tracepath  -n 114.114.114.114 # 以数字的形式追踪路由,显示所有下一跳地址
 1?: [LOCALHOST]                      pmtu 1492
 1:  192.168.0.1                                           5.606ms 
 1:  192.168.0.1                                           9.015ms 
 2:  175.8.132.1                                         163.898ms 
 3:  61.187.5.233                                          5.196ms 
 4:  61.137.10.225                                        23.914ms 
 5:  202.97.38.81                                         27.173ms 
 6:  218.2.122.34                                         24.102ms 
 7:  no reply
 8:  no reply
 9:  no reply
C:\Users\Administrator>tracert 114.114.114.114   --》windows里

通过最多 30 个跃点跟踪
到 public1.114dns.com [114.114.114.114] 的路由:

  1     3 ms     3 ms     3 ms  192.168.0.1
  2     6 ms     9 ms     5 ms  175.8.132.1
  3     8 ms    13 ms    12 ms  222.247.30.189
  4    15 ms     *       10 ms  61.137.10.225
  5    37 ms    25 ms    25 ms  202.97.36.145
  6    25 ms     *        *

tracepath ip怎么会知道下一跳地址是什么?如何探测出下一跳地址在这里插入图片描述
tracepath放在icmp协议中,tracepath底层协议封装的数据包仍然是icmp相关的,探路,探测到底有哪些路由。
默认情况30跳,巧妙利用了ttl。第一次ttl=1,每经过一个路由器,ttl减1,包转到下一个路由ttl=0就不转发了,回复主机(同时ip暴露给主机)。下一次ttl=2,慢慢地-1,直到为0后不转发。

路由器转发数据包封装过程

从数据帧的封装和数据包的封装讲起
在这里插入图片描述

主机A访问主机B,将192.168.2.2与自己的子网掩码做与运算,算出来A属于1.0网络,B属于2.0网络。
A会查自己的路由表,看有没有对应2.0网络的路由,发现直连路由是1.0,所以只能走默认路由,下一跳地址是192.168.1.1。所以会发arp广播获得1.1的mac地址,目的mac就为22-22。
广播包是不能扩散路由器的,当路由器收到广播包的时候不会让它继续传递下去,因为路由器是隔离广播包的。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这个手刹不太灵儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值