You are on page 1of 6

专题 3 TCP/IP 原理

本专题内容:
通过学习本专题掌握 OSI 七层参考模型,以太网工作原理,Cisco 建网三层模型,
以及综合布线基础。
本专题分成以下几个部分:
一、TCP/IP 发展简史
二、DOD 参考模型
三、IP 地址

一、TCP/IP 发展简史
60 年代末,美国国防部(DOD)对建立分组交换的广域网很感兴趣,其基本想法是
通过连接多个地域的分散网络,那么局部地区的网络故障不影响其他部分网络的正常运行。
主要是由于当时正处于冷战的形势下,他们要求建立能够在部分地区被袭击的情况下,仍
正常运行的军事网络。
高级研究项目局(Advanced Research Projects Agency,ARPA)开始了这个称
为 ARPAnet 的网络项目的研究,由于这个项目要求在不同的计算机之间进行通信,而不
同的计算机上会运行不同的操作系统,因此就存在不同系统之间如何按照同样的规则进行
交流的问题。因此最重要的问题就是开发所有的系统都遵守的标准协议,让它来实现应用程
序对应用程序的通信,并独立于具体的计算机平台。因此,他们开发了独立于特定计算机系
统的标准协议,以实现各种计算机之间的通信。
  由于存在多种应用程序,因此协议也并非一个,而是一组协议。而 TCP 协议和 IP 协议
就是他们开发的这些协议中最重要的两个,因此通常就以 TCP/IP 来称呼整个协议族,称为
TCP/IP 协议,这正是当前流行的 Internet 使用的协议标准。
二、DOD 参考模型
1、参考模型的概念
参考模型是关于计算机之间如何进行通信的一种形象化表示方式,它将进行通信所需
要的每一步骤按照层次的概念组织起来。如果一个步骤处理的事情是负责物理线路的具体传
输,就认为属于模型中的低层,反过来,如果一个步骤是与具体的应用程序打交道,就认
为属于模型中的高层,在高层和低层之间按照逻辑关系,还有一些中间层次。
  将通信过程划分为不同层次的原因是因为通信过程是一个复杂的过程,对于用户来讲,
能使用 WWW 浏览信息,能发送电子邮件就能满足需要,他们只关心这些应用程序,而不
关心具体的通信过程;另外一些软件驻留在后台处理通信过程中必要的任务,如建立连接,
发送数据等,而不关心数据是如何发送出去的;还有一些硬件专门用来负载信号的传递;
这样不同的软硬件有着层次分明的调用关系,自然就形成了层次的概念,而参考模型正是
对这些层次进行区分和定义。
2、DOD 参考模型
OSI 模型并未确定任何通信标准或协议;相反,它只是提供了通信任务应该遵循的一
些指导性建议。OSI 模型只是一种模型或框架,它确定了要执行的功能,理解这一点很重要。
它并未详细说明如何执行这些功能。
在 OSI 模型出现前,美国国防部定义了它自己的网络模型,即 DOD 模型。DOD 模型
与 TCP/IP 协议套件有紧密的联系,按照对网络的不同理解,可以有不同的参考模型,将
通信分为不同的层次结构,其中影响最大的就是国际标准化组织开发的 OSI 标准七层模型
和 TCP/IP 中使用 DOD 四层模型。
DOD 模型的四层分别为:
 应用层(Application)
 主机到主机层(Host to Host)
 网络互连层(Internet)
 网络访问层(Network Access)

1)网络访问层
TCP/IP 并没有定义任何网络访问层的协议,这个层的协议大部分是由其他通信组织定
义的,这反而使 TCP/IP 能适合几乎全部硬件平台。网络访问层和硬件相关,负责基本的通
信,这一层最常见硬件的是以太网和使用普通电话线的拨号连接。对于以太网,这一层定义
了介质访问控制地址(MAC 地址),用于标识不同的计算机。有了网络访问层,计算机之
间就有了物理连接,计算机之间就为相互交换数据提供了条件。
2)网际层(Internet 层)
Internet 层负责确定一台计算机能在网络上的位置,并找出通向它的路径,然后才能
够相互交换数据。这种路径选择功能既复杂又重要,因此实现这个功能的 IP 协议是整个
TCP/IP 协议组中的最基本协议。
网际协议(IP)负责系统间无连接方式的通信。它相当于 OSI 模型中网络层的一部分,
它负责网络间的信息移动。通过检查网络层地址来完成这种通信,该地址确定了发送消息的
系统和路径。
IP 提供与网络层相同的功能并帮助获取系统间的消息,但是它不保证这些消息能够成
功传送。IP 还可以将这些消息分成多个段,然后在目的地重组这些段。另外,每一段可以采
用不同的网络路径在系统间传送。如果这些段到达时乱了次序,IP 则会在目的地将这些信
息包重组成正确的序列。
3)主机-主机层
这一层负责维护不同计算机上的两个进程的通信,它的主要作用就是将应用程序与网
络的复杂性相隔离,应用层只需发出请求,而不必顾及任务是如何完成的。这一层包括两个
协议:传输控制协议 TCP 和数据报协议 UDP。
TCP 协议是一种面向连接、有分组顺序控制和差错控制的安全准确的协议,因此必须
在网络上传送额外的维护信息,网络开销大,但也是最常用的网络协议。TCP 协议在不同
机器之间建立了虚拟连接,它使用一个 16 位的端口地址(port number)来区分不同连
接。应用程序必须使用一个或几个端口地址用来提供网络服务,因此对于常用的网络服务,
其使用的端口地址就是固定的。
UDP 协议不建立连接,因此也不保证数据正确完整,相对来讲网络开销小,然而对于
不可靠的网络连接,数据完整性无法保证。UDP 也使用端口地址发送和接受属于不同应用
程序的数据。
4)应用层
应用层就是为了让应用程序在不同的计算机上运行并相互通信而实现的多种协议,每
种协议都对应一类应用程序。并且随着 Internet 上的应用程序的不断增加,应用协议的种
类也越来越多。
大部分 TCP/IP 应用程序是属于客户机/服务器类型的,这种类型的应用程序包含两个
部分,其中服务器程序通常运行在服务器系统的后台,称为守护程序(daemon)。守护
进程运行在后台,随时接受客户连接以提供服务;客户软件就是应用程序的用户接口,用
户通过它使用服务器上的资源。
三、IP 地址
1、为什么要使用 IP 地址
  一个 IP 地址是用来标识网络中的一个通信实体,比如一台主机,或者是路由器的某一
个端口。而在基于 IP 协议网络中传输的数据包,也都必须使用 IP 地址来进行标识,如同我
们写一封信,要标明收信人的通信地址和发信人的地址,而邮政工作人员则通过该地址来
决定邮件的去向。
  同样的过程也发生在计算机网络里,每个被传输的数据包也要包括的一个源 IP 地址和
一个目的 IP 地址,当该数据包在网络中进行传输时,这两个地址要保持不变,以确保网络
设备总是能根据确定的 IP 地址,将数据包从源通信实体送往指定的目的通信实体。
2、IP 地址的表示方法
IP 协议给网络上的每个计算机都分配了一个唯一的 IP 地址,这个地址是一个分为四部
分的 32 位长的数,为方便记忆,通常使用以点号划分的十进制来表示,如:
211.158.10.5,这样 IP 地址就表示的比较清晰。
每个 IP 地址被划分为两个部分,一个为网络地址(Network Address),用于表示
计算机所从属的网络号,一个为节点地址(Node Address,也成为主机地址),用于指
明该网络上某个特定主机的主机号;网络地址和节点地址通过网络掩码(netmask)进行
区分,对应网络掩码二进制位为“1”的 IP 地址部分为网络部分,其他的为节点部分。例如网
络掩码 255.255.255.0 将 192.168.1.200 的网络部分分为 192.168.1 和 200 两部分,
因此其网络地址为 192.168.1.0,节点部分为 0.0.0.200。
同一个网络中的网络地址应该相同,但节点地址应该不同,因而子网掩码可以决定这
个网络中可以拥有的主机的数量,即节点地址的范围减 2,其中节点地址二进制位全为 0
的地址为网络地址,表示这个网络本身,而节点地址二进制位全为 1 的地址为广播地址,
用于在网络中发送广播包。
3、IP 地址的分类
  为了给不同规模的网络提供必要的灵活性,IP 地址的设计者将 IP 地址空间划分为五个
不同的地址类别,如下表所示,其中 A,B,C 三类最为常用:
IP 地址 第一字节 二进制 二进制 二进制
类型 十进制范围 固定最高位 网络位 主机位
A类 0-127 0 8位 24 位
B类 128-191 10 16 位 16 位
C类 192-223 110 24 位 8位
D类 224-239 1110 组播地址
E类 240-255 1111 保留试验使用
  网络号由因特网权力机构分配,目的是为了保证网络地址的全球唯一性。主机地址由各
个网络的管理员统一分配。因此,网络地址的唯一性与网络内主机地址的唯一性确保了 IP
地址的全球唯一性。
  在 IP 协议中,为了便于管理,为不同种类的 IP 地址定义了缺省的网络掩码,而定义
的具备不同网络掩码的 IP 地址就组成不同的网络类别。
  A 类网络:1.0.0.0 到 127.0.0.0,缺省网络掩码为 255.0.0.0,每个网络可以容纳
16, 777,214 台计算机;
  B 类网络:128.0.0.0 到 191.0.0.0,缺省网络掩码为 255.255.0.0,每个网络可以
容纳 65,534 台计算机;
  C 类网络:192.0.0.0 到 223.0.0.0,缺省网络掩码为 255.255.255.0,每个网络只
能容纳 254 台计算机;
4、特殊 IP 地址
在 TCP/IP 网络中有几个地址具有特殊含义:
 以零开头的地址表示当前网络中的本地节点。例如,0.0.0.23 指当前网络中的 23 号
工作站。地址 0.0.0.0 指当前工作站。
 在进行故障排除和网络诊断时,以 127 开头的地址非常重要。形式上将网络地址块
127.x.x.x 定义为 A 类地址,保留了该地址块以用于内部回送(loopback)。
 将地址上所有位全置为 1(也就是值 255)代表"所有"地址。所以,
192.18.255.255 意味着将消息发送给 192.18. 网络上的所有节点;类似的,
255.255.255.255 意味着将消息发送给因特网上的每个节点。这些地址用于多点广播
消息和服务公告。
注意:给系统分配节点号时,不要使用 0 或 255,它们都是保留数字,具有特殊含义。
5、 “专用 ”IP 地址
如果您的网络没有连接到因特网而且最近也不会连接的话,则可以自由选择任何合法
的网络地址。只是要确保您内部网络信息包不会跑到实际的因特网中即可。要确保即便信息
包确实跑出也不会有任何危害,应该使用为专用而保留的那些网络地址的某个号码。因特网
赋号管理局(Internet Assigned Numbers Authorit,IANA) 已经在 A、B 和 C 类地址
中保留了一些网络号,您无需注册就可以使用这些地址。这些地址只有在专用网络中才有效,
而且(理论上)不会路由到实际的因特网站点中。
A 10.0.0.0
B 172.16.0.0 - 172.31.0.0
C 192.168.0.0 - 192.168.255.0
请注意第二块和第三块分别包含 16 个和 256 个网络。
从这些网络号码中选择一个地址对于那些完全没有连接到因特网的网络是十分有用的。
通过将单个主机用做网关,仍然可以实现访问另一个网络(如因特网)。对于本地网络而言,
可以通过内部专用 IP 地址来访问该网关,而外部世界则通过正式注册的地址(由带宽供应
商分配)知道该网关。
6、划分子网
VLSM(Variable Length Subnet Mask, 可变长子网掩码),这是一种产生不同大
小子网的网络分配机制。VLSM 将允许给点到点的链路分配子网掩码 255.255.255.252,
而给 Ethernet 网络分配 255.255.255.0。VLSM 技术对高效分配 IP 地址(较少浪费)以
及减少路由表大小都起到非常重要的作用。但是需要注意的是使用 VLSM 时,所采用的路
由协议必须能够支持它,这些路由协议包括 RIP2,OSPF,EIGRP 和 BGP。
为了提高 IP 地址的使用效率,可将一个网络划分为子网:采用借位的方式,从主机位
最高位开始借位变为新的子网位,所剩余的部分则仍为主机位。这使得 IP 地址的结构分为
三部分:网络位、子网位和主机位。引入子网概念后,网络位加上子网位才能全局唯一地标
识一个网络。把所有的网络位用 1 来标识,主机位用 0 来标识,就得到了子网掩码。如下图
所示的子网掩码转换为十进制之后为:255.255.255.224。
划分子网是将大型的、实际的网络分成较小的逻辑网络的过程。划分网络的原因有以下
几点:联网技术的电气(物理层)限制;为简便起见,希望在建筑物的每一层(或每个部
门或针对每个应用)放置一个独立的网络而划分网络;减少网络段负载;或需要用高速线
路连接远程位置。
划分网段的结果是使整个网络变成由一些小型子网块组成的网络,从而易于管理。这些
较小的子网之间的通信通过网关和路由器进行。同样,一个组织可以有几个物理上在同一个
网络中的子网,以便将网络功能逻辑地分成多个工作组。
7、CIDR 无类别编址
  1992 年引入了 CIDR,它意味着在路由表层次的网络“类”的概念已经被取消,代之以
“网络前缀”的概念。Internet 中的 CIDR(Classless Inter-Domain Routing, 无类别域间
路由)的基本思想是取消地址的分类结构,取而代之的是允许以可变长分界的方式分配网络
数。它支持路由聚合,可限制 Internet 主干路由器中必要路由信息的增长。
  IP 地址中 A 类已经分配完毕,B 类也已经差不多了, 剩下的 C 类地址已经成为大家瓜
分的目标。显然,对于一个国家、地区、组织来说分配到的地址最好是连续的, 那么如何来保证
这一点呢?
  于是提出了 CIDR 的概念。CIDR 是 Classless Inter Domain Routing 的缩写, 意为
无类别的域间路由。
  “无类型”的意思是现在的选路决策是基于整个 32 位 IP 地址的掩码操作。而不管其 IP
地址是 A 类、B 类或是 C 类,都没有什么区别。
  它的思想是: 把许多 C 类地址合起来作 B 类地址分配。采用这种分配多个 IP 地址的方
式,使其能够将路由表中的许多表项归并(summarization)成更少的数目。
8、IP 地址计算实例
1)题型 1:一个主机的 IP 地址是 202.112.14.156,掩码是 255.255.255.240,要求计
算这个主机所在网络的网络地址和广播地址。
  常规办法是把这个主机地址和子网掩码都换算成二进制数,两者进行逻辑与运算后即
可得到网络地址。其实大家只要仔细想想,可以得到另一个方法:255.255.255.240 的掩
码所容纳的 IP 地址有 256-240=16 个(包括网络地址和广播地址),那么具有这种掩
码的网络地址一定是 64 的倍数。而网络地址是子网 IP 地址的开始,广播地址是结束,可使
用的主机地址在这个范围内,因此略小于 156 而又是 16 的倍数的只有 144,所以得出网
络地址是 202.112.14.144。而广播地址就是下一个网络的网络地址减 1。而下一个 16 的
倍数是 160,因此可以得到广播地址为 202.112.14.159。
2)题型 2:要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上
述原则进行计算。比如一个子网有 25 台主机,那么对于这个子网就需要 25+1+1+1=
28 个 IP 地址。(注意加的第一个 1 是指这个网络连接时所需的网关地址,接着的两个 1 分
别是指网络地址和广播地址。)28 小于 32(32 等于 2 的 5 次方),所以主机位为 3 位。而
256-32=224,所以该子网掩码为 255.255.255.224。
9、IPv6
由于历史的原因,中国在 IPv4 的发展中处于后进的状态,在国际上发言权不多,导致
在 IP 地址的供需上严重失衡。截止 2002 年 8 月,拥有 13 亿人口的中国,只有大约 2502
万个 IP 地址(B 类地址不足 200 个,A 类地址一个都没有),而美国斯坦福大学一个学校
就多达 1700 万个,IBM 公司则高达 3300 万个。由此可见,中国是世界上面临 IP 地址缺
乏问题最严重的国家之一。
如何把握 IPv6 的发展机遇,带动中国信息产业的发展,提升通信产业界的整体竞争力,
从而使得中国在下一代互联网发展中占有一席之地,这是一个很大而又很重要的课题。
1)IPv6 标准简介
从 1995 年到 1998 年,全球因特网的用户数每 6 个月翻一番,在 2000 年后,因特
网用户数的增长开始减慢。当因特网以指数方式增长时,人们非常担忧网址会耗尽,因为现
在的基于 IPv4 的网络地址空间仅有 32 位。在 2002 年初,全球大约使用了因特网 IP 地址
的 30%,在亚太地区,该数字达到了 60%。考虑到 IP 地址耗尽的问题,IETF 的 IPng 工
作组在 1998 年底制定了下一代因特网标准草案,这就是 IPv6 标准。
IPv6 采用 128 位地址长度,地址几乎可以视为无限。在 IPv6 的设计过程中,地址短
缺问题得到了完全的解决,还考虑了在 IPv4 中解决不好的其它问题,如点到点 IP 连接、服
务质量(QoS)、安全性、多播、移动性、即插即用等。
2)IPv4 和 IPv6 比较
特性 IPv4 IPv6
地址长度 32 位 128 位
地址空间 理论上提供 43 亿个网络地址,实 非常多,可以为地球上每平方米提
际要少得多 供 1000 个网络地址
服务质量 无服务质量保障机制 服务质量得到很大改善(QoS)
安全性 有几种方法,但复杂性高,管理复 内建标准的安全方法,例如虚拟专
杂 网等
移动 IP 能够满足全球移动终端的需要 能够满足有限量的移动终端的需要
网络管理 网络多样,管理和升级复杂 网络一致,管理方便
3)IPv6 的发展态势
随着 IPv6 标准的制定,人们预测因特网将快速迁移到 IPv6 标准上。但是 IPv6 应用和
推广并没有人们想象的那样迅速和显著。从 1998 年到 2002 年,已经 4 年过去了,虽然世
界各国都建立了多个 IPv6 的试验网络,但是真正商业化运营的 IPv6 网络还没有出现。到
目前为止,完全支持 IPv6 的操作系统还没有出现(Windows XP 将在 2004 年完全支持
IPv6),基于 IPv6 标准的商业应用软件也很缺乏。
为什么 IPv6 推广应用如此缓慢呢?主要有下面几个原因:
A、确切地说,IPv6 的真正优势在于网络管理。比如域间路由、网络配置、端到端安全和
地址空间管理等,而不是在于终端用户的使用,真正需要使用 IPv6 的终端用户不多。对于
基础设施供应商而言,创建 IPv6 基础设施的经济驱动力明显不足,难以设计获利的商业模
式。
B、IP 地址耗尽的严重性被夸大了。按照最悲观的估计,美国在 2007 年之前不存在 IP
地址紧张的问题;按照最乐观的估计,美国将在 2020 年才会发生地址危机。相对美国而言,
欧洲所承受的 IP 地址空间压力要大一些,亚洲地区,尤其是中国 IP 地址的矛盾更加突出
一点。尽管如此,但基于 IPv4 的一些改进技术,比如内部 IP 地址技术等,也从一定程度上
缓和了 IP 地址的匮乏问题。虽然这些技术带来一些问题,比如破坏了点到点的通信,使网
络管理变得的复杂等。但从总体上说,IP 地址耗尽问题并没有人们普遍认为的那样严重。
C、IPv6 的实验网虽然已经进行了很多年,但技术尚未成熟。基于 IPv6 的应用还很缺
乏,尤其是商业应用,比如电子邮件系统、Web 服务器等。此外,目前还没有完全支持
IPv6 的操作系统。
D、由 IPv4 升级到 IPv6 需要大量投入,更换成本很高。几乎所有的网络设备都需要更
换,是一项庞大的工程。由此可见,IPv6 的推广应用需要一个漫长的过程。
总之,由于只有很少终端用户能够体验到 IPv6 带来的直接好处,他们不愿意为采用
IPv6 支付额外的费用。这样,运营商无法设计获得收益的商业模式,从而缺乏从 IPv4 升级
到 IPv6 的经济驱动。运营商不愿将网络从 IPv4 升级 IPv6,这就导致设备供应商的市场过
于狭小,低的出货量又导致了 IPv6 设备高昂的价格。这样就构成了一个不良循环,从总体
上阻碍了 IPv6 的推广应用。

You might also like