导图社区 计算机网络基础_网络层
计算机网络基础(自顶向下) HIT 哈工大课程笔记,介绍详细,可以让你更快速更方便去了解学习。有需要的赶紧收藏吧!
编辑于2024-03-31 23:20:41网络层
网络层(上)概论
概述
核心功能
转发与路由
用一个开车的例子进行类比 在行程中,驾驶员到目的地前经过了途中的许多立交桥。可以认为转发就像通过单个立交桥的过程。而选路是在出发点到目的地所有路径中选择一条,但是每条路径都由一系列立交桥连接的路段组成,所以一系列进入立交桥、决定应当走哪条路来离开的决策构成了选路。
转发
分组从一个输入链路接口转移到适当的输出链路接口的路由器本地动作。
将分组从路由器的输入端口转移到合适的输出端口
路由(选路)
确定分组从源到目的经过的路径(路由算法)
转发表确定在本路由器如何转发分组
路由器通过检查到达分组首部中的一个目的地地址字段,然后使用该值在转发表中查询来转发一个分组。 根据查询结果将分组转发到路由器的链路接口。
服务模型
无连接服务
代表
数据报网络
特点
(每个分组自己顾自己)不建立连接
不事先为系列分组的传输确定传输路径 每个分组独立确定传输路径 不同分组可能传输路径不同(连续一小段时间内一般相同)
连接服务
代表
虚电路网络
特点
(每个分组跟大队)建立连接
事先为系列分组的传输确定从源到目的经过的路径 然后沿该路径(连接)传输系列分组 系列分组传输路径相同
拆除连接
传输结束后拆除连接
传输层与网络层服务
传输层
进程到进程服务
主机/端系统实现
网络层
主机到主机服务
网络核心实现
虚电路网络和数据报网络
虚电路网络
定义
一条从源到目的主机,类似于电路的路径(逻辑连接)
与电路交换又有本质的区别: 虚电路每个分组的传输利用链路的全部带宽;而电路交换通信双方使用划分的“资源片” 虚电路通信双方并没有物理上建立真正的连接,而电路交换的通信双方在物理上建立真正连接
特点
分组交换
电路交换可能在一些主干链路利用多路复用技术只占用链路的一部分资源
每个分组的传输利用链路的全部带宽
源到目的路径经过的网络层设备共同完成虚电路功能
优点:链路、网络设备资源(如带宽、缓存等)可面向VC进行预分配
集电路交换和分组交换的优点 预分配资源=可预期服务性能 如ATM的电路仿真(CBR)——电话通信的性能保障
通信过程
呼叫建立->数据传输->拆除呼叫
具体实现

每条虚电路
I. 源到目的主机的一条路径
II. 虚电路号(沿路每段链路一个编号)
III. 沿路每个网络层设备(如路由器),利用转发表记录经过的每条虚电路
VC转发表
VC路径上每个路由器都需要维护经过它的每条VC连接的状态信息
每条VC建立、拆除: 当跨越一台路由器创建一条新的虚电路时,转发表就增加一个新项。 无论何时终止一条虚电路,就删除沿着该路径每个表中的相应项。
信令协议
信令报文:端系统向网络发送指示虚电路启动与终止的报文,以及路由器之间传递的用于建立虚电路(即修改路由器表中的连接状态)的报文 来交换这些报文的协议常称为信令协议。
对象
虚电路网络
作用
用于VC的建立、维护与拆除(路径选择)
注意
I. 沿某条虚电路传输的分组,携带对应虚电路的VCID,而不是目的地址
II. 同一条VC,在每段链路上的VCID通常不同
路由器转发分组时依据转发表改写/替换虚电路号(保证接续每一段链路VCID)
思考问题
为什么每条虚电路不能只用一个虚电路号?
不可能每一段链路的虚电路号都是统一的 一种原因:不同的链路 如光纤和电话线所能承受的最大带宽是不同的,所能支持的最大虚电路数也不一样,所以不能要求沿途的每段链路都是同一个编号 另外的原因: 第一,逐链路代替该号码减少了分组首部中VC字段的长度。 第二,通过允许沿着该虚电路路径每条链路有一个不同的VC号,大大简化了虚电路的建立。特别是具有多个VC号,该路径上的每条链路能够选择一个VC号,独立于沿着该路径的其他链路的VC号。如果沿着某路径的所有链路需要一个共同的VC号的话,路由器将不得不交换相当大量的报文,以约定一个共同的VC号来用于一次连接。
数据报网络
特点

网络层无连接
每个分组携带目的地址
路由器根据分组的目的地址转发分组
基于路由协议/算法构建转发表 检索转发表 每个分组独立选路
数据报转发表
来源
路由算法(协议)确定通过网络的端到端路径
目的
确定在本路由器如何转发分组
列表地址范围(聚合转发表入口)

最长前缀匹配优先
优先选择与分组目的地址匹配前缀最长的入口(链路接口)
 在检索转发表时,优先选择与分组目的地址匹配前缀最长的入口(entry)。
思考问题
数据报转发表目的地址一一具体?(不可能)
IP地址一一列出--->40多亿IP地址---->转发表相当大,不可行 解决方法:根据不同地址范围来选择不同的输出链路(CIDR技术)
数据报网络与VC网络对比(选择)
Internet(数据报网络)
计算机之间的数据交换
“弹性”服务,没有严格时间需求
链路类型众多(简化网络)
特点、性能各异 统一服务困难
智能端系统(复杂“边缘”)
可以自适应、性能控制、差错恢复
ATM(VC网络)
电话网络演化而来
实时对话(核心任务)(复杂网络)
严格的时间、可靠性需求 需要有保障的服务
“哑”端系统(非智能)(简化“边缘”)
电话机、传真机
数据报网络:简化网络,复杂“边缘” VC网络:简化“边缘”,复杂网络
IPV4协议
重要知识
IP数据报
IP分片
MTU:链路层数据帧可封装数据(整个IP分组)的上限

IP编址
IP子网
特点
IP地址具有相同网络号的设备接口
不跨越路由器(第三及以上层网络设备)可以彼此物理联通的接口
如何划分子网?路由器或主机去掉,剩余孤岛数量即为子网数量
IP地址
32比特(IPv4)编号标识主机、路由器的接口(点分十进制)
组成

网络号(NetID)—高位比特
主机号(HostID)—低位比特
有类IP地址(递归二分)

区分网络号和主机号
A类(50%)
NetID(8位)(X,Y,Y,Y)
B类(25%)
NetID(16位)(X,X,Y,Y)
C类(12.5%)
NetID(24位)(X,X,X,Y)
X:NetID;Y:HostID
不区分网络号和主机号
D类地址(6.25%)
多播和广播地址(只能是目的地址,不能是源地址)
E类地址(6.25%)
保留研究地址
私有IP地址、特殊IP地址
IP子网划分与子网掩码
核心:将IP子网划分为更小范围的网络(IP子网的子网)
确定子网大小
子网掩码

NetID、SubID位全取1
HostID位全取0
IP地址

网络号
主机号
子网号
原网络主机号部分比特(E.g:划分8个子网,借用3比特)
主机号
低位比特
子网划分
SubID(00 01 10 11)+低位HostID全0-全1(子网划分等长4个子网)

网络层(中)协议
DHCP协议
动态主机配置协议
默认网关
子网内的IP分组离开该子网时,需要把它送到 默认网关对应的接口(哪一个路由器)进行转发
IP地址获得方式
硬编码(静态配置):主机需从网络管理员获得明确IP地址
动态配置:DHCP(Dynamic Host Configuration Protocol)
DHCP工作过程
CIDR与路由聚合
CIDR
含义
消除传统的有类地址界限
用网络前缀(任意长度)表示NetID+SubID
无类地址格式
a.b.c.d/x,其中x为前缀长度
作用
提高ipv4地址空间分配效率
提高路由效率(路由聚合)
将多个子网聚合为一个较大的子网(超网) 实质:取需聚合的多个子网IP地址的最长前缀 
路由集合中路由黑洞的解决方法
 原因:聚合的地址不连续,使得路由聚合后某些地址可能是另一个ISP的组织,此时若IP分组发送给该组织,则无法到达(进去的ISP的下级无此组织) 解决方法:选择更具体的路由:最长前缀匹配优先+增加另一条路由地址
ICMP协议
两类主要功能
差错(或异常)报告
网络探询
两类报文
差错报告报文
目的不可达(无法成功交付给目的网络(主机/端口/路由器))
源抑制(当路由器缓存已满,导致后续到达的某些IP数据报被丢弃,源主机收到源抑制报文后降低发送报文的速度)
超时/超期(TTL=0)
参数问题(路由器转发IP分组时,IP数据报头部某些域参数有问题)
重定向(IP数据报到达的目的网络不应该由该路由器进行转发,路由器发送重定向报文,使源主机将IP分组重定向给另一默认网关)
网络探询报文
回声(Echo)请求与应答报文(Reply)(探测网络是否通畅)
时间戳请求与应答报文
特殊情况(不发送ICMP报文)
多播IP数据报
封装ICMP的数据报出错
除第1个IP数据报分片外,对所有后续分片均不发送
使用特殊地址的IP数据报(环回地址或本地网络本机地址0.0.0.0)
格式及应用
IPv6协议
动机
32位IPv4地址空间已分配殆尽
改进首部格式
快速处理/转发数据报
支持QoS(区分服务质量)
数据报格式
NAT(网络地址转换)协议
目的
保证私有IP地址的主机能在公共互联网通信
本地/Internet通信
本地网络内通信的IP数据报的源与目的IP地址均在私有IP地址内
离开本地网络去往Internet数据报源IP地址(私有地址+端口号) 需替换为相同的NAT IP地址以及不同的端口号(公共地址+端口号)
主要争议
1. 路由器应该只处理第三层功能(网络层) 不应使用或修改第四层的数据段(进程的端口号)
2. 违背端到端的原则(上层对下层应透明)
NAT穿透问题
外部客户主动与私有地址通信(不想通过NAT路由器替换(穿透))
解决方法
静态配置(私有地址+端口号固定映射公有地址+端口号)
互联网网关设备协议IGD(学习到NAT公共地址,可自动增删改端口号)
中继(内部外部客户与中继服务器建立连接、 中继服务器桥接内部外部客户)