您的位置:首页 > 理论基础 > 计算机网络

网络传输协议概述——第三讲:TCP/IP协议分层

2012-04-11 15:23 387 查看
在上一讲我们介绍说tcp/ip协议分为七层。但是一般而言我们吧应用层,会话层,表达层归为一层。

网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如
T C P / I P
,是一组不同层次上的多个协议的组合。
T C P / I P 通常被认为是一个四层协议系统

每一层负责不同的功能:


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
实 现 都 会 提 供 下 面 这 些通用的应用程序:

• Telnet
远程登录。

• FTP
文件传输协议。

• SMTP
简单邮件传送协议。• SNMP
简单网络管理协议。

在 T C P / I P
协议族中,网络层
I P 提 供 的 是 一 种 不 可 靠 的 服 务 。 也 就 是 说 , 它 只 是 尽 可 能 快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。而另一方面,
T C P 在不可靠的
I P 层 上 提 供 了 一 个 可 靠 的 运 输 层 。 为 了 提 供 这 种 可 靠 的 服 务 ,
T C P 采 用 了 超 时 重 传 、 发送和接收端到端的确认分组等机制。由此可见,运输层和网络层分别负责不同的功能

TCP/IP的分层


T C P / I P 协议族中,有很多种协议。图
1 - 4给 出 了 本 书 将 要 讨 论 的 其 他 协 议 。


I C M P
是I P
协议的附属协议。I
P 层 用 它 来 与 其 他 主 机 或 路 由 器 交 换 错 误 报 文 和 其 他 重 要 信 息 。

I
G M P 是
I n t e r n e t组管理协议。它用来把一个 U D P
数据报多播到多个主机。

互联网的地址

五类互联网地址



各类IP地址对应的范围



Internet注册服务(IP地址和DNS域名)过去由NIC来负责,其网络地址是nic.ddn.mil。InterNIC由三部分组成:注册服务(rs.internic.net),目录和数据库服务(ds.internic.net),以及信息服务(is.internic.net)。

尽管通过
I P 地 址 可 以 识 别 主 机 上 的 网 络 接 口 , 进 而 访 问 主 机 , 但 是 人 们 最 喜 欢 使 用 的 还是主机名。在
T C P / I P
领域中,域名系统( D N S
)是一个分布的数据库,由它来提供
I P 地址和主机名之间的映射信息。

当应用程序用
T C P 传 送 数 据 时 , 数 据 被 送 入 协 议 栈 中 , 然 后 逐 个 通 过 每 一 层 直 到 被 当 作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信 息 )。TCP 传给 I
P 的 数 据 单 元 称 作 T C P 报 文 段 或 简 称 为 T
C P 段( T C Ps e g m e n t )。 I P 传给网络接口层的数据单元称作 I
P 数据报 ( I P d a t a g r a m ) 。 通 过 以 太 网 传 输 的 比 特流称作帧 (F
r a m e ) 。 以太网数据帧的物理特性是其长度必须在
4 6 ~
1 5 0 0 字节之间。



U D P
数 据 与 T C P
数 据 基 本 一 致 。唯 一 的 不 同 是
U D P 传给
I P 的 信 息 单 元 称 作
U D P 数 据 报(
U D P d a t a g r a m
),而且 U D P
的首部长为 8
字节。

由于
T C P 、
U D P 、
I C M P 和
I G M P 都要向
I P 传 送 数 据 , 因 此
I P 必须在生成的
I P 首 部 中 加 入 某 种 标 识 , 以 表 明 数 据 属 于 哪 一 层 。 为 此 ,
I P 在 首 部 中 存 入 一 个 长 度 为8 b i t
的 数 值 , 称 作 协 议 域 。
1 表示为
I C M P 协议,
2 表示为
I G M P 协议,
6 表示为
T C P 协议,
1 7 表示为
U D P 协议。

类似地,许多应用程序都可以使用
T C P 或
U D P 来 传 送 数 据 。 运 输 层 协 议 在 生 成 报 文 首 部时 要 存 入 一 个 应 用 程 序 的 标 识 符 。
T C P 和
U D P 都用一个
1 6 b i t
的 端 口 号 来 表 示 不 同 的 应 用 程 序 。T C P
和 U D P
把源端口号和目的端口号分别存入报文首部中。

网络接口分别要发送和接收
I P 、
A R P和 R A R P 某种形式的标识,以指明生成数据的网络层协议。为此,以太网的帧首部也有一个
16 bit的数 据 , 因 此 也 必 须 在 以 太 网 的 帧 首 部 中 加 入类型域。
分用

当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上 层 协 议 。 这 个 过 程 称 作 分 用 (
D e m u l t i p l e x i n g
)



为协议
I C M P 和
I G M P 定位一直是一件很棘手的事情。在图
1 - 4中, 把它们与 I P
放在同一层上,那是因为事实上它们是I
P的附属协议。但是在这里,我们又把它们放在 I P
层的上面,这是因为ICMP和IGMP报文都被封装在IP数据报中。

对于 A R P
和R A R P
, 我 们 也 遇 到 类 似 的 难 题 。 在 这 里 把 它 们 放 在 以 太 网 设 备 驱 动 程序的上方,这是因为它们和
I P 数据报一样,都有各自的以太网数据帧类型。

当进一步描述 T C P
的细节时,我们将看到协议确实是通过目的端口号、源
I P 地 址 和 源 端 口号进行解包的。

客户-服务器模型

大部分网络应用程序在编写时都假设一端是客户,另一端是服务器,其目的是为了让服务器为客户提供一些特定的服务。

可以将这种服务分为两种类型:重复型或并发型。

重复型服务器通过以下步骤进行交互:

I1. 等待一个客户请求的到来。

I2. 处理客户请求。

I3. 发送响应给发送请求的客户。

I4. 返回
I 1 步。

重复型服务器主要的问题发生在
I 2状 态 。 在 这 个 时 候 , 它 不 能 为 其 他 客 户 机 提 供 服 务 。

并发型服务器采用以下步骤:

C1.
等待一个客户请求的到来。

C2.
启动一个新的服务器来处理这个客户的请求。在这期间可能生成一个新的进程、任务或线程,并依赖底层操作系统的支持。这个步骤如何进行取决于操
作系统。生成的新服务器对客户的全部请求进行处理。处理结束后,终止这个新服务器。

C3.
返回 C 1
步。

并发服务器的优点在于它是利用生成其他服务器的方法来处理客户的请求。也就是说,每个客户都有它自己对应的服务器。如果操作系统允许多任务,那么就可以同时为多个客户服务。

一般来说,
T C P 服务器是并发的,而
U D P 服 务 器 是 重 复 的 , 但 也 存 在 一 些 例 外 。

端口号

T
C P 和 U D P
采用 1 6 b i t
的 端 口 号 来 识 别 应 用 程 序 。

服务器一般都是通过知名端口号来识别的。例如,对于每个
T C P / I P
实现来说, F T P
服务器的 T C P
端 口 号 都 是
2 1 ,每个
T e l n e t
服 务 器 的 T C P
端 口 号 都 是
2 3 ,每个
T F T P (
简 单 文 件 传 送 协议 )
服 务 器 的 U D P
端 口 号 都 是
6 9 。任何
T C P / I P
实 现 所 提 供 的 服 务 都 用 知 名 的
1 ~
1 0 2 3 之 间 的 端口号。这些知名端口号由
I n t e r n e t
号分配机构( I n t e r n e t A s s i g n e d N u m b e r s A u t h o r i t y , I A N A
)来管理。

客户端通常对它所使用的端口号并不关心,只需保证该端口号在本机上是唯一的就可以了。客户端口号又称作临时端口号(即存在时间很短暂)。这是因为它通常只是在用户运行该客户程序时才存在,而服务器则只要主机开着的,其服务就运行。

大多数
T C P / I P
实 现 给 临 时 端 口 分 配
1 0 2 4 ~
5 0 0 0 之 间 的 端 口 号 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐