1.1 计网概述
1.1.1 概念
- 广义观点:实现远程信息处理或进一步达到资源共享的系统
- 资源观点:能够以相互共享资源方式互联起来的自治计算机系统集合
- 用户观点:为用户自动管理资源、调用用户所需资源而不必了解其存在
1.1.2 组成
- 按组成部分:硬件、软件、协议
- 工作方式:边缘部分(主机为主,进行通信和资源共享)、核心部分(路由器为主,提供连通性和交换服务)
- 功能组成:通信子网(传输介质、通信设备和相应协议)、资源子网(实现资源共享的设备和软件)
1.1.3 功能
- 数据通信
- 资源共享
- 分布式处理
- 提高可靠性
- 负载均衡
1.1.4 分类
- 按广度:
- WAN(广域网)
- MAN(域域网)
- LAN(局域网)
- PAN(个人区域网)
- 按传输技术:
- 广播式:所有计算机共享公共信道,一个发送所有收听。局域网和无线广域网、卫星通信的主要方式
- 点对点:每条物理线路连接一对计算机,若无直接连接的线路则通过中间节点的接收、存储、转发到目的结点
- 按拓扑结构:网中结点与通信线路的几何关系
- 星形:每个终端单独连接中央设备
- 总线形:用单根传输线连接,易建且节省线路,但故障敏感
- 环形:所有计算机成环,可以是单环或多环,环中单向传输
- 网状:每个节点至少有两条路径连接其他结点,可靠而复杂
- 按使用者:
- 公用
- 专用
- 按交换技术:
- 电路交换:建立专用通路,有建立、通信、断开三个阶段
- 报文交换:用户数据+源地址+目的地址+校验码封装为报文传到相邻节点存储,再给下一个结点,因此又称储存-转发网络
- 分组交换(包交换):将数据分为较短的固定长度数据块(称为包),在每个数据块加上目的地址、源地址等辅助信息组成分组,再进行存储-转发
- 按传输介质:有线、无线
1.1.5 标准化工作和组织
标准以RFC(Request of Comments)形式发布,然后通过以下阶段成为因特网标准:
- 因特网草案。此时还不是RFC文档
- 建议标准。通过后成为RFC
- 草案标准
- 因特网标准
制定者有
- ISO:OSI参考模型、HDLC
- ITU:大量远程通信标准
- IEEE:802标准
1.1.6 性能指标
- 带宽(Bandwidth):单位比特每秒bitps,表示传送数据的能力,同“最高数据率”
- 时延(Delay):数据从网络一端传到另一端的总时间,是以下四部分的和:
发送时延=分组长度/信道宽度
传播时延=信道长度/电磁波的传播速率
-
处理时延
:在交换节点储存和转发所需时间 -
排队时延
:进入路由器中等待处理直到转发的时延
- 时延带宽积:若发送端连续发送,在发送的第一个比特即将到达终点时发送端已经发送的比特数,即:
时延带宽积=传播时延*信道带宽
- 往返时延(Round-Trip Time,RTT):发送端发送数据开始到收到接收端的确认经历的时延(接收端收到立即发送确认)
- 吞吐量(Throughput):单位时间通过某网络/信道/接口的数据量
- 速率(Speed):连接在计算机网络上的主机在信道上传送数据的速率,又称为数据率/比特率,最高速率即带宽。
1.2 网络体系结构、参考模型
1.2.1 计算机网络分层结构
计算机网络的各层及其协议的集合称为网络的体系结构Architecture。
分层结构中,从低层到高层从第1层开始计数。第n层的活动元素称为n层实体。不同机器的同一层称为对等层,同层的不同实体称为对等实体。n层实体被n+1层利用,n层为服务提用者,n+1层为服务用户。
每一层的报文分为两个部分
- 服务数据单元(Service Data Unit, SDU):为完成用户要求功能而传送的数据,第n层的SDU称为n-SDU
- 控制信息部分(Protocol Control Information, PCI):控制协议操作的信息,第n层的PCI称为n-PCI
- 二者共同组成协议数据单元(Protocol Data Unit, PDU):对等层次之间传送的数据单位,第n层的PDU称为n-PDU。
- 每层的协议数据单元都有一个通俗名称,如物理层PDU-比特;链路层PDU-帧,网络层PDU-分组,传输层PDU-报文
- n+1层收到的PDU作为n层的SDU,加上n层的PCI成为n层的PDU,交给第n-1层作为SDU,再加上n-1层的PCI发送。接收端则进行相反操作,将接收到的PDU减去当前层的PCI作为上一层的PDU。
n-PCI + n-SDU = n-PDU = (n-1)-SDU
层次结构的含义:
- 第n层的实体不仅要使用n-1层的服务,实现自身定义的功能,还要向第n+1层提供本层的服务,该服务就是自身及下面所有层的服务总和
- 最底层只提供服务,是整个层次结构的基础,中间层同时是下一层服务的使用者和上一层服务提供者,最高层面向用户提供服务。
1.2.2 协议、接口、服务
1.协议
进行网络中数据交换的规则、标准称为网络协议(Network Protocol),是控制两个或多个对等实体进行通信的规则集合,是水平的。不对等实体之间没有协议。
协议的组成:
- 语法:格式
- 语义:功能
- 同步:条件、时序关系
2.接口
同一节点内相邻两层间交换信息的连接点。是一个系统内部的的规定,每一层只为紧邻的层提供接口,不跨层提供。
同一节点相邻两层的实体通过服务访问点,Service Access Point, SAP进行交互。
服务是通过SAP向上提供的,即n+1层通过第n层的SAP访问n层的服务。每个SAP都有一个标识地址,实质上就是一个逻辑接口。
3.服务
服务是下层对紧邻的上层提供的功能调用,是垂直的。实现某一层的协议还需低层提供的服务。
上层使用下层的服务必须通过和下层交换一些命令,在OSI中称为服务原语,有以下四类两组:
- 请求Request:服务用户发往提供者,请求完成工作
- 确认Confirmation:提供者发往用户,作为对请求的确认
- 指示Indication:提供者发往用户,指示做事
- 响应Response:用户发往提供者,表示对指示的响应
本层的服务用户只能看到服务,看不到下层的协议。
服务的三种分类方式:
- 面向连接服务和无连接服务
- 面向连接:实现建立连接、分配资源(如缓冲区),结束后释放
- 无连接:不需要建立连接,发送时直接发送
- 可靠服务和不可靠服务
- 可靠:网络具有纠错、检错、应答机制
- 不可靠:只是尽量可靠传送,但不保证正确
- 有应答服务和无应答服务
- 有应答:接收方收到后向发送方应答
- 无应答:不自动给出应答,但可以在高层实现应答,如WWW服务的客户端收到服务器的文件不必应答
1.2.3 ISO/OSI参考模型、TCP/IP模型
1.OSI参考模型
由ISO给出,称为开放系统互联参考模型(OSI/RM),有七层,自下而上为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。低三层为通信子网,完成数据传输;高三层为资源子网,相当于计算机系统,完成数据处理。
-
物理层(Physical Layer):
- 按比特传输,任务是透明的传输比特流,功能是在物理介质上为数据端设备透明的传输原始比特流。
- 定义了数据终端设备(DTE)、数据通信设备(DCE)的物理和逻辑连接方法,该层的协议称为物理层接口标准或物理层规程Procedure
- 接口标准如:EIA-232C、EIA/TIA RS-449、X.21等
- 主要研究以下内容:
- 通信链路和通信结点连接所需的电路接口的参数
- 通信链路上传输带信号的意义和电气特征,如0和1的意义
-
数据链路层(Data Link Layer)
- 传输单位是帧,任务是将网络层传下来的IP数据组装成帧,主要功能是:成帧、差错控制、流量控制(协调发送和接受速度)、传输管理
- 广播式网络的数据链路层需要控制对共享信道的访问,因此有一个特殊子层:介质访问子层
- 典型协议有:SDLC、HDLC、PPP、STP、帧中继
-
网络层(Network Layer)
- 传输单位是数据包,关心通信子网的运行控制,主要任务是把网络层的协议数据单元从源端传到目的端,为分组交换网的不同主机提供通信服务;关键问题是对分组进行路由选择、实现流量控制、拥塞控制、差错控制、网际互联
- 协议有:IP(Internet Protocol)、IPX、ICMP、IGMP、ARP、OSPF等。
-
传输层(Transport Layer)
- 也叫运输层,单位是报文段(TCP)或用户数据报(UDP),任务是负责主机中两个进程的通信,功能是为端到端链接提供可靠的传输服务,为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等服务。
- 链路层是点到点通信,而传输层是端到端通信。点一般是用于标识主机的硬件地址或IP地址,而端指主机中某个特定进程。
- 使用传输层进行端到端传输可以让高层用户忽略通信子网的存在、交替和变化。
- 由于一个主机可有多个进程,传输层还需要具有复用(多个应用层进程同时使用下面运输层的服务)和分用(运输层把收到的信息分别交给应用层相应进程)的功能。
- 协议有:TCP、UDP
-
会话层(Session Layer)
- 允许不同主机上各进程的会话,利用的是传输层提供的端到端等服务,向表示层提供增值服务(主要是向表示层实体或用户进程提供建立连接并在连接上有序传输数据,这就是会话,建立过程为建立同步SYN)
- 负责管理主机间的会话进程,包括建立、管理、终止进程间的会话。会话层使用校验点使通信失效时实现从校验点的恢复通信,实现数据同步。
-
表示层(Presentation Layer)
- 主要用于处理在两个通信系统中交换信息的表示方式,不同机器采用的编码和表示方法不同,使用的数据结构也不同。表示层采用个抽象的标准方法定义数据结构,采用标准编码形式。此层也可以提供加密和解密、编码的转换。
-
应用层(Application Layer)
- 是OSI模型的最高层,用户与网络的界面。为特定类型的网络应用提供访问OSI环境的手段。用户的实际应用多样,要求应用层采用不同的应用协议解决需求。是最复杂、协议最多的一层。典型的有TCP:FTP、SMTP、HTTP,UDP:DNS,RTP等。
2.TCP/IP模型
是ARPA在研究ARPANet时提出的,属于一种四层模型,从低到高依次为:网络接口层(物理层+数据链路层),网际层(网络层)、传输层、应用层(会话层、表示层、应用层)
- 网络接口层:
- 功能类似物理层和数据链路层,表示与物理网络的接口。但实际上 TCP/IP本身并不描述这一部分,只是指出主机必须使用某种协议和网络连接在网络上传递IP分组。
- 具体可以是各种类型的局域网,如以太网、令牌环网、令牌总线网等,或电话网、SDH、帧中继等公共数据网络。
- 责任是从主机或节点接受IP分组,并发送到指定的物理网络上。
- 网际层(主机-主机):
- TCP/IP的关键部分,类似OSI网络层,将分组发往任何网络,并为各自其选择合适的路由,但不保证各分组的有序到达。有序交付由高层负责。
- 定义了标准的分组格式和协议:IP协议,有IPv4、IPv6
- 传输层(应用-应用 or 进程-进程):
类似OSI中的传输层,使得发送端和目的端主机的对等实体进行绘画。主要由以下两种协议:- 传输控制协议(Transmission Control Protocol,TCP),面向连接,数据的单位是报文段,提供可靠交付
- 用户数据报协议(User Data Protocol,UDP),无连接,数据汆熟单位是用户数据报,不保证可靠交付。
- 应用层(用户-用户):
包含所有高层协议。如虚拟终端(Telnet)、文件传输(FTP)、域名解析(DNS)、超文本传输(HTTP)、电子邮件(SMTP)- IP协议是因特网的中心协议,TCP/IP可以为各种应用提供服务(everything over IP),并允许IP协议在各类网络构成的互联网上运行(IP over everything)。
3. TCP/IP和OSI的比较
- OSI精确定义了服务、协议、接口,符合面向对象编程的思想,而TCP/IP在这三个概念上没有明显区分
- OSI产生在协议发行之前,不偏向任何协议,不确定将协议放在哪一层;TCP/IP则相反,首先出现协议,不会出现协议不匹配模型的问题。
- TCP/IP设计之初考虑过多种异构网络的互联问题,并将IP协议作为单独的层次。OSI则只考虑了公用数据网。
- OSI在网络层支持无连接和面向连接,而传输层仅面向连接,而TCP.IP认为可靠性是端到端的问题,在网际层仅有无连接的通信模式。
综合为五层协议的体系结构:
应用层、运输层、网络层、数据链路层、物理层