导言:1990年以前,在数据通信和组网文献中占主导地位的分层模型是开放系统互连(Open Systems Interconnection,OSI)模型,现在TCP/IP协议族成为了占主导地位的商用体系结构。
一 OSI七层模型
1.1 物理层
涉及到接口和传输媒体的机械和电气规约,负责把逐个的比特从一跳移动到下一跳,该层关心一下内容:
(1)接口和媒体的物理特性:定义了设备与传输媒体间的接口特性,以及传输媒体的类型。
(2)比特的表示:非归零制编码(1高0低),曼彻斯特编码(1左高右低),差分曼彻斯特编码(遇0则反)。
(3)数据率:每秒发送的比特率。
(4)比特的同步:发送设备和接收设备使用同样比特率且时钟同步。
(5)线路配置:点对点配置(两个设备一条链路),多点配置(若干设备一条链路)。
(6)物理拓扑:星状拓扑(中央设备),环状拓扑(连到下一个设备构成环),总线拓扑(一条公共链路)。
(7)传输方式:单工,半双工(两个设备都能发送和接收,但不能同时进行),全双工。
1.2 数据链路层
把物理层转换为可靠的链路,使物理层对网络层好像是无差错的。该层任务如下:
(1)组帧:把比特流划分为可以处理的数据单元。
(2)物理编址:附加帧首部加上发送方和接收方(若不位于本网络,接收方为连接两个网络的设备地址)。
(3)流量控制:预防接收方因过负荷而无法工作。
(4)差错控制:在帧后面加尾部实现,重传受损或丢失帧,识别重复帧。
(5)接入控制:多设备共享同一链路时,决定任意时刻该由哪一个设备对链路有控制权。
1.3 网络层
负责把分组从原点交付到终点。该层任务包括:
(1)逻辑编址:附加首部包括接收方和发送方逻辑地址等。
(2)路由选择:为数据分组选路或交换以到达最终目的地。
1.4 运输层
负责完整报文的进程到进程(运行在主机上的应用程序)的交付,监督从源点到终点这一级(数据链路层并不能控制源点到终点)的差错控制和流量控制。该层任务包括:
(1)端口编址:附加首部包含端口地址。
(2)分段与重装:利用报文段序号重装报文。
(3)连接控制:面向连接或面向无连接。
(4)流量控制:端到端的流量控制,数据链路层是单条链路上的流量控制。
(5)差错控制:端到端的差错控制,数据链路层是单条链路上的流量控制。纠错通过重传完成。
1.5 会话层
建立、维持、同步通信系统之间的交互。该层任务包括:
(1)对话控制:允许两个进程半双工或全双工通信。
(2)同步:传2000页文件,每100页一个同步点,传到523页时崩溃,只需要从第501页开始穿就行。
1.6 表示层
考虑两个系统所交换信息的语法和语意。该层任务如下:
(1)转换:信息-比特流。
(2)加密:加密原始信息。
(3)压缩:数据压缩。
1.7 应用层
让用户能够接入网络。该层任务如下:
(1)网络虚拟终端:物理终端的软件版本,通过它登录并操作远程主机。
(2)文件传送、存取和管理。
(3)邮件服务:发送和存储邮件。
(4)名录服务:对全球各种对象和服务信息存取。
二 TCP/IP协议族
2.1 OSI和TCP/IP协议族对应关系
TCP/IP OSI
应用层——应用层、表示层、会话层
运输层——运输层
网络层——网络层
网络接口层——物理层、数据链路层
目前的TCP/IP协议依然把网络接口层看为物理层和数据链路层。
为何将OSI上面三层合并到应用层?
(1)会话层的某些功能在一些运输层协议中已具备。
(2)会话层和表示层中的某些相应的功能,可以包含在应用软件中进行开发。
2.2 TCP/IP协议族
(1)物理层:没有定义任何特定协议,不同链路有不同协议,通信发生在两跳或两个结点之间,通信单位是比特。
(2)数据链路层:没有定义任何特定协议,通信发生在两跳或两个结点之间,通信单位是帧。
(3)网络层:支持网际协议IP,通信是端到端的通信,路由器不会修改分组源地址和目的地址,通信单位是数据报。
(4)运输层:主要支持UDP和TCP,通信是端到端的通信,通信单位可以是报文段,用户数据报等,取决于具体协议。
(5)应用层:通信是端到端的通信,通信单位是报文。
2.3 四个层级的编址
(1)物理地址:包含在数据链路层所使用的帧中,仅对链路层有效,以太网物理地址为6字节(48位),包括单播、多播和广播地址。
(2)逻辑地址:每个设备在每条连接上都有一对地址(逻辑的和物理的),因特网使用32位逻辑地址,包括单播、多播和广播地址。(3)端口地址:给一个进程指派的标号,TCP/IP中端口地址为16位。
(4)特定应用地址:比如电子邮件地址和URL,计算机会将这些地址转换为相应的端口地址和逻辑地址。
注:物理地址逐跳而变,逻辑地址和端口地址保持不变。