第8章 路由选择
什么是路由器
路由器最基本的形式像一台具有两块网络适配器的计算机。但目前大多数路由器不是多重地址计算机,因为让专门的设备负责路由具有更好的性价比。路由器专门用于有效地实现路由功能。
路由选择过程:
1、 路由器从所连接的网络之一接收数据。
2、 路由器把数据传递到网际层。
3、 路由器检查IP头的目标地址。如目标位于数据所来自的网络,则忽略。
4、 如数据的目标在其它网络,路由器根据路由表进行转发。
5、 路由器决定了它的哪个适配器要接收这个数据,就把数据传递到相应的网络访问层。
路由表概念
路由表就是把网络标识映射到下一跳的IP地址,即数据报通往目的地的下一站。主机计算机可以像路由器一样具有路由表,不过它的路由表不会那么复杂,可能只包含两行:一个条目用于局域网,另一个用于默认路由。
概述IP转发
1、 某台主机准备发送一个IP数据报,它查看自己的路由表。
2、 如果数据报不能在本地网络到达目标,主机会从路由表里获取与目标地址相关联的路由器的IP地址(一般是默认网关的地址)。路由器的IP地址被ARP协议解析为物理地址。
3、 数据报和路由器的物理地址一起被传递给网络访问层。
4、 路由器的网络适配器会接收这个帧,因为帧的目标物理地址和路由器的物理地址匹配。
5、 路由器对帧进行拆包,把数据报传递给网际层。
6、 路由器查看数据报的IP地址。如果这个地址匹配路由器自己的地址,表示数据是发给路由器本身的;否则路由器查看自己的路由表,找到与数据目标地址相关联的路由器,尝试转发这个数据报。
7、 如果不能把数据报发送到到与路由器相连接的任何网段,路由器就把数据报发送给另一台路由器。上述过程重复进行,直到最后一个路由器能把数据报直接传输给目标主机。
直接路由选择与间接路由选择
对于小型、简单和固定网络来说,静态路由选择是一种有效的方法。而大多数现代路由器使用动态路由选择。路由器彼此之间相互通信,共享关于网段和网络路径的信息,每台路由器都根据从这种通信过程中得到的信息建立自己的路由表。
动态路由算法
常用两种路由协议:距离矢量路由协议RIP(Routing Information Protocol)和连接状态路由协议OSPF(Open Shortest Path First)。
在假定路径效率等同于经过的路由器数量时,距离矢量路由是个很好的方法。其工作方式如下:
1、 路由器A启动时,它能感知直接连接的网络,并把这些网段写入路由表,跳数是0。
2、 在周期性的时间间隔里,路由器A接收到来自相邻路由器的报告,其中包含了相邻路由器所感知的网段和相应的跳数。
3、 当路由器A收到报告后,按照如下方式更新自己的路由表。
a) 如果路由器B的信息里包含一个路由器A还不知道的网络,A就把这个网段添加到自己路由表里,这个新网段的跳数是路由器B设置参数加1。
b) 如果路由器B的信息里包含的网段已经存在于A的路由表里,A就会比较哪条路径更有效率并选择之。
连接状态路由选择背后的理念在于每个路由器都会利用从其他路由器收到的状态消息建立关于网络拓扑的内部地图,当它需要转发数据报时,会根据现有条件选择最佳路径。
复杂网络上的路由选择
Ø 核心路由器:掌握着其它核心路由器的完整信息,其路由表基本上是自治系统连接到核心路由器的位置地图。其使用的路由协议包括网关到网关协议GGP和SPREAD。
Ø 边界路由器:在自治网络之间交换路由信息的非核心路由器,它们掌握自己及相邻自治网络的路由信息,但没有整个网络互连的完整信息。现在流行的一种外部网关协议EGP是边界网关协议BGP。边界路由器通常作为自治网络的内部路由器。
Ø 内部路由器:自治网络内部共享路由信息的路由器。它们使用内部网关协议IGP的一组路由协议,包括路由信息协议RIP、开放最短路径优先OSPF。自治网络内部的路由器也可能分层次进行配置。
路由信息协议(RIP)
一种距离矢量协议。RIP的参与者分为主动方和被动方。RIP路由器每30秒广播一次更新消息,也可以要求立即更新。RIP设置了从第一台路由器到达目标的最大跳数限制,其值是15。
开放最短路径优先(OSPF)
一种连接状态协议。连接状态路由器会建立网络拓扑的一个内部地图,利用路由器标识来鉴别拓扑里的路由器。每天路由器都把网络描绘为一个树形,自己位于根部。这个网络树称为最短路径树SPT,通过网络的路径就对应于SPT的路径。路由器计算每个路径的代价,包括跳数和其他一些因素,比如连接速度和可靠性。
无类别路由选择
CIDR让路由器能够把多类网络同等对待,从而减少路由器之间要传输的信息。
协议栈里的更高层次——很多复杂的现代路由器并不局限于IP转发,而是根据高层协议实现其它很多服务。
第9章 连网
拨号连接
调制解调器协议:拨号协议直接与TCP/IP配合工作,成为协议栈的一员。最常见的两个TCP/IP调制解调器协议如下:
Ø 串行线路接口协议SLIP(Serial Line Internet Protocol):早期协议,相对简单,局限性较大。
Ø 点到点协议(PPP) :最初是对SLIP的细化。目前PPP标准是RFC1661,它把PPP组件分为3大类:
a)封装多协议数据报的方法;
b)建立、配置和测试连接的链接控制协议LCP;
c)支持高层协议系统的网络控制协议NCP族。
PPP连接的过程如下:
1、使用LCP协商过程建立连接。
2、如果第1步的协商过程指定了身份验证要求,通信计算机就进入身份验证阶段。RFC1661规定身份验证可以使用密码验证协议RAP和口令握手验证协议CHAP。
3、PPP利用NCP数据包指定与特定协议相关的配置信息。
4、PPP传输从高层协议接收到的数据。如果第1步里的协商过程指定了链接质量监视,监视协议就会传输监视信息。
5、PPP交换LCP终止数据包来关闭连接。
电缆宽带
利用有限电视网络接入Internet的一种宽带接入方式。
数字用户环路(DSL)
DSL具有多种形式,包括ADSL、HDSL、VDSL、SDSL和IDSL。从协议层看,DSL根据装置和实现有多种变化。有些DSL设备集成到了交换机或路由器。有些则充当网桥(类似于电缆调制解调器),在网络访问层根据物理(MAC)地址过滤通信。DSL设备常用点到点协议封装数据,比如最流行的基于以太网的PPP(PPPoE)协议。
广域网(WAN)
从某种意义上来说,广域网就是Internet本身的核心。广域网的一些形式包括:
Ø 帧中继
Ø 综合数字服务网ISDN
Ø 高级数据链路控制HDLC
Ø 异步传输模式ATM
它们都是由工作于TCP/IP网络访问层协议进行管理的物理网络规范的另一种形式。
无线连网
对无线网络的最简单理解就是在网络访问层使用无线方式连接的网络。包括802.11网络、无线应用协议、移动IP和蓝牙。
802.11网络
考虑到设备是可移动的,而且适合的访问点也可能改变。所以源地址和目标地址的传统概念对于无线网络已经不够用了,除了源地址和目标地址,还包括接收器地址和发射器地址。接收器是处理802.11帧的无线设备。如果帧要传输到无线设备,接收器地址就与目标地址一致。如果帧要传输到无线网络之外,接收器地址就是某个访问点的地址;发射器地址是把帧转发给无线网络的设备地址。访问点是连接无线网络和传统网络的设备,其行为类似于网桥,在无线网络和传统网络之间转发帧。
无线应用协议
802.11系列的标准关注于在区域层次上把无线设备连接到传统网络。无线应用协议WAP是针对无线设备设计的协议栈,实际上是与应用相关的上层协议的规范,其用途是在移动手持设备之间传输信息。WAP协议包括如下几项:
Ø WAP会话协议WSP:相当于HTTP,提供了应用程序之间交换数据的系统。
Ø WAP事物协议WTP:提供握手和确认服务来初始化和确认WAP事务。
Ø WAP事务层安全WTLS:以SSL为模型的安全协议。
Ø WAP数据报传输协议WDP:以UDP为模型的无连接传输层协议。
移动IP
一种IP寻址系统,用于支持移动的设备。RFC3220是移动IP扩展的规范。移动IP给固定IP地址关联上一个辅助地址来解决寻址问题。移动设备具有属于本地网络的固定地址。网络上有一个称为“本地代理”的专用路由器,它维护一个表格,把设备的当前位置绑定到固定地址。当设备进入到另一个新网络时,外地代理就把移动设备添加到访问者列表,并把设备当前位置的信息发送给本地代理,本地代理就会用新的位置信息更新自己的位置绑定表。当发往这台设备的数据报到达本地网络时,它被封装到一个目标为外地网络的数据包里,最终到达目标设备。
蓝牙
OSI模型中数据链路层和物理层的协议,像其它无线形式一样,使用访问点把无线网络连接到传输网络,这个访问点称为网络访问点NAP。蓝牙封装协议能对TCP/IP数据报进行封装,从而在蓝牙网络进行传输。
连接设备
网桥——是根据物理地址过滤和转发数据包的连接设备,工作于OSI模型的数据链路层。
集线器——用于连接网络电缆而构成一个网段的设备。集线器不会过滤或路由任何数据,只是把接收到的帧转发到全部端口,可简化布线。基于集线器的以太网面临着传统以太网的主要问题:性能随着通信量的上升而下降。只有当线路空闲时,计算机才能进行传输;而且每个网络适配器都必须接收和处理网络上的每个帧。
交换机——交换机把每个端口和物理地址关联起来,只向应该接收数据的适配器发送数据。只操作物理地址的1类交换机更像多个网桥结合在一起。最常见的两种交换方式是穿过和存储转发。
第10章 防火墙
什么是防火墙?
防火墙并不一定是一个路由器,但防火墙的功能通常会被集成到路由器上。防火墙与传统路由器最重要的区别是传统路由器会尽可能转发数据包,而防火墙只转发自己认可的数据包。当代防火墙通常是包过滤器、状态查看和应用层过滤的组合。一些防火墙还可以作为DHCP服务器和网络地址转换工具。
DMZ
两个防火墙之间的空间称为DMZ(一个军事术语——Demilitarized Zone非军事地带)。
代理服务
所有用来保护和简化内部网络,将潜在的不安全Internet活动限制在边界之外的技术中,防火墙是核心技术。另一种相关技术是代理服务。代理服务器是用于代表客户端对服务发出请求的计算机或应用程序。在很多情况下,使用代理服务器的主要目的是性能,而不是安全性,因为代理服务器可以执行对服务的内容缓存。
反向代理
接收来自外部资源的请求,将这些请求转发给内部网络。反向代理也提供缓存和内容过滤特性,有时还被用于提供负载平衡。
第11章 名称解析
什么是名称解析?
名称解析服务——DNS运行于服务器的应用层,并且与其它DNS交换名称解析信息。其它常见的名称解析系统有网络信息服务NIS、NetBIOS名称解析,还有一些名称服务利用了轻量级目录访问协议LDAP。
使用主机文件进行名称解析
对小型、独立的TCP/IP网络来说,主机文件是一种高效且简单的名称解析方法。
DNS名称解析
名称解析的过程如下:
1、 Host1向名称服务器A发送一个查询,请求查询trog.dog.marines.mil的IP地址。
2、 A查找自己保留的记录,如找到则将请求的IP地址返回给Host1。
3、 如果A没有这个地址,则启动地址查找过程。A发送迭代请求给.mil域的顶级名称服务器B。
4、 B无法提供这个地址,但会将域marines.mil的名称服务器C地址发给A;
5、 A向C发送查询地址请求。C无法提供这个地址,就将dog.marines.mil的名称服务器D地址发给A。
6、 A向D发送查询地址请求。D找到了trog.dog.marines.mil的IP地址,就将这个地址发给A。A接着将这个地址发给Host1。
7、 Host1启动与主机trog.dog.marines.mil的连接。
DNS工具
Ping或者nslookup。
NetBIOS名称解析
NetBIOS是一个API和名称解析系统,被开发出来的目的是用于不使用TCP/IP的网络。可以使用net view命令,查看服务器上的共享点名称(共享点是一个目录,客户端可以在这里连接其他计算机,查看或交换文件)。
第12章 自动配置
什么是DHCP?
DHCP是一个用来向计算机分配TCP/IP配置参数的协议。
DHCP如何工作
当DHCP客户端计算机启动时,TCP/IP软件被调入内存中开始执行,因为此时还没有IP地址,计算机只能发送和监听广播数据。这种通过广播进行通信的特征正是DHCP进行工作的基础。从DHCP服务器租用IP地址需要经过4个步骤:
1、 DHCP DISCOVER:DHCP客户端首先会向UDP端口68(BOOTP和DHCP服务器使用的端口)广播发送一个数据包。
2、 DHCP OFFER:DHCP响应数据包通过广播发送到UDP端口67,包含了DHCP客户端的物理地址、DHCP服务器的物理地址和IP地址,以及提供给DHCP客户端的IP地址和子网掩码。如果有多个DHCP OFFER,一般客户端会接受第一个到达的OFFER数据包。
3、 DHCP REQUEST:客户端选择一个OFFER数据包后,会构建并广播一个请求数据包。一是为通知被选中的DHCP服务器;一是通知其它DHCP服务器它们的OFFER未接受。
4、 DHCP ACK:被选中的DHCP服务器在接收到DHCP请求数据包时,会发送DHCP ACK数据包,其中包含一个租用给客户端的IP地址和子网掩码,还可以选择发送默认网关地址、多个DNS服务器地址以及一、两个WINS服务器地址等。
中继代理
如果DHCP客户端和服务器位于被一个或多个路由器分隔开的不同的网段上,因为路由器通常是不能将广播发送到其它网络的,因此需要用到中级代理。中继代理会在UDP端口68监听广播:当中继代理检测到DHCP请求时,就将这个请求转发给DHCP服务器。当代理收到DHCP服务器的响应时,就将响应在本地网段上广播。目前流行的做法是通过路由器提供DHCP服务器的功能。
网络地址转换(NAT)
NAT通常从私有地址范围来分配IP地址,这些地址一般是不可路由的,只能通过地址转换来到达NAT客户端计算机。
零配置
零配置环境有3个重要部分分别是连接本地网络地址、多播DNS和DNS服务发现。这些组件的协同使用能够创造一种环境,使计算机可以无需预先配置TCP/IP就能够启动,接收本地私有的不可路由的IP地址,与本地网络上的其它计算机一起注册主机名,查找网络中可用的服务。
第13章 IPv6
网络地址转换NAT的应用降低了对Internet公共地址的需求,但移动网络的不断增长,又给地址空间带来新的压力。IPV6中的IP地址是一个128比特地址。IPV6目标如下:扩展寻址的能力、更简单的包头格式、提升了扩展和选项的支持、流标记和提升身份认证和隐私保护的能力。