Internet协议
网络层协议
IPV4协议
IP地址:
IP地址的划分经过了三个阶段:分类的IP地址;子网的划分;构成超网。
- 分类IP地址结构和类别:IP地址是由32位二进制数,即四个字节组成的,它与硬件没有任何关系,所以也称为逻辑地址。它由网络号和主机号两个字段组成,这样的IP地址称为两级IP地址
- 特殊IP地址:IP定义了一套特殊的地址,称为保留地址。这些特殊的地址包括:网络地址,主机地址。直接广播地址,有限广播地址,本地机制
- 子网和子网掩码:给每个物理网络分配一个网络号会使路由表变的太大,因而使得网络性能变化。在IP地址中增加了一个子网号字段,使得两级IP地址变成三级IP地址。这种做法叫做划分子网。划分子网纯属一个单位内部的事情,单位对外仍表现为没有划分子网的网络。因此子网号是从两级IP的主机号部分借用的若干个位。
两级IP地址的缺点:IP地址空间利用率有时很低
- VLSM和CIDR
使用变长子网掩码VLSM可以进一步提高IP地址资源利用率。
CIDR常采用如128.14.32.0/20的表示方法,即在IP地址后面增加/,然后写上网络前缀所占用的比特数。并隐含的指出IP地址128.14.32.0的掩码是255.255.240.0。CIDR虽然不使用子网了,但仍然使用掩码这一名词
- 另外IP地址还分为全球地址和专用地址。
10.0.0.0到10.255.255.255
172.16.0.0到172.32.255.255
192.168.0.0到192.168.255.255
IPv4数据报格式
IP数据报的封装和分片
IP数据报处于网络层,在传送时它需要下层协议给它提供服务,把它封装在数据链路层的协议数据单元–帧的数据域中。而数据帧的格式和其数据域大小的定义和上层协议是独立的,它不会事先去考虑上层的协议数据单元的大小。所以如果下层帧的数据域小于IP数据报大小的话,IP数据报必须分片。如果数据报传送时进行了分片,IP首部的总长度字段不是指未分片前的数据报长度,而是指分片后每片的首部长度与数据长度的总和。
IP数据报的长度一定不能超过数据链路层的最大传送单元MTU,即下层帧的数据域的大小。通常以太网的MTU为1500B,PPP的MTU为296B。
Internet路由协议
众所周知,Internet是由多个网络互联在一起的网络,当数据包在这样一个复杂的网络上传输时,会遇到很多“十字路口”,到低该向那个路上走,必须有一个类似的交警的部件来完成这一功能。在Internet上这一部件就是路由器。而路由器又依靠运行路由协议来完成其功能的。换句话说,路由器上的路由表是根据路由协议生成的,路由协议核心就是路由算法。
路由信息协议RIP
RIP是一种分布式的基于短距离向量的路由选择协议。该协议定义距离就是经过的路由器的数目,距离最短的路由就是最好的路由。它允许一条路径最多只能包含15个路由器(限制网络的规模)。距离最大值为16时即为不可达。所以RIP不能在两个网络之间同时使用多条路由来进行负载均衡。
RIP协议的特点就是“好消息传的快,坏消息传的慢”。它的意思是如果路由器发现了一个更短的路由,这个消息可以很快的传播;但是如果网络出现了故障,这样消息就会传播的很慢。
开放最短路径优先协议OSPF
OSPF协议是分布式的链路状态路由协议。链路在这里代表该路由器和哪些路由器是相邻的,即通过一个网络是可以连通的;链路状态说明了该通路的连通状态以及距离、时延、带宽等参数。在该协议中,只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送路由信息。所发送的信息是与本路由器仙林的所有路由器的链路状态。为了保存这些链路状态信息,每个路由器都建立有一个链路状态数据库,因为路由器交换信息时使用的是洪泛法,所以每个路由器都存有全网的链路状态信息,也就是说每个路由器都知道整个网络的连通情况和拓扑结构。这样每个路由器都可以根据链路状态数据库的信息来构造自己的路由表。
外部网关协议BGP
BGP是不同自治系统的路由器之间交换路由信息的协议。由于Internet的规模太大,使得自治系统之间路由选择非常困难。另外,对于自治系统之间的路由选择,要寻找最佳路由很不现实。所以BGP只是尽力寻找一条能够到达目的网络且比较好的路由,而不像内部网关协议一样要寻找一条最佳路由
- BGP-4共使用四种报文:
- 打开报文,用来与相邻的另一个BGP发言人建立关系
- 更新报文,用来发送某一路由的信息,以及列出要撤销的多条路由
- 保活报文,用来确认打开报文和周期性地正式邻站关系
- 通知报文,用来发送检测到的差错
组播协议PIM和MOSPF
IP组播路由协议根据网络中组播成员的分布可以分为两种基本类型;一种被称作密集模式的组播路由协议。第二种被称为稀疏模式的组播路由协议
- PIM:PIM是一种组播传输协议,能在现存的IP网上传输组播数据。PIM是一种独立于路由协议的组播协议,可以工作在两种模式:密集模式(PIM_DM)和疏松模式(PIM_SM)。在PIM密集模式下,报文分组缺省向所有端口转发,直到发生裁减和切除。在密集模式下假设所有端口上的设备都是组播成员,可能使用组播包。疏松模式和密集模式相反,只向右请求的端口发送组播数据。
PIM-SM:围绕一个被称为几种点(RP)的路由器构建组播分布树。RP是所有叶路由器都知道的点。但某个叶路由器直接相连的网络中国如果有主机希望加入某个RP所代表的的组播时,该叶路由器沿着到达RP的最短路径向RP发出加入消息,所经过的路径构成基于RP的单向生成树的一个新枝。一旦形成新枝,叶路由器将可获得该组播源的信息。当某个源发出的信息速率超过某个门限,则叶路由器可以切换到基于源的最短路径树上去,当然叶路由器要向RP方向发出剪枝消息。
PIM-DM:使用了反向路径组播机制来构建分布树。PIM-DM的运作方式是当来源端送出组播信息时,它会使用先扩散再剪枝的方式来建立分布树,路由器某个接收端口接收到组播数据包被发送到所有的下行接口。当末端路由器接收到这个组播消息后,如果该路由器没有属于这个群组的成员,这个路由器就会向上游发出剪枝消息,而上游路由器收到这个小时时,如果该路由器也没有属于这个群组的成员,那么这个路由器又会向上游传送;反之如果该路由器有属于该群组的成员,那么这个剪枝的讯息就不会再往上传递,而这个路由器就不会再把组播的资料送到这个路径上面去了。
- MOSPF:是为单播路由器使用设计的,属于密集模式的组播路由协议。MOSPF依赖于OSPF作为单播路由协议,在一个OSPF/MOSPF网络中每个路由器都维持一个最新的全网络拓扑结构图。这个链路状态的信息被用来构建组播分布树。每个MOSPF路由器都通过IGMP协议周期性的收集组播成员关系信息。这些信息和这些链路状态信息被发送到其路由域中的所有其他路由器。路由器将根据它们从邻近路由器接收到的信息更新其内部连接状态信息。由于每个路由器都清除整个网络的拓扑结构,所以能够独立的计算出一个最小开销的扩展树,将组播发送源和组播组成员分别作为树的根和叶。这个树就是用来将组播流从发送源发送到组播成员的路径。
ARP和RARP
地址解析协议ARP和反向地址解析协议RARP
网络中的一个机器机油逻辑地址也有物理地址。逻辑地址是为了管理方便而设置的,逻辑地址是网络层的协议数据单元使用地址,物理地址是数据链路层的协议数据单元MAC帧使用的地址
ARP协议:
在通常情况下,当我们访问一个机器时候,一定可以知道它的逻辑地址,而物理地址就不一定知道。如果不知道物理地址那么久不能把网络层的数据报封装成MAC帧,完不成通信。
RARP协议:
Internet控制报文协议ICMP
ICMP协议允许路由器报告差错情况提供友元异常情况的报告。当数据不能够正确的到达目的的站点,或者当路由器没有足够的缓存空间,或者当路由器能够向主机提供更短的路由时,ICMP协议会即使将这些信息发送出去,就像网上的交通警察即使解决交通中的问题和事故,保证交通快速、顺畅。
ICMP报文有ICMP差错报文和ICMP询问报文两种。
IPv6协议
IPv6协议特点
更大的地址空间。IPv6将地址从IPv4的32bit增大到了128bit。
扩展的地址层次结构
灵活的首部格式
改进的选项
增强的安全性
对QoS支持
IPv6地址
IPv6地址将128bit地址空间划分为两大部分。第一部分是可边长度的类型前缀,它定义了地址的目的。第二部分是地址的其余部分,其长度也是可变的。
- IPv6数据报的目的地址可以是一下三种基本类型地址之一:
单播:单播就是传统的点对点通信
多播:多播是一点对多点的通信
任播:这是IPv6增加的一种类型。任播的目的站是一组计算机,但数据报在交付时只交互给其中的一个,通常是距离最近的一个
- IPv6扩展了地址的分级概念,使用以下三个等级
第一级:指明全球都知道的公共拓扑
第二级:指明单个的地点
第三极:指明单个的网络接口
- IPv6地址自动配置:IPv6中地址自动配置有两种方式:有状态地址自动配置和无状态自动配置,当站点并不是特别关心主机所使用的精确地址时,只要它们是唯一的并且是可路由的,就能使用无状态方式;当站点严格控制地址分配时,就是用有状态的方式。
有状态的自动配置:在这种模式下,主机可以从服务器获得接口地址,也可以从服务器上获取配置的信息和参数。服务器中维护着一个数据库,其中记录着主机和地址分配的列表。比较常用的是DHCPv6协议,即支持IPv6的动态主机配置协议。它允许DHCPv6服务器把诸如IPv6网络地址等信息传递给IPv6节点。DHCPv6服务器与客户端使用UDP来交换DHCPv6报文。服务器和中继代理使用UDP端口547来监听DHCPv6报文;客户端使用UDP端口546来监听报文
无状态地址自动配置:无状态自动配置要求本地链路支持组播。而且网络接口能够发送和接收组播包。采用这种方式可以为任意主机配置一个IPv6地址,这个地址内嵌一个以太网地址,由于以太网地址全球唯一,因此获得的IPv6地址也是唯一的。
- IPv4向IPv6的过渡:在IPv4向IPv6过渡时,只能采用逐步演进的办法,整个过渡需要一个比较漫长的过程。在过渡期间,由于IPv4和IPv6在很长一段时间需要共存,因此很有必要解决IPv4和IPv6之间互相通信的问题
隧道技术:隧道策略是IPv4、IPv6过渡中经常使用到的一种机制。隧道技术的工作机理就是在IPv6网络与IPv4网络之间的隧道入口处,路由器将IPv6的数据分组封装到IPv4中,IPv4分组的源地址和目的地址分别是隧道入口和出口的IPv4地址。在隧道出口处再将IPv6分组取出转发给目的节点。隧道技术巧妙地利用了现有的IPv4网络,为分离IPv6子网提供了有效的通信手段
双协议栈:双协议栈是指在完全过渡到IPv6之前,使一部分主机装有IPv4和IPv6两个协议栈。对于主机而言,双协议栈是指其可以根据需要来对上层协议所产生的数据进行IPv4封装或者IPv6封装。
地址协议转换:地址转换和协议转换包括两个组成部分:网络地址转换协议和协议转换。
其中地址转化是指通过使用NAT网关将一种IP网络的地址转换为另外一个IP网络地址,它允许内部网络使用一组在公网中从不使用的保留地址。在使用这项技术是可以将IPv6网视为一个独立而封闭的局域网,它需要使用一个地址翻译器进行地址翻译。
协议转换是指根据IPv6和IPv4之间的差异对数据报的首部做相应的修改以符合对方网络的格式要求,并且由于网络层协议的改变要对上层的TCP,UDP,ICMP等数据包做相应的修改。将网络地址转换机制与协议转换机制相结合而产生的NAT-PT可通过对协议、地址的转换实现IPv6和IPv4之间的互相通信。
Internet协议(下):