没有合适的资源?快使用搜索试试~ 我知道了~
TCP/IP 协议笔记
需积分: 0 4 下载量 171 浏览量
2011-09-22
09:49:53
上传
评论
收藏 8.44MB DOC 举报
温馨提示
试读
64页
tcp/ip课程资源,笔记。适合初学者。
资源详情
资源评论
资源推荐
第 1 章 概 述
引言
很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但 协议
族允许它们互相进行通信。这一点很让人感到吃惊,因为它的作用已远远超出了起初的设想。
起源于 年代末美国政府资助的一个分组交换网络研究项目,到 年代已发展成为计算机
之间最常应用的组网形式。它是一个真正的开放系统,因为协议族的定义及其多种实现
可以不用花钱或花很少的钱就可以公开地得到。它成为被称作“全球互联网”或“因特网
的基础,该广域网()已包含超过 万台遍布世界各地的计算机。
本章主要对 协议族进行概述,其目的是为本书其余章节提供充分的背景知识。如
果读者要从历史的角度了解有关 的早期发展情况,请参考文献。
分层
、 和 !"#$ 等应用层网络协议通常分不同层次进行开发,每一层分别运输层 和 %&
负责不同的通信功能。一个协议族,比如 ,是一组不同层次上的多个协议的组合。
通常被认网络层 、' 和 (' 为是一个四层协议系统,如图 ! 所示。
图 ! 协议族的四个层次
每一层负责不同的功能:
链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机
中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在 协议族中,
网络层协议包括 协议(网际协议),' 协议( 互联网控
制报文协议),以及 (' 协议( 组管理协议)。
运输层主要为两台主机上的应用程序提供端到端的通信。在 协议族中,有两个
互不相同的传输协议:(传输控制协议)和 %&(用户数据报协议)。
为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块
交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠
性的端到端的通信,因此应用层可以忽略所有这些细节。
而另一方面,%& 则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到
另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。这两种运输层
协议分别在不同的应用程序中有不同的用途,这一点将在后面看到。
)应用层负责处理特定的应用程序细节。几乎各种不同的 实现都会提供下面这些
通用的应用程序:
下载
*远程登录。
* 文件传输协议。
*+'简单邮件传送协议。
*+'简单网络管理协议。
另外还有许多其他应用,在后面章节中将介绍其中的一部分。
假设在一个局域网()如以太网中有两台主机,二者都运行 协议,图 ! 列出了
该过程所涉及到的所有协议。
图 !局域网上运行 的两台主机
这里,我们列举了一个 客户程序和另一个 服务器程序。大多数的网络应用程序都被设计成客
户—服务器模式。服务器为客户提供某种服务,在本例中就是访问服务器所在主机上的文件。在远程登录
应用程序 中,为客户提供的服务是登录到服务器主机上。
在同一层上,双方都有对应的一个或多个协议进行通信。例如,某个协议允许 层进行通信,而另一
个协议则允许两个 层进行通信。
在图 ! 的右边,我们注意到应用程序通常是一个用户进程,而下三层则一般在(操作系统)内核中执
行。尽管这不是必需的,但通常都是这样处理的,例如 %, 操作系统。
在图 ! 中,顶层与下三层之间还有另一个关键的不同之处。应用层关心的是应用程序的细节,而不是
数据在网络中的传输活动。下三层对应用程序一无所知,但它们要处理所有的通信细节。
在图 ! 中列举了四种不同层次上的协议。 是一种应用层协议, 是一种运输层协
议, 是一种网络层协议,而以太网协议则应用于链路层上。 协议族是一组不同的协议组合
在一起构成的协议族。尽管通常称该协议族为 ,但 和 只是其中的两种协议而已(该
协议族的另一个名字是 协议族---+.$)。
网络接口层和应用层的目的是很显然的—前者处理有关通信媒介的细节(以太网、令牌
环网等),而后者处理某个特定的用户应用程序( 、 等)。但是,从表面上看,网络层
和运输层之间的区别不那么明显。为什么要把它们划分成两个不同的层次呢?为了理解这一点,我们必须
把视野从单个网络扩展到一组网络。
在 / 年代,网络不断增长的原因之一是大家都意识到只有一台孤立的计算机构成的“孤
岛”没有太大意义,于是就把这些孤立的系统组在一起形成网络。随着这样的发展,到了
年代,我们又逐渐认识到这种由单个网络构成的新的更大的“岛屿”同样没有太大的意义。
于是,人们又把多个网络连在一起形成一个网络的网络,或称作互连网 $。一个互连网就
是一组通过相同协议族互连在一起的网络。
构造互连网最简单的方法是把两个或多个网络通过路由器进行连接。它是一种特殊的用
于网络互连的硬件盒。路由器的好处是为不同类型的物理网络提供连接:以太网、令牌环网、
点对点的链接和 &&(光纤分布式数据接口)等等。
这些盒子也称作 路由器(0-.),但我们这里使用路由器0-.这个术语。
从历史上说,这些盒子称作网关( 1#2#),在很多 文献中都使用这个术语。
现在网关这个术语只用来表示应用层网关:一个连接两种不同协议族的进程(例如,
和 3'
的 +),它为某个特定的应用程序服务(常常是电子邮件或文件传输)。
图 ! 是一个包含两个网络的互连网:一个以太网和一个令牌环网,通过一个路由器互相
连接。尽管这里是两台主机通过路由器进行通信,实际上以太网中的任何主机都可以与令牌
环网中的任何主机进行通信。
在图 ! 中,我们可以划分出端系统( 4566")(两边的两台主机)和中间系统
("5$#66")(中间的路由器)。应用层和运输层使用端到端(45!-!5)协议。
在图中,只有端系统需要这两层协议。但是,网络层提供的却是逐跳( 7-8!9!-8)协议,两个
端系统和每个中间系统都要使用它。
图 !通过路由器连接的两个网络
在 协议族中,网络层 提供的是一种不可靠的服务。也就是说,它只是尽可能快
地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。而另一方面, 在不可
靠的 层上提供了一个可靠的运输层。为了提供这种可靠的服务, 采用了超时重传、发
送和接收端到端的确认分组等机制。由此可见,运输层和网络层分别负责不同的功能。
从定义上看,一个路由器具有两个或多个网络接口层(因为它连接了两个或多个网络)。
任何具有多个接口的系统,英文都称作是多接口的".$-"5。一个主机也可以有多个接口,
但一般不称作路由器:除非它的功能只是单纯地把分组从一个接口传送到另一个接口。同样,路由器并不
一定指那种在互联网中用来转发分组的特殊硬件盒。大多数的 实现也允许一个多接口主机来
担当路由器的功能,但是主机为此必须进行特殊的配置。在这种情况下,我们既可以称该系统为主机(当
它运行某一应用程序时,如 或 ),也可以称之为路由器(当它把分组从一个网络转发到
另一个网络时)。在不同的场合下使用不同的术语。
互联网的目的之一是在应用程序中隐藏所有的物理细节。虽然这一点在图 ! 由两个网络
组成的互联网中并不很明显,但是应用层不能关心(也不关心)一台主机是在以太网上,而
另一台主机是在令牌环网上,它们通过路由器进行互连。随着增加不同类型的物理网络,可
能会有 个路由器,但应用层仍然是一样的。物理细节的隐藏使得互联网功能非常强大,也
非常有用。
连接网络的另一个途径是使用网桥。网桥是在链路层上对网络进行互连,而路由器则是
在网络层上对网络进行互连。网桥使得多个局域网( )组合在一起,这样对上层来说就
好像是一个局域网。
倾向于使用路由器而不是网桥来连接网络,因此我们将着重介绍路由器。文献
"#的第 章对路由器和网桥进行了比较。
的分层
在 协议族中,有很多种协议。图 !) 给出了本书将要讨论的其他协议。
图 !) 协议族中不同层次的协议
和 %& 是两种最为著名的运输层协议,二者都使用 作为网络层协议。
虽然 使用不可靠的 服务,但它却提供一种可靠的运输层服务。本书第 ;~ 章将
详细讨论 的内部操作细节。然后,我们将介绍一些 的应用,如第 章中的 和 0
-1$、第 ; 章中的 以及第 / 章中的 +' 等。这些应用通常都是用户进程。
%& 为应用程序发送和接收数据报。一个数据报是指从发送方传输到接收方的一个信息
单元(例如,发送方指定的一定字节数的信息)。但是与 不同的是,%& 是不可靠的,它
不能保证数据报能安全无误地到达最终目的。本书第 章将讨论 %&,然后在第 ) 章(&+<域名
系统),第 = 章( :简单文件传送协议),以及第 章(3>>:引导程序协议)介绍使
用 %& 的应用程序。+' 也使用了 %& 协议,但是由于它还要处理许多其他的协议,因此本书
把它留到第 = 章再进行讨论。
是网络层上的主要协议,同时被 和 %& 使用。 和 %& 的每组数据都通过端系统
和每个中间路由器中的 层在互联网中进行传输。在图 !) 中,我们给出了一个直接访问 的应用程
序。这是很少见的,但也是可能的(一些较老的选路协议就是以这种方式来实现的。当然
新的运输层协议也有可能使用这种方式)。第 章主要讨论 协议,但是为了使内容更加有针对
性,一些细节将留在后面的章节中进行讨论。第 章和第 章讨论 如何进行选路。
' 是 协议的附属协议。 层用它来与其他主机或路由器交换错误报文和其他重要信息。
第 章对 ' 的有关细节进行讨论。尽管 ' 主要被 使用,但应用程序也有可能访问它。我
们将分析两个流行的诊断工具,$1 和 #-.(第 ; 章和第 / 章),它们都使用了 '
。
(' 是 组管理协议。它用来把一个 %& 数据报多播到多个主机。我们在第 章中
描述广播(把一个 %& 数据报发送到某个指定网络上的所有主机)和多播的一般特性,然后在第 章
中对 (' 协议本身进行描述。
0(地址解析协议)和 00(逆地址解析协议)是某些网络接口(如以太网和令牌环
网)使用的特殊协议,用来转换 层和网络接口层使用的地址。我们分别在第 ) 章和第 = 章对
这两种协议进行分析和介绍。
)互联网的地址
互联网上的每个接口必须有一个唯一的 地址(也称作 地址)。 地址长 9$。
地址并不采用平面形式的地址空间,如 、、 等。 地址具有一定的结构,五类不同的
互联网地址格式如图 != 所示。
图 !=五类互联网地址
这些 位的地址通常写成四个十进制的数,其中 类型 范 围每个整数对应一个字节。这种表示方法称作
“点分十制表示法(&-55$"#-#$>)”。例如,作者的系统就是一个 3 类地址,它表示为:
)=。
区分各类地址的最简单方法是看它的第一个十进制整数。图 ! 列出了各类地址的起止范围,其中第一
个十进制整数用加黑字体表示。
剩余63页未读,继续阅读
wangfukunbjaccp
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- java-leetcode面试题解Stack之第155题最小栈-题解.zip
- java-leetcode面试题解Stack之第150题逆波兰表达式求值-题解.zip
- HeroBG1101_Lv1.unity3d
- java-leetcode面试题解Stack之第71题简化路径-题解.zip
- java-leetcode面试题解Stack之第42题接雨水-题解.zip
- matlab绘制椭圆阵列
- 电商基础秒杀项目-springboot开发
- java-leetcode面试题解Stack之第20题有效的括号-题解.zip
- 基于TP4056芯片MICRO USB接口 充电模块pads+及转AD版 PCB文件.zip
- BTS432 芯片规格书
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0