没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
下载
第1章 概 述
1.1 引言
很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但 T C P / I P 协议
族允许它们互相进行通信。这一点很让人感到吃惊,因为它的作用已远远超出了起初的设想。
T C P / I P 起源于6 0 年代末美国政府资助的一个分组交换网络研究项目,到 9 0 年代已发展成为计
算机之间最常应用的组网形式。它是一个真正的开放系统,因为协议族的定义及其多种实现
可以不用花钱或花很少的钱就可以公开地得到。它成为被称作“全球互联网”或“因特网
( I n t e r n e t )”的基础,该广域网( WA N )已包含超过1 0 0 万台遍布世界各地的计算机。
本章主要对T C P / I P协议族进行概述,其目的是为本书其余章节提供充分的背景知识。如
果读者要从历史的角度了解有关 T C P / I P的早期发展情况,请参考文献 [ Lynch 1993]。
1.2 分层
网络协议通常分不同层次进行开发,每一层分别
负责不同的通信功能。一个协议族,比如 T C P / I P,是
一组不同层次上的多个协议的组合。 T C P / I P通常被认
为是一个四层协议系统,如图 1 - 1所示。
每一层负责不同的功能:
1) 链路层,有时也称作数据链路层或网络接口层,
通常包括操作系统中的设备驱动程序和计算机
中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
2) 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在
T C P / I P 协议族中,网络层协议包括 I P 协议(网际协议),I C M P 协议(I n t e r n e t 互联网控
制报文协议),以及I G M P 协议(I n t e r n e t 组管理协议)。
3 ) 运输层主要为两台主机上的应用程序提供端到端的通信。在 T C P / I P协议族中,有两个
互不相同的传输协议:T C P(传输控制协议)和U D P(用户数据报协议)。
T C P为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分
成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟
等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。
而另一方面,U D P 则为应用层提供一种非常简单的服务。它只是把称作数据报的分组
从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠
性必须由应用层来提供。
这两种运输层协议分别在不同的应用程序中有不同的用途,这一点将在后面看到。
4 ) 应用层负责处理特定的应用程序细节。几乎各种不同的 T C P / I P 实现都会提供下面这些
通用的应用程序:
图1-1 TCP/IP协议族的四个层次
应用层
运输层
网络层
链路层
设备驱动程序及接口卡
Telnet、FTP和e-mail等
TCP和UDP
IP、ICMP和IGMP
• Telnet 远程登录。
• FTP 文件传输协议。
• SMTP 简单邮件传送协议。
• SNMP 简单网络管理协议。
另外还有许多其他应用,在后面章节中将介绍其中的一部分。
假设在一个局域网( L A N )如以太网中有两台主机,二者都运行 F T P 协议,图 1 - 2 列出了
该过程所涉及到的所有协议。
图1-2 局域网上运行FTP的两台主机
这里,我们列举了一个 F T P 客户程序和另一个F T P 服务器程序。大多数的网络应用程序都
被设计成客户—服务器模式。服务器为客户提供某种服务,在本例中就是访问服务器所在主
机上的文件。在远程登录应用程序 Te l n e t 中,为客户提供的服务是登录到服务器主机上。
在同一层上,双方都有对应的一个或多个协议进行通信。例如,某个协议允许 T C P层进
行通信,而另一个协议则允许两个 I P层进行通信。
在图1 - 2的右边,我们注意到应用程序通常是一个用户进程,而下三层则一般在(操作系
统)内核中执行。尽管这不是必需的,但通常都是这样处理的,例如 U N I X 操作系统。
在图1 - 2中,顶层与下三层之间还有另一个关键的不同之处。应用层关心的是应用程序的
细节,而不是数据在网络中的传输活动。下三层对应用程序一无所知,但它们要处理所有的
通信细节。
在图1 - 2 中列举了四种不同层次上的协议。 F T P 是一种应用层协议, T C P是一种运输层协
议,I P 是一种网络层协议,而以太网协议则应用于链路层上。 T C P / I P协议族是一组不同的协
议组合在一起构成的协议族。尽管通常称该协议族为 T C P / I P ,但T C P 和I P 只是其中的两种协
议而已(该协议族的另一个名字是 I n t e r n e t 协议族(Internet Protocol Suite))。
网络接口层和应用层的目的是很显然的
—
前者处理有关通信媒介的细节(以太网、令牌
环网等),而后者处理某个特定的用户应用程序( F T P 、Te l n e t等)。但是,从表面上看,网络
层和运输层之间的区别不那么明显。为什么要把它们划分成两个不同的层次呢?为了理解这
一点,我们必须把视野从单个网络扩展到一组网络。
2使用TCP/IP详解,卷1:协议
下载
应用层
FTP
客户
运输层
网络层
链路层
以太网驱
动程序
以太网驱
动程序
以太网
以太网协议
IP协议
TCP协议
FTP协议
FTP
服务器
用户进程
内核
处理通信细节
处理应用
程序细节
在8 0 年代,网络不断增长的原因之一是大家都意识到只有一台孤立的计算机构成的“孤
岛”没有太大意义,于是就把这些孤立的系统组在一起形成网络。随着这样的发展,到了 9 0
年代,我们又逐渐认识到这种由单个网络构成的新的更大的“岛屿”同样没有太大的意义。
于是,人们又把多个网络连在一起形成一个网络的网络,或称作互连网 ( i n t e r n e t ) 。一个互连
网就是一组通过相同协议族互连在一起的网络。
构造互连网最简单的方法是把两个或多个网络通过路由器进行连接。它是一种特殊的用
于网络互连的硬件盒。路由器的好处是为不同类型的物理网络提供连接:以太网、令牌环网、
点对点的链接和F D D I (光纤分布式数据接口)等等。
这些盒子也称作I P路由器(IP Router),但我们这里使用路由器( R o u t e r )这个术语。
从历史上说,这些盒子称作网关( g a t e w a y),在很多T C P / I P文献中都使用这个术语。
现在网关这个术语只用来表示应用层网关:一个连接两种不同协议族的进程(例如,
TCP/IP和IBM的SNA),它为某个特定的应用程序服务(常常是电子邮件或文件传输)。
图1 - 3是一个包含两个网络的互连网:一个以太网和一个令牌环网,通过一个路由器互相
连接。尽管这里是两台主机通过路由器进行通信,实际上以太网中的任何主机都可以与令牌
环网中的任何主机进行通信。
在图 1 - 3 中,我们可以划分出端系统( End system)(两边的两台主机)和中间系统
(Intermediate system)(中间的路由器)。应用层和运输层使用端到端( En d - t o - e n d)协议。在
图中,只有端系统需要这两层协议。但是,网络层提供的却是逐跳( Ho p - b y - h o p )协议,两
个端系统和每个中间系统都要使用它。
图1-3 通过路由器连接的两个网络
在T C P / I P协议族中,网络层 I P 提供的是一种不可靠的服务。也就是说,它只是尽可能快
地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。而另一方面, T C P在不可
靠的I P层上提供了一个可靠的运输层。为了提供这种可靠的服务, T C P 采用了超时重传、发
送和接收端到端的确认分组等机制。由此可见,运输层和网络层分别负责不同的功能。
从定义上看,一个路由器具有两个或多个网络接口层(因为它连接了两个或多个网络)。
第1章 概 述使用3
下载
FTP
客户
FTP协议
FTP
服务器
TCP协议
IP协议
以太网协议
以太网驱
动程序
以太网
以太网驱
动程序
令牌环驱
动程序
令牌环驱
动程序
令 牌 环
令牌环协议
I P 协议
路由器
任何具有多个接口的系统,英文都称作是多接口的 ( m u l t i h o m e d )。一个主机也可以有多个接口,
但一般不称作路由器 , 除非它的功能只是单纯地把分组从一个接口传送到另一个接口。同样,
路由器并不一定指那种在互联网中用来转发分组的特殊硬件盒。大多数的 T C P / I P 实现也允许
一个多接口主机来担当路由器的功能,但是主机为此必须进行特殊的配置。在这种情况下,
我们既可以称该系统为主机(当它运行某一应用程序时,如 F T P 或Te l n e t ),也可以称之为路
由器(当它把分组从一个网络转发到另一个网络时)。在不同的场合下使用不同的术语。
互联网的目的之一是在应用程序中隐藏所有的物理细节。虽然这一点在图 1 - 3 由两个网络
组成的互联网中并不很明显,但是应用层不能关心(也不关心)一台主机是在以太网上,而
另一台主机是在令牌环网上,它们通过路由器进行互连。随着增加不同类型的物理网络,可
能会有2 0 个路由器,但应用层仍然是一样的。物理细节的隐藏使得互联网功能非常强大,也
非常有用。
连接网络的另一个途径是使用网桥。网桥是在链路层上对网络进行互连,而路由器则是
在网络层上对网络进行互连。网桥使得多个局域网( L A N )组合在一起,这样对上层来说就
好像是一个局域网。
TCP /IP倾向于使用路由器而不是网桥来连接网络,因此我们将着重介绍路由器。文献
[Perlman 1992]的第1 2 章对路由器和网桥进行了比较。
1.3 TCP/IP的分层
在T C P / I P协议族中,有很多种协议。图 1 - 4给出了本书将要讨论的其他协议。
图1-4 TCP/IP协议族中不同层次的协议
4使用TCP/IP详解,卷1:协议
下载
用户
进程
用户
进程
用户
进程
用户
进程
应用层
运输层
网络层
链路层
硬件
接口
媒体
T C P和U D P是两种最为著名的运输层协议,二者都使用 I P作为网络层协议。
虽然T C P 使用不可靠的 I P 服务,但它却提供一种可靠的运输层服务。本书第 1 7 ~2 2 章将
详细讨论 T C P 的内部操作细节。然后,我们将介绍一些 T C P的应用,如第 2 6章中的Te l n e t 和
R l o g i n、第2 7 章中的F T P 以及第2 8章中的S M T P等。这些应用通常都是用户进程。
U D P 为应用程序发送和接收数据报。一个数据报是指从发送方传输到接收方的一个信息
单元(例如,发送方指定的一定字节数的信息)。但是与T C P 不同的是,U D P 是不可靠的,它
不能保证数据报能安全无误地到达最终目的。本书第 11章将讨论U D P ,然后在第1 4章(D N S :
域名系统),第1 5 章(T F T P:简单文件传送协议),以及第 1 6 章(BO OT P:引导程序协议)
介绍使用U D P 的应用程序。S N M P也使用了U D P 协议,但是由于它还要处理许多其他的协议,
因此本书把它留到第2 5章再进行讨论。
I P是网络层上的主要协议,同时被 T C P和U D P使用。T C P和U D P的每组数据都通过端系统
和每个中间路由器中的I P层在互联网中进行传输。在图1 - 4中,我们给出了一个直接访问I P的应
用程序。这是很少见的,但也是可能的(一些较老的选路协议就是以这种方式来实现的。当然
新的运输层协议也有可能使用这种方式)。第3章主要讨论I P协议,但是为了使内容更加有针对
性,一些细节将留在后面的章节中进行讨论。第9章和第1 0 章讨论I P如何进行选路。
I C M P是I P协议的附属协议。I P层用它来与其他主机或路由器交换错误报文和其他重要信息。
第6章对I C M P的有关细节进行讨论。尽管I C M P主要被I P使用,但应用程序也有可能访问它。我
们将分析两个流行的诊断工具,P i n g和Tr a c e r o u t e(第7章和第8章),它们都使用了I C M P。
I G M P 是I n t e r n e t组管理协议。它用来把一个 U D P 数据报多播到多个主机。我们在第 1 2 章中
描述广播(把一个 U D P数据报发送到某个指定网络上的所有主机)和多播的一般特性,然后
在第1 3 章中对I G M P协议本身进行描述。
A R P(地址解析协议)和R A R P (逆地址解析协议)是某些网络接口(如以太网和令牌环
网)使用的特殊协议,用来转换 I P 层和网络接口层使用的地址。我们分别在第 4章和第5章对
这两种协议进行分析和介绍。
1.4 互联网的地址
互联网上的每个接口必须有一个唯一的 I n t e r n e t 地址(也称作 I P地址)。I P 地址长32 bit。
I n t e r n e t地址并不采用平面形式的地址空间,如 1、2、3等。I P地址具有一定的结构,五类不同
的互联网地址格式如图1 - 5所示。
图1-5 五类互联网地址
第1章 概 述使用5
下载
A类
7位
14位
21位
8位
16位
24位
网 络 号
网 络 号
网 络 号
主 机 号
主 机 号
主 机 号
28位
多 播 组 号
27位
(留 待 后 用)
B类
C类
D类
E类
剩余422页未读,继续阅读
资源评论
- zxlcxxccc2013-08-10这真是一本好书,我和小伙伴们都惊呆了
xxjamesxx
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- torch-1.8.1+cu111-cp38-cp38-linux-x86-64.whl +torchvision
- 计算机设计 - VB+ACCESS网络计时管理系统设计(源代码+系统),保证可靠运行,毕业生可参考,免费资源下载
- 计算机设计 - vb+ACCESS身份证管理系统设计(LW+源代码),保证可靠运行,毕业生可参考,免费资源下载
- ARCMAP自动编号工具
- W801学习笔记十三:掌机系统-系统基础组件-PNG-loader
- studydatastruct3
- XHS链接提取/作品采集工具
- general-exporter windows
- kotlin语法快速入门文档
- general-exporter linux
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功