个人技术分享

网络层概述

将分组从发送方主机传送到接收方主机 

发送方将运输层数据段封装成分组
接收方将分组解封装后将数据段递交给运输层
网络层协议存在于每台主机和路由器上
路由器检查所有经过它的IP分组的分组头
注意路由器只有3层(网络层、链路层、物理层)

网络层提供的服务

一、网络层为单个数据分组(a packet)提供的服务:
确保交付:确保分组到达目的地
具有时延上界的确保交付: 比如100ms内到达 

二、网络层为分组的流(a flow of packets)提供的服务:
有序分组递交
确保最小带宽
确保最大时延抖动
安全性服务

Internet服务质量不如ATM,但从实际应用上来说,Internet更符合实际需要

转发和选路

转发(转发)当数据包到达路由器的输入链路时,路由器必须将数据包移动到相应的输出链路

路由器收到数据报后查找路由表将数据报转发

查看IP首部(首部中的值指的是数据报的目的地址),查转发表,转发表中有输出链路,由选路算法决定的。

选路(路由)确定数据包从发送方流向接收方时所采用的路由或路径

虚电路和数据报网络

网络层有连接服务和无连接服务

数据报网络在网络层中提供无连接服务
虚电路在网络层中提供有连接服务(ATM采用虚电路
与运输层服务有相似之处,但也有很大不同:
服务: 主机到主机(运输层:进程到进程)
服务选择:网络层仅提供以上有连接或无连接服务中的一种   (运输层:可同时提供TCP和UDP)
实现: 在端系统及网络核心同时实现(运输层:只在端系统中实现)
 

虚电路

VC是源端到目的端的路径,正如普通电话线路
性能可靠
网络行为沿网络路径发生
数据传输前建立虚电路,传输完毕后拆除虚电路
每个分组携带 VC 标识(并非目的地址)
在源-目的路径上每个路由器要维护每个连结的状态信息
链路、路由器资源(带宽、缓冲区)可能分配给VC

一条 VC 的组成:
源和目的主机间的路径
VC号,沿着该路径中的每段链路一个号码 ,沿着该路径的每台路由器中的转发表项
VC上传送的分组携带有VC号
每台中间路由器用一个新的VC号取代原来的VC号
新的VC 号从转发表中获得

入口接口+入口VC会选定出接口,同时,将VC改为出口VC。

虚电路信令协议:用来建立,维护及拆除虚电路

也有建立连接的过程

在虚电路网络中只要虚电路建立好了,同一个源目的主机中的分组走同样的路径

数据报网络

网络层:没有呼叫建立
路由器:对于端到端的连接无需维护状态信息
分组使用目的主机地址进行转发

没有上面建立连接的过程,直接发送到链路上!

转发表(最长前缀匹配

利用目的地址的前缀(prefix)简化。查转发表时,也是前缀匹配就行。

路由器工作原理

路由器主要功能:

选路:运行路由算法/协议 (RIP, OSPF, BGP)---全局
转发:将分组从输入链路转发到适当的输出链路

分散式转发: 
根据分组中的目的地址, 在输入端口的缓存中查找转发表得出适当的输出端口
目标: 输入端口的处理速度(查询转发表时间)能够达到线路速度(line speed,接收分组速度)
排队: 若其他输入端口的分组正在使用交换结构,则分组会阻塞并排队等待调度
如果队列排满路由器会丢弃后续数据报

输入端口排队

原因:当交换速度比所有输入端口的组合速度慢时,输入端口产生排队
线路前部(Head-of-the-Line,HOL)阻塞:队列前面的分组阻止其后的分组的交换到输出端口
排队延迟: 输入队列排队导致延迟,缓存溢出将引起分组丢失!

三种交换结构:

输出端口

缓存:当分组从交换结构到达的速率快于输出链路速率时,需要缓存、排队传输

排队延迟:排队造成延迟 ,输出端口缓冲区溢出时引起分组丢失

调度:在等待传输的排队分组中进行选择发送,比如FCFS
 

网际协议:

RIP、OSPF、BGP用于生成转发表

IP数据报格式

IP数据报分片

链路层协议能承载的网络层分组长度是有限制的
比如,以太网不超过1500字节,广域网不超过576字节
最大传输单元(MTU):网络链路层能承载的最大数据量
不同的链路类型有不同的MTUs 

若某链路的MTU比IP数据报的长度小该怎么办呢?分片

分片:大的 IP 数据报由路由器划分成几个小的数据报
重组:小的分片数据报在端系统中重新组装

IP首部的标识、标志和片偏移实现数据报重组

片偏移以字节为单位,所以要除以8

IP首部:20字节​​​​​​​

ID=x,fragflag=1/0(最后一片标志为0 )

IPv4编址

IP 地址有两种 IPV4 IPV6
IPV4 协议