• 【计算机网络】网络层-数据平面(学习笔记)


    一、网络层提供的服务

    1、虚电路服务

    通讯前建立虚电路,发送前认为选择路径,所以分组沿着同一条虚电路。

    特点:带宽固定

    2、数据报服务

    数据可能沿着不同路径传输

    3、网络层的两个层面

    数据层面:源主机到目标主机

    控制层面:路由器之前传递路由信息

    同一网段:直接交付

    非同一网段:间接交付

    路由器基本功能:不同网段数据的转发

    4、互联网络与虚拟互联网络

    二、IP协议

    1、IP地址

    1)IP地址概述

    每一类地址都由两个固定长度的字段组成其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另个字段则是主机号 host-id,它标志该主机(或路由器)。

    IP地址:网络号+主机号

    32位(4字节)

    点分十进制:每8个字节二进制转换成10进制,用.分隔

    2)IP地址的分类

    以ip地址第一位区分

    1. A类:1-126:默认255.0.0.0
    2. B类:128-191:默认255.255.0.0
    3. C类:192-223:默认255.255.255.0
    4. D类:224-239:多播/组播(一个地址代表一组)
    5. E类:240-254:科研保留

    127.0.0.1:回环地址localhost

    xxx.xxx.0.0:本网络(网段)

    xxx.xxx.255.255:广播地址

    192.0.0.0、128.0.0.0:未指派

    3)IP地址的特点

    IP地址是标志一个主机(或路由器)和一条链路的接口

    当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网络号 net-id 必须是不同的。这种主机称为多归属主机。

    由于一个路由器至少应当连接到两个网络,这样它才能将IP数据报从一个网络转发到另一个网络。因此一个路由器至少应当有两个不同的IP地址

    用转发器、网桥或交换机连接起来的局域网仍为一个网络,因此这些局域网都具有同样的网络号net-id(内网转发)

    所有分配到网络号net-id的网络,无论范围大小都是平等的

    2、ARP地址解析协议

    1)ARP概要

    不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用MAC地址

    每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的IP地址到MAC地址的映射表

    查看arp缓存:cmd => arp -a

    ARP 是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题

    2)ARP过程

    3)RARP逆地址解析协议

    逆地址解析协议 RARP :通过MAC地址获得IP地址

    3、IP数据报格式

    1)版本:4

    区分ipv4和ipv6

    0100(ipv4包头)

    0110(ipv6包头)

    2)首部长度:4

    IP包头的长度是可变的:20~60字节,大多为20字节

    首部长度存储ip包头的长度,0101(20字节)

    首部长度以4字节为单位

    首部长度 * 4字节 = 首部真实长度

    3)区分服务:8

    1-3位:优先级

    4-7位:服务类型(低延迟、高通道服务类型)

    8位:未被启用

    4)总长度:16

    表明整个IP包(三四五层)的总长度

    5)标识:16

    标识同一个报文的所有分片,由发送端随机生成

    标识用于区分不同分片,接收方据此将收到的分片进行"拼接"

    6)标志:3
    第一个比特

    永远为0(未被启用)

    第二个比特 DF

    不能分片:Donot Fragment

    若为0,则表明进行了分片

    若为1,则表明未进行分片

    第三个比特 MF

    更多分片:More Fragment

    表明本分片后面是否还有分片(本分片是否为最后一个分片)

    1:本分片不是最后一个分片

    0:最后一个分片

    7)片偏移:13

    段偏移量:标志IP分片的先后顺序

    片偏移以8字节为单位

    片偏移 * 8字节 = 片的真实偏移

    防火墙会拦截IP分片:防火墙只让标志位的010通过,则将分片任务交给应用层,应用层将其分成1480的分片

    8)TTL:8

    TTL(time to live):防止一个数据包在网络上兜圈子

    TTL由8个比特组成(0~255),这个数字表示通过路由器的个数,每经过一个路由器TTL值-1

    通过TTL初始值可以大概判断对方是什么主机

    9)协议:8

    6:通向TCP协议

    17:通向UDP协议

    1: 通向同层的ICMP协议

    41:IPv6

    10)首部校验和:16

    11)原ip:32
    12)目标ip:32
    13)可选项目

    排错、测量、安全…

    增加首部的可变部分是为了增加IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的,这就增加了每一个路由器处理数据报的开销。实际上这些选项很少被使用。

    4、划分子网

    1)划分子网概述

    目的: 隔离网络广播,保证网络的安全,节约IP地址

    特点:对内划分子网,对外表现为没有划分子网的网络

    IP地址:网络号 + 子网号 + 主机号

    2)子网掩码

    IP地址无法判断子网号 => 用子网掩码找出IP地址中的子网部分 => 用于(交换机、路由器)判断是否在同一网段

    IP地址 AND(按位与) 子网掩码 = 网络地址(网段)

    子网掩码两种写法:

    1. 点分十进制:192.168.0.1/255.255.255.0
    2. 网络位长度:192.168.0.1/24
    1. 子网掩码是一个网络或一个子网的重要属性
    2. 路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器
    3. 路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码
    3)路由聚合

    **路由汇聚:**是把一组路由汇聚为一个单个的路由广播。路由汇聚的最终结果和最明显的好处是缩小网络上的路由表的尺寸。

    192.128.0.0/25		192.168.2.1
    192.128.0.128/25	192.168.2.1
    
    =>192.168.0.0/24	192.168.2.1
    
    • 1
    • 2
    • 3
    • 4

    5、ICMP

    1)ICMP概述

    网际控制报文协议:ICMP (Internet Control Message Protocol)

    ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告

    ICMP是IP层的协议。但ICMP报文作位IP层数据报的数据,加上IP包头组成IP数据报发送

    2)ping命令

    PING (Packet Internet Grope):因特网包探索器

    用于测试网络连接量的程序。Ping发送1个ICMP回声请求消息,给目的地并报告是否收到所希望的ICMP回声应答

    cmd / term => ping 域名/ip地址

  • 相关阅读:
    学会这9个伪类,让你的页面 表单更人性化!!!
    基于hutool实现国密SM2的加解密,简直不要太简单!
    Python自学笔记8:实操案例五(循环输出26个字母对应的ASCII码值,模拟用户登录,猜数游戏,计算100-999之间的水仙花数)
    C# Winform无边框窗体实现界面拖动
    Python logging 模块详解
    R语言使用rowSums函数对矩阵或者数据框数据的行求和、使用colSums函数对矩阵或者数据框数据的列求和
    【Linux】Linux网络连接方式 + 虚拟机克隆、迁移与删除+虚拟机快照+Linux(CentOS)安装wmtools
    Vue中如何进行拖拽与排序功能实现
    生命在于学习——Python人工智能原理(3.2)
    1.[人脸识别] python采集摄像头视频
  • 原文地址:https://blog.csdn.net/wmh1024/article/details/133379230