计算机网络笔记-4

第四章

第4章 网络层

4.1 导论

网络层服务

网络层的关键功能

image-20230308222817268

网络层: 数据平面,控制平面

image-20230308223402167

(分布式,不容易更改协议)

(集中式,可编程,易更改)

连接建立

image-20230309001930947

网络层服务模型

image-20230309002254418

4.2 路由器组成

结构概况

真实情况中输入端口和输出端口是混用的,每个端口既是输入端口又是输出端口

image-20230311234102338

输入端口缓存

即可能出现某个时刻输出的速度更慢,需要一个队列来平衡这个速度

交换机构

image-20230311234727597

通过内存交换

image-20230311235007445

就是通用计算机的工作模式,用软件的方式实现路由器(效率较低)

通过总线交换

image-20230311235341297

所有的输出端口都能在bus读到数据,如果是自己的数据,就传输,否则丢弃(只用经过一次总线,所以效率更高)

通过互联网络(crossbar等)的交换

image-20230311235714925

将数据包分为固定长度的信元—传输时间固定,更方便调度

输出端口

image-20230312000325183

数据报(分组)可能会被丢弃

先来的分组不一定先传,要依据调度策略

输出端口排队

image-20230312000751212

image-20230312000859404

调度机制

image-20230312000921639

image-20230312001032747

image-20230312001135552

传完红的传绿的,传完绿的传蓝的,传完蓝的传红的…

image-20230312001257058

即上一种考虑权值的优化

4.3 IP Internet Protocol(IP协议)

image-20230312001857644

IP数据报格式

image-20230312150005119

IPv4数据报格式

type of service:早期通过该字段确定优先级

16-bit identifier,flgs,fragment offset:分片/重组使用

upper layer:TCP,UDP,ICMP等等

Internet checksum:头部校验和(数据部分不参与校验)

IP分片和重组

image-20230312150754239

(如果某分片被丢弃,则其他分片也被丢弃)

image-20230312153258557

IP编址:引论

image-20230312153338632

子网(Subnets)

image-20230312153935716

image-20230312154222410

子网内各主机之间一跳可达,不需借助路由器(可能要借助交换设备)

IP地址分类

image-20230312154937902

A:一共有2^7-2=126个网络(全0和全1不使用),2^24-2个主机(全0和全1不使用)

B:2^14-2=16382个网络,2^16-2个主机

C:两百多万网络,254个主机

A,B,C统称为单播地址

D类称为主播地址

互联网路由以网络为单位进行传播和计算(不是以单个主机的地址)

image-20230312155830137

即全0和全1的IP地址有起特殊用途

ping 127开头的IP地址,实际上是ping本身(loopback)

image-20230312160007428

即不会被分配的IP地址,同样有其特殊用途

image-20230312160252543

B类主机数太多,C类主机数又太少,故使用无类域间路由,任意划分子网的部分

使用子网掩码来区分子网部分和主机部分,即1代表是子网部分,0代表是主机部分(提取子网—与掩码取与)

转发表和转发算法

image-20230312160944019

将目标IP地址与Mask取与,然后检查与Destination Subnet Num作匹配,若对得上则进行转发,否则对下一项进行匹配

如何获得一个IP地址

image-20230312161633543

DHCP:从服务器动态获得上网所需要的信息—IP地址,掩码,local name server,default gateway

DHCP

image-20230312161748109

image-20230312162136864

image-20230312162207818

初始时主机无地址,使用全0的本机地址,主机不知道DHCP server的地址,使用全1的广播地址

transaction ID:事务号

DHCP offer中给主机提供223.1.2.4的地址,租期为3600s

(可能存在多个DHCP server,故需要第二次握手)

image-20230312162640058

DHCP是建立在UDP之上的服务

image-20230312162828738

如何获得一块地址

image-20230312163234054

向ICANN申请地址

image-20230312163308664

从大的地址中再细分出小的子网

层次编址:路由聚集

image-20230312163600080

即IP0告诉IPX,只要目标IP地址前缀为200.23.16.0/23的,我都是它的下一跳

IP1到IP3同理,然后IPX聚合这些信息,告诉互联网,只要目标IP地址前缀为200.23.16.0/20,我都是它的下一跳

image-20230312164113889

image-20230312164311589

image-20230312164433862

IPX获得了8个中的7个路由信息,其也可以对信息进行聚集,此时200.13.18.0对两个转发表信息都能匹配上(此时取匹配长度较大的23位进行匹配—匹配长度越长,代表结果越精确)

NAT: Network Address Translation

image-20230312164835924

内网的地址是无法被互联网识别,路由的,所以通过网络地址转化(NAT)将源地址转化为一个统一地址,当收到数据报时,同样对该地址进行转化

NAT的好处:

image-20230312165244679

image-20230312165514028

image-20230312165644801出去是ok的,但外网的设备想要主动地与内网设备建立连接时,就会有问题

image-20230312165841131

NAT穿越问题的解决方法:

image-20230312170058756

image-20230312170208812

image-20230312170324350

方法1和方法2都是在路由器配置端口映射(或静态或自动)

IPv6

image-20230312170507067

IPv4的诟病:1.每次TTL-1,校验和都要重新计算;2.分片操作

加重了路由器处理的负担

IPv6中,如果数据报长度过大,就丢掉该数据报,然后发送ICMP信息告知源主机数据报过大(将负担转移到源主机)

IPv6数据报格式

image-20230312170954507

hop limit即TTL

next header指明将数据交给哪个协议来处理,采用TLV格式(type ,length ,value)

image-20230312171353289

image-20230312171500875

image-20230312171910264

image-20230312171917832

4.4 通用转发和SDN

image-20230312225101235

image-20230312225249082

传统方式:路由器上实现协议实体,自己计算路由表,作路由通告

image-20230312225337466

image-20230312225615593

image-20230312225757735

SDN:逻辑上集中的控制平面

流表可以匹配很多东西,源地址,目标地址,TCP/UDP协议,甚至可以更改头字段中的一些信息,对数据报进行block等等

SDN的主要思路

image-20230312230247111

SDN的优势:

image-20230312230358791

流量工程

image-20230312230730316

image-20230312230745241

SDN特点

SDN架构: 数据平面交换机

image-20230312231239990

SDN架构: SDN控制器

image-20230312231308447

SDN架构: 控制应用

image-20230312231358371

通用转发和SDN

image-20230312231519740

OpenFlow 数据平面抽象

image-20230312231555139

image-20230312231658820

image-20230312231709637

image-20230312231726480

image-20230312231826384

image-20230312231848126

image-20230312231857949

image-20230312232019865