目录
1.1计算机网络的发展
从计算机的网络的演变过程来看,计算机网络经历了以下4个发展阶段:
- 具有通信功能的联机系统,即终端—通信线路—计算机模式
- 具有通信功能的分时系统,即(多)终端—集中器—通信线路—计算机模式
- 计算机网络,即多计算机互连模式
- 国际标准化网络,即具有统一的网络体系结构,遵循国际标准化协议的网络
1.2 计算机网络的功能、组成及拓扑结构
1.2.1 计算机网络的功能
计算机网络是由多台独立的计算机通过通信线路和通信设备互连起来的系统,以实现彼此交换信息和共享资源的目的
计算机网络具有以下功能:
- 数据通信
- 资源共享
- 并行和分布式处理
- 提高可靠性
- 可扩充性
1.2.2 计算机网络的组成
计算机网络从结构上可分为两部分:
- 负责数据处理的计算机和终端
- 负责数据通信的通信控制处理机
计算机网络从逻辑功能上可分为两部分:
- 资源子网
- 通信子网
1.2.3 计算机网络拓扑结构
常见的基本网络拓扑结构有5种:网状、星状、树状、总线型和环状
1.网状拓扑:每个设备与其他任何一个设备都有一条专线连接
优点:
- 设备之间的数据负载有专门的连接承担,避免了共享链路中的拥塞问题
- 具有很好的健壮性
- 具有私有性和安全性
- 点到点的连接使故障检测和故障隔离十分容易
缺点:
- 所需要的电缆数量和设备上的输入\输出端口的数量过大
- 安装和重新配置十分困难
- 费用昂贵
2.星状拓扑:每个设备只有中心控制器相连接
优点:
- 拓扑结构简单
- 具有较好的健壮性
- 便于管理,故障检测和故障隔离变得容易
缺点:
- 中央控制器使整个网络可靠的瓶颈,中央控制器出现故障会造成整个网络的瘫痪
- 中央控制器还是整个网络性能的瓶颈
3.树状拓扑
优点:
- 允许更多的设备相连并且增加了信号在设备间的传输距离
- 允许网络隔离不同计算机的通信以及为不同计算机设定通信优先级
4.总线型拓扑:由一条长电缆组成的主干和连接在上面的网络设备组成
优点:
- 信息传输不存在路由和转发
- 易安装
缺点:
- 故障隔离和重新配置困难,加入新设备需要改动或更新主干,在总线上出现的故障或断裂会终止所有传输
- 由于信号的衰减,总线的长度和连接的设备数受到限制
5.环状拓扑:网络中各设备通过一条首尾相连的通信链路连接起来的一个闭合环状结构网
优点:
- 环状网络相对比较容易安装和重新配置
- 故障隔离比较简单
缺点:
- 如果网络规模较大,会有较大的传输延迟,所以对环最大长度和设备数量要有限制
- 在一个简单环中,由于单向传输,在整个环中的一个故障就能使整个网络瘫痪
6.混合型拓扑:通常一个网络将会由几个不同的拓扑子网连接起来,组成一个更大的网络
1.3 计算机网络体系结构
1.3.1网络协议和分层
一个网络协议主要由以下3个要素组成:
- 语法:数据与控制信息的结构或格式,如数据格式、信号电平等规定
- 语义:需要发出何种控制信息,完成何种动作,以及做出何种应答,包括用于调整和进行差错处理的控制信息
- 时序(同步):事件实现顺序的详细说明,包括速度匹配和顺序
对于网络协议,其结构最好使采用层次式的,分层的好处有:
- 各层之间互相独立
- 灵活性好
- 结构上可分隔开
- 易于实现和维护
- 有利于标准化工作
分层应遵循的主要原则:
- 当需要有一个不同等级的抽象时,就应该有一个相应的层次
- 每层的功能应当是十分明确的
- 应适当选择层与层的边界
- 层次数量应适当
分层是为了实现以下目标:
- 把一个复杂的网络合乎逻辑的氛围若干个较小的、比较容易理解的部分
- 在各个网络功能之间提供标准接口,如软件之间的标准接口
- 网络中个节点执行功能的对称性,网络中个节点的相同层执行相同的功能
- 为预测和控制网络逻辑的修改手段
- 为网络设计者、开发者在讨论网络功能时提供一种标准的语言
1.3.2 ISO OSI参考模型
(1)物理层
物理层规定在一个节点内如何吧计算机连接到通信介质上,规定了机械的,电气的功能。该层负责建立、保持和拆除物理链路;规定如何在此链路上传送原始比特流;规定比特如何编码,使用的电平和极性,连接插头插座的插脚如何分配等。在物理层数据的传送单位是比特(bit)
(2)数据链路层
数据链路层把相邻两个节点间不可靠的物理链路变成可靠、无差错的逻辑链路,具有把原始比特流进行分帧、排序、设置检错、确认、重发、流量控制等功能。数据链路层传送信息的单位是帧(frame),每帧包括定数量的数据和些必要的控制信息,在每帧的控制信息中包括同步信息、地址信息、差错控制信息、流量控制信息等。同物理层相似,数据链路层负责建立、维护和释放数据链路
(3)网络层
网络层连接网络中任何两个计算机节点,从一个节点上接收数据并正确地传送到另一个节点。在网络层传送的信息单位是分组或包(pecket)。 网络层的主要任务是要选择合适的路由和交换节点。透明地向目的站交付发送站所发的分组或包,这里的“透明”表示收发两端好像是直接连通的。
上述三层组成了所谓的通信子网,用户计算机连接到通信子网上。通信子网负责把一个计算机上的数据可靠地传送到另一台计算机, 但并未实现两台主机上进程之间的通信。通信子网的主要功能是面向通信的。
(4)传输层
传输层真正实现了“端到端”通信,把数据可靠地从一方的用户进程或程序送到另一 方的用户进程或程序。这层的控制通常由通信两端的计算机完成,中间节点一般不提供该层的服务,该层的通信与通信子网无关。从这层开始的以上各层全部是针对通信的最终 “源端一目的端”计算机进程的。传输层传送的信息单位是报文( mesage)
传输层向上一层提供一个可靠的“端到端”服务,使上一层看不见下面几层的通信细节。正因为如此,传输层成为网络体系结构中最关键的一层。传输层的功能主要在主机内实现,而物理层、数据链路层以及网络层的功能均在网络通信处理机中实现。传输层以上各层次的功能通常在主机中实现。
(5)会话层
会话层允许两台计算机上的用户进程建立会话连接,双方相互确认身份,协商对话连接的细节。它可管理会话是双向同时进行的,还是任何时刻只能一方向进行。在后一种情况下,会话层控制哪方有权发送数据。 会话层还提供同步点机制,在数据流中 插入同步点机制,在每次网络出现故障后可以仅重传最近一个同步点以后的数据,而不必从头开始。
传输层和会话层为两台计算机上的用户进程或程序之间提供了正确传送数据的手段。
(6)表示层
表示层主要解决用户信息的语法表示问题。表示层将数据从适合于某一系统的语法转变为适合于OSI系统内部使用的语法。具体地讲,表示层对传送的用户数据进行翻译或解释、编码和变换,使得不同类型的机器对数据信息的不同表示方法可以相互理解。另外,数据加密、解密、信息压缩等都是本层的典型功能。
(7)应用层
应用层确定进程之间通信的性质,以满足用户的需要。它负责用户信息的语义表示,并在两个通信者之间进行语义匹配。具体地说,应用层处理用户的数据和信息,由用户程序(应用程序)组成,完成用户所希望的实际任务。这层包括最终用户普遍需要的协议,如虚拟终端协议、文件传输协议、电子邮件协议等。
1.3.3 层间通信与对等层间通信
除物理层之外,对等层之间的通信叫做虚通信
层间通信以及物理层之间的通信叫作实通信
1.3.4 服务和数据单元
1.数据的传输方式
数据在网络中各节点内是沿层次传送的。
2.服务、服务访问点和数据单元
1.3.5 面向连接和无连接的服务
1.面向连接的服务
- 建立连接阶段
- 数据交换阶段
- 释放连接阶段
若两用户需要经常通信,可以建立永久虚电路(PVC)
2.面向无连接的服务
- 数据报
- 证实交付
- 请求回答
1.4 TCP/IP网络体系结构
1.4.1 TCP/IP协议栈
TCP/IP由5层构成:物理层、数据链路层、网络层、传输层和应用层
TCP/IP中应用层大致可以等同于OSI的会话层、表示层和应用层的结合
TCP/IP的传输层中定义了两个协议:TCP\UDP
TCP/IP的网络层主要协议是IP
TCP/IP在物理层和数据链路层中,TCP/IP没有任何协议
1.4.2 TCP/IP的物理层和数据链路层
TCP/IP的物理层和数据链路层负责把TCP/IP数据包发送到网络传输介质上,以及网络传输介质上接收TCP/IP数据包;
TCP/IP协议族的设计独立于底层的网络访问方法、帧格式、传输介质;
TCP/IP物理层与数据链路层有时称为网络接口层;
数据链路层在TCP/IP协议中被认为是不可靠的,网络层并不利用数据链路层可能存在的序号和应答服务;
保证可靠通信在TCP/IP中是传输层的任务;
1.4.3 TCP/IP的网络层
1.网络层的功能与协议
TCP/IP协议的网络层主要功能是:寻址、数据打包、路由选择;
IP协议是网络层的核心协议;
IP协议是一个无连接的协议,负责将数据分组从源节点转发的目的节点,IP协议的主要功能有IP寻址、路由选择、分组、合段;
由于IP协议是无连接的,所以任何数据开始传送之前都不需要建立一条从源节点到目的节点的通路或路径,每个分组可以采用不同的路径转发到目的节点;
IP协议不保证传输的可靠性,也不保证分组会按发送的顺序到达目的节点;
TCP/IP协议族在网络层的其他主要协议:ARP、RARP、ICMP、IGMP
2.IP地址
网络中每个独立主机的每个网络接口,以及路由器的每个端口必须有一个唯一的Internet地址,称为IP地址
按照通信方式分类,IP地址分为:
- 单播地址
- 广播地址
- 多播地址
1.4.4 TCP/IP的传输层
1.TCP协议和UDP协议
TCP/IP协议族提供了两个传输层协议:传输控制协议(TCP) 和用户数据报协议(User Datagram Protocol, UDP);
TCP 是一个可靠的面向连接的传输层协议,由于IP协议提供的是面向无连接的不可靠的服务,所以在TCP/IP协议族中面向连接的可靠的传输服务由传输层提供;
TCP将源主机的数据以字节流的形式无差错地传送到目的主机,发送方的TCP将上层用户的数据划分成独立的报文并提交给网络层进行发送,而接收方的TCP将接收的报文重新装配并提交给上层用户;
TCP还需要进行流量控制,以防止接收方来不及处理发送方发来的数据而造成缓冲区的溢出。
UDP是一个不可靠的面向无连接的传输层协议,UDP将可靠性问题交给应用程序解决;
UDP协议主要面向请求/应答式的应用,这种应用往往只有一来一往两次报文交换,假如为此而建立连接和释放连接,开销是相当大的;
另外,UDP协议也应用于对可靠性要求不高但要求网络延迟较小的场合,如语音和视频数据的传送。
2.传输层地址
通信不仅发生在从源计算机到目的计算机之间,还发生在从源端应用程序到目的端应用程序之间;
1.4.5 TCP/IP的应用层
TCP/IP中常用的应用层协议有以下几种:
- 文件传输协议(FTP)
- 虚拟终端协议(Telnet)
- 网络新闻传输协议(NNTP)
- 简单邮件传输协议(SMTP)
- 超文本传输协议(HTTP)
- 邮局协议(POP)
- 域名协议(DNS)
- 简单网络管理协议(SNMP)