网络层

  • 1、三层交换机
  • 2、链路聚合
  • 3、IP地址
    • 3.1 ip地址分类
    • 3.2 私有地址
    • 3.3 子网掩码
    • 3.4 IP包头格式
  • 4、ping命令
    • ping的作用
    • ping 的过程
    • ping 选项
    • ping不通的原因
  • 5、DHCP协议
  • 6、配置静态ip地址
  • 7、子网划分
  • 8、路由
    • 8.1 路由表
    • 8. 2 路由的类型
    • 8.3 网关
    • 8.4 route 相关命令用法
    • 8.5 路由器的工作过程
    • 8.6 路由追踪
  • 路由器转发数据包封装过程

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-privacyPREFIX=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 14921:  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 reply8:  no reply9:  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.12     6 ms     9 ms     5 ms  175.8.132.13     8 ms    13 ms    12 ms  222.247.30.1894    15 ms     *       10 ms  61.137.10.2255    37 ms    25 ms    25 ms  202.97.36.1456    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。
广播包是不能扩散路由器的,当路由器收到广播包的时候不会让它继续传递下去,因为路由器是隔离广播包的。

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

  1. 子网掩码必须是相邻的是什么意思_零基础IP子网划分详解

    零基础IP子网划分详解 2016.8.22修正,感谢道友刘先生的提醒 在学习IP子网划分前,首先的明白以下几个基础概念: 1.IP地址组成 IP地址组成示意图 IP地址由32位二进制组成,32位二进制 ...

  2. 计算机网络子网划分路由配置实验报告,洛阳理工学院+计算机网络+实验5子网划分路由配置...

    洛阳理工学院实验报告 院别 计算机与信息班级 工程学院 课程名称 计算机网络 实验名称 实验五 子网划分路由配置 实验目的: 1. 理解子网划分原理,能够正确为网络中的计算机以及设备配置划分子网后的I ...

  3. 简述子网划分的方法 计算机网络,IP子网划分

    IP子网划分实际上就是设计子网掩码的过程.由于在五类的IP地址中,网络号与主机号的的位数并不一致,就造成了要么是网络号太多,要么是主机号太多.为了解决这些问题,就需要划分子网.将一个网络划分为子网:采 ...

  4. 轻松掌握IP子网划分的概念和操作方法

    轻松掌握IP子网划分的概念和操作方法 George Ou第一次在TechRepublic社区发表和IP子网划分相关的热门文章是在2006年的6月.对于广大初学者来说,这是一篇非常好的普及资料,即使对其 ...

  5. 计算机网络实验子网划分与路由器配置,实验5子网划分路由配置

    <实验5子网划分路由配置>由会员分享,可在线阅读,更多相关<实验5子网划分路由配置(5页珍藏版)>请在人人文库网上搜索. 1.洛阳理工学院实验报告课程名称计算机网络实验日期20 ...

  6. 6.2 IP子网划分

    IP子网划分 一 子网划分的原因 A.B.C三类地址每个网络分别拥有的主机数是2的24次方减去2.2的16次方减去2.2的8次方减去2:如果一家企业的主机数是300台,那么用A.B类地址会很浪费,C类 ...

  7. IP子网划分和vlsm(变长子网掩码)和路由汇总

    IP子网划分和vlsm(变长子网掩码) IP子网划分和vlsm(变长子网掩码)都是通过人工计算, 对大型IP网络进行结构化和层次化的编址设计技术. IP的主类网络: 与IP主类地址掩码相同的IP网络号 ...

  8. vlan高级配置之基于IP子网划分

    vlan高级配置之基于IP子网划分 sw1: <Huawei>system-view [Huawei]un in en [Huawei]sysname sw1 [sw1]vlan batc ...

  9. 走!来学习配置基于IP子网划分VLAN

    划分VLAN的方式有:基于接口.基于MAC地址.基于子网.基于协议.基于策略(MAC地址.IP地址.接口) 基于IP子网划分VLAN经常适用于对安全需求不高.对移动性和简易管理需求较高的场景中.比如, ...

最新文章

  1. 【javamatlab】以一个简单的例子实现java和matlab混编
  2. 横空出世,席卷互联网--评微软等公司数据结构+算法面试100题
  3. 九年级数学解方程50道_九年级数学知识点总结与重点难点总结,考前必看!
  4. 启明云端分享|ESP32-S3开发环境搭建,这里我们会介绍两个比较常用的开发环境搭建:WINDOWS\LINUX
  5. 数据结构与算法之数组
  6. jQuery实战之 attr() 和 prop() 的区别
  7. [UE4]自动旋转组件
  8. java中volatile关键字的含义_java中volatile关键字的含义
  9. LintCode_44 最小子数组
  10. n平方的求和公式_极限求解--数列前n项和公式推导(补充知识)
  11. CMS4.0——后知后觉
  12. 【MATLAB】 分形插值
  13. matlab不用hist画直方图,matlab可以画直方图
  14. opencv: C++实现将彩色图转换为灰色图
  15. CNZZ统计代码异步加载教程
  16. iis aspnet_iisreg.exe 0x8007000B
  17. 如何在bat文件中切换盘符并执行命令
  18. 杨焘鸣 杨涛鸣:怎样建立自己的人脉网络
  19. 2023年软考高项论文秘籍大讲堂|开篇
  20. 收入结算与提现常见问题( iOS )

热门文章

  1. html标题显示hex,HTML特殊字符显示, HTML实体,HTML Entity, HTML Entity Code, HTML Css Code ,HTML Hex Code...
  2. 视觉SLAM十四讲笔记 -- 第二讲
  3. 视觉SLAM十四讲(第2版)总结
  4. 【FT2000/4+X100】调试记录2--如何让生成X100固件
  5. MATLAB中利用FFT进行频谱分析
  6. linux vsftpd上传文件权限,如何用vsftpd实现用户不同权限:只能下载,可上传,管理权限等...
  7. 每月一书(2021010):《苏世民:我的经验与教训》
  8. amd linux 性能,AMD 780G芯片组Linux性能首测
  9. ubuntu下amd超频工具_Ubuntu 16.04 LTS推荐开源AMDGPU和Radeon驱动程序
  10. 合作还是背叛(博弈论的诡计)