计算机网络-网络层小结

网络层小结

一、网络层提供的服务

数据包在互联网中的传递.png

网络层 负责在不同网络之间尽力转发数据包 基于数据包的IP地址转发 不负责丢失重传 不负责顺序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Would you like to enter the initial configuration dialog? [yes/no]: no
Press RETURN to get started!
# 进入路由器
Router>enable
# 终端配置
Router#configure terminal
# 配置 具体的哪个端口
Router(config)#interface FastEthernet0/0
Router(config-if)#no shutdown
Router(config-if)#ip address 10.0.0.1 255.0.0.0

Router>enable
Router#configure terminal
Router(config)#interface serial 2/0
Router(config-if)#no shutdown
Router(config-if)#clock rate 64000
Router(config-if)#ip address 11.0.0.1 255.0.0.0
# 退出当前接口
Router(config-if)#exit
# 进入一个接口
Router(config)#
]

# 设置IP地址 子网掩码
Router(config-if)#ip address 12.0.0.1 255.255.0.0
# 接口打开
Router(config-if)#no shutdown

# 查看路由表
Router#show ip route

# 添加静态路由表
# 去哪里网段 -> 12.0.0.0 255.255.0.0
# 去网段中具体的哪个IP -> 11.0.0.2
Router(config)#ip route 12.0.0.0 255.255.0.0 11.0.0.2

路由器到路由器之间需要路由表才知道,之间路由器的下一跳如何走

网络设备与iOS之间的关系

二、网络层协议

三、网络层如何转发数据包 网络设备

网络设备和OSI参考模型关系 计算机通信的过程 本网段通信跨网段

  1. 应用层程序准备要传输的文件

  2. 传输层 将文件分段 并 编号

  3. 网络层 添加目标IP地址(IP4)源IP地址(IP3)

  4. 数据链路层 使用自己的子网掩码 判断自己在哪个网段,使用自己的子网掩码 判断目标地址在哪个网段两种情况

    1. 如果是同一个网段 arp 协议广播解析 目标IP地址的MAC
    2. 如果不是同一个网段 发送端

    添加MAC地址,确定下一跳把数据给谁

  5. 物理层 把数据变成比特流进行传输

    集线器只是负责将比特流的传递,和网线功能相同

  6. 数据链路层 交换机将比特流 存储 根据 MAC转发

数据过程.png

四、网络层协议

TCPIP协议层次.png

在网络层中 ARP 协议IP协议提供服务,IP协议ICMPIGMP提供服务

1. IP协议 (RIP、OSPF)

IP协议是个统称,所有能够让路由器学习路由表的协议都是IP协议。分两种静态路由动态路由

  • 静态路由 是 管理员告诉路由器没有直连(不在同一个网段)的网络下一跳给谁(给路由器配置路由表)

    • 优点:配置路由表可以实现负载均衡

    • 缺点:适合小规模网络,不能自动调整路由

  • 动态路由 是 路由器使用IP协议自己学习网络怎么走

    有以下几种协议

    | 协议名称 | 描述 |
    | ———— | —————————————————————————————— |
    | RIP协议 | 周期性广播路由表 选择路径的标准(跳数),30秒更新一次,目的是告诉其相邻自己正在运行,最大条数是 15跳 |
    | OSPF协议 | 根据带宽选择路径 |

网络畅通的条件 数据包有去有回

1
2
3
4
5
6
7
8
9
10
11
12
Router>enable
Router#config terminal
Router(config)#interface fastEthernet 0/0
Router(config-if)#ip address 192.168.0.1 255.255.255.0
Router(config-if)#no shutdown

# 设置串口
Router(config)#interface serial 2/0
Router(config-if)#clock rate ?
Router(config-if)#clock rate 64000
Router(config-if)#ip address 172.16.0.1 255.255.255.0
Router(config-if)#no shutdown

2. ARP协议

ARP将IP地址通过广播 目标MAC地址是 形如FF-FF-FF-FF-FF-FF 解析目标IP地址的MAC地址,分两种情况

前提是ARP协议只能作用在本网段中

  1. 如果目标IP地址在本网段中 获得MAC地址
  2. 如果目标IP地址不在本网段中,将获得网关的MAC地址

查看本地缓存物理地址

1
arp -a

3. 网际控制报文协议 ICMP

1. ping 基于网络层ICMP协议 来排除网络故障

  1. ping 命令诊断网络故障

​ ping(Packet Internet Grope),因特网包探索器,用于测试网络连接量的程序。ping发送一个ICMP回声请求消息给目的地并报告是否收到希望的ICMP回声应答。

​ ping 指的是端对端联通,通常用来作为可用性的检查,但是某个病毒强行大量远程执行ping命令抢占网络资源,导致系统变慢,网络变慢。严禁ping入侵作为大多数防火墙的一个基本功能

1
2
3
4
5
6
7
8
# 查看 ping 参数
ping /?
# 一直ping
ping IP -t # ping 10.0.0.1 -t
# 指定ping 发包大小
ping -l 200 IP # ping -l 200 10.0.0.1 ping 10.0.0.1 -l 200
# 设置 TTL 值,能够跟踪数据包途径的路由器
ping IP -i TTL # ping 8.8.8.8 -i 1

DOS 下面可以ping 网站可以解析出域名说明 网络层是通的

  1. pathping (windows 专有 跟踪数据包路径 计算丢包情况)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
C:\Users\Jun>pathping www.baidu.com

通过最多 30 个跃点跟踪
到 www.a.shifen.com [180.101.49.12] 的路由:
0 DESKTOP-PNGGK3V [192.168.1.4]
1 CHINATELECOM [192.168.1.1]
2 100.82.128.1
3 218.2.122.197
4 58.213.94.54
5 * * *
正在计算统计信息,已耗时 100 秒...
指向此处的源 此节点/链接
跃点 RTT 已丢失/已发送 = Pct 已丢失/已发送 = Pct 地址
0 DESKTOP-PNGGK3V [192.168.1.4]
7/ 100 = 7% |
1 153ms 7/ 100 = 7% 0/ 100 = 0% CHINATELECOM [192.168.1.1]
6/ 100 = 6% |
2 143ms 16/ 100 = 16% 3/ 100 = 3% 100.82.128.1
0/ 100 = 0% |
3 178ms 13/ 100 = 13% 0/ 100 = 0% 218.2.122.197
3/ 100 = 3% |
4 169ms 16/ 100 = 16% 0/ 100 = 0% 58.213.94.54

跟踪完成。
  1. tracert (windows 专有)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
C:\Users\Jun>tracert www.baidu.com

通过最多 30 个跃点跟踪
到 www.a.shifen.com [180.101.49.12] 的路由:

1 99 ms 118 ms 119 ms CHINATELECOM [192.168.1.1]
2 * * 77 ms 100.82.128.1
3 232 ms 110 ms 133 ms 218.2.122.197
4 55 ms 110 ms 133 ms 58.213.94.54
5 * * 254 ms 58.213.94.90
6 58 ms 106 ms 120 ms 58.213.96.130
7 * * * 请求超时。
8 * * * 请求超时。
9 * * * 请求超时。
10 75 ms 105 ms 119 ms 180.101.49.12

跟踪完成。
  1. traceroute IP 路由器上跟踪数据包路径的命令

    1
    traceroute 10.0.0.1

2. TTL (Time to live) 生存周期

TTL 从 一个数(初始值跟操作系统有关,这个值是可以设置的)开始倒数 没经过一个路由器就减一,当 TTL=0时,数据包被丢弃,防止数据包在网络中循环,占用网路资源

初始值:

  • Linux 64
  • Windows 128
  • Unix 255

4. Internet组播管理协议 IGMP

点到点(联想TCP)

广播(联想UDP)

组播=多播(联想看电视可以换频道)

五、IP数据包格式

1.IP数据包

IP数据包.png

A. IP数据包由首部和数据两部分组成。

  • 首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。
  • 在首部的固定部分的后面是一些可选阻断,其长度是可变的。
  • 首部是在拿到传输层的数据后在网络层添加的

B. 数据包结构

  1. | 名称 | 作用 |
    | —————————————— | :—————————————————————————————- |
    | 版本 | 用来表示TCP/IP协议版本 4/6 |
    | 标识 | 标识是哪个数据包的分片,比如都是 100, |
    | 总长度 | 整个数据包的总长度 |
    | 标志 | 标志(flag)占3位,目前只有前两位有意义,
    标志字段最低位是MF(More Fragment)。MF=1表示后面“还有分片”,MF=0表示是最后一个分片 标志字段中间一位是DF(Don’t Fragment)只有当DF= 0时才允许分片 |
    | 片偏移 | ping www.baidu.com -t -l 65500 ,可以ping 发大包,来抓包演示一下片偏移
    片偏移表示在整个字节中的位置IP数据报分片举例.png |
    | 生存时间 TTL Time to live | TTL 从 一个数(初始值跟操作系统有关,这个值是可以设置的)开始倒数 没经过一个路由器就减一,当 TTL=0时,数据包被丢弃,防止数据包在网络中循环,占用网路资源
    初始值:
    Linux 64
    Windows 128
    Unix 225 |
    | 协议号 | 协议字段指出将数据部分交给哪个进程处理,协议可以是
    传输层的中(TCP - 6、UDP - 17)
    网络层中 (ICMP - 1、IGMP - 2、OSPF - 89)
     TCP-1IP中协议号.png |
    | 首部检验和 | 首部检验和校验过程.png |

IP首部演示.png

网络层 数据包 65535字节( 2^16 - 1),数据链路层 数据最大 1500字节 MTU(最大传输单元),当网络层的数据包大于 1500字节,网络层就会数据包分片,一般情况下不用分片。在接收方的数据链路层将分片重新组装成数据包给网络层。

网络层

  • 网络设备的机械特性
    • 电器特性
    • 功能特性
    • 过程特性
  • 数据通信的基础知识
    • 数字信号
    • 模拟信号
  • 频分多路复用
  • 时分多路复用

  数据链路层

  • 封装成帧

  • 透明封装

  • 无差错接受
名称 使用协议
点到点线路的数据链路层 PPP(Point-to-point protocol)
广播信道的数据链路层 CSMA /CD
  • 以太网 100M 1000M 10000M
  • 集线器
  • 网桥
  • 交换机