Ipv4数据报长度576B,Ipv6数据报长度1280B
路由选择与分组转发 :
异构网络互联
拥塞控制:
开环控制(静态)
闭环控制(动态)
为主机提供服务:
虚电路服务
数据报服务
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务(不提供服务质量承诺)
IP地址是一种逻辑地址,因为IP地址是由软件实现的
分类IP:将IP地址划分为若干固定类
IP地址::={<网络号>,<主机号>}
网络号标志主机(或路由器)所连接到的网络;主机号(host-id)标志该主机(或路由器)
A、B、C类IP地址都是单播地址
私有IP(专用IP,可叫做重用地址(reusable address))
VPN的内联网和外联网都是基于TCP技术,一个VPN至少有一个合法全球IP
NAT路由器的通信必须有专用网内的主机发起,使用端口号的NAT也叫做网络地址与端口号转换NATP(Network Address and Port Translation)(改变了IP地址与端口号),不使用端口号的叫做传统NAT
NAT技术大大节约了IP地址
IP数据报的格式
首部长度:4B为单位,最小值是5 (IP首部固定长度是20B) 最大是14*4B=60B
总长度:1B为单位,指首部和数据之和的长度,总字段长度为16位即2^16 -1=65535B
标志(flag):占三位,X DF(Don't Fragment) MF(More Fragment)(只有两位有意义)
只有当DF=0时才允许分片,MF=1表示后面还有分片,MF=0表示是数据报片中最后一个
片偏移:8B为单位,较长分组再分片后,某片在原分组中相对位置
首部检验和:不采用CRC校验码
发送方:检验和置零,所有16位字反码算术运算(最高位进位结果+1)求和后取反码写入检验和
接收方:所有16位字反码算术运算求和后取反码,若为0保留,否则丢弃
路由表项必须包括:(目的网络地址,下一跳地址)
子网划分
二级IP地址到三级IP地址:
IP地址空间有时利用率很低
给每一个物理网络分配一个网络号会使路由器变得太大因而使网络性能变坏
两级IP地址不够灵活
IP地址::={<网络号>,<子网号>,<主机号>}
划分子网后,整个网络对外仍然表现为一个网络
子网号的位数中没有0,1,15,16,因为没有意义
子网号不能为全0或全1,但随着CIDR的广泛使用,现在全0和全1的子网号也可以使用了
路由表项必须包括:(目的网络地址,子网掩码,下一跳地址)
构成超网(无分类编址CIDR)
无分类域间路由选择CIDR(Classless Inter-Domain Routing)
IP地址::={<网络前缀>,<主机号>}
CIDR不使用子网,仍然可以在本单位内根据需要划分出一些子网
地址块10.0.0.0/10可以简写为10/10
星号* 之前是网络前缀,星号* 之后是IP地址主机号,可以是任意值
优点:路由聚合有利于减少路由器之间的路由选择信息交换,从而提高整个互联网的性能
路由表项必须包括:(网络前缀,下一跳地址)
在查路由表时可能会得到不止一个匹配结果,应当从匹配结果中选择具有最长网络前缀的路由——最长前 缀匹配(longest-prefix matching) ,这是因为网络前缀越长,其地址块越小,路由越具体
为了更有效的查找,通常把CIDR的路由表存放在一种层次的数据结构中,然后自上而下的按层次进行查找,最常用的就是二叉线索(binary tire)
从根本上解决了地址耗尽问题
Ipv6的地址:
Ipv4向Ipv6过渡:
路由器 :是一种具有多个输入端口和多个输出端口的专用计算机,其任务是分组转发
路由器中的输入输出队列产生溢出是造成分组丢失的重要原因
网际协议IP:又称为Kahn-Cerf协议,使性能各异的网络在网络层看起来好像是一个统一的网络,当IP网上的主机进行通信时,就好像在单个网络上进行通信一样,看不见互连的各网络具体异构细节
地址解析协议ARP:在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表(动态更新)
ARP请求分组是广播发送的,但ARP响应分组是普通的单播
网际控制报文协议ICMP(Internet Control Message Protocol):装在IP数据报中作为其数据部分 ,使主机或路由器报告差错情况和提供异常情况的报告,更有效转发IP数据报,提高交付成功的机会
ICMP差错报告报文:
终点不可达
参数问题
改变路由(重定向)
ICMP询问报文:
回送请求与回答:ping(应用层直接使用的ICMP,没有通过运输层的TCP/UDP)
网际组管理协议IGMP(Internet Management Protocol):让连接在本地局域网上的多播路由器知道本局域网上是否有主机参加或退出了某个多播组
使用IP数据报传递报文
多播路由选择协议目的:找到以源主机为根节点的组播转发树
多协议标记交换MPLS(MultiProtocol Label Switching):
标记交换:给IP数据报打上固定长度标记(分类),在链路层用硬件转发 ,不再上升到第三层查找转发表
面向连接
支持流量工程,平衡网络负载
有效支持VPN
MPLS首部在第二层与第三层之间
分层次的路由选择协议:
原因:
RIP(Routing Information Protocol):基于距离(跳数(hop count))向量的路由选择协议
应用层基于UDP
分布式路由选择协议
内部网关协议IGP中最广泛使用
简单、开销小
RIP允许一条路径最多只能包含15个路由器(距离=16相当于不可达/限制了网络规模)
RIP值适用于小型互连网
直线相连的网络的距离也可定义为0
一个RIP报文最多可包括25个路由
仅和相邻路由器交换信息(自己的路由表)
OSPF(Open Shortest Path First):开放最短路径优先 ,因为使用了Dijkstra提出的最短路径算法SPF
直接用IP数据报传送
使用的分布式的链路状态(link state Protocol)
洪泛法(flooding)向所有路由器发送信息(相邻路由器的链路状态)
只有当链路状态发生改变时,路由器才向所有路由器使用洪泛法发送此信息
所有的路由器最终都能建立一个链路状态数据库(link-state database),即全网的拓扑结构图
更新过程收敛得快
OSPF五种分组类型:
外部网关协议EGP(External Gateway Protocol):AS之间(域间路由选择(intradomain routing))
BGP(边界网关协议(Border Gateway Protocol)):(BGP-4)
采用路径向量(path vector)路由选择协议
应用层、基于TCP
寻找一条能到目的网络且比较好的路由,并非最佳路由
配置BGP时要选择至少一个路由器作为BGP发言人,一个BGP发言人要和其他AS的BGP发言人交换路由信息,要先建立TCP连接,然后在此连接上交换BGP报文以建立BGP会话(session)
BGP支持CIDR
BGP刚刚运行时邻站交换的整个BGP路由表,但以后只需要在发生改变时更新有变化的部分