一、互联网的基本技术
1.1 互联网的结构
互联网具有一种独特的结构,它是以通信网络的体系结构为基础,将不同的网络技术统起来的一种高级技术,是一种解决了异种网的通信问题,可向用户提供一致的通信服务的结构。
互联网结构的特点:
①对用户隐藏网络的底层特点,用户不必了解硬件连接的细节
②不指定网络互连的拓扑结构,尤其在增加新的网络时不要求全互联或严格地按星形连接。
③能通过各种网络收发数据。
④网络的所有计算机共享一个全局的标识符(域名或地址)。
⑤用户界面独立于网络,即建立通信和传输数据的一系列操作与低层网络技术无关。
在用户看来,互联网是一个统一的网络。在某种意义上,可以把它看成是一个虚拟网:在逻辑上它是统一的、独立的,在物理上则由不同的网络互连而成。
应用TCP/IP技术实现网络互连
互联网通过TCP/IP技术实现互连。TCP/IP技术实质上是在低层网络技术和高层应用程序之间增加一个中间软件层,以此屏蔽和抽象硬件细节,这样互连的网络便以一个一致性的大网的面目出现。
互联网中含有许多不同的复杂网络和不同类型的计算机,将它们连接在一起又能互相通信,依靠的是TCP/P协议。按照这个协议,接入互联网的每一台计算机,包括路由器在内,都要指定一个唯一的地址标识,这个地址标识叫IP地址。
IP地址具有固定、规范的格式,同时具有唯一性,即所有接入互联网的计算机都具有唯一的IP地址。
使用中间计算机实现网关
互联网中各种网络之间的连接是借助中间计算机实现的。
网络连接包含两层内容:①两个网络要通过一台中间计算机实现物理连接,这台中间计算机同时属于两个网络;②中间计算机要实现在两个网络间的分组交换,涉及寻找路径和协议转换等问题。
1.2 TCP/IP协议
网络协议:要实现网络的互联必须遵守一个共同的协议,在这个协议的管理之下进行网络及各种网络间的互联。
20世纪70年代末,形成了应用于ARPA-NET 网络的网间协议簇–TCP/IP,即传输控制协议(TCP)和网际协议(IP)。
TCP/IP协议包含底层协议规范,如TCP和IP,也包含应用层协议规范,如电子邮件、终端仿真、文件传输等。
TCP/IP协议的基本概念
TCP/IP协议是互联网采用的协议标准,也是全世界采用的最广泛的工业标准。(通常用TCP/IP协议来代办整个互联网协议系列)。
TCP/IP协议簇
在TCP/IP协议簇中,IP和TCP一起组成了TCP/IP协议簇的核心。
【(1)网际协议】
网际协议(IP)是互联网最基本、最重要的协议。
IP协议的3个基本功能:①基本数据单元的传送,规定了通过TCP/IP网的数据的格式。②IP协议软件执行路由功能,选择传递数据的路径。③确定主机和路由器如何处理分组的规则,以及产生差错报文后的处理方法。
把IP协议定义的分组称为IP数据报。
IP协议定义的数据报是有限长的,包括报头以及数据,报头信息包括源地址、目的地址、报文长度等,由接收终端系统的主机和路由器处理报头信息。
互联网如何在不能识别IP数据报格式的网络之间发送IP数据报呢?
-互联网采用了网络分组的办法,即把IP数据报放在一个网络分组中,将它从某个网络上发送出去。当网络分组到达下一台计算机时,该计算机“打开”网络分组并取出数据报。当检查发现分组的目的地址不是本计算机时就生成一个新的网络分组,把数据报再“装入”其中并传送到下个网络。如此反复,直至到达目的地,目的地计算机上的软件将分组“打开”,对数据报进行处理。
每个主机和路由器保持一张路径选择表,对每个可能的目的网络,路径选择表给出IP数据报应该送往下一个路由器的地址以及到达目的地址的步数。
【(2)地址解析协议(ARP)和反向地址解析协议(RARP)】
在局域网中,所有站点是通过网络介质访问控制层的MAC地址来确定报文发往的目的地址的;在互联网中,目的地址是靠IP规定的地址来确定的。
由IP地址不能算出MAC地址,因此需要通过IP协议簇中另外两个协议动态地发现MAC地址和IP地址间的关系,这两个协议分别是地址解析协议(Address Resolution Protocol,ARP)和反向地址解析协议(Reversed Address Resolution Protocol,RARP)。
ARP和RARP(对无盘站点很重要)都是通过广播消息的方法工作(IP地址对应的MAC地址)。
【(3)传输控制协议(TCP)】
传输控制协议(TCP)是为了解决互联网上分组交换通道中数据流量超载和传输拥塞的问题而设计的,使数据传输和通信更加可靠。
TCP负责将数据从发送方正确地传递到接收方,是端到端的数据流传送。TCP是面向连接的,因此在传送数据之前,先要建立连接。数据有可能在传输中丢失,TCP能检测到数据的丢失,并且重发数据,直至数据被正确地、完全地接收。
TCP对通过互联网发送数据提供可靠的传送机制,不管经过多少个网络,它总能保证数据可靠、按次序、完全、无重复地传递。
TCP功能包括为了取得可靠的传输而进行的分组丢失检测,收不到确认的信息则自动重传,以及处理延迟的重复数据报。它对高层协议的数据结构不产生影响,对来自高层协议的数据就像它们是不间断的数据流一样。因此,对这些数据的所有处理都是由高层协议进行的。TCP还能进行流量控制和差错控制。
【(4)用户数据协议(UDP)】
UDP的报头格式只有源端口、目的端口、长度和校验和。它采用无连接的方式向高层提供服务,与远方的UDP实体不建立端对端的连接,只将数据报送上网络或者从网络上接收数据,它不保证数据的可靠投递。UDP根据端口号对应用程序进行多路复用,并利用校验和检查数据的完整性,如Ping、TFTP、SNMP等高层应用就采用UDP协议输。
TCP/IP协议与OSI参考模型间的对应关系
对应开放系统互连OSI模型的层次结构,可将TCP/IP协议系列分成4个层次的结构,分别对应OSI的数据链路层、网络层、传输层和应用层。
(1)数据链路层与TCP/IP协议的对应关系
数据链路层也称网络接口层,对应的协议有地址解析协议(ARP)和反向地址解析议(RARP),其功能是接收和发送IP数据报。它包括设备驱动器和计算机网络接口卡,以及其他具体的物理接口。
(2)网络层与TCP/IP协议的对应关系
网络层也称互联网层,即网络互联层。对应的协议有IP和ICMP。它处理网上分组的传送以及路由至目的站点。它接收请求,将传输层传来的数据包装成IP数据报,使用数据报路由算法,以决定其路由去向,发送至目的站点。它还处理来自网上的数据包,并使用路由算法,以决定是本地接收或转发出去。
(3)传输层与TCP/IP协议的对应关系
传输层提供两台计算机之间端对端的数据传送,对应的协议有TCP和UDP。TCP在两台计算机之间提供可靠的数据流,它的功能包括将来自应用层的数据分成适合于网络层的数据格式,响应接收的分组、设置超时的时间。
(4)应用层与TCP/IP协议的对应关系
应用层处理特定的应用,对应的协议主要包括远程登录(Telnet)、文件传送协议(FTP)、简单邮件传送协议( Simple Mail Transfer Protocol,FTP)、简单网络管理协议(Simple Network Management Protocol,SNMP)和NFS。
用户的应用程序可访问相应的服务,选择传送类别(数据报或者是字节流)并将它们传至传输层。
TCP与IP协同工作
IP提供了将数据分组从源计算机传送到目的计算机的方法,而TCP提供了解决数据在互联网中传送过程中丢失数据报、重复传送数据报和数据报失序的方法,从而保证了数据的可靠传输。
IP提供了灵活性(指IP可以使用各种类型的网络和几乎所有类型的计算机通信技术),而TCP提供了可靠性(TCP随时监视互联网的运行情况并自动适应,即使在互联网暂时出现拥塞的情况下,TCP也能保证可靠的通信)。
TCP/IP是一组高效率的软件,它既能在小型、低速的计算机上运行,也能在大型、高速的计算机上运行,在微型计算机上也运行得很好。
高层协议与TCP/IP连接
在TCP/IP协议簇中包含了许多高层协议提供的非常广泛的应用,如网络管理、文件传输、终端仿真、电子邮件等。
TCP和UDP通过端口号与高层应用交换数据,在接收方,IP协议的标识号先于端口号进行检查,而TCP和UDP对端口号的使用彼此独立。
1-255的端口号称为公用端口号,许多操作系统将这些端口号当做受保护的固定端口号。这些端口号只能被具有特殊操作系统权限的进程使用,剩余的端口才能被普通的进程使用。
1.3 IP 地址
为了使接入互联网的主机在通信时能够相互识别,互联网上的每一台主机都分配有一个唯一的IP地址,也称为网际地址。IP地址类似于电话网中的电话号码,它是每个主机和网络设备的地址号码。
IP地址的组成
IP地址是一个32位的二进制无符号数,为了表示方便,国际通行一种“点分十进制“表示法:即将32位地址按字节分为4段,高字节在前,每个字节用十进制数表示出来,并且各字节之间用点号“.”隔开。这样,IP地址表示成了一个用点号隔开的4组数字,每组数字的取值范围只能是0~255。
IP协议的地址划分成两部分或三部分:第一部分指定网络的地址,第二部分(如果存在)指定子网的地址,最后一部分指定主机的地址。
IP地址的类型
IP协议的寻址方式支持5种不同的网络类型,地址格式的最左边的一个或多个二进制通常用来指定网络的类型。
(1)A类网络地址
最高位为0,主要是为大型网络设计的,它提供的网络地址字段的长度仅为7位,主机字段的长度达到24位,其格式为nnn.hhh.hhh.hhh(001.hhh hhh.hhh…127.hhh.hhh.hhh)
其中127.0.0.1是一个特殊IP地址,表示主机本身,用于本地机器上的测试和进程间的通信。
(2)B类网络地址
最高两位为10,分别为网络地址字段和主机地址分配了14位和16位,这种分配方式在网络地址和主机地址之间提供了一种很好的组合,其格式为:nnn.nnn.hhh.hhh(128.001.hhh.hhh…191.254.hhh.hhh)
(3)C类网络地址
最高3位为110(二进制数),分别为网络地址字段和主机地址分配了22位和8位,这种分配方式在很大程度上限制了同一网络中所能容纳的主机数目,其格式为:nnn. nnn. nnn hhh(192.00.0h2.255254h)
(4)D类网络地址
4个最高的二进制位按顺序分别设置为1110,在RFC1112中规定,即将其留作IP多路复用组使用,如224.0.0.5和224.0.0.6分配给了OSPF。
(5)E类网络地址
按P协议规定也是留作将来使用,其中4个最高的二进制位按顺序分别设置为1111。
当主机标识部分的二进制编码全为0时,该网络号解释为本地地址,当主机标识部分的二进制编码全为1时,该网络号解释为本地网络内的广播地址,用于网络上的所有主机。
子网
如果网段内的主机数目不多,可以用主机的某些地址把网段划分成更小的单元,即子网。子网的划分为网络管理员提供了更大的灵活性。
子网掩码
从主机地址中借用来表示子网地址的长度是可以改变的。为了指定有多少个二进制位用来表示子网的地址,IP协议提供了子网掩码的概念。子网掩码使用了与IP地址相同的格式和表示方法,它将IP地址格式中除了被指定为主机地址之外的所有二进制位均设置为1。
在同一网段内,各个主机的子网掩码原则上应相同。
默认时,A、B、C三类网络的掩码如下:A类地址:255.0.0.0 B类地址:255.255.0.0 C类地址:255.255.255.0
划分子网的目的是区分不同的主机是否处在相同的网段,处于同一网段上的主机间可以直接通信,而且广播信息也被封闭在同一网段内。
不同网段间的主机进行通信时,必须通过路由器才能互相访问。
那么主机和网络是如何判断信源主机和信宿主机是否在同一网段上呢?
-利用网络的掩码来区分。方法是把信源主机的地址和信宿主机的地址分别与所在网段的掩码进行二进制“与”操作,如果产生的两个结果相同,则在同一网段;如果产生的两个结果不同,则两台主机不在同一网段,这两台主机要进行相互访问时,必须通过一台路由器进行路由转换。
1.4 域名
1984年互联网采用域名服务系统(DNS域名管理系统)对IP进行管理。
计算机的命名
计算机命名基于以下3个因素:
①互联网允许每个用户为计算机命名。
②互联网允许用户输入计算机的名字。
③互联网提供了一种将计算机的名字翻译成计算机地址的服务。
互联网上每台计算机的名字必须能唯一地区别于其他计算机。
域名系统的结构
域名系统的结构是层次型的,如cn代表中国的计算机网络,cn就是一个域。域下面按领域又分子域,子域下面又有子域。在表示域名时,自右到左越来越小,用圆点“.”分开。例如,bjtu. edu. en是一个域名,cn代表中国域;edu表示网络域cn下的一个子域,代表教育界;bjtu则是edu下的一个子域,代表北京交通大学。
一个计算机也可以命名,称为主机名。在表示一台计算机时把主机名放在其所属的域名之前,用圆点分隔开,就形成了主机域名。便可以在全球范围内区分不同的计算机了。
一台计算机的全名应是其局部名字后跟一个点号,再后面是其公司或组织的名字。为了防止重名,互联网的命名机制给出了用户所属组织的类型的约束名字。例如,北京交通大学( Beijing Jiaotong University)是一个教育单位( Education Unit),则北京交通大学的所有联网的计算机都有如下的后缀: ic.bjtu.edu.cn。以保证不同类型的组织的任意两台计算机全名互不相同。
计算机名由局部名、组织名和组织类型名3部分组成。通常,每个组织都规定其所有联网计算机的名字,包括计算机名、部门名,然后接组织的后缀。这样,北京交通大学信息中心的所有上网的计算机的名字的后缀为:ic. bjtu. edu.cn。若计算机名为center,则center计算机的全名为:center. ic. bjtu. edu. en。其中, center是局部名,表示主机的名字为 center;ic.bjtu是组织名,表示这台主机属于北京交通大学信息中心;edu是组织类型名,表示教育界;cn是域,表示这台主机在中国。
域名系统与IP地址的关系
互联网通信软件要求在发送和接收数据报时必须使用数字表示的IP地址。因此,一个应用程序在与用字母表示名字的计算机上的应用程序通信之前,必须将名字翻译成IP地址。互联网提供了一种自动将名字翻译成IP地址的服务。这就是域名系统的主要功能。
域名系统与IP地址有映射关系。它也实行层次型管理。在访问一台计算机时,既可用IP地址表示,也可用域名表示。
域名与IP地址的关系如同人的姓名与身份证号码的关系一样。互联网上有很多负责将主机域名转为IP地址的服务系统-----域名服务器(DNS),这个服务系统会自动将域名翻译为IP地址。
一般情况下,一个域名对应一个IP地址,但并不是每个IP地址都有一个域名和它对应,对于那些不需要他人访问的计算机只有IP地址,而没有域名。
有时一个IP地址还对应几个域名。例如,北京交通大学主页的IP地址是202.112.144.31,它有两个域名,分别是www.bjtu.edu.cn和www.njtu.edu.cn。使用IP地址或上述两个域名中的任意一个都可以访问同一个主页。
域名服务器(DNS)
对于用户来说,使用域名比直接使用IP地址方便多了,但对于互联网内部数据传输来 说,使用的还是IP地址。域名到IP地址的转换要用DNS来解决。
每个组织都有一个域名服务器,在其上面存有该组织所有上网计算机的名字及其对应的 IP地址。当某个应用程序需要将一个计算机名字翻译成IP地址时,这个应用程序就与域名服务器建立连接,将计算机名字发送给域名服务器,域名服务器检索并把正确的IP地址送回给应用程序。当然,计算机名字和相应的IP地址的检索都是自动的。
DNS实际上是一个服务器软件,运行在指定的算机上,完成域名–IP地址的转换。 它把网络中的主机按树形结构分成域( Domain)和子域( SubDomain),子域名或主机名在上级域名结构中必须是唯一的。每一个子域都有域名服务器,它管理着本域的域名转换,各级域名服务器构成一棵树。这样,当用户使用域名查询目标IP地址时,应用程序先向本地域名服务器请求,本地服务器先查找自己的域名库,如果找到该域名,则返回IP地址;如果未找到,则分析域名,然后向相关的上级域名服务器发出申请;这样传递下去,直至有个域名服务器找到该域名,返回IP地址。如没有域名服务器能识别该域名,则认为该域名不可知。
1.5 网络地址翻译技术
网络地址翻译技术(NAT)解决问题的办法是:在内部网络中使用内部地址,通过NAT把内部地址翻译成公网的IP地址,在互联网上使用。其具体的做法是把IP包内的地址域用合法的IP地址来替换。
NAT的功能通常被集成到路由器、防火墙、ISDN路由器或者单独的NAT设备中。NAT设备维护一个状态表,用来把非法的IP地址映射到合法的IP地址上去。每个包在NAT设备中都被翻译成正确的IP地址发往下一级,这就给处理器带来了一定的负担。 需要注意的是,NAT并不是一种有安全保证的方案,它不能提供类似防火墙、包过滤、隧道等技术的安全性,仅仅在包的最外层改变IP地址。
NAT有3种类型:静态NAT( (Static NAT)、NAT池( (Pooled NAT)和端口NAT(Port NAT,PAT)。其中静态NAT设置起来最为简单,内部网络中的每个主机都被永久映射成外部网络中的某个合法地址。而NAT池则是在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络。PAT则是把内部地址映射到外部网络的一个IP地址的不同端口上。
NAT池
使用NAT池,可以从未注册的地址空间中提供被外部访问的服务,也可以从内部网络访问外部网络,而不需要重新配置内部网络中的每台机器的IP地址。
采用NAT池意味着可以在内部网中定义很多的内部用户,通过动态分配的办法,共享外部IP地址。而静态NAT则只能形成一一对应的固定映射方式。当NAT池中动态分配的外部IP地址全部被占用后,后续的NAT翻译申请将会失败。但许多有NAT功能的路由器有超时配置功能。
NAT池在提供很大灵活性的同时,也影响到网络原有的管理功能。
使用PAT
PAT:端口地址翻译
PAT在远程访问产品中用的较多,特别是在远程拨号用户中。
PAT可以把内网的IP地址映射到外部注册IP地址的多个端口上。
PAT可以支持同时连接64500个TCP/IP 、UDP/IP。
基于NAT的负载平衡
IP客户端会在本地缓冲DNS/IP地址解析,从而使它的后续的申请都会到达同一个IP地址,减弱了DNS系列服务器的作用----使用基于NAT的负载平衡方案,则可以避免这个问题。
路由器或其他NAT设备把需要负载平衡的多个IP地址翻译成一个公用的IP地址,每个TCP连接被NAT送到一个IP地址,而后续的TCP连接则被NAT送到下一个P地址,真正实现了负载平衡。
1.6 动态主机配置协议
动态主机配置协议( Dynamic Host Configuration Protocol,DHCP)在TCP/IP网络上使客户机获得配置信息的协议。它是基于BOOTP协议( BOOTP原本是用于无磁盘主机连接的络:网络主机使用 BOOT ROM而不是磁盘启动并连接上网络,BOOTP则可以自动地为那些主机设定TCP/IP环境。但 BOOTP有一个缺点:在设定前需要事先获得客户端的硬件地址,而且与IP的对应是静态的。换而言之,BOOTP非常缺乏“动态性”,若在有限的IP资境中,BOOTP的一一对应会造成非常大的浪费),并在BOOTP协议的基础上添加了自动分配可用网络地址等功能。这两个协议可以通过某些机制互操作。
DHCP向网络主机提供配置参数,它由两个基本部分组成:一部分是向网络主机传送专用的配置信息;另一部分是给主机分配网络地址。DHCP是基于客户/服务器模式的,在这种模式下,专门指定的主机分配网络地址,传送网络配置参数给需要的网络主机,被指定的主机
称为服务器。
DHCP支持3种IP地址分配方法。第一种是自动分配,DHCP给用户分配一个永久的IP地址。第二种是动态分配,在这种情况下,用户可以取得一个IP地址,但有时间限制。第三种是手工分配,在这种情况下,用户的IP地址是由管理员手工指定的,DHCP服务器只需要将这个指定的P地址传送给用户即可。
动态分配是唯一一种允许自动重用地址的机制,这种方法对于临时上网用户,而且网络的IP地址资源又有限的时候特别有用。
手工指定对于管理不希望使用动态方法IP地址的用户十分方便,不会因为手工指定而和DHCP冲突或和别的已经分配的地址冲突。
DHCP的设计目标如下:
1)DHCP应该是一种机制而不是策略,它必须允许本地系统管理员控制配置参数,本地系统管理员应该能够对所希望管理的资源进行有效的管理。
2)客户不需要进行手工配置,应该在客户不参与的情况下发现适合于本地机的配置参数,并利用这些参数加以配置。
3)不需要对单个客户配置网格。在通常情况下,网络管理员没有必须输入预先设计好的用户配置参数。
4)DHCP不需要在每个子网上有一个服务器,DHCP服务器可以和路由器、 BOOTP转发代理一起工作。
5)DHCP客户必须对多个DHCP服务器提供的服务作出响应。出于对网络稳定性与安全性的考虑,有时需要为网络加入多个DHCP服务器。
6)DHCP必须静态配置,而且必须以现存的网络协议实现。
7)DHCP必须能够和BOOTP转发代理互操作。
8)DHCP必须能够为现有的BOOTP客户提供服务。
下面几个设计目标是针对网络层参数而设计的:
1)不允许几个客户同时使用一个网络地址。
2)在DHCP客户重新启动后仍然能够保留原先的配置参数,如果可能,客户应该被指定为相同的配置参数。
3)在DHCP服务器重新启动后仍然能够保留客户的配置参数,如果可能,即使DHCP机制重新启动,也应该能够为客户分配原有的配置参数。
4)能够为新加入的客户自动提供配置参数。
5)支持对特定客户永久固定分配网络地址。
1.7 IP组播技术
IP组播技术的概念
IP组播(也称多址广播或组播)技术,是一种允许一台或多台主机(组播源)发送单一数据包到多台主机(一次的,同时的)的TCP/IP网络技术。
组播作为一点对多点的通信,是节省网络带宽的有效方法之一。
组播能使一个或多个组播源只把数据包发送给特定的组播组,而只有加入该组播组的主机才能接收到数据包。
目前,IP组播技术被广泛应用在网络音频/视频广播、VOD、网络视频会议、多媒体远程教育、推(push)技术(如股票行情等)和虚拟现实游戏等方面。
IP组播地址和组播组
IP组播通信必须依赖于IP组播地址,在IPv4中它是一个D类IP地址,范围从224.0.0.0到239.255.255.255,并被划分为局部链接组播地址、预留组播地址和管理权限组播地址3类。
局部链接组播地址:224.0.0.0–224.0.0.255,是为路由协议和其他用途保留的地址,路由器并不转发属于此范围的IP包。
预留组播地址:224.0.1.0–238.255.255.255,用于全球范围或网络协议。
管理权限组播地址:239.0.0.0–239.255.255.255,可供组织内部使用,类似于私有IP地址,不能用于互联网,可限制组播范围。
使用同一个IP组播地址接收组播数据包的所有主机构成了一个主机组,也称为组播组。
一个组播组的成员是随时变动的,一台主机可以随时加入或离开组播组,组播组成员的数目和所在的地理位置也不受限制,一台主机也可以属于几个组播组。
不属于某一个组播组的主机也可以向该组播组发送数据包。
组播协议
组播协议主要包括组管理协议(IGMP)和组播路由协议。
组管理协议(IGMP):主机使用IGMP通知子网组播路由器,希望加入组播组;路由器使用IGMP查询本地子网中是否有属于某个组播组的主机。
组播路由协议:在一个实际网络中实现组播数据包的转发,除了要求介于组播源和接收者之间的路由器、交换机、TCP/IP栈、防火墙都支持组播外,还必须在各个互连设备上运行可互操作的组播路由协议。
组播路由协议可分为3类:密集模式协议(如 DVMRP、PIM-DM)、稀疏模式协议(如PIM-SM、CBT)和链路状态协议( MOSPF)。
1.8 IP安全性
互联网安全机制只建立于应用程序级,如E-mail加密、SNMP v2网络管理安全、接入安全(HTTP、SSL)等,无法从IP层来保证互联网的安全。
IPSec( Internet协议安全),它是由IETF定义的一套在网络层提供IP安全性的协议。
IPSec提供了两种安全机制:认证和加密。认证机制使IP通信的数据接收方能够确认数据发送方的真实身份以及数据在传输过程中是否被修改。加密机制通过对数据进行加密来保证数据的机密性,以防数据在传输过程中被窃听。
IPSec协议组包含 Authentication Header(AH)协议、 Encapsulating Security Payload(ESP)协议和 Internet Key Exchange(IKE)协
议。AH协议定义了认证的应用方法,提供数据源认证和完整性保证;ESP协议定义了加密和可选认证的应用方法,提供可靠性保证。IKE协议用于密钥交换。
IPSec的安全服务是由通信双方建立的安全联盟(SA)来提供的。SA表示了策略实施的具体细节,包括源/目的地址、应用协议、SPI(安全策略索引)、所用算法/密钥/长度,它们决定了用来保护数据安全的IPSec协议、模式、算法/密钥、生存期、抗重播窗口及计数器等。
每一个IPSec结点都包含有一个安全策略库(SPD)。IPSec系统在处理输入/输出IP流时必须参考该策略库,并根据从SPD中提取的策略对IP流进行不同的处理:拒绝、绕过或进行 IPSec保护。
AH(认证头)
AH协议为IP通信提供数据源认证、数据完整性和反重播保证,它能保护通信免受篡改,但不能防止窃听,适合用于传输非机密数据。
AH的工作原理是在每一个数据包上添加个身份验证报头。此报头包含一个带密钥的hash散列(可以将其当做数字签名,只是它不使用证书),此hash散列在整个数据包中计算,因此对数据的任何更改将致使散列无效—这样就提供了完整性保护。
ESP(封装安全负载)
ESP用于确保IP数据包的机密性(未被别人看过)、数据的完整性及对数据源的身份验证。
ESP可以单独使用,也可以和AH结合使用。一般ESP不对整个数据包加密,而是只加密IP包的有效载荷部分,不包括IP头。但在端对端的隧道通信中,ESP需要对整个数据包加密。
ESP的加密服务是可选的,但如果启用加密,则也就同时选择了完整性检查和认证。因为如果仅使用加密,入侵者就可能伪造包以发动密码分析攻击。
IKE(Internet密钥交换协议)
IKE主要有3项任务:为端点间的认证提供方法、建立新的IPSec连接和管理现有连接。
=========================================================================================================
二、IPv6基础知识
IPv4采用32位地址长度。
IPv4的局限性:地址短缺(欧洲和亚太地区)、缺乏Qos(服务质量)保证,安全性差,对移动性支持不好等。
20世纪90年代初,互联网工程任务组(IETF)开始着手下一代互联网协议(IPng)的制定工作。成立了IPng工作组。主要的工作是定义过渡的协议以确保当前IP版本和新的IP版本长期的兼容性,并支持当前使用和正在出现的基于IP的应用程序。
IPng工作组开始于1991年,经过研究提出了请求说明(RFC)所描述的IPv6,从1995年12月开始进入了互联网标准化进程。
2.1 IPv6的新特征
IPv6是对IPv4的发展,IPv6保留了IPv4中有用的特性而取消了某些规定。
IPv6新特性:巨大的地址空间,全新的报文结构,全新的地址配置方式,更好的QoS支持,内置的安全性,全新的邻居发现协议。
巨大的地址空间(在IPv6中IP地址由32位增加到了128位,可支持更多的需要设定地址的结点、更多的地址级别和远程用户自动地址配置的方法)。
全新的报文结构(使用新的协议投格式,包括固定头部和扩展头部)。
全新的地址配置方式( 支持手工地址配置和有状态自动地址配置(利用专用的地址分配服务器动态分配地址),无状态地址配置。)。
更好的QoS支持(IPv6在报头中新增流标签的字段,该字段使得网络中的路由器可以对属于一个流的数据包进行识别,并提供特殊处理。利用这个标签,路由器无须打开传送的内层数据包就可以识别流。)。
内置的安全性(IPv6协议本身支持IPSec,包括AH和ESP等扩展报头)。
全新的邻居发现协议(IPv6中的邻居发现协议是一系列机制,用来管理相邻结点的交互。该协议用更加有效的组播取代了IPv4中的地址解析协议(ARP))。
2.2 IPv6地址
IPv6地址表示:根据RFC2373的定义,IPv6有3中格式,即首选格式、压缩格式和内嵌格式。
首选格式:IPv6的128位地址是每16位划分一段,每段被转换为一个4位十六进制数,并用冒号隔开。
压缩格式:当地址中存在一个或多个联系的16比特0字符时,可以用::(两个冒号)表示,但是一个IPv6地址中只允许有一个::。
内嵌IPv4地址的IPv6地址:作为过渡机制中使用的一种特殊表示方法。IPv6地址的前面部分使用十六进制表示,而后面部分使用IPv4地址的十进制格式。
IPv6地址类型:单播、组播和任播。
【单播地址】:
IPv6单播地址又分为可聚合全球单播地址、本地链路地址、本地站点地址等。
可聚合全球单播地址类似于我们常说的公网地址,它的最高3位固定为001。
本地链路地址是IPv6某些机制使用的应用范围受限的地址类型,它的最高10位固定为1111111010,后接54位全0,因此它的特定前缀就是FE80::/64。
本地站点地址是另一种应用范围受限的地址类型,类似于IPv4中的私有地址。任何没有申请到提供商分配的可聚合全球单播地址的组织机构都可以使用本地站点地址。它的最高10位固定为1111111011,后接38位全0。
单播地址中有下列两种特殊地址:不确定地址和回环地址。
不确定地址:单播地址0:0:0:0:0:0:0:0(也可以记作::)。它不能分配给任何结点。它的一个应用示例是接口在初始状态、还未分配地址时,可以用未指定地址作为它所发IPv6数据包的源地址。未指定地址不能用做目的地址,也不能用在IPv6路由头中。
回环地址:单播地址0:0:0:0:0:0:0:1(也可以记作::1)。结点用它来向自身发送IPv6包。它不能分配给任何物理接口。
【组播地址】:
组播是指一个源结点发送的单个数据包能被特定的多个目的结点接收到。在IPv4中,组播地址的最高4位固定为1110;在IPv6中,组播地址的最高8位为11111111。
【任播地址】
任播地址是IPv6特有的地址类型,它用来标识一组网络接口。路由器会将目标地址是任播地址的数据包发送给距本路由器最近的一个网络接口。接收方只需要是一组接口中的一个即可。
任播地址从单播地址空间中分配。仅看地址本身,结点是无法区分任播地址与单播地址的。所以,结点必须使用明确的配置从而指明它是一个任播地址。目前,任播地址仅被用于目标地址,且仅分配给路由器。
IPv6 主机地址
通常一台IPv6主机有多个IPv6地址,即使该主机只有一个物理接口。
一台IPv6主机可同时拥有以下几种单播地址:
①每个接口的本地链路地址。
②每个接口的单播地址(可以是一个本地站点地址和一个或多个可聚合全球单播地址)。
③回环(Loopback)接口的回环地址(::1)。
此外,每台主机还需要时刻保持收听以下组播地址上的信息:
(1)结点本地范围内所有结点组播地址(FF01::1).
(2)链路本地范围内所有结点组播地址(FF02::1).
(3)请求结点(Solicited-Node)组播地址(如果主机的某个接口加入请求结点组)。
(4)组播组组播地址(如果主机的某个接口加入任何组播组)。
IPv6 路由器地址
一台IPv6路由器可被分配以下几种单播地址:
①每个接口的本地链路地址。
②每个接口的单播地址(可以是一个本地站点地址和一个或多个可聚合全球单播地址)。
③子网-路由器任意播地址。
④其他任意播地址(可选)。
⑤回环接口的回环地址(::1)。
同样,除以上这些地址外,路由器需要时刻保持收听以下组播地址上的信息:
❶结点本地范围内的所有结点组播地址(FF01::1)。
❷结点本地范围内的所有路由器组播地址(FF01::2)。
❸链路本地范围内的所有结点组播地址(FF02::1)。
❹链路本地范围内的所有路由器组播地址(FF02::2)。
❺站点本地范围内的所有路由器组播地址(FF05::2).
❻请求结点(Solicited-Node)组播地址(如果路由器的某个接口加入请求结点组)。
❼组播组组播地址(如果路由器的某个接口加入任何组播组)。
2.3 邻居发现
邻居发现协议
邻居发现协议(Neighbor Discovery Protocol,NDP)实现了在IPv4中的地址解析协议(ARP)、控制报文协议(ICMP)中的路由器发现部分、重定向协议的所有功能,并具有邻居不可达检测机制。
当一个IPv6结点在网络上出现时,直接相连的链路上的其他IPv6结点可以通过邻居发现协议发现它,进而获得它的链路层地址。IPv6结点也能通过邻居发现协议来查找路由器,并维护路径上处于活动状态的邻居结点的可达性信息。
邻居发现协议解决了连接在同一链路的结点之间交互的一系列问题,并提供了如下机制。
①路由器发现:主机如何定位一个处于直连链路上的路由器。
②前缀发现:主机如何发现地址前缀序列。
③链路参数发现:结点如何获得诸如链路MTU等链路参数。
④地址自动配置:结点如何自动为接口配置地址。
⑤地址解析:在仅知道目的结点IP地址的情况下,如何确定目的结点的链路层地址。
⑥邻居不可达检测:结点如何检验原来已经连通的邻居结点是否还能连通。
⑦下一跳决定:如何把IP目的地址映射为邻居结点的IP地址。
⑧重复地址检测:结点如何检验所要使用的地址是否已经被其他结点使用。
⑨重定向:由路由器发送,将流量重定向到链路上更好的第一跳路由器地址。
邻居发现的各种功能是通过交换ICMPv6报文实现的。其中定义了5种不同的IC-MPv6报文类型:
1)路由器请求(RS)–当结点主机不愿等待下一次周期性路由器公告,希望路由器立刻发送路由器公告时发送的组播报文。一个正在初始化的结点可以发送路由器请求,这样它可以马上得到链路上路由器的配置参数。RS是类型编码为133的ICMP包。源地址是分配给发送主机的地址。如果还没有分配地址,则使用未指定地址0:0:0:0:0:0:0:0。目的地址是所有路由器的组播地址(FF02::2)。
2)路由器公告(RA)–路由器周期性发送公告报文或对请求进行应答。路由器报告它们的存在,并提供结点配置自己所需要的网络参数。RA报文不能由主机发出。RA是类型编码为134的ICMP包。源地址是发送路由器的本地链路地址,目的地址是发送路由器请求的结点地址或链路范围内所有结点组播地址(FF02:1)。跳数限制为255,确保非本链路的设备不能通过发送RA来试图干扰通信流。如果非本链路设备向本链路发送RA,经过路由器以后跳数限制减1,使该包成为非法。接受结点只认为跳数限制是255的RA是有效的。
RA中包含路由器生存时间。路由器生存时间告诉结点它们能将路由器作为默认路由器的时间。其值为0表示该路由器不是候选的默认路由器,不能出现在结点的默认路由器表中。收到RA的结点构造一个默认路由器表。所有发送RA且生存时间不为0的路由器都出现在该列表中。
3)邻居请求(NS)–允许结点确定邻居的链路层地址,或者检验以前获得的地址现在是否依然有效,同时允许结点判断链路上是否存在重复的IP地址。它是一个类型编码为135的ICMP消息。IP包的源地址是发请求的结点的单播地址。用做获得链路层地址时,目的地址是关联在目标IP地址的被请求结点的组播地址;用做可达性确认时,目的地址是单播地址。跳数限制也是255,和RA中一样,用于确保收到的数据包没有穿过路由器。
4)邻居公告(NA)–对邻居请求所发的应答或者在结点链路层地址改变时告知本地邻居结点其地址的改变。邻居公告用做应答NS或者在没有被请求时立即传播,如链路层地址改变等新消息。NA是类型编码为136的ICMP包。源地址是分配给发送接口的任意有效单播地址。当应答NS时,目的地址是请求包的源地址,或者请求源地址是未指定地址时,目的地址是所有结点地址(FF02:1)。未经请求的宣告目的地址也是所有结点地址。跳数限制是255。
5)重定向–由路由器发送,将流量重定向到链路上更好的下一跳路由器地址。
在IPv6中,对结点链路层地址的确定就是使用RS和RA来代替IPv4中的ARP。而且IPv6邻居发现协议比IPv4中的ARP更加高效。
IPv6邻居发现协议与|Pw地址解析协议的区别
IPv6不再执行地址解析协议(ARP)或反向地址解析协议(RARP),而以邻居发现协议(NDP)中的相应功能代替。
IPv6邻居发现协议与IPv4地址解析协议的主要区别如下:
1)IPv4中地址解析协议(ARP)是独立的协议,负责IP地址到链路层地址的转换,对不同的链路层协议要定义不同的ARP协议。IPv6中邻居发现协议(NDP)包含了ARP的功能,且运行于因特网控制报文协议ICMPv6上,更具有一般性,包括更多的内容,面且适用于各种链路层协议。
2)ARP协议以及 ICMPv4路由器发现和lCMPv4重定向报文基于广播,而NDP协议的邻居发现报文基于高效的组播和单播。
3)可达性检测的目的是确认相应IP地址代表的主机或路由器是否还能收发报文,IPv4没有统一的解决方案。NDP协议中定义了可达性检测过程,保证IP报文不会发送给“黑洞”。
2.4 地址自动配置
IPv6协议支持地址自动配置,这是一种即插即用的机制。
IPv6结点通过地址自动配置得到IPv6地址和网关地址,解决了用户配置地址的问题。
主机为其接口自动配置IPv6地址时,需要进行以下步骤:
第一,创建链路本地地址;验证该地址的唯一性。
第二,确定哪些信息需要自动配置。
第三,如果自动配置,那么应通过无状态机制还是有状态机制获得,或者两者兼而有之。
IPv6地址自动配置方式分为两种:无状态地址自动配置和有状态地址自动配置(如DHCPv6)。
有状态地址自动配置的方式是指一个结点加入IPv6网络时,允许IP结点从特殊的BOOTP服务器或DHCP服务器获取配置信息。这些协议采用状态自动配置( State Auto Configuration),即服务器必须保持每个结点的状态信息,记录着曾经把哪个地址分配给了哪个主机。
无状态地址自动配置( Stateless Auto Configuration)允许主机根据本地有效信息和路由器公告的信息来创建自己的IPv6地址。无状态地址自动配置要求本地链路支持组播,而且网络接口能够发送和接收组播包。
2.5 IPv4向IPv6的过渡
IPv4向IPv6的过渡技术有隧道技术、双栈技术和地址翻译技术。
(1)隧道技术
利用隧道技术可以通过现有运行IPv4协议的互联网骨干网络(即隧道)将局部的IPv6网络连接起来。因而,隧道技术是IPv4向IPv6过渡的初期最易于采用的技术。
(2)双栈技术
双栈技术是在路由器和交换机的内部让IPv4和IPv6协议栈同时存在。IPv4和IPv6是功能相近的网络层协议,两者都基于相同的下层平台。
3)地址翻译技术
NAT-PT( Network Address Translation-Protocol Translation)是附带协议转换器的网络地址转换器,通过修改协议报文头来转换网络地址,使它们能够互通。NAT-PT只要求在IPv4与IPv6网络的转换设备(网关路由器)上启用。
=========================================================================================================
三、接入互联网
3.1 窄带拨号方式
窄带拨号主要是利用电话线作为上网载体,灵活方便,但其速率一般为几十kbit/s到上百kbit/s。窄带拨号主要包括传统的PPP拨号和ISDN拨号两种方式,也有人将它们称为“模拟拨号”和“数字拨号“。
PPP拨号连接方式是用户接入互联网最简单、最经济的方式。
如何通过拨号方式上网?
①硬件连接②申请账号③安装软件④设置拨号网络参数⑤拨号上网登录⑥下网断线
3.2 准宽带方式
准宽带方式是指上网的单向数据传输速率为几百 kbit/s到几Mbis的上网方式,主要包括ADSL、 CableModem、PLC等方式。这几种方式的不同之处是:ADSL利用电话线作为载体,CableModem利用有线电视电缆,而PLC利用电力线。
它们的共同特点是:
第一,利用了用户家中现有的线路资源,免去了布线施工的麻烦。
第二,由于采用了频率复用技术,在利用原有线路的同时,ADSL不会影响打电话,CableModem不会影响看电视,而PLC更不会影响用电。
第三,不需要电话拨号的过程,但一般ISP都会要求用户进行账号和密码的认证,以实现计费。
第四,连接简单。计算机通过网卡或USB接口与外置的各种 Modem相连,再通过各种不同线缆将 Modern与电话插座、有线电视插座或电源插座相连即可。
ADSL是 Asymmetrical Digital Subscriber Loop(非对称数字用户环路)的缩写,ADSL技术是运行在原有普通电话线上的一种新的高速宽带技术,它利用现有的一对电话铜线,为用户提供上、下行非对称的传输速率(带宽)。它最初主要是针对视频点播业务开发的,随着技术的发展,逐步成为了一种较方便的宽带接入技术,为电信部门所重视。
ADSL如何通过准宽带方式上网?
①硬件连接②软件安装③系统设置④连接上网
3.3 宽带方式
宽带方式是指上网的单向数据传输速率在10Mbit/s以上的方式,主要包括有线局域网和无线局城网两种方式。有线局域网需要将光缆和双绞线铺设到要使用网络的用户办公室或家中,而无线局域网也需要用无线信号覆盖用户所要上网的区域。除了传输介质不同以外,两者的上网方式基本相同,都要安装网络适配器驱动程序、添加和配置TCP/IP协议等
无线局域网( Wireless Local Area Network,WLAN),是计算机网络与无线通信技术相结合的产物。与常规局域网中使用的双绞线或光纤作为传输介质不同,WLAN通过电磁波来传送和接收数据。WLAN目前的主要应用是提供宽带数据接入(如互联网接入、企业网接入等)。其便携性、安装简易性、可拓展性和可大范围三维覆盖等优点使得WLAN非常适合于不易安装有线网络的地方,如咖啡厅、酒店、候机厅、会议中心、展览馆、体育场、公园等。
无线局域网如何通过宽带方式上网?
①硬件条件②系统设置
3.4 3G无线上网
3G标准:电信的CDMA2000,联通的WCDMA(宽带码分多址)和移动的TD-SCDMA(时分同步码分多址)。
3G无线上网卡(常见的为USB接口适配器)是目前无线广域通信网络应用广泛的上网介质。常见的无线上网卡包括CDMA2000无线上网卡和TD、 WCDMA无线上网卡3类。