TCP/IP概述TCP/IP概述.pdf
文本预览下载声明
下载
第2章 TCP/IP概述
本章将简要介绍 T C P / I P协议簇。虽然这些内容对很多读者来说是非常熟悉的,但我们仍
建议不要跳过这一章。我们的重点是在安全上,故我们突出讨论协议和可能危险的领域。
告诫:一个有安全头脑的系统管理员往往有一整套与用户全然不同的网络服务观点。这
两种人常常处于安全性与方便性平衡的两个极端。我们的观点是倾向这一平衡的一个端点上。
2.1 不同的协议层
T C P / I P是一个通信协议集的缩写。它最初是在美国国防高级研究项目局 ( D A R PA ,现为
A R PA ) 的赞助下开发的, 1 9 8 3年应用在旧的A R PA N E T上。我们在此只提供一个必要的简述,
详细资料可参见Comer [Co m e r ,1 9 9 1;Comer and Stevens ,1 9 9 4 ]或Stevens [Stevens ,1 9 9 4 ]
等的有关书籍。
图2 - 1 示出了这一数据流的方案。每一横排都是一个不同的协议层, (protocol layer) 。顶
层包括各种应用:邮件传送、登录、视频服务等等。它们调用较低层对数据进行存取和递交。
在蜘蛛网络的中间部分就是网际协议 (Internet Protocol ,IP)[Postel, 1981b] 。I P是一种数据包
多路复用器,由较高层协议来的报文都有一个 I P报头预先挂在数据包上,然后它们被送到相
应的设备驱动器上以便于传输。我们将首先进行 I P层的研究。
应用 应用 应用
T C P U D P
I P I C M P
设备驱动器 设备驱动器 设备驱动器
图2-1 涉及TCP/IP不同层协议的示意图
2.1.1 IP
I P数据包( p a c k e t )是一捆一捆的数据,它是 T C P / I P协议簇的基础数据形式。每个数据包都
14使用第一部分 入入入 门
下载
携有一个3 2位的源地址、宿地址、一些选项位、一个报头校验和以及数据包的有效数据。一
个典型的I P数据包有几百个字节长。这些数据包通过以太网、串行通信线、 F D D I环路、数据
包无线连接、异步传输模式 ( AT M )链路等数十亿次地在世界上穿越流动。
I P层没有虚拟电路 (virtual circuit)或“电话呼叫”的概念:每个数据包都是独立的。 I P是
一种不可靠的数据报 ( d a t a g r a m )服务方式。数据包的递交是没有保证的,它只被递交一次,或
按任意一种特定顺序递交。对数据包的正确性没有任何检验机制。 I P报头中的校验和也只覆
盖该报头。
事实上,送出的数据包是否真的来自某一给定源地址也是没有保证的。从理论上讲,任
何主机可用任意一个源地址发送一个数据包。虽然有许多操作系统在这一方面实行控制并确
保它按正确的源地址值发出,但是,除非在某一小心控制的环境下,否则不能依赖源地址的
有效性。一般来说,鉴别和安全问题必须利用较高层协议的机制。
一个长距离传送的数据包将经过多个跳点 ( h o p ) 。每次跳转都终止于一个主机或路由器上,
然后根据路由信息将该数据包向前传送至下一个跳点。在传送期间,如果数据包对于一个跳
点显得过长,该数据包可以被分割成更小的数据片。如果通信过于拥挤堵塞,路由器可以将
数据包丢弃。数据包在到达远端时可能不按顺序,甚至还可能有重复发送。通常对这些行为
是不通知的:较高协议层 (例如T C P )才处理上述问题并给应用提供一条可靠电路。
如果一个数据包对下一个跳点显得太大,它就要被分割成小包,即将其分为两个或更多
的数据包,每个数据包都有它自己的 I P报头,而有效数据只是原来的一部分。这些小片以各
自的方式分别到达最终目的地。在传输过程中,分片的数据包还可能进一步分片。在这些小
片数据包到达目标机器时,它们
显示全部