第一章IP基本原理.docx

上传人:b****4 文档编号:24372364 上传时间:2023-05-26 格式:DOCX 页数:38 大小:185.91KB
下载 相关 举报
第一章IP基本原理.docx_第1页
第1页 / 共38页
第一章IP基本原理.docx_第2页
第2页 / 共38页
第一章IP基本原理.docx_第3页
第3页 / 共38页
第一章IP基本原理.docx_第4页
第4页 / 共38页
第一章IP基本原理.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

第一章IP基本原理.docx

《第一章IP基本原理.docx》由会员分享,可在线阅读,更多相关《第一章IP基本原理.docx(38页珍藏版)》请在冰豆网上搜索。

第一章IP基本原理.docx

第一章IP基本原理

第一章IP基本原理

本章要点:

1.熟悉OSI模型(监控维护)

2.熟悉TCP/IP模型各层的基本功能(监控维护)

3.了解TCP、UDP协议的基本特点和常用应用层协议(监控维护);了解ARP协议的基本作用(维护)

4.掌握IP地址结构、IP地址分类,掌握子网掩码的概念(监控维护);简单IP地址计算(维护)

5.和Ping、Trace命令的基本原理和使用方法(监控维护)

第一节IP协议概述

1.1IP协议概述

全球INTERNET网的广泛应用使IP协议深入人心。

IP协议以其简单、有效、开放性成为事实上的工业标准。

IP协议使异种网互联方便可行,尤其值得一提的是它对下层通信技术的巨大包容性。

IP协议作为通信子网的最高层,提供无连接的数据报传输机制。

IP协议是点到点的,核心问题是寻径。

它向上层提供统一的IP数据报,使得各种物理帧的差异性对上层协议不复存在。

1.2TCP/IP协议分层

OSI(OpenSystemInterconnection,开放系统互连)参考模型是一个合法的标准。

国际标准化组织(ISO)创建了OSI模型,并在1984年发布,以为供应商提供一个网络模型,这样它们的产品可以在网络上协调工作。

OSI参考模型提供了层次分析工具,以理解互连技术,以及当前和未来网络发展的基础。

 

图1-1OSI参考模型

模型描述了每个层如何与其他节点上的对应层进行通信。

在第一个节点上,最终用户创建一些数据,发送到其他节点,例如电子邮件。

在应用层,在数据上加入了应用层报头。

表示层在从应用层接收到的数据上加入了它自己的报头,每层在从上层收到的数据上加入它们自己的报头。

然而,在较低层,数据分隔为较小的信元,并在每个信元上加入报头。

例如,传输层具有较小的数据报文,网络层有数据包,数据链路层有帧。

物理层处理原始比特流中的数据。

当这个比特流到达目的地时,数据在每层重新集合,并且去除每层的报头,直至最终用户可以阅读电子邮件。

网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。

一个协议族,比如TCP/IP,是一组不同层次上的多个协议的组合。

TCP/IP通常被认为是一个四层协议系统,如图1-1所示。

每一层负责不同的功能:

1)链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。

它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。

2)网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选

路。

在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)。

3)运输层主要为两台主机上的应用程序提供端到端的通信。

在TCP/IP协议族中,有两个互不相同的传输协议:

TCP(传输控制协议)和UDP(用户数据报协议)。

TCP为两台主机提供高可靠性的数据通信。

它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。

由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。

而另一方面,UDP则为应用层提供一种非常简单的服务。

它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。

任何必需的可靠性必须由应用层来提供。

这两种运输层协议分别在不同的应用程序中有不同的用途,这一点将在后面看到。

4)应用层负责处理特定的应用程序细节。

几乎各种不同的TCP/IP实现都会提供下面这些通用的应用程序:

TELNET远程登录。

FTP文件传输协。

SMTP简单邮件传送协议。

SNMP简单网络管理协议。

假设在一个局域网(LAN)如以太网中有两台主机,二者都运行FTP协议,图1-2列出了该过程所涉及到的所有协议。

图1-2局域网上运行FTP的两台主机

这里,我们列举了一个FTP客户程序和另一个FTP服务器程序。

大多数的网络应用程序都被设计成客户—服务器模式。

服务器为客户提供某种服务,在本例中就是访问服务器所在主机上的文件。

在远程登录应用程序Telnet中,为客户提供的服务是登录到服务器主机上。

在同一层上,双方都有对应的一个或多个协议进行通信。

例如,某个协议允许TCP层进行通信,而另一个协议则允许两个IP层进行通信。

在图1-2的右边,我们注意到应用程序通常是一个用户进程,而下三层则一般在(操作系统)内核中执行。

尽管这不是必需的,但通常都是这样处理的,例如UNIX操作系统。

在图1-2中,顶层与下三层之间还有另一个关键的不同之处。

应用层关心的是应用程序的细节,而不是数据在网络中的传输活动。

下三层对应用程序一无所知,但它们要处理所有的通信细节。

在图1-2中列举了四种不同层次上的协议。

FTP是一种应用层协议,TCP是一种运输层协议,IP是一种网络层协议,而以太网协议则应用于链路层上。

TCP/IP协议族是一组不同的协议组合在一起构成的协议族。

尽管通常称该协议族为TCP/IP,但TCP和IP只是其中的两种协议而已(该协议族的另一个名字是Internet协议族(InternetProtocolSuite))。

网络接口层和应用层的目的是很显然的—前者处理有关通信媒介的细节(以太网、令牌环网等),而后者处理某个特定的用户应用程序(FTP、Telnet等)。

但是,从表面上看,网络层和运输层之间的区别不那么明显。

为什么要把它们划分成两个不同的层次呢?

为了理解这一点,我们必须把视野从单个网络扩展到一组网络。

构造互连网最简单的方法是把两个或多个网络通过路由器进行连接。

它是一种特殊的用于网络互连的硬件盒。

路由器的好处是为不同类型的物理网络提供连接:

以太网、令牌环网、点对点的链接和FDDI(光纤分布式数据接口)等等。

这些盒子也称作IP路由器(IPRouter),但我们这里使用路由器(Router)这个术语。

从历史上说,这些盒子称作网关(gateway),在很多TCP/IP文献中都使用这个术语。

现在网关这个术语只用来表示应用层网关:

一个连接两种不同协议族的进程(例如,TCP/IP和IBM的SNA),它为某个特定的应用程序服务(常常是电子邮件或文件传输)。

图1-3通过路由器连接的两个网络

图1-3是一个包含两个网络的互连网:

一个以太网和一个令牌环网,通过一个路由器互相连接。

尽管这里是两台主机通过路由器进行通信,实际上以太网中的任何主机都可以与令牌环网中的任何主机进行通信。

在图1-3中,我们可以划分出端系统(Endsystem)(两边的两台主机)和中间系统(Intermediatesystem)(中间的路由器)。

应用层和运输层使用端到端(End-to-end)协议。

在图中,只有端系统需要这两层协议。

但是,网络层提供的却是逐跳(Hop-by-hop)协议,两个端系统和每个中间系统都要使用它。

在TCP/IP协议族中,网络层IP提供的是一种不可靠的服务。

也就是说,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。

而另一方面,TCP在不可靠的IP层上提供了一个可靠的运输层。

为了提供这种可靠的服务,TCP采用了超时重传、发送和接收端到端的确认分组等机制。

由此可见,运输层和网络层分别负责不同的功能。

从定义上看,一个路由器具有两个或多个网络接口层(因为它连接了两个或多个网络)。

任何具有多个接口的系统,英文都称作是多接口的(multihomed)。

一个主机也可以有多个接口,但一般不称作路由器,除非它的功能只是单纯地把分组从一个接口传送到另一个接口。

同样,路由器并不一定指那种在互联网中用来转发分组的特殊硬件盒。

大多数的TCP/IP实现也允许一个多接口主机来担当路由器的功能,但是主机为此必须进行特殊的配置。

在这种情况下,我们既可以称该系统为主机(当它运行某一应用程序时,如FTP或Telnet),也可以称之为路由器(当它把分组从一个网络转发到另一个网络时)。

在不同的场合下使用不同的术语。

互联网的目的之一是在应用程序中隐藏所有的物理细节。

虽然这一点在图1-3由两个网络组成的互联网中并不很明显,但是应用层不能关心(也不关心)一台主机是在以太网上,而另一台主机是在令牌环网上,它们通过路由器进行互连。

随着增加不同类型的物理网络,可能会有20个路由器,但应用层仍然是一样的。

物理细节的隐藏使得互联网功能非常强大,也非常有用。

连接网络的另一个途径是使用网桥。

网桥是在链路层上对网络进行互连,而路由器则是在网络层上对网络进行互连。

网桥使得多个局域网(LAN)组合在一起,这样对上层来说就好像是一个局域网。

1.3TCP/IP的分层

在TCP/IP协议族中,有很多种协议。

图1-4给出了将要讨论的其他协议。

TCP和UDP是两种最为著名的运输层协议,二者都使用IP作为网络层协议。

虽然TCP使用不可靠的IP服务,但它却提供一种可靠的运输层服务。

IP是网络层上的主要协议,同时被TCP和UDP使用。

TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。

在图1-4中,我们给出了一个直接访问IP的应用程序。

ICMP是IP协议的附属协议。

IP层用它来与其他主机或路由器交换错误报文和其他重要信息。

尽管ICMP主要被IP使用,但应用程序也有可能访问它。

我们将分析两个流行的诊断工具,Ping和Traceroute,它们都使用了ICMP。

IGMP是Internet组管理协议。

它用来把一个UDP数据报多播到多个主机。

在后续的专题中我们将详细介绍。

ARP(地址解析协议)和RARP(逆地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换IP层和网络接口层使用的地址。

1.4互联网的地址

我们把Internet看成为一个网络。

所谓IP地址就是给每一个连接在Internet上的主机分配一个唯一的32bit地址。

IP地址的结构使我们可以Internet上很方便地进行寻址,这就是:

先按IP地址中的网络号码net-id把网络找到,再按主机号码host-id把主机找到。

所以IP地址并不只是一个计算机的号码,而是指出了连接到某个网络上的某个计算机。

IP地址有美国国防数据网DDN的网络信息中心NIC进行分配。

为了便于对IP地址进行管理,同时还考虑到网络的差异很大,有的网络拥有很多的主机,而有的网络上的主机则很少。

因此Internet的IP地址就分成为五类,即A类到E类。

这样,IP地址由三个字段组成,即:

类别字段(又称为类别比特),用来区分IP地址的类型;网络号码字段net-id;

主机号码字段host-id。

D类地址是一种组播地址,主要是留给Internet体系结构委员会IAB(InternetrchitectureBoard)使用。

E类地址保留在今后使用。

目前大量IP地址仅A至C类三种。

图1-5IP地址的结构

A类IP地址的网络号码数不多。

目前几乎没有多余的可供分配。

现在能够申请到的IP地址只有B类和C类两种。

当某个单位向IAB申请到IP地址时,实际上只是拿到了一个网络号码net-id。

具体的各个主机号码host-id则由该单位自行分配,只要做到在该单位管辖的范围内无重复的主机号码即可。

为方便起见,一般将32bit的IP地址中的每8个比特用它的等效十进制数字表示,并且在这些数字之间加上一个点。

例如,有下面这样的IP地址:

10000000000010110000001100011111这是一个B类IP地址,可记为128.11.3.31,这显然更方便得多。

在使用IP地址时,还要知道下列地址是保留作为特殊用途的,一般不使用。

全0的网络号码,这表示“本网络”或“我不知道号码的这个网络”。

全1的网络号码。

全0的主机号码,这表示该IP地址就是网络的地址。

全1的主机号码,表示广播地址,即对该网络上所有的主机进行广播。

全0的IP地址,即0.0.0.0。

网络号码为127.X.X.X.,这里X.X.X为任何数。

这样的网络号码用作本地

软件回送测试(Loopbacktest)之用。

全1地址255.255.255.255,这表示“向我的网络上的所有主机广播”。

原先是使用0.0.0.0。

这样,我们就可得出表1所示的IP地址的使用范围。

表1IP地址的使用范围

网络类别

最大网络数

第一个可用的网络号码

最后一个可用的

网络号码

每个网络中的最大主机数

A

126

1

126

16.777.214

B

16.382

128.1

191.254

65.534

C

2.097.150

12.0.1

223.255.254

254

IP地址有一些重要的特点:

1.IP地址有一些是一种非等级的地址结构。

这就是说,和电话号码的结构不一样,IP地址不能反映任何有关主机位置的地理信息。

2.当一个主机同时连接到两个网络上时(作路由器用的主机即为这种情况),该主机就必须同时具有两个相应的IP地址,其网络号码net-id是不同的,这种主机成为多地址主机(multihomedhost)。

3.按照Internet的观点,用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号码net-id。

4.在IP地址中,所有分配到网络号码net-id的网络(不管是小的局域网还是很大的广域网)都是平等的。

IP地址的设计有不够合理的地方。

例如,IP地址中的A至C类地址,可供分配的网络号码超过211万个,而这些网络上的主机号码的总数则超过37.2亿个,初看起来,似乎IP地址足够全世界来使用,(在70年代初期设计IP地址是就是这样认为的)。

其实不然。

第一,当初没有预计到微机会普及得如此之快。

各种局域网和局域网上的主机数目急剧增长。

第二,IP地址在使用时有很大的浪费。

例如:

某个单位申请到了一个B类地址。

但该单位只有1万台主机。

于是,在一个B类地址中的其余5万5千多个主机号码就白白地浪费了。

因为其他单位的主机无法使用这些号码。

从1985年起,为了使IP地址的使用更加灵活,在IP地址的网络号码net-id,而后面的主机号码host-id则是受本单位控制,由本单位进行分配。

本单位所有的主机都使用同一个网络号码。

当一个单位的主机很多而且分布在很大的地理范围是,往往需要用一些网桥(而不是路由器,因为路由器连接的主机具有不同的网络号码)将这些主机互连起来。

网桥的缺点较多。

例如容易引起广播风暴,同时当网络出现故障时也不太容易隔离和管理。

为了使本单位的各子网之间使用路由器来互连,因而便于管理。

需要注意的是,子网的划分纯属本单位内部的是,在本单位以外是看不见这样的划分。

从外部看,这个单位只有一个网络号码。

只有当外面的分组进入到本单位范围后,本单位的路由器在根据子网号码进行选路,最后找到目的主机。

若本单位按照主机所在的地理位置划分子网,那么在管理方面就会方便得多。

这里应注意,TCP/IP体系的“子网”(subnet)是本单位网络内的一个更小些的网络,和前面讲的OSI体系中的子网(subnetwork)不同。

它们的英文名字不同,但中文译名都是一样的。

图1-6说明是在划分子网时要用到的子网掩码(subnetmask)的意义。

图1-6(a)举了一个B类IP地址作为例子。

图1-6(b)表示将本地控制部分再增加一个子网字段,子网号字段究竟选为多长,由本单位根据情况确定。

TCP/IP体系规定用一个32bit的子网掩码来表示子网号字段的长度。

具体的做法是:

子网掩码由一连串的“1”和一连串的“0”组成。

“1”对应于网络号码和子网号码字段,而“0”对应于主机号码字段(图1-6(c))

多划分出一个子网号码字段是要付出代价的。

例如,对于图4的例子,本来一个B类IP地址可以容纳65534个主机号码。

但划分出6bit长的子网字段后,最多可有62个子网(去掉全1和全0的子网号码)。

每个子网有10bit的主机号码,即每个子网最多可有1022个主机号码。

因此主机号码的总数是62*1022=63364个。

比不划分子网时要少了一些。

若一个单位不进行子网的划分,则其子网掩码即为默认值,此时子网掩码中

“1”的长度就是网络号码的长度。

因此,对于A,B和C类IP地址,其对应的子网掩码默认值分别为255.0.0.0,255.255.0.0和255.255.255.0。

1.5封装

当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。

其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),该过程如图1-7所示。

TCP传给IP的数据单元称作TCP报文段或简称为TCP段(TCPsegment)。

IP传给网络接口层的数据单元称作IP数据报(IPdatagram)。

通过以太网传输的比特流称作帧(Frame)。

图1-7中帧头和帧尾下面所标注的数字是典型以太网帧首部的字节长度。

在后面的章节中我们将详细讨论这些帧头的具体含义。

以太网数据帧的物理特性是其长度必须在46~1500字节之间。

由于现在几乎所有的计算机系统都采用8bit的字节,因此我们在本书中使用字节(byte)这个术语。

传给IP的信息单元称作UDP数据报(UDPdatagram),而且UDP的首部长为8字节。

由于TCP、UDP、ICMP和IGMP都要向IP传送数据,因此IP必须在生成的IP首部中加入某种标识,以表明数据属于哪一层。

为此,IP在首部中存入一个长度为8bit的数值,称作协议域。

1表示为ICMP协议,2表示为IGMP协议,6表示为TCP协议,17表示为UDP协议。

类似地,许多应用程序都可以使用TCP或UDP来传送数据。

运输层协议在生成报文首部时要存入一个应用程序的标识符。

TCP和UDP都用一个16bit的端口号来表示不同的应用程序。

TCP和UDP把源端口号和目的端口号分别存入报文首部中。

网络接口分别要发送和接收IP、ARP和RARP数据,因此也必须在以太网的帧首部中加入应用程序某种形式的标识,以指明生成数据的网络层协议。

为此,以太网的帧首部也有一个16bit的帧类型域。

1.6分用

当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。

每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。

这个过程称作分用(Demultiplexing),图1-8显示了该过程是如何发生的。

协议ICMP和IGMP定位一直是一件很棘手的事情。

在图1-4中,把它们与IP放在同一层上,那是因为事实上它们是IP的附属协议。

但是在这里,我们又把它们放在IP层的上面,这是因为ICMP和IGMP报文都被封装在IP数据报中。

1.7端口号

前面已经指出过,TCP和UDP采用16bit的端口号来识别应用程序。

那么这些端口号是如何选择的呢?

服务器一般都是通过知名端口号来识别的。

例如,对于每个TCP/IP实现来说,FTP服务器的TCP端口号都是21,每个Telnet服务器的TCP端口号都是23,每个TFTP(简单文件传送协议)服务器的UDP端口号都是69。

任何TCP/IP实现所提供的服务都用知名的1~1023之间的端口号。

这些知名端口号由Internet号分配机构(InternetAssignedNumbersAuthority,IANA)来管理。

到1992年为止,知名端口号介于1~255之间。

256~1023之间的端口号通常都是由Unix系统占用,以提供一些特定的Unix服务—也就是说,提供一些只有Unix系统才有的、而其他操作系统可能不提供的服务。

现在IANA管理1~1023之间所有的端口号。

Internet扩展服务与Unix特定服务之间的一个差别就是Telnet和Rlogin。

它们二者都允许通过计算机网络登录到其他主机上。

Telnet是采用端口号为23的TCP/IP标准且几乎可以在所有操作系统上进行实现。

相反,Rlogin最开始时只是为Unix系统设计的(尽管许多非Unix系统现在也提供该服务),因此在80年代初,它的有名端口号为513。

客户端通常对它所使用的端口号并不关心,只需保证该端口号在本机上是唯一的就可以了。

客户端口号又称作临时端口号(即存在时间很短暂)。

这是因为它通常只是在用户运行该客户程序时才存在,而服务器则只要主机开着的,其服务就运行。

大多数TCP/IP实现给临时端口分配1024~5000之间的端口号。

大于5000的端口号是为其他服务器预留的(Internet上并不常用的服务)。

我们可以在后面看见许多这样的给临时端口分配端口号的例子。

保留端口号。

(RFC1340)

这些端口号介于1~1023之间,一些应用程序将它作为客户与服务器之间身份认证的一部分。

1.8标准化过程/RFC

究竟是谁控制着TCP/IP协议族,又是谁在定义新的标准以及其他类似的事情?

事实上,有四个小组在负责Internet技术。

1)Internet协会(ISOC,InternetSociety)是一个推动、支持和促进Internet不断增长和发展的专业组织,它把Internet作为全球研究通信的基础设施。

2)Internet体系结构委员会(IAB,InternetArchitectureBoard)是一个技术监督和协调的机构。

它由国际上来自不同专业的15个志愿者组成,其职能是负责Internet标准的最后编辑和技术审核。

IAB隶属于ISOC。

3)Internet工程专门小组(IETF,InternetEngineeringTaskForce)是一个面向近期标准的组织,它分为9个领域(应用、寻径和寻址、安全等等)。

IETF开发成为Internet

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1