TCP/IP基础(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

逻辑地址

逻辑地址对于普通的通信服务是必需的,这种通信服务与底层的物理网络无关。在互联网环境中仅使用物理地址是不合适的,因为不同网络可以使用不同的地址格式。因此,需要一种通用的编址系统,用来唯一地标志每一台主机,而不管底层使用什么样的物理网络。逻辑地址就是为此目的而设计的。目前,采用IPv4协议的因特网逻辑地址是32位的地址。在因特网上没有两台主机具有同样的逻辑地址。逻辑地址与物理地址不同,逻辑地址通常用于软件而非硬件。逻辑地址主要有以下两种:

▶ 网络地址,由网络层处理;

▶ 端口或进程地址,由传输层处理。

逻辑地址也可以是单播地址(单个接收者)、多播地址(一组接收者)或广播地址(对网络中的所有系统)。然而,广播地址存在一些局限性。

网络层

类似“192.168.59.8”这样的IP地址属于逻辑地址。在IP网络中,网络管理员会为每台主机分配一个唯一的IP地址。IP地址是一个32位的地址,包括地址的主机部分和网络部分。图1.1所示的三层网络结构层次对这一概念进行了说明。

img

图1.1 三层网络结构层次

第3层地址允许建立多个路由网络。图1.1中的三层网络结构可以将本地网段内的信息流隔离在本层内,而只允许不同网段间需要通信的主机跨层通信。这样就可以将信息流控制在底部两层,即接入层和汇聚层,而只允许通往广域网的信息流通过核心层。这一点可利用路由选择和第3层地址得以实现。

传输层

对于从源主机把许多数据传送到目的主机来说,IP地址和物理地址是必须使用的;但到达目的主机并不是在因特网上进行数据传输的最终目的。一个系统若只能从一台计算机向另一台计算机发送数据,显然是不够的。如今的计算机是多进程设备,即可以在同一时间运行多个进程。因特网通信的最终目的是使一个进程能够与另一个进程通信。为此,需要有一种方法对不同的进程进行标志。换言之,进程也需要有地址。给一个进程指派的标号称为端口地址。诸如“23”之类的端口号(进程地址)也属于逻辑地址。设备通过其端口地址向高层传送信息,通过其端口号跟踪多种同步的即时作业。

软件开发人员经常使用一些默认的端口号来初始化即时作业。表1.2示出了常用于TCP和UDP地址的一些端口号。

表1.2 常用端口号

img

续表

img

传输层不仅负责为应用程序寻址,而且可在第3层协议的基础上提供可靠的通信。传输层提供流量控制、视窗、数据排序及恢复。

会话层

OSI参考模型的第5层至第7层处理数据本身,端到端的数据传输则由较低的4层处理。

会话层负责建立、管理和终止应用程序之间的会话。会话由两个或多个表示层实体之间的对话组成。

会话层为表示层提供服务。它使表示层实体之间的对话同步,并负责它们之间数据的交换。除了对会话进行管理,会话层还提供对话单元同步、服务类别(CoS)以及关于第5、6、7层会话异常的报告。

表示层

表示层可以保证格式相同的系统的应用层所发出的信息在目的系统的应用层中仍然可读。必要时,表示层可在不同的多种数据表达格式之间进行转换。

应用层

应用层最贴近用户。它不支持其他层,而是向OSI参考模型之外的应用程序进程提供服务。

在应用层可以确定和证实指定对等实体的可达性,使双方的应用程序同步,为应用程序的错误恢复和数据完整性控制建立一致的流程。同时,应用层也判断对于指定通信所需的资源是否存在。