TCP/IP之IP协议相关技术

仅凭IP无法完成通信:在实际应用中,人们一般不会使用十进制数字组成的某个IP地址,而是直接输入Web网站的地址或者电子邮件地址,这些由应用层提供的地址。因此从上往下的角度,就有必要实现将应用中使用的地址映射为IP地址。此外,数据链路层使用的是mac地址而不是ip地址,并且在实际中,将众多ip数据包在网络上进行传输的就是数据链路本身,因此就有必要了解发送端mac地址。

下面主要包含了:DNS、ARP、ICMP、ICMPv6、DHCP、NAT等协议,还包括IP隧道、IP多播、IP任播、质量控制(QoS)以及以太网拥塞的显式通知和Mobile IP技术。

目录

DNS

1.DNS定义

2.域名

3.DNS的域名和IP的关系

4.域名服务的特点以及图示说明

5.DNS查询流程举例图

ARP

1.ARP报文格式:

2.ARP高速缓存

3.免费ARP(FARP)

4.代理APR(proxy ARP)

ICMP

1.报文类型或者用途

2.ICMP作为IP的上层协议在工作

3.利用ICMP实现的功能

4.ICMP和安全的关系

ICMPv6

1.ICMPv6的报文格式

2.邻居发现协议NDP相关知识

DHCP

DHCP中继代理 

NAT

IP隧道


DNS

协议背景:TCP/IP 网络中要求每一个互连的计算机都具有其唯一的IP 地址,并基于这个IP 地址进行通信。但是IP 地址是由一串数据序列组成,并不好记。因此直接使用IP 地址有很多不便之处。

早先形态(主机识别码时期):

hosts数据库文件中记录了主机名和IP地址一一映射的关系,由互联网信息中心更新和管理。如果新增一台计算机接人到ARPANET 网或者巳有的某台计算机要进行IP 地址变更,中心的这个hosts 文件就得更新,而其他计算机则不得不定期下载最新的hosts 文件才能正常使用网络。因此随着互联网的迅猛发展,该方式的可行性逐渐降低。

1.DNS定义

是一个分布式的客户机/服务器网络数据库,TCP/IP应用程序使用它来完成主机名称和IP地址之间的映射(反之亦然),提供电子邮件路由信息、服务命名和其他服务。DNS提供了允许客户机和服务器相互通信的协议,也提供了服务器之间交互信息的协议。

上面分布式的含义:互联网中没有单独的一个站点能知道所有信息。每一个站点维护自己的信息数据库,并运行一个服务器程序供互联网上其他系统查询。

优点:充分解决了ARPANET初期遇到的问题。无论网络规模变得多么庞大,都能在一天个较小范围内通过DNS进行管理。

2.域名

域名是为了识别主机名称和机构名称的一种具有分层的名称。域名在以前都用ASCII码表示,现在可以使用中文等众多国家的名字表示。

域名结构:包含:根域、顶级域、二级域、子域、主机。域名包含一系列的由点分开的标签,标签代表名称层级中的一个位置,句点是层次结构分隔符,并且名称中自右向左的顺序沿树下降。

  • 根域
    位于域名空间最顶层,一般用一个 “.” 表示

  • 顶级域
    一般代表一种类型的组织机构或国家地区,如 net、com、org、edu、gov、mil、cn、jp、hk

  • 二级域
    用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如 .cn 顶级域名下面设置的二级域名:.com.cn、.net.cn、.edu.cn …

  • 子域
    二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名

  • 主机
    主机位于域名空间最下层,就是一台具体的计算机,如 www、mail、都是具体的计算机名字,可用www.sina.com.cn.、mail.sina.com.cn. 来表示,这种表示方式称为 FQDN (完全合格域名),也是这台主机在域名中的全名

    平时上网输入的网址都是 FQDN 名,如 www.sina.com.cn,其实表示我们要访问 “sina.com.cn” 域中一台名为 “www” 的计算机

3.DNS的域名和IP的关系

在DNS系统中有一个比较重要的的资源类型叫做主机记录也称为A记录,A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。
(1)一个域名对应一个IP集群:多见于有一定访问规模的网站,常见的使用技术是负载均衡。广义上的负载均衡器大概可以分为 3 类,包括:DNS 方式实现负载均衡、硬件负载均衡、软件负载均衡。其中DNS方式实现负载均衡时,每次域名解析请求都会根据对应的负载均衡算法计算出一个不同的IP地址并返回,这样A记录中配置多个服务器就可以构成一个集群,并可以实现负载均衡。

(2)多个域名解析到一个IP地址:多见于小流量网站。

一个IP绑定多个域名是很常见的事情,租用的虚拟主机大多数都是多个主机共享同一个IP,区分具体访问的是哪个主机要从两个方面实现:

1.客户端如何区别不同的网站。

客户端在请求时,会在HTTP请求的时候包含要请求的具体主机名称,比如访问Google的请求通过抓包分析内容是这样的:

GET / HTTP/1.1
Host: www.google.com

 整个请求会被发送到服务器上,其中有Host字段标识你要请求的网站域名是什么。因此即使访问的是同一个IP地址,由于Host字段不同,服务器软件有办法区分具体访问的是哪个网站。

2.服务器端如何配置

虚拟主机:web服务器程序可以根据请求头的中的域名返回对应目录资源,这称作web服务器的“虚拟主机”功能。但是不过多数人所知道的虚拟主机一般是使用虚拟化技术(虚拟机软件)将物理服务器虚拟化为多个虚拟主机,常见的虚拟机软件有VMwareWorkstation、VirtualBox,不过这里说的web服务器的虚拟主机和虚拟化技术的虚拟主机是两回事。以最常用的Apache服务器软件为例,要实现虚拟主机功能,只需要做一些虚拟主机的配置即可。

服务器使用Apache,那么在Apache的配置文件中加入VirtualHost即可新增虚拟主机:一对VirtualHost标签就是一个虚拟主机(一个域名)的配置。

<VirtualHost 10.0.0.1>
ServerAdmin admin@admin
DocumentRoot "D:/website1"
ServerName http://myhost1.com
DirectoryIndex index.php
</VirtualHost>

<VirtualHost 10.0.0.1>
ServerAdmin admin@admin
DocumentRoot "D:/website2"
ServerName http://myhost2.com
DirectoryIndex index.php
</VirtualHost>

以上就定义了两个域名http://myhost1.com和http://myhost2.com,分别在不同的根目录,通过这样的配置Apache如果收到http://myhost1.com的请求,那么就到d:/website1里寻找对应的页面,如果是http://myhost2.com的请求,那么就到d:/website2里寻找对应的页面。通常Apache还有一个默认网站,这个网站是可以使用IP地址访问的,如果将这个网站设置为无效,那么这个主机就无法通过IP地址直接访问HTTP资源。、

如果服务器采用IIS(不是服务器的主流,可参考IIS搭建简单网站),IIS能使用同一个IP绑定多个站点,在默认网站->属性->网站->高级中,添加不同的域名即可。高版本的IIS中,可以配置多个网站,每个网站绑定不同的域名,即可实现访问时的区分。

如果服务器没设置默认网站,那么IP地址也无法直接访问主机。

所以,如果你直接通过IP地址访问网站,会遇到两种情况:
1、服务器设置了默认网站,或者使用IP作为主机名去匹配请求的Host字段,那么你通过IP访问的就是这个网站;
2、服务器没有设置默认网站,或者默认网站被禁止,那么你通过IP无法打开任何东,通常遇到的是404错误(找不到页面),在我使用过的几个虚拟主机服务商那,遇到的都是类似的错误。

另外,不管是IIS或者Apache或者其它类型的网站服务器软件,不仅仅支持多域名,也支持多IP,也就是一个服务器同时有多个域名和多个IP,互相之间是互不干扰的。

 

4.域名服务的特点以及图示说明

5.DNS查询流程举例图

pepper主机(所在域名服务器为kusa.co.jp)查询www.ietf.org网站的流程

ARP

定义:地址解析协议(Address Resolution Protocol),其基本功能为透过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代。

只用在和存在于IPv4中。

工作流程:

假设主机A和B在同一个网段,主机A要向主机B发送信息,具体的地址解析过程如下:
(1) 主机A首先查看自己的ARP表,确定其中是否包含有主机B对应的ARP表项。如果找到了对应的MAC地址,则主机A直接利用ARP表中的MAC地址,对IP数据包进行帧封装,并将数据包发送给主机B。

(2) 如果主机A在ARP表中找不到对应的MAC地址,则将缓存该数据报文,然后以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。

(3) 主机B比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址。

(4) 主机A收到ARP响应报文后,将主机B的MAC地址加入到自己的ARP表中以用于后续报文的转发,同时将IP数据包进行封装后发送出去。

1.ARP报文格式:

  先要清楚,一般说以太网地址就是指MAC地址

  字段1是ARP请求的目的以太网地址,全1时代表广播地址。

  字段2是发送ARP请求的以太网地址。

  字段3以太网帧类型表示的是后面的数据类型,ARP请求和ARP应答这个值为0x0806。

  字段4表示硬件地址的类型,硬件地址不只以太网一种,是以太网类型时此值为1。

  字段5表示要映射的协议地址的类型,要对IPv4地址进行映射,此值为0x0800。

  字段6和7表示硬件地址长度和协议地址长度,MAC地址占6字节,IP地址占4字节。

  字段8是操作类型字段,值为1,表示进行ARP请求;值为2,表示进行ARP应答;值为3,表示进行RARP请求;值为4,表示进行RARP应答。

  字段9是发送端ARP请求或应答的硬件地址,这里是以太网地址,和字段2相同。

  字段10是发送ARP请求或应答的IP地址。

  字段11和12是目的端的硬件地址和协议地址。

2.ARP高速缓存

定义:ARP缓存是一个缓冲区,用来储存IP地址和MAC地址,本质就是<IP地址,MAC地址>的对应表。表中一个条目记录了网络上一个主机的IP地址和其对应的MAC地址。

当地址解析协议被询问一个已知IP地址节点的MAC地址时,先在ARP缓存中查看,若存在,就直接返回与之对应的MAC地址,若不存在,才发送ARP请求向局域网查询。

ARP缓存表项的生存时间TTL:ARP缓存包含动态和静态项目。

(1)动态项目:随时间推移自动添加和删除,每个动态ARP缓存项都有都设置了TTL(生存时间),TTL为0时此项目就从表中删除,Windows下TTL一般不超过10分钟。

(2)静态项目:静态 ARP 缓存条目是永久性的,可以使用 TCP/IP 工具手动添加和删除。静态 ARP 缓存条目用来禁止节点发送对常用的本地IPv4地址(例如路由器和服务器的 IPv4 地址)的ARP请求。

ARP高速缓存的使用:当主机发送一个ARP请求时,先查看ARP高速缓存表,如果存在对应条目,则直接返回MAC地址,否则向局域网发送ARP请求广播。

ARP高速缓存的优缺点:

      优点:从ARP高速缓存的使用中可以看到,ARP高速缓存可以减小广播量,进而减小网络通信量,提高计算机之间的通信效率。

  缺点:造成安全隐患(参考下面免费ARP的作用)。

3.免费ARP(FARP)

定义:免费ARP指主机发送ARP查找自己的IP地址,通常发生在系统引导期间进行接口配置时。与标准ARP的区别就是免费ARP分组的目的IP地址字段封装的是自己的IP地址,即向所在网络请求自己的MAC地址。

免费ARP的作用有:

        1) 一个主机可以通过它来确定另一个主机是否设置了相同的 IP地址。正常情况下发送免费ARP请求不会收到ARP应答,如果收到了一个ARP应答,则说明网络中存在与本机相同的IP地址的主机,发生了地址冲突。

        2)更新其他主机的高速缓存中旧的硬件地址进行。如果发送免费ARP的主机正好改变了硬件地址,如更换了接口卡。其他主机接收到这个ARP请求的时候,发现自己的ARP高速缓存表中存在对应的IP地址,但是MAC地址不匹配,那么就需要利用接收的ARP请求来更新本地的ARP高速缓存表表项。

  3)网关利用免费ARP防止ARP攻击。有些网关设备在一定的时间间隔内向网络主动发送免费ARP报文,让网络内的其他主机更新ARP表项中的网关MAC地址信息,以达到防止或缓解ARP攻击的效果。

  4)利用免费ARP进行ARP攻击。ARP协议并不只在发送了ARP请求才接收ARP应答,计算机只要接收到ARP应答数据包,就会使用应答中的IP和MAC地址对本地的ARP缓存进行更新。主机可以构造虚假的免费ARP应答,将ARP的源MAC地址设为错误的MAC地址,并把这个虚假的免费ARP应答发送到网络中,那么所有接收到这个免费ARP应答的主机都会更新本地ARP表项中相应IP地址对应的MAC地址。更新成功后,这些主机的数据报文就会被转发到错误的MAC地址,从而实现了ARP欺骗的攻击。

4.代理APR(proxy ARP

背景: 先要了解,路由器的重要功能之一就是把局域网的广播包限制在该网内,阻止其扩散,否则会造成网络风暴。ARP请求是个广播包,它询问的对象如果在同一个局域网内,就会收到应答。但是如果询问的对象不在同一个局域网就会被路由器隔离,该如何处理?路由器就提供的代理ARP为这个问题提供了解决方案。

定义:代理ARP使一个系统(通常是一台专门配置的路由器)可回答不同主机的ARP请求。它使请求的发送者认为做出响应的系统就是目的主机,但实际上目的主机可能在其他地方(或不存在)。

工作过程:

ARP代理并不常见,通常应该尽量避免使用它。

代理ARP也称为混杂ARP或ARP黑客。名称来源于历史用途:两个物理网络相互隐蔽自己。在这种情况下,两个物理网络可以使用相同的IP前缀,只要将中间的路由器配置为一个代理ARP,在一个网络中由代理响应对其他网络中的ARP请求。这种技术可用于向一组主机隐藏另一组主机。从前,这样做的原因有两个:(1)有些系统无法进行子网划分,(2)有些系统使用比较久的广播地址。

ICMP

背景:

      在IP通信中,经常有数据包到达不了对方的情况。原因是,在通信途中的某处的一个路由器由于不能处理所有的数据包,就将数据包一个一个丢弃了。或者,虽然到达了对方,但是由于搞错了端口号,服务器软件可能不能接受它。这时,在错误发生的现场,为了联络而飞过来的信鸽就是ICMP 报文。在IP 网络上,由于数据包被丢弃等原因,为了控制将必要的信息传递给发信方。ICMP 协议是为了辅助IP 协议,交换各种各样的控制信息而被制造出来的。

       网络本身是不可靠的,在网络传输过程中,可能会发生许多突发事件并导致数据传输失败。网络层的IP协议是一个无连接的协议,它不会处理网络层传输中的故障,而位于网络层的ICMP协议却恰好弥补了IP的缺限,它使用IP协议进行信息传递,向数据包中的源端节点提供发生在网络层的错误信息反馈。

定义:ICMP全称Internet Control Message Protocol,中文名为因特网控制报文协议。它工作在OSI的网络层,向数据通讯中的源主机报告错误。ICMP可以实现故障隔离和故障恢复。

IPv4中ICMP仅作为一个辅助作用支持IPv4.也就是说,在IPv4时期,即使没有ICMP,任然可以实现IP通信。

1.报文类型或者用途

在RFC,将ICMP 大致分成两种功能:差错通知和信息查询。

(1)给送信者的错误通知。在 IP 数据包被对方的计算机处理的过程中,发生了什么错误时被使用。不仅传送发生了错误这个事实,也传送错误原因等消息。

(2)送信者的信息查询。信息询问是在送信方的计算机向对方计算机询问信息时被使用。被询问内容的种类非常丰富,他们有目标IP 地址的机器是否存在这种基本确认,调查自己网络的子网掩码,取得对方机器的时间信息等。

2.ICMP作为IP的上层协议在工作

ICMP 的内容是放在IP 数据包的数据部分里来互相交流的。也就是,从ICMP的报文格式来说,ICMP 是IP 的上层协议。但是,正如RFC 所记载的,ICMP 是分担了IP 的一部分功能。所以,被认为是与IP 同层的协议。

RFC 规定的数据包格式和报文内容:

上图中的IP数据包中,用来传送ICMP 报文的IP 数据包上实际上有不少字段。但是实际上与ICMP 协议相关的只有7 个子段。

1)协议;2)源IP 地址;3)目的IP 地址;4)生存时间;这四个包含在IP 首部的字段。

5)类型;6)代码;7)选项数据;这三个包含在ICMP数据部分的字段。

这里面,1)协议字段值是1。2)和3)是用来交流ICMP 报文的地址信息,没有特殊意义。对于理解ICMP 本身,重要的是5),6),7)三个字段。这里面的可以称为核心的重要字段是5)类型,6)代码这两个字段。所有ICMP 用来交流错误通知和信息询问的报文,都是由类型和代码的组合来表示的。RFC 定义了15种类型。“报文不可到达”这样的错误通知和“回送请求”这样的信息查询是由类型字段来区分的。ICMP报文由类型来表达它的大概意义,需要传递细小的信息时由代码来分类。进一步,需要向对方传送数据的时候,用7)选项数据字段来放置。

3.利用ICMP实现的功能

(1)ICMP实现之改变路由;(2)ICMP实现之ping命令;(3)ICMP实现之traceroute命令;(4)ICMP实现之端口扫描

4.ICMP和安全的关系

为什么有停止ICMP 使用的设定项目呢?理由只有一个,那就是确保安全。虽然ICMP 是非常便利的协议,但黑客在尝试非法访问的时候会被恶意利用。由于ICMP 被恶意使用而遭受损害的用户正在不断增加之中,因此有了限制ICMP 使用的意见。从安全的方面来说,ICMP 是有百害而无一利的。

ICMPv6

在IPv6中,ICMP的作用被扩大,如果没有ICMPv6,IPv6就无法进行正常通信。

定义:基于ipv6的ICMPv6(Internet control message protocol for IPv6)是 IPv6 下的 Internet 控制报文协议;在 IPv6 中,ICMPv6 整合实现了 IPv4 中的 ICMP(ping命令)、ARP 以及 IGMP 的所有功能,主要包括错误报告、网络诊断(ping6命令)、邻居发现、多播实现和重定向等。

1.ICMPv6的报文格式

ICMPv6报文封装在IPv6中,回顾下IPv6的首部报文格式:

ICMPv6的协议号为58,也就是在IPv6报文中的Next Header的值为58。ICMPv6的报文格式如下:

类型字段用于确定特定的报文,ICMPv4和ICMPv6的该字段值并不相同;代码字段进一步肯定报文的含义,ICMPv4和ICMPv6的该字段值并不相同;校验和字段用于确定报文信息的正确性。

(1)Type:表示 ICMPv6 报文的类型,当取值介于 0 到 127 之间时,表示该报文为差错报文(如目的不可达、超时等),当取值在 128 到 255 之间时,则表示该报文为信息报文。

(2)Code:表示此消息类型(Type)细分的类型,具体区分每种消息类型的错误信息,如目的不可达可能是防火墙导致的,也可能是路由错误导致的。

(3)Checksum:校验和,校验的部分包括了 IPv6 伪首部和ICMPv6报文。IPV6伪首部包含4个部分:16字节的sourse address, 16字节的destination addrss,2字节的 payload length, 1字节的next header。

2.邻居发现协议NDP相关知识

定义:邻居发现协议(Neighbor Discovery Protocol,NDP)就是使用以下的功能实现即插即用特性的协议:

  • 路由器发现:当一个节点连接到一个IPV6的链路时,它能够发现本地的路由器,不必借助DHCP。
  • 前缀发现:当一个节点连接到一个IPV6的链路时,它能够发现分配给该链路的前缀。
  • 参数发现:节点能够发现它所相连的链路的参数(链路的MTU和跳数限制等)。
  • 地址自动配置:节点能够确定他的完整性,不需要DHCP。
  • 地址解析 :节点不需要借助ARP就能够发现所连接链路上其他节点的链路层地址。
  • 下一跳确定:一条链路上的节点能够确定到达目的节点的下一跳链路层节点。
  • 邻居不可达检测 :节点能检测到链路上的邻居(主机或路由器)何时不再可达。
  • 地址冲突检测:节点能检测到他所要使用的地址是否已经被链路上的其他节点所占用。
  • 重定向:对于非连接的目的节点,路由器能够通过重定向消息通知主机存在比它自己更好的下一跳路由。

NDP定义了5种ICMPv6报文类型:ICMPv6消息类型中有5种是为了支持邻居发现协议而定义的。

  • 类型133 路由器请求(Router Solicitation Message,RS):由主机发起,用来请求一个路由器发送一个RA

  • 类型134 路由器通告(Router Advertisement Message,RA):由路由器发起,通告路由器的存在和链路的细节参数(链路前缀,MTU,跳数限制等),周期性发送,也用于答RS。

  • 类型135 邻居请求(Neighbor Solicitation Message,NS):由节点主机发起,用来请求另一台主机的链路层地址,或实现地址冲突检测、邻居不可达检测。

  • 类型136 邻居通告(Neighbor Advertisement Message,NA):有节点发起用来响应NS,如果一个节点改变了他的链路层地址,那么它能够主动发送一个NA来通告这个新地址。

  • 类型137 重定向(Redirect)

NDP消息通常在链路本地的范围内收发。
为了进一步增强安全性,承载所有NDP消息的IPV6数据包的跳数限制为255,如果收到的数据包跳数小于255的,说明该数据包最少已经经过一台路由器,因此该数据包应该被丢弃。这样可以防止NDP受到来自不与本地链路相连的源节点的攻击或欺骗。

1.路由器发现

定义:路由器发现功能用来发现与本地链路相连的设备,并获取与地址自动配置相关的前缀和其他配置参数。

在IPv6中,IPv6地址可以支持无状态的自动配置,即主机通过某种机制获取网络前缀信息,然后主机自己生成地址的接口标识部分。路由器发现功能是IPv6地址自动配置功能的基础,主要通过以下两种报文实现:

RA报文:每台设备为了让二层网络上的主机和设备知道自己的存在,定时都会组播发送RA报文,最小缺省周期为200S,RA报文中会带有网络前缀信息,及其他一些标志位信息。未经请求的RA源地址是路由器接口的链路地址,目的地址是所有节点的多播地址(FE02::1)。

RS报文:很多情况下主机接入网络后希望尽快获取网络前缀进行通信,此时主机可以立刻发送RS报文,网络上的设备将回应RA报文。RS的源地址可以是未指定的地址(::),也可以是该主机的链路本地地址,目的地址则始终是所有路由器的多播地址(FE02::2)。

当一台主机收到一条RA时,它就会将这台路由器添加到他的缺省路由器列表中,如果存在多台路由器条目时,要么在列表中依次轮询,要么选择保持单台路由器作为缺省路由。

2.地址自动配置

定义:当一台IPV6的主机第一次连接到链路上时,他能够自我配置自己接口的链路地址:在自己接口的48位的MAC地址中间插入一个保留的16位数值0xFFFE,并把它的U/L位(第七位)翻转,这样就得到了一个64位接口ID。在接口ID前面加上链路本地前缀FE80::/10,就得到了链路本地地址。

如果主机只需要和所在链路上的设备通信时,自动配置的地址已经足够,但是要和链路以外的主机通讯时,就需要更大的范围地址,通常使用以下两种方法获取地址:

  • 有状态:借助DHCPV6获取地址。
  • 无状态:主机将RA发来的链路前缀加上自己确定的接口ID,这样就得到了一个全球唯一的IPV6地址

3.邻居地址解析(类ARP)

Host A在向Host B发送报文之前它必须要解析出Host B的链路层地址,所以首先Host A会发送一个NS报文(利用IPv6的多播地址实现传输),其中源地址为Host A的IPv6地址,目的地址为Host B的被请求节点组播地址,需要解析的目标IP为Host B的IPv6地址,这就表示Host A想要知道Host B的链路层地址。同时需要指出的是,在NS报文的Options字段中还携带了Host A的链路层地址。

当Host B接收到了NS报文之后,就会回应NA报文,其中源地址为Host B的IPv6地址,目的地址为Host A的IPv6地址(使用NS报文中的Host A的链路层地址进行单播),Host B的链路层地址被放在Options字段中。这样就完成了一个地址解析的过程。

还可参考TCP/IP中的图:

4.邻居不可达检测

背景:通过邻居或到达邻居的通信,会因各种原因而中断,包括硬件故障、接口卡的热插入等。如果目的地失效,则恢复是不可能的,通信失败;如果路径失效,则恢复是可能的。因此节点需要维护一张邻居表,每个邻居都有相应的状态,状态之间可以迁移。

邻居状态:RFC2461中定义了5种邻居状态,分别为

  • 未完成(Incomplete):表示正在解析地址,但邻居链路层地址尚未确定。
  • 可达(Reachable):表示地址解析成功,该邻居可达。
  • 陈旧(Stale):表示可达时间耗尽,未确定邻居是否可达。
  • 延迟(Delay):邻居可达性未知。Delay状态不是一个稳定的状态,而是一个延时等待状态。
  • 探查(Probe):邻居可达性未知,正在发送邻居请求探针以确认可达性.

居状态的具体迁移过程如下图所示:

下面以A、B两个邻居节点之间相互通信过程中A节点的邻居状态变化为例(假设A、B之前从未通信),说明邻居状态迁移的过程。

  1. A先发送NS报文,并生成缓存条目,此时,邻居状态为Incomplete。
  2. 若B回复NA报文,则邻居状态由Incomplete变为Reachable,否则固定时间后邻居状态由Incomplete变为Empty,即删除表项。
  3. 经过邻居可达时间,邻居状态由Reachable(默认30s)变为Stale,即未知是否可达。
  4. 如果在Reachable状态,A收到B的非请求NA报文(MAC地址修改),且报文中携带的B的链路层地址和表项中不同,则邻居状态马上变为Stale。
  5. 在Stale状态若A要向B发送数据,则邻居状态由Stale变为Delay,并发送NS请求。
  6. 在经过一段固定时间后,邻居状态由Delay(默认5s)变为Probe(每隔1s发送一次NS报文,连续发送3次),其间若有NA应答,则邻居状态由Delay变为Reachable。
  7. 在Probe状态,A每隔一定时间间隔z(1s)发送单播NS,发送固定次数(3)后,有应答则邻居状态变为Reachable,否则邻居状态变为Empty,即删除表项。

5.重复地址检测 Duplicate Address Detect,DAD(类FARP)

基本概念:

        在接口使用某个IPv6单播地址之前进行的,主要是为了探测是否有其它的节点使用了该地址。尤其是在地址自动配置的时候,进行DAD检测是很必要的。

        一个IPv6单播地址在分配给一个接口之后且通过重复地址检测之前称为试验地址(Tentative Address)。此时该接口不能使用这个试验地址进行单播通信,但是仍然会加入两个组播组:ALL-NODES组播组和试验地址所对应的Solicited-Node组播组。

        IPv6重复地址检测技术和IPv4中的免费ARP类似:节点向试验地址所对应的Solicited-Node组播组发送NS报文。NS报文中目标地址即为该试验地址。如果收到某个其他站点回应的NA报文,就证明该地址已被网络上使用,节点将不能使用该试验地址通讯。

地重复地址检测过程:

PC A的IPv6地址2000::1为新配置地址,即2000::1为PC A的试验地址。PC A向2000::1的Solicited-Node组播地址FF02::1:FF00:1发送一个以2000::1为请求的目标地址的NS报文进行重复地址检测,由于2000::1并未正式指定,所以NS报文的源地址为未指定地址。当PC B收到该NS报文后,有两种处理方法:

  • 如果PC B发现2000::1是自身的一个试验地址,则PC B放弃使用这个地址作为接口地址,并且不会发送NA报文。
  • 如果PC B发现2000::1是一个已经正常使用的地址,PC B会向FF02::1发送一个NA报文,该消息中会包含2000::1。这样,PC A收到这个消息后就会发现自身的试验地址是重复的,从而弃用该地址。

DHCP

背景:

定义:DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,是一个应用层协议。当我们将客户主机ip地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给客户端分配IP,使得客户机能够利用这个IP上网。

优点:

           1. 减少管理员的工作量。

           2. 减少输入错误的可能。

           3. 避免IP冲突。

           4. 当网络更改IP地址段时,不需要重新配置每台计算机的IP地址。

           5. 计算机移动不必重新配置IP地址。

           6. 提高了IP地址的利用率。

 

DHCP中继代理 

背景:在家庭网络中大多都只有一个以太网(无线LAN) 的网段,与其连接的主机台数也不会太多。因此,只要有一台DHCP 服务器就足以应对IP 地址分配的需求,而大多数情况下都由宽带路由器充当这个DHCP 的角色。但是,,一个企业或学校等较大规模组织机构的网络环境当中,一般会有多个以太网(无线LAN) 网段。。在这种情况下,若要针对每个网段都设置DHCP服务器将会是个庞大的工程。也就是说将DHCP 服务器分设到各个路由器上,于管理和运维都不是件有益的事。

解决:在这类网络环境中,往往需要将DHCP 统一管理。具体方法可以使用DHCP 中继代理来实现。有了DHCP 中继代理以后,对不同网段的IP 地址分配也可以由一个DHCP 服务器统一进行管理和运维。

NAT

背景:解决面临地址枯竭的IPv4问题而开发的技术,在IPv6 中为了提高网络安全也在使用NAT, 在IPv4 和IPv6 之间的相互通信当中常常使用NAT-PT。

定义:NAT (Network Address Translator) 是用于在本地网络中使用私有地址,在连接互联网时转而使用全局IP 地址的技术。。除转换IP 地址外,还出现了可以转换TCP 、UDP 端口号的NAPT (Network Address Ports Translator) 技术,由此可以实现用一个全局IP 地址与多个主机的通信。(通常人们提到的NAT, 多半是指NAPT。NAPT 也叫做IP伪装或Multi NAT 。)

NAT工作原理:

以10. 0. 0. 10 的主机与163. 221. 120. 9 的主机进行通信为例。利用NAT, 途中的NAT 路由器将发送源地址从10. 0. 0. 10 转换为全局的IP 地址(202.244. 174.37) 再发送数据。反之,当包从地址163. 221. 120. 9 发过来时,目标地址(202.244. 174.37) 先被转换成私有IP 地址10. 0. 0. 10 以后再被转发。

NAPT工作原理:

主机163. 221. 120. 9 的端口号是80, LAN 中有两个客户端10. 0. 0. IO 和10. 0. 0. 11 同时进行通信,并且这两个客户端的本地端口都是1025 。此时,仅仅转换IP 地址为某个全局地址202.244. 174.37, 会令转换后的所有数字完全一致。为此,只要将10. 0. 0. 11 的端口号转换为1026 就可以解决问题。如上所示,生成一个NAPT 路由器的转换表,就可以正确地转换地址跟端口的组合,令客户端A 、B 能同时与服务器之间进行通信。

NAT和NAPT比较:

  • 相同:在NAT (NAPT) 路由器的内部,有一张自动生成的用来转换地址的表。当10. 0. 0.10 向163. 221. 120. 9 发送第一个包时生成这张表,并按照表中的映射关系进行处理。
  • 应用场景不同:当私有网络内的多台机器同时都要与外部进行通信时,仅仅转换IP 地址,人们不免担心全局IP 地址是否不够用。这时采用如图5.20 所示的包含端口号一起转换的方式(NAPT) 可以解决这个问题。

 以下说的NAT实际上都是指的NAPT,后面不再赘述。

NAT-PT

背景:现在很多互联网服务都基于1Pv4 。如果这些服务不能做到在1Pv6 中也能正常使用的话,搭建1Pv6 网络环境的优势也就无从谈起了。

定义:NAT-PT 是将IPv6 的首部转换为IPv4 的首部的一种技术。有了这种技术,那些只有IPv6 地址的主机也就能够与IPv4 地址的其他主机进行通信了。

工作原理:

NAT-PT 的其他形式:DNS-ALG,结合了DNS 和IP 首部。

以上所以的NAT的潜在问题

由于NAT (NAPT) 都依赖于自己的转换表,因此会有如下几点限制:

  • 无法从NAT 的外部向内部服务器建立连接。
  • 转换表的生成与转换操作都会产生一定的开销。
  • 通信过程中一旦NAT 遇到异常需重新启动时,所有的TCP 连接都将被重置。
  • 即使备置两台NAT 做容灾备份, TCP 连接还是会被断开。

解决潜在问题的方法:

  1. 第一种方法就是改用1Pv6 。在1Pv6 环境下可用的IP 地址范围有了极大的扩展,以至于公司或家庭当中所有设备都可以配置一个全局IP 地址。因为如果地址枯竭的问题得到解决,那么也就没必要再使用NAT 了。然而, IPv6 的普及到现在为止都远不及人们的预期,前景不容乐观。
  2. 另一种方法是“NAT 穿越”。可以使得NAT 外侧与内侧可以进行通信。这种方法与已有的1Pv4 环境的兼容性非常好,即使不迁移到1Pv6 也能通信自如。原理:在NAT 内侧(私有IP 地址的一边)主机上运行的应用为了生成NAT 转换表,需要先发送一个虚拟的网络包给NAT 的外侧。而NAT 并不知道这个虚拟的包究竟是什么,还是会照样读取包首部中的内容并自动生成一个转换表。这时,如果转换表构造合理,那么还能实现NAT 外侧的主机与内侧的主机建立连接进行通信。有了这个方法,就可以让那些处在不同NAT 内侧的主机之间也能够进行相互通信。此外,应用还可以与NAT 路由器进行忑兰忠赞?$芦P。通信生成NAT 表,并通过一定的方法将NAT 路由器上附属的全局IP 地址传给应用。

IP隧道

背景:网络A 、B 使用IPv6, 如果处于中间位置的网络C 支持使用IPv4 的话,网络A 与网络B 之间将无法直接进行通信。为了让它们之间正常通信,这时必须得采用IP 隧道的功能。

定义:种在网络层的首部后面继续追加网络层首部的通信方法就叫做“IP 隧道”。因为一般情况下,紧接着IP 首部的是TCP 或UDP 的首部。

作用:

  1. 构造一个既支待1Pv4 又支持IPv6 的网络是一项极其庞大的工程。骨干网上通常使用IPv6 或IPv4 进行传输。因此,那些不支持的路由器就可以采用IP 隧道的技术转发数据包,而对应的IP 地址也可以在一旁进行统一管理。这在一定程度上减轻了管理员的部分工作。此外,由于骨干网的设备上仅在一旁应对IP 隧道即可,这也可以大量地减少投资成本。
  2. 可以建立多播隧道。如下图

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本书介绍TCP/IP及其应用。TCP/IP是Internet上使用的协议,而Internet是世界上最大的互联网络。本书内容十分丰富,几乎涵盖了有关TCP/IP的各个方面,包括开放式通信模型、TCP/IP通信模型、IP网络中的命名和寻址机制、地址解析及反向地址解析协议、DNS域字服务器、WINS、地址发现协议、IPv6、IP网络中的路由协议(RIP、OSPF等)、互联网打印协议、LDAP目录服务、远程访问协议、IP安全与防火墙。本书介绍了如何为Windows 9x/NT配置TCP/IP;还介绍了如何使用TCP/IP应用程序,包括远程登录、FTP、Web浏览等。 目 录译者序前言第一部分 TCP/IP基础第1章 开放式通信模型简介 11.1 开放式网络的发展 11.1.1 通信处理层次化 21.1.2 OSI参考模型 31.1.3 模型的使用 51.2 TCP/IP参考模型 71.3 小结 7第2章 TCP/IP和Internet 82.1 一段历史 82.1.1 ARPANET 82.1.2 TCP/IP 92.1.3 国家科学基金会(NSF) 92.1.4 当今的Internet 122.2 RFC和标准化过程 122.2.1 获得RFC 132.2.2 RFC索引 132.2.3 有关RFC的幽默 132.3 Internet服务简介 132.3.1 Whois和Finger 142.3.2 文件传输协议 142.3.3 Telnet 142.3.4 Email 142.3.5 WWW 142.3.6 USENET News 152.4 Intranet和Extranet概览 152.4.1 Intranet 152.4.2 将Intranet对外开放 162.5 Internet的明天 162.5.1 下一代Internet(NGI) 162.5.2 超速骨干网服务 162.5.3 Internet2(I2) 172.6 Internet管理组织 172.6.1 Internet协会 172.6.2 Internet体系结构组 172.6.3 Internet工程任务组 172.6.4 Internet工程指导组 172.6.5 Internet编号管理局 182.6.6 Internet名字和编号分配组织 (ICANN) 182.6.7 Internet网络信息中心和其他注 册组织 182.6.8 RFC编辑 182.6.9 Internet服务提供商 182.7 小结 19第3章 TCP/IP概述 203.1 TCP/IP的优点 203.2 TCP/IP的层和协议 213.2.1 体系结构 213.2.2 传输控制协议 213.2.3 IP协议 233.2.4 应用层 253.2.5 传输层 253.2.6 网络层 253.2.7 链路层 253.3 远程登录(Telnet) 253.4 文件传输协议(FTP) 253.5 普通文件传输协议(TFTP) 263.6 简单邮件传输协议(SMTP) 263.7 网络文件系统(NFS) 263.8 简单网络管理协议(SNMP) 273.9 TCP/IP和系统结合 273.10 内部网概述 283.11 小结 28第二部分 命名和寻址第4章 IP网络中的名字和地址 294.1 IP寻址 294.1.1 二进制和十进制数 304.1.2 IPv4地址格式 304.2 子网的出现 344.2.1 分子网 354.2.2 可变长子网掩码(VLSM) 374.3 无类域前路由(CIDR) 384.3.1 无类地址 384.3.2 强化路由汇聚 394.3.3 超网化 394.3.4 CIDR怎样工作 394.3.5 公共地址空间 404.3.6 RFC 1597和1918 404.4 小结 40第5章 ARP和RARP 415.1 使用地址 415.1.1 子网寻址 415.1.2 IP地址 435.2 使用地址解析协议 445.2.1 ARP cache 455.2.2 代理ARP 475.2.3 反向地址解析协议 475.3 使用ARP命令 475.4 小结 47第6章 DNS:名字服务器 486.1 域名系统概述 486.2 授权局 506.3 DNS分布数据库 506.4 域和区 506.5 Internet顶级域 516.6 选择一个域名服务器 526.7 名字服务解析过程 526.7.1 递归查询 526.7.2 叠代查询 526.8 高速缓存 526.9 反向解析(Pointer)查询 526.10 DNS安全 526.11 资源记录 536.12 小结 54第7章 WINS 557.1 NetBIOS 557.2 NetBIOS名字解析 577.3 动态NetBIOS名字解析 587.3.1 使用WINS的优点 587.3.2 WINS如何工作 597.3.3 配置WINS客户机 607.3.4 为代理配置WINS 607.3.5 配置NT 4.0系统 617.3.6 配置Windows 95或Windows 98 系统 617.4 安装WINS服务器 617.5 WINS管理和维护 627.5.1 加入静态表项 627.5.2 维护WINS数据库 637.5.3 备份WINS数据库 657.5.4 备份WINS注册项 657.5.5 恢复WINS数据库 657.5.6 压缩WINS数据库 667.5.7 WINS复制参与者 667.5.8 WINS实现建议 677.6 集成WINS和DNS名字解析服务 677.7 DHCP服务WINS选项 677.8 通过LMHOSTS进行NetBIOS名字 解析 687.9 小结 69第8章 地址发现协议(BOOTP和DHCP) 718.1 “引导”协议(BOOTP) 718.2 动态主机配置协议(DHCP) 728.2.1 DHCP如何工作 728.2.2 理解租用地址 738.3 管理地址池 748.4 DHCP能处理的其他分配 758.4.1 注意重载 758.4.2 其他分配 758.5 小结 76第三部分 IP相关协议第9章 IP协议家族 779.1 TCP/IP模型 779.1.1 解剖TCP/IP模型 789.1.2 协议组件 789.2 理解网际协议(IP) 799.2.1 IPv4结构 799.2.2 IP做什么 809.3 理解传输控制协议(TCP) 819.3.1 TCP头结构 819.3.2 TCP做什么 839.4 理解用户数据报协议(UDP) 859.4.1 UDP头结构 859.4.2 UDP能做什么 859.4.3 TCP和UDP 869.5 小结 86第10章 IPv6 8710.1 IPv6数据报 8710.1.1 优先级分类 8810.1.2 流标识 8910.1.3 128位IP地址 8910.1.4 IP扩展头 9010.2 多IP地址主机 9110.3 单播、组播和任一播头 9110.4 从IPv4到IPv6的过渡 9310.5 小结 94第四部分 IP互联第11章 IP网络中的路由 9511.1 路由基本知识 9511.1.1 静态路由 9611.1.2 距离-向量路由 9911.1.3 链路-状态路由 10011.2 IP网络中的收敛 10211.2.1 适应拓扑变化 10211.2.2 收敛时间 10611.3 计算IP网络中的路由 10611.3.1 存储多条路由 10711.3.2 初始化更新 10711.3.3 路由度量标准 10711.4 小结 108第12章 路由信息协议(RIP) 10912.1 理解RFC1058 10912.1.1 RIP报文格式 10912.1.2 RIP路由表 11112.2 操作机制 11212.2.1 计算距离向量 11312.2.2 更新路由表 11612.2.3 寻址问题 11812.3 拓扑变化 12012.3.1 收敛 12012.3.2 计值到无穷 12212.4 RIP的限制 12712.4.1 跳数限制 12812.4.2 固定度量 12812.4.3 对路由表更新反应强烈 12812.4.4 收敛慢 12812.4.5 缺乏负载均衡 12812.5 小结 129第13章 开放式最短路径优先 13013.1 OSPF起源 13013.2 理解RFC 2328 OSPF,版本2 13013.2.1 OSPF区 13113.2.2 路由更新 13413.3 研究OSPF数据结构 13613.3.1 HELLO报文 13713.3.2 数据库描述报文 13713.3.3 链路-状态请求报文 13813.3.4 链路-状态更新报文 13813.3.5 链路-状态应答报文 14013.4 计算路由 14013.4.1 使用自动计算 14013.4.2 使用缺省路由耗费 14113.4.3 最短路径树 14213.5 小结 144第14章 网关协议 14514.1 网关、桥和路由器 14514.1.1 网关 14514.1.2 网桥 14614.1.3 路由器 14614.1.4 自治系统 14614.2 网关协议:基础知识 14614.3 内部网关协议和外部网关协议 14714.3.1 网关-网关协议(GGP) 14714.3.2 外部网关协议(EGP) 14714.3.3 内部网关协议(IGP) 14814.4 小结 148第五部分 网络服务第15章 互联网打印协议 14915.1 IPP历史 14915.2 IPP和端用户 15015.3 使用HP的IPP实现 15115.4 小结 152第16章 LDAP:目录服务 15316.1 为什么使用目录服务 15316.2 目录服务的功能 15316.3 IP上的目录服务 15416.4 OSI X.500目录模型 15616.4.1 早期的X.500 15716.4.2 今天的X.500 15716.5 LDAP结构 15716.5.1 LDAP层次结构 15716.5.2 名字结构 15816.6 目录系统代理和访问协议 15816.7 轻型目录访问协议 15816.7.1 查询信息 15916.7.2 存储信息 16016.7.3 访问权限和安全 16016.8 LDAP服务器-服务器通信 16116.8.1 LDAP数据互换格式(LDIF) 16116.8.2 LDAP复制 16216.9 设计LDAP服务 16216.9.1 定义需求 16216.9.2 设计策略 16316.9.3 性能 16416.9.4 网络功能 16516.9.5 安全 16616.10 LDAP配置 16916.11 产品环境 16916.11.1 创建计划 17016.11.2 有价值的建议 17116.12 选择LDAP软件 17116.13 小结 174第17章 远程访问协议 17517.1 远程互联 17517.1.1 ISDN 17617.1.2 电缆调制解调器 17617.1.3 数字用户环(DSL) 17617.1.4 无线网络 17717.2 远程认证拨入用户服务(RADIUS) 17717.2.1 RADIUS认证 17817.2.2 记账信息 17917.3 用SLIP、CSLIP和PPP传输IP数 据报文 17917.3.1 串行线路接口协议(SLIP) 17917.3.2 压缩的SLIP(CSLIP) 18017.3.3 点到点协议(PPP) 18017.4 隧道远程访问 18417.4.1 点到点隧道协议(PPTP) 18517.4.2 两层隧道协议(L2TP) 18817.4.3 IPSec 19217.5 小结 194第18章 防火墙 19518.1 使网络安全 19518.2 使用防火墙 19618.2.1 代理服务器 19718.2.2 报文过滤器 19818.3 使服务安全 19818.3.1 电子邮件(SMTP) 19818.3.2 HTTP:万维网 19918.3.3 FTP 19918.3.4 Telnet 19918.3.5 Usenet:NNTP 19918.3.6 DNS 20018.4 建造用户自己的防火墙 20018.5 使用商业防火墙软件 20018.6 小结 202第19章 IP安全 20319.1 使用加密 20319.1.1 公共-私钥加密 20419.1.2 对称私钥加密 20519.1.3 DES、IDEA及其他 20519.2 数字签名认证 20619.3 破译加密的数据 20719.4 保护网络 20719.4.1 登录名和口令 20819.4.2 文件的目录允许权限 20819.4.3 信任关系 20919.4.4 UNIX和Linux系统上的UUCP 20919.5 应付最坏情况 21019.6 小结 210第六部分 实现TCP/IP第20章 一般配置问题 21120.1 安装网卡 21120.1.1 网卡 21120.1.2 资源配置 21220.1.3 安装适配器软件 21320.1.4 重定向器和API 21420.1.5 服务 21420.1.6 NIC接口 21520.2 网络和传输层协议 21520.2.1 IP配置要求 21520.2.2 配置缺省网关地址 21620.2.3 配置名字服务器地址 21720.2.4 配置邮件服务器地址 21720.2.5 注册域名 21820.3 IP配置 21820.4 配置路由表 21820.5 异种协议的IP封装 21920.6 小结 220第21章 Windows 98 22121.1 Windows 98网络体系结构 22121.1.1 安装网卡 22221.1.2 更改网卡配置 22421.1.3 当Windows 98引导失败 22421.2 配置Windows 98的TCP/IP 22521.2.1 写在开始之前 22521.2.2 安装TCP/IP 22521.2.3 配置微软的TCP/IP 22521.2.4 DNS配置 22721.2.5 静态配置文件 22821.2.6 注册表配置 22921.2.7 测试TCP/IP 23121.3 小结 232第22章 Windows 98拨号网络 23322.1 配置拨号网络适配器 23322.2 安装拨号网络 23422.3 服务器类型 23522.4 编写脚本 23822.5 多重链接 23822.6 PPTP 23922.6.1 安装及配置PPTP 24022.6.2 建立PPTP连接 24022.7 Windows 98拨号服务器 24122.8 解决拨号网络连接中的问题 24222.8.1 确认DUN配置 24222.8.2 PPP日志 24322.9 小结 243第23章 Windows NT 4.0 24423.1 Windows NT版本 24423.2 体系结构 24423.3 安装Windows NT 4.0 24423.4 配置TCP/IP 24623.4.1 IP地址 24623.4.2 DNS 24823.4.3 WINS地址 24823.4.4 DHCP中继 24923.4.5 路由 25023.5 简单TCP/IP服务 25023.6 远程访问服务(RAS) 25023.7 DHCP服务器 25223.7.1 安装DHCP服务器服务 25223.7.2 控制DHCP服务器服务 25323.7.3 压缩DHCP数据库 25323.7.4 管理DHCP 25423.8 使用Microsoft DNS 25623.8.1 安装DNS 25623.8.2 创建区 25723.8.3 配置逆向域名解功能 25823.8.4 配置DNS与WINS服务器的连 接 25923.8.5 增加辅助名字服务器 25923.9 FTP和HTTP服务 25923.10 TCP/IP打印服务 25923.10.1 安装TCP/IP打印服务 25923.10.2 安装LPR服务 26023.11 Windows 2000新特性 26023.12 小结 261第24章 在Novell NetWare中支持IP 26224.1 Novell与TCP/IP 26224.1.1 IP与NetWare 4 26224.1.2 NetWare 5与Pure IP初始化 26224.2 传统解决方案:NetWare 3.x到 NetWare 4.x的IP支持 26324.2.1 IP隧道 26424.2.2 IP中继 26424.2.3 LAN WorkPlace 26424.2.4 IPX-IP网关 26524.2.5 NetWare/IP 26524.3 NetWare 5—Novell对IP的 完全支持 26624.3.1 纯IP 26624.3.2 多协议 26624.4 安装选项 26624.4.1 NetWare 5的IP-Only安装 26724.4.2 IPX-Only安装 26724.4.3 混合TCP/IP安装 26824.5 IP迁移辅助工具 26824.5.1 NDS 26824.5.2 DNS 26924.5.3 DHCP 26924.5.4 DDNS 26924.5.5 SLP 26924.5.6 兼容模式 26924.5.7 迁移代理 27024.6 迁移策略 27024.6.1 使用测试平台 27024.6.2 迁移建议 27024.7 小结 271第七部分 使用TCP/IP应用第25章 Whois和Finger 27325.1 理解Whois协议 27325.1.1 互联网注册 27325.1.2 Whois数据库 27425.1.3 基于Web的Whois 27525.1.4 命令行方式的Whois 27625.1.5 示例 27625.1.6 基于Telnet的Whois 27825.2 扩充Whois 27925.2.1 提示Whois(RWhois) 27925.2.2 WHOIS++ 28025.3 使用Finger 28025.3.1 Finger命令 28025.3.2 Finger 守护进程 28225.3.3 非UNIX环境下的Finger 28325.3.4 Finger的应用 28325.4 相关RFC文档 28525.5 小结 285第26章 文件传输协议 28626.1 FTP和TFTP在网络世界中的作用 28626.2 使用FTP传输文件 28626.2.1 FTP连接 28726.2.2 使用FTP客户端建立连接 28826.2.3 FTP安全 29626.2.4 FTP服务器及守护进程 29926.2.5 匿名FTP访问 29926.3 使用TFTP 30026.3.1 FTP与TFTP的区别 30126.3.2 TFTP命令 30126.4 小结 301第27章 使用Telnet 30227.1 理解Telnet协议 30227.2 Telnet守护进程 30327.3 使用Telnet 30427.3.1 UNIX telnet命令 30427.3.2 Telnet GUI应用 30527.3.3 Telnet命令 30527.3.4 示例 30827.4 高级主题 30927.4.1 安全 30927.4.2 Telnet应用 30927.4.3 使用Telnet访问其他TCP/IP 服务 31027.5 相关RFC文档 31227.6 小结 313第28章 使用r系列实用工具 31428.1 理解r系列命令 31428.1.1 安全问题 31428.1.2 禁止使用r系列命令 31528.1.3 增强r系列命令的安全性 31628.2 使用r系列命令的替代方法 31728.3 r系列命令详解 31728.3.2 相关文件 32028.4 在非UNIX环境下实现r系 列命令的功能 32128.5 小结 322第29章 使用网络文件系统(NFS) 32329.1 什么是NFS 32329.1.1 NFS的历史 32329.1.2 为何使用NFS 32329.2 实现—NFS工作过程 32429.2.1 远程过程调用(RPC) 和外部数据表示(XDR) 32429.2.2 加载类型 32429.3 NFS使用的文件及命令 32529.3.1 NFS守护进程 32529.3.2 与NFS相关的文件 32729.3.3 NFS服务器命令 32929.3.4 NFS客户命令 33129.4 示例:共享及加载NFS文件系统 33329.5 NFS常见问题及解决方案 33429.5.1 不能加载 33429.5.2 不能卸载 33429.5.3 硬加载与软加载 33429.6 相关协议及产品 33429.6.1 WebNFS 33529.6.2 基于PC的NFS及其他客户端 软件 33529.6.3 SMB和CIFS 33529.6.4 其他产品 33629.7 小结 336第八部分 使用基于IP的应用第30章 在应用中集成TCP/IP 33730.1 使用浏览器作为表示层 33830.2 不断增加的Internet应用 33830.3 在已有应用中集成TCP/IP 33930.4 在其他网络中使用TCP/IP 33930.4.1 NetBIOS与TCP/IP 33930.4.2 IPX与UDP 34030.4.3 ARCNET与TCP/IP 34030.5 小结 340第31章 Internet Email协议 34131.1 电子邮件 34131.1.1 电子邮件的历史 34131.1.2 标准及制定标准的组织 34131.2 X.400 34131.3 简单邮件传输协议(SMTP) 34331.3.1 MIME和SMTP 34331.3.2 其他编码标准 34431.3.3 SMTP命令 34431.3.4 SMTP状态码 34531.3.5 扩展SMTP 34531.3.6 检查SMTP的头 34631.3.7 SMTP的优势与不足 34731.4 使用POP和IMAP取回客户邮件 34731.4.1 邮局协议(POP) 34731.4.2 互联网邮件访问协议(IMAP) 34831.4.3 POP3与IMAP4的比较 34831.5 高级主题 34931.6 相关RFC文档及其他参考信息 35131.7 小结 352第32章 HTTP: World Wide Web 35332.1 万维网(WWW) 35332.1.1 Web简史 35332.1.2 Web的发展 35432.2 统一资源定位器 35432.3 Web服务器与浏览器 35532.4 理解HTTP 35632.4.1 HTTP/1.1 35632.4.2 MIME与Web 35832.4.3 HTTP通信示例 35832.5 高级主题 35932.5.1 服务器方功能 35932.5.2 SSL和S-HTTP 35932.6 Web语言 35932.6.1 HTML 36032.6.2 XML 36032.6.3 CGI 36132.6.4 Java 36132.6.5 JavaScript 36232.6.6 动态服务器页面 36232.7 Web的未来 36332.7.1 HTTP-ng 36332.7.2 IIOP 36332.7.3 IPv6 36332.7.4 IPP 36332.8 小结 364第33章 NNTP:互联网新闻组 36533.1 互联网新闻组 36533.2 新闻组和层次 36633.3 网络新闻传输协议 36733.3.1 获取新闻组 36733.3.2 获取消息 36933.3.3 发布消息 37033.4 大量广告(Spamming)和新闻黑洞 (Blackholing) 37133.5 小结 371第34章 Web服务 37334.1 Web服务工作概览 37334.2 主流Web服务器 37534.3 运行Apache HTTP Web服务 37634.3.1 下载、安装和配置Apache 37634.3.2 在Windows环境下使用Apache 38134.4 浏览其他Web服务器 38334.5 小结 383第九部分 使用与管理TCP/IP网络第35章 协议配置与调整 38535.1 系统的初始化问题 38535.2 配置文件 39035.2.1 在/etc/protocols文件中定义网 络协议 39035.2.2 在/etc/hosts文件中标识主机 39135.2.3 TCP/IP与/etc/services文件 39235.2.4 inetd守护进程与/etc/inetd.conf 文件 39435.2.5 在/etc/networks文件中设置网络 39735.2.6 DNS客户与/etc/resolv.conf 39735.3 小结 398第36章 配置DNS 39936.1 域名服务器 39936.2 资源记录 40036.3 域名解析 40136.4 配置UNIX或Linux域名服务器 (DNS) 40136.4.1 添加资源记录 40236.4.2 完成DNS文件 40236.4.3 启动DNS守护进程 40536.4.4 配置客户端 40536.5 Windows和域名服务器 40536.6 小结 406第37章 网络管理 40737.1 制定网络监控方案 40737.2 网络问题及其解决方案 40837.3 网络管理工具 40837.3.1 使用协议分析器 40937.3.2 专家系统 41037.3.3 基于PC的分析器 41037.3.4 网络管理协议支持 41137.3.5 集成网络仿真/模型工具 41137.4 配置SNMP 41237.4.1 配置Windows SNMP 41337.4.2 配置UNIX SNMP 41437.4.3 SNMP安全属性 41437.4.4 SNMP代理与管理 41537.5 SNMP工具及命令 41637.6 RMON及相关的MIB模型 41737.7 建立网管需求 41737.8 小结 419第38章 SNMP:简单网络管理协议 42038.1 什么是SNMP 42038.2 管理信息基(MIB) 42138.3 使用SNMP 42138.4 UNIX与SNMP 42238.4.1 在UNIX和Linux上安装SNMP 42338.4.2 SNMP命令 42438.5 Windows与SNMP 42438.5.1 Windows NT 42538.5.2 Windows 95、Windows 98和 Windows 3.x 42538.6 小结 427第39章 加强TCP/IP传输安全 42839.1 定义所需的网络安全 42839.1.1 什么是网络安全 42839.1.2 为什么网络安全非常重要 42939.1.3 安全级别 42939.1.4 口令与口令文件 43039.1.5 控制对口令的访问 43039.2 加强网络安全 43139.2.1 攻击种类 43139.2.2 加强网络安全 43239.3 应用配置 43439.3.1 Internet守护进程与 /etc/inetd.conf 43439.3.2 网络加密软件 43639.3.3 TCP Wrapper 43639.4 使用端口及可信端口 43739.4.1 防火墙 43739.4.2 包过滤 43739.4.3 应用层网关 43839.4.4 其他应用的过滤 43839.5 一般安全事务 43839.5.1 用户帐号维护 43839.5.2 审计 43839.5.3 正确的系统配置 43839.6 小结 438第40章 问题解决工具及要点 44040.1 监视网络行为 44040.2 标准应用程序 44040.2.1 测试基本连接 44140.2.2 ping命令 44240.2.3 解决网络访问故障 44340.3 解决网络接口层问题 44940.4 解决网络层问题 44940.4.1 TCP/IP配置参数 44940.4.2 IP地址配置问题 45040.5 解决TCP和UDP问题 45340.6 解决应用层问题 45540.7 小结 455第十部分 附 录附录A RFC及标准化 457附录B Linux 469附录C 简写与缩略语 480

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值