广域网互连一般采用在网络层进行协议转换的方法实现。时延网关,更确切的说是路由器。
无连接的网际互连:
在网际层提供路由信息的是路由表,每个站或者路由器中都有一个网际路由表,表的每一行说明一个目标站对应的路由器地址。
路由表可以是静态或者动态的。
静态路由表提供可选择的第二、第三最佳路由。
动态路由表在应付网络的失效和拥挤方面更灵活‘。
IP协议:
Internet协议图:主要协议之间的调用关系
一、IP地址
- 分类:
A:1.0.0.0——127.255.255.255
B:128.0.0.0——191.255.255.255
C:192.0.0.0——223.255.255.255
D:224.0.0.0——239.255.255.255
E:240.0.0.0——255.255.255.255
1.A、B、C是常用地址。
2.IP地址的编码规定全0表示本机地址,即本机主机或本地网络。
3.全1表示广播地址,任何网站都能接收。
4.除去全0 和全1,A类地址有126个网络地址,1600万个主机地址。B类地址有16382个网络地址,64000个主机地址,C类地址有200万个网络地址,254个主机地址。
- IP地址=网络地址+主机地址=网络地址+子网地址+主机地址(子网掩码)
当IP分组到达目标网络后,网络边界路由器把32位的IP地址与子网掩码进行逻辑与运算,得到子网地址,再进行转发。
- 在点对点网络中使用A、B和C类地址,这类地址都指向某个网络中的一个主机。
- D类是组播地址,组播和广播类似,都用于点对多点通信,但又有所不同,组播的目标是一组主机,而广播的目标是所有主机。
组播网关:用来识别组播地址的路由器,接受一个目标地址我组地址的数据报并且转发到相应的网络中。
- E类地址保留作为研究用。
二、主要操作
- 数据报生存期TTL
生存期的长短以它经过的路由器的多少计数,每经过一个路由器,计数器+1,计数器超过一定的数值,数据报就丢弃。
生成数据报的时间被记录到报头中,每个路由器查看这个记录,决定是继续转发还是丢弃。
- 分段和重装配
重装配缓冲区、时钟。
- 差错控制和流控
三、IP协议数据单元
ICMP协议:
用来传输有关通信问题的信息。实现流量控制和差错控制。
有11种之多。
ICMP报文格式:
类型3:目标不可达。路由器不能把数据包传送给目标主机、目标主机找不到有关用户协议或者上层服务访问点。
造成原因:IP头中的字段不正确、数据报说明的源路由无效、路由器把数据报分片之后的IP头中的D标志置位。
类型11:超时。IP数据报的生存期已超时、目标主机在一定时间内无法完成重新装配。
类型4:
类型12:
类型5:
类型8/0:
类型13/14:
类型17/18:
TCP协议:
面向连接、可靠传输服务,适用于各种可靠或不可靠网络。
TCP用户送来的是字节流形式的数据,这些数据缓存在TCP实体的缓冲区中。
一般情况下,TCP实体自主地决定如何把字节流分段,组成TPDU发送出去,在接收端,也是TCP实体将积累在接收缓冲区的字节流提交给用户。
分段的大小和提交的频度具体的实现是根据性能和开销权衡决定的。
TCP运行用户把字节流分成报文,用推进(PUSH)命令指出报文的界限。发送端TCP实体将PUSH标志之前的所有未发的数据组成TPDU立即发送出去,接收端TCP实体同样根据PUSH标志决定提交的界限。
为了提高带宽的利用率,TCP采用累积接收的机制。
只有一种类型的PDU,叫做TCP段,段头格式:
TCP传输头格式:
各字段含义:
端口编号用来标识TCP用户,即上层协议。
发送顺序号和接收顺序号都是指字节流中的某一个字节的顺序号,而不是整段的顺序号。
同步标志SYN用于连接建立阶段。TCP三次握手建立连接。
窗口字段表示从应答顺序开始的数据字节数,即接收端期望接收到的字节数,发送端根据这个数字扩大自己的窗口。
窗口字段、发送顺序号和应答顺序号共同实现滑动窗口协议。
校验和的校验范围包括整个TCP段和伪段头。
伪段头是IP头的一部分,和TCP段一起处理的好处是:如果IP把TCP段提交给错误的主机。TCP实体可以根据伪段头中的源地址和目的地址检查出错误。
TCP校验和检查的范围:
TCP和IP是配合工作的,所以有些用户参数是可以由TCP直接传输给IP层处理,这些参数包含在IP头中,例如:优先级、延迟时间、吞吐率、可靠性、安全级别等。TCP头和IP头合在一起,代表了传送一个数据单元的开销,共40字节。
TCP拥塞控制:涉及重传计时器管理和窗口管理。其目的是与流控机制配合,缓解互联网中的通信紧张问题。
慢启动和拥塞控制:TCP实体使用的发送窗口越大,在得到确认之前发送的报文数就越多,这样可能造成网络拥塞,特别是在TCP刚建立连接发送时对网络通信的影响更大。
慢启动:让发送方实体在接收到确认之前逐步扩展窗口大小,而不是一开始就采用很大的窗口。
UDP协议:
无连接的传输服务,不可靠的,不保证顺序的提交。协议开销小。
运行在IP协议之上,只是在IP协议之上添加端口寻址功能,该功能表现在UDP头上:
UDP头:
UDP头包含源端口号和目的端口号,段长指整个UDP段的长度,包含头部和数据部分。
校验和与TCP相同,但是是任选的,如果不使用校验和,这个字段置为0。
由于IP的校验和只作用于IP头,并不包含数据部分,所以当UDP校验和字段为0时,实际上对用户数据不进行校验。
域名和地址:“网络地址+主机地址+端口地址”
网络地址+主机地址=IP地址
端口地址:TCP或UDP地址,用于表示上层进程的服务访问点。
用户进程的端口号一般大于1024。
常用端口号:
20:文件传输协议FTP-Data
21:文件传输协议FTP-Control
22:SSH Remote Login Protocol,远程登录
23:Telnet远程登录
25:简单邮件传输协议SMTP
53:DNS域名系统
80:超文本传输协议HTTP
109:POP2
110:POP3
179:BGP边界网关协议
443:HTTPS
520:RIP协议
域名系统:逻辑结构是分层的域名树。
Internet网络信息中心管理着域名树的根,叫做根域。根域没有名称。用“.”表示,是域名空间的最高几倍。
根域下面是顶级域,分为国家顶级域、通用顶级域。
国家顶级域包括243个国家和地区代码。
通用顶级域名:
从2001年开始使用的新的7个国家顶级域名:
后三个限于专门的行业使用,受行业组织的管理。
顶级域名下面是二级域,这是正式注册给组织和个人的唯一名称。
在二级域之下,组织机构还可以划分子域,使其各个分支部门都获得一个专用的名称标识。
标准规定,一个域名的长度通常不超过63个字符,最多不超过255个字符。
DNS命名标准规定,域名中只能使用ASCII字符集的有限子集,包括26个英文字母(不区分大小写)和10给数字,以及连字符“-”,但是 连字符不能作为子域名的第一个和最后一个字母,后来的标准对字符集有所扩大。
域名到IP地址的转换由DNS服务器实现,一般子网中都有一个域名服务器,该服务器管理本地子网所连接的主机,也为外来访问提供DNS服务,这种服务采用典型的C/S结构。
域名和网络地址是两个不同的概念。
有的主机没有网络地址,有域名,通过拨号方式访问IP主机,只能发送和接收电子邮件。
高级域名可能包含几个网络,但域名树的结构不一定与网络结构对应。
地址分解协议:
ARP:IP地址转换为MAC地址。
网络层、数据链路层。
得到目标物理地址的方法:
1.查本地内存的ARP地址映像表。
2.如果ARP表查不到,就广播一个ARP请求分组,经过路由器进一步转发,到达所有联网的主机,收到该分组的主机一方面可以用分组中的两个源地址更新自己的ARP表,另一方面用自己的IP地址与目标IP地址字段比较,如果一致,回复一个ARP响应分组,向发送方报告自己的硬件地址,如果不一致,丢弃该分组。
代理ARP:路由器假装目标主机来回答ARP请求。
这种技术不需要配置默认网关和路由信息就可以实现子网之间的通信。
多个IP地址被映像到一个MAC地址是代理ARP的标志。
网关协议:
也叫做路由协议,是路由器之间实现路由信息共享的一种机制,它允许路由器之间通过交换路由信息维护各自的路由表。
Interne中的路由器叫做IP网关。网关执行复杂的路由算法,需要大量且及时的路由信息,网关协议就是用于网关之间交换路由信息的协议。
IGP:内部网关协议,自治系统内部专用,为特定的应用服务,在自治系统之外无效。
EGP:外部网关协议,以自治系统为节点,通告各个网关可以到达哪些系统。
外部网关协议:
最早的叫EGP,最新的叫BGP。
BGP4是一种动态路由发现协议,支持无类别域间路由CIDR。
BGP主要功能是控制路由策略。
4种报文:
邻居关系是在不同自治系统中的两个路由器。
建立邻居关系的一对路由器以选定的周期交换路由信息。
更新报文包含信息:
1.要作废的路由器列表。
2.新增路由的属性信息。
(1).网络层可到信息。发送路由器可到达的子网地址列表。
(2).经过的自治系统:数据报经过的自治系统的标识,主要用于通信策略控制。
(3).下一跳:下一步转发的边界路由器的地址。
IPV4:BGP4、RIPV1、OSPFV2
IPV6:OSPFV3
所有的BGP报文都有19个字节的固定长度头部,其中包括16个字节的标记,用来认证和同步,两个字节的报文长度和一个字节的类型字段。
内部网关协议:
常用:路由信息协议RIP、开放最短路径优先协议OSPF、中间系统到中间系统的协议IS-IS、内部网关路由协议IGRP、增强的IGRP协议。(最后两种是思科公司的专利协议)
RIP协议:
RIPV1:
采用距离矢量路由算法。适用于小型网络,允许的跳步数不超过15步。
RIPV1使用本地广播地址255.255.255.255发布路由信息。
默认路由更新周期是30s,持有时间是180s。
有类别协议,使用区分的ABC类地址和掩码。
对于同一目标,RIP路由表项中最多有6条等费用的通路,默认是4条。RIP可以实现等费用通路的负载均衡。这种机制提供了链路冗余的功能。
但是RIP不支持不等费用通路的负载均衡。
RIPV2:
基本还是那个距离矢量路由协议。
3处改进:
1.使用组播而不是广播来传播路由更新报文。
2.采用触发更新机制来加速路由收敛,即出现路由变化时立即向邻居发送路由更新报文,不必关注更新周期是否到达。
可以使用可变长子网掩码VLSM,支持无类别域间路由CIDR,这些功能使得网络的设计更具有伸缩性。
3.RIPV2支持认证,使用经过散列的口令字来限制路由更新信息的传播。
距离矢量路由算法要求相邻的路由器之间周期性地交换路由表,并提供逐步交换把路由信息扩散到网络中所有的路由器。
这种逐步交换不加以控制将会形成路由环路 ,使得各个路由器无法就网络的可到达性取得一致。
RIPV2报文封装在UDP数据报中发送,报文包含4字节的报头,然后是路由信息,最多可携带25个路由记录,每个路由记录20个字节。
RIPV2报文格式:
字段含义:
OSPF协议:
一种链路状态协议,用来在自治内部的路由器之间交换路由信息。
支持大型网络,占用网络资源少,路由收敛快。
距离矢量协议与链路状态协议的区别:
1.距离矢量协议发布自己的路由表,交换的信息量很大。
链路状态协议从各个路由器收集链路状态信息,构造网络拓扑结构图,使用最短通路优先算法SPF计算到达各个目标的最佳路由。
2.发布路由信息方式的不同,距离矢量邪恶是周期性发布路由信息。
链路状态信息协议在网络拓扑变化时发布路由信息。
OSPF采用TCP连接发送报文,每个报文都要求应答,使通信更加可靠。
OSPF区域:
每个OSPF区域被指定了一个32位区域标识符。
不同类型的区域对于由自治系统外部传入的路由信息的处理方式不同。
1.标准区域:可以接收任何链路更新信息和路由汇总信息。
2.主干区域:是连接各个区域的传输区域。其他区域都是通过主干区域交换路由信息,该区域拥有标准区域的所有性质。
3.存根区域:不接收自治系统以外的路由信息,对自治系统以外的目标使用默认路由0.0.0.0 。
4.完全存根区域:不接收自治系统以外的路由信息,也不接收自治系统内其他区域的路由汇总信息,发送到本区域外的报文使用默认路由0.0.0.0,该区域是Cisco定义的,是非标准的。
5.不完全存根区域NSAA:类似于存根区域,但是允许接收以类型7的链路状态公告发送的外部路由信息。
网络的物理连接和拓扑结构不同,交换路由信息的方式就不同。
OSPF网络类型:
1.点对点网络:64kb串行线路连接。两个路由器可以直接交换路由信息。
2.广播多址网络:以太网或者其他具有共享介质的局域网都属于这种网络。一条路由信息可以广播给所有的路由器。
3.非广播多址网络NBMA:X.25分组交换网络。通过组播方式发布路由信息。
4.点对多点网络:可以把非广播网络当作多条点对点网络来使用,从而把路由信息发送到不同的目标。
邻居关系:两个路由器通过各自的接口连接到一个共同的网络上。
路由器可以在其邻居中选择需要交换链路状态信息的路由器与之建立毗邻关系。
并不是每一对路由器都需要交换路由信息,因此不是每一对邻居都需要建立毗邻关系。
在一个广播网络或者NBMA网络中需要选举一个指定路由器DR,其他路由器都与DR建立毗邻关系,把自己掌握的链路状态信息提交给DR,由DR代表这个网络向外界发布,可见,DR的存在减少了毗邻关系的数量,也减少了向外发布的路由信息。
OSPF路由器:
1.内部路由器:所有接口在同一区域内的路由器,只维护一个链路状态数据库。
2.主干路由器:具有连接主干区域接口的路由器。
3.区域边界路由器ABR:连接多个区域的路由器,一般作为一个区域的出口,ABR为每一个连接的区域建立一个链路状态数据库,负责将所连接区域的路由摘要信息发送到主干区域,而主干区域上的ABR负责将这些信息发送到各个区域。
4.自治系统边界路由器ASBR:至少拥有一个连接外部自治系统接口的路由器,负责将外部非OSPF网络的路由信息传入到OSPF网络。
链路状态公告LSA:
OSPF路由器之间通过LSA交换网络拓扑信息。
LSA包含连接的接口、链路的度量值等。
LSA的类型:
链路状态协议采用分层的网络结构,减小了LSA的传播范围,同时也减小了网络拓扑变化时影响所有路由器的可能性。采用组播来共享路由信息,并且发布的是增量式的更新信息。这使得网络带宽的利用和资源的消耗更有效。支持无类别的路由和路由汇总功能,可以使用VLSM和CIDR。路由汇总使得链路状态数据库减小,从而减少了运行SPF算法和更新路由表需要的CPU周期,也减少了路由器中的存储需求。
链路状态协议比距离矢量协议对CPU和存储器的要求更高,而且需要维护更多表项:邻居表、路由表、链路状态数据库等。
OSPF5种报文:
通过TCP连接传送。
OSPF路由器启动后以固定的时间间隔泛洪传播hello报文,采用目标地址224.0.0.5代表所有的OSPF路由器。
在点对点网络上每10s发送一次,在NBMA网络每30s发送一次。
hello协议用于发现邻居,建立毗邻关系,还用于选出区域内的指定路由器DR和备份指定路由器BDR。
OSPF报文:
每个字段含义:
核心网关协议:
Internet中有一个主干网,所有的自治系统都连接到主干网。主干网中的网关叫做核心网关,核心网关之间交换路由信息时使用核心网关协议GGP。
EGP是用于两个不同自治系统之间的网关交换路由信息。
GGP是主干网中的网关协议。
路由器技术:
路由器是无连接设备,对每个数据报独立地进行路由选择。
地址短缺解决办法:
1.使用IPV6.
2.网络地址翻译NAT
3.无类别的域间路由技术CIDR
NAT和CIDR是在现有的IPV4路由器中实现的。
NAT技术:
局域网中,从内往外转。
有两个应用:动态地址翻译、伪装。
动态地址翻译的好处是节约了全局IP地址,而且不需要改变子网内部的任何配置,只需在边界路由器中设置一个动态地址变换表就可以执行工作了。
伪装指的是用一个路由器的IP地址把子网中所有的主机的IP地址 都隐藏起来。
如果子网中有多个主机同时需要通信,那么还要对端口号进行翻译,也称为网络地址和端口翻译NAPT。
伪装技术可以作为一种安全手段使用,借以限制外部网络对内部主机的访问。还可以用来实现主机和虚拟路由,以便达到负载均衡和提高可靠性的目的。
CIDR技术:
超网。
第三层交换技术:
指利用二层交换的高带宽和低延迟优势尽快地传送网络层分组的技术。
交换使用硬件实现,速度快。
路由使用软件实现,速度慢。
三层交换机工作原理:一次路由,多次交换。
三层交换机不但具有路由功能,而且比通常的路由器转发得更快。
IP组播技术:
D类IP地址。
局域网中有一类MAC地址是组播地址。局域网又是广播式通信网络,在局域网中实现组播很简单,但在互联网中不是简单事情。
利用组播技术可以提高网络传输的效率,减少主干网拥塞的可能性。
实现IP组播的前提是组播源和组成员之间的下层网络必须支持组播。
IGMP协议
IPV4组播地址:
1.224.0.0.0~224.0.0.255,保留地址,用于路由协议或其他下层协议以及维护管理协议等。
224.0.0.1代表本地子网中的所有主机。
224.0.0.2代表本地子网中的所有路由器。
224.0.0.5代表所有OSPF路由器。
224.0.0.5代表所有RIP 2路由器。
2.224.0.1.0~238.255.255.255,用于全球范围的组播地址的分配,可以把这个范围的D类地址动态分配给一个组播组,当一个组播停止会话时,其地址被回收。
3.239.0.0.0~239.255.255.255,在管理权限范围内使用的组播地址,限制了组播的范围,可以在本地子网中作为组播地址使用。
IP组播地址在互联网中标识一个组,把IP数据报封装到以太网帧中时需要把IP组播地址映射到以太网的MAC地址。
组播地址分为IP组播地址和以太网组播地址。
IGMP协议:
IPV4环境中提供的组管理协议,参加组播的主机和路由器利用IGMP报文交换组播成员资格信息,以支持主机加入或离开组播组。
在IPV6环境下,组管理协议已经合并到ICMPV6协议中,不再需要单独的组管理协议。
IGMP报文封装在IP数据报中传输。
成员资格询问和报告报文,组记录报文。
IPQos服务:
集成服务:
1.保证质量的服务:对带宽、时延、抖动和丢包率提供了定量的保证。
2.控制负载的服务:提供一种类似于网络欠载情况下的服务,这是一种定性的指标。
3.尽力而为的服务:这是Internet提供的一般服务,基本上无任何质量保证。
区分服务:放弃了在通信流沿路节点上进行资源预约的机制,将具有相同特性的若干业务流汇聚起来,为整个汇聚流提供服务,而不是面向单个业务流提供服务。