网络发展和协议
- 计算机网络背景
- 从独立模式到网络互联模式
- 计算机网络发展七个阶段
- 1. 批处理
- 2. 分时系统
- 3. 计算机之间的通信
- 4. 计算机网络的产生
- 5. 互联网的普及
- 6. 以互联网技术为中心的时代
- 7. 单纯建立连接 到 安全建立连接
- 协议
- 例子:人与人之间的对话
- 计算机中的协议
- 协议分层
- OSI参考模型中各个分层的作用
- 传输方式的分类
- 面向有连接型与面向无连接型
- 电路交换与分组交换
- 地址
- 地址唯一性
- 地址的层次性
- 网络构成要素
- 网卡
- 中继器
- 网桥/2层交换机
- 路由器/3层交换机
- 4-7交换机
- 网关
- 结尾
计算机网络背景
从独立模式到网络互联模式
最开始计算机是以单机模式被广泛使用(也被称为独立模式),随着计算机不断发展,计算机被连接起来称为一个计算机网络,连接多台计算机实现信息共享,同时还能在两台物理位置较远的机器之间及时传递信息.
计算机网络根据规模可以分为WAN(Wide Area Network,广域网)和LAN(Local Area Network,局域网).
计算机网络发展七个阶段
从20世纪50年代到现在,计算机使用模式发生了很多变化,计算机与网络的发展大致key分为下面7个阶段.
1. 批处理
为了能让更多人使用计算机,出现了批处理(Batch Processing)系统.
批处理:事先将用户程序和数据装入卡带或磁带,并由计算机按照一定的顺序读取,使用户所要执行的这些程序和数据能够一并批量得到处理的方式.
2. 分时系统
它是指多个终端与同一计算机连接,允许多个用户同时使用一台计算机的系统.
因为当时计算机造价非常昂贵,一人一台计算机的费用过于高昂,分时系统的出现使得用户感觉自己好像"完全使用一台计算机一样".
上面体现了分时系统的一个重要特性–独占性.
3. 计算机之间的通信
在分时系统中,计算机与每个终端之间用通信线路连接,这并不意味着计算机与计算机之间也已经互相连接.
在计算机通信技术诞生之前,想将一台计算机中的数据转移到另一台计算机中是相当繁琐的.
大概操作是:
- 将数据保存到磁带等外部存储介质中
- 将这些介质送到目的计算机
有了计算机间的通信技术,实现了计算机与计算机之间由通信线路连接,使得我们很轻松及时读取另一台计算机中的数据,从而极大地缩短了传送数据的时间.
4. 计算机网络的产生
20世纪70年代,人们开始实验基础分组交换技术的计算机网络,到了80年代,一种能互连多种计算机的网络随着诞生.它能让各式各样的计算机相互连接,从大型的超级计算机,主机到小型电脑.
其中窗口系统的发明,更是拉进了人们与网络的距离,有了窗口模式,用户不仅key同时执行多个程序,还能在这些程序之间自由地切换作业.
5. 互联网的普及
20世纪90年代,基本上专注于信息处理的公司和大学已经为员工和研究人员实现了"一人一机"的环境.
然而这种环境的构建成本不菲,使用中也遇到很多新问题.
基于此,人们提出了"瘦身"和"多供应商连接"(异构性计算机之间的连接)
瘦身: 当时个人电脑与UNIX工作站从性能上不亚于一台主机,利用这些设备建立网络更有优势,主要体现在两个方面(1.价格低;2.操作简单).
由于这一趋势导致曾经在大型主机上才能运行的公司核心业务系统逐渐转移到"轻量型"的个人电脑或UNIX工作站上运行.
6. 以互联网技术为中心的时代
互联网普及和发展对通信领域产生了巨大的影响.
许多发展道路各不相同的网络技术也都正在向互联网靠拢,例如:曾经一直作为通信基础设施,支撑通信网络的电话网,随着互联网的快速发展,其低位随着时间的推移被IP(Internet Protocal)网所取代,而IP网本身就是互联网技术的产物.
7. 单纯建立连接 到 安全建立连接
互联网的便捷性也给人们的生活带来了负面影响,比如:计算机病毒的侵害,信息泄露,网络欺诈等利用互联网犯罪行为日益增多.
人们当初关注单纯的连接性,以不受任何限制地建立在互联网连接为最终目的;
然而现在,人们更追求"安全建立连接"的目标.
协议
计算机网络与信息通讯领域里,经常提到"协议"这一个词.
那么什么是协议呢?
协议: 计算机与计算机之间通过网络实现通信时事先达成一种"约定".
这种约定使得那些由不同厂商的设备,不同CPU以及不同的操作系统组成的计算机之间,只要遵循相同的协议就能够实现通信.
例子:人与人之间的对话
协议如同人与人的对话
比如有三个人A,B,C. A只说汉语,B只说英语,C既会说汉语也会说英语.
现在A与B聊天,他们之间如何沟通呢?
如果是A与C聊天,又会怎么样?
这时如果我们:
- 将汉语和英语当作"协议"
- 将聊天当作"通信"
- 将说话的内容当作"数据"
这么看来,A和B说多久都无法胶料,因为他们之间的谈话所用协议(语言)不同,双方都无法将数据(所说的话)传递给对方.
同理可推断,A和C是可以正常沟通的,即采用同一种协议(语言),使得他们之间能够传递所期望的数据(想要说给对方的话).
计算机中的协议
人与人的沟通并不受太多规则限制,及时有任何规则之类的东西,人们也可以通过自己的应变能力很自然的去适应规则.
然而在计算机通信当中显然无法实现(因为计算机智能水平还没有到达人类的高度).
计算机从物理连接层面到应用程序的软件层面,各个组件都必须严格遵循事先达成的约定才能实现真正的通信.
协议分层
ISO制定标准化OSI之前,提出了作为通信协议设计指标的OSI参考模型.
这一模型将通信协议中必要的功能分为了7层,通过这些分层,使得那些比较复杂的网络协议更加简单化
在这一模型中,每个分层都接收由它下一层所提供的特定服务,并且负责为自己的上一层提供特定的服务.
上下层进行交互时所遵循的约定称为----接口
同一层之间交互所遵循的约定称为—协议
OSI参考模型中各个分层的作用
层数 | 分层名称 | 功能 | 每层功能概览 |
---|---|---|---|
1 | 物理层 | 以0,1代表电压的高低,灯光的闪灭.界定连接器和网线的规格 | 比特流与电子信号之间的转换 |
2 | 数据链路层 | 互连设备之间传送和识别数据帧 | 数据帧与比特流之间的转换 |
3 | 网络层 | 地址管理与路由选择 | 经过哪个路由传递到目标地址 |
4 | 传输层 | 管理两个节点之间的数据传输.负责可靠传输(确保数据被可靠地传送到目标地址) | 是否有数据丢失 |
5 | 会话层 | 通信管理.负责建立和断开通信连接(数据流动的逻辑通路),管理传输层以下分层 | 何时建立连接,何时断开连接以及保持多久的连接 |
6 | 表示层 | 设备固有数据格式和网络标准数据格式的转换 | 接受不同表现形式的信息,如文字流,图像,声音等 |
7 | 应用层 | 针对特定应用的协议 | 针对每个应用的协议,比如:电子邮件–电子邮件协议 |
传输方式的分类
网络通信中可以根据其数据发送方式进行多种分类,分类方法有很多,下面介绍几种.
面向有连接型与面向无连接型
通过网络发送数据,大致可以分为面向有连接与面向无连接两种类型.
- 面向有连接型
在发送数据之前,需要在收发主机之间连接一条通信线路.
好比人们日常打电话,只有对方拿起电话后才能真正通话,通话结束后将电话机扣上就如同切断电源.
因此在有面向连接的方式下,必须在通信传输前后,专门进行建立和断开连接的处理. - 面向无连接型
面向无连接型则不要求建立和断开连接.
发送端可于任何时候自由发送数据,当然接收端永远不知道自己在何时从哪里收到数据.
因此接收端需要时常确认自己是否收到了数据.
电路交换与分组交换
目前网络通信大致分两种—电路交换和分组交换.
- 电路交换
用于过去的电话网,历史相对久远.
主要是负责数据的中转处理.
计算机连接到交换机,交换机和交换机之间由众多通信线路连接,还要交换机与目标主机连接建立通信电路.
我们将上面连接电路称为建立连接.建立好连接后,用户就可以一直使用这条线路,直到连接被断开为止. - 分组交换
上面电路交换过程中,谁也无法预测某一台计算机的数据传输从何时开始和结束,如果并发用户数据超过交换机之间的通信线路数,就意味着通信根本无法实现.
因此,人们想到一个新方法:让连接到通信电路的计算机将所要发送的数据分成了多个数据包,按照一定的顺序排列之后分别发送
这就是分组交换.
大致过程:
- 发送端计算机将数据分组发送给路由器
- 路由器收到分组数据后缓存到自己的缓存区
- 路由器缓存后转发后目标计算机
基于上述过程,分组交换也有一个别名蓄积交换.
地址
通讯传输中,发送端和接收端可以被视为通信主体.它们都能由一个所谓"地址"的信息加以标识出来.
比如: 打电话时,电话号码就相当于"地址".
地址唯一性
想让地址在通信当中发挥作用,首先需要确定通信的主体.
一个地址必须明确地表示一个主体对象.
在同一个通信网络中不允许有两个相同地址的通信主体存在,这就是地址唯一性.
可能你会有疑问,对于单播通信还好理解,那如果接收端设备不止一个呢?
对于这种情况,我们可以对多个设备组成的一组通信赋予同一个具有唯一特性的地址,从而可以避免产生歧义,明确接受对象.
举个例子:
老师说:一年一班的同学请起立,其中一年一班就是一次"多播"
地址的层次性
地址总数不是很多的情况下,有了唯一地址就可以定位相互通信的主体,然而当地址的总数越来越多时,如果高效地找出通信的目标地址是一个重要的问题.
为此人们发现地址除了唯一性还要有层次性.
MAC地址和IP地址在标识一个通信主体时虽然都具有唯一性,但是它们当中只有IP地址具有层次性.
网络构成要素
搭建一套网络环境需要各种各样的电缆和网络设备
下面我们介绍一些硬件设备.
网卡
任何一台计算机连接网络时,都必须使用网卡(全称为网络接口卡).
网络接口卡(NIC)有时也被称为网络适配器,网卡,LAN卡.
计算机必须具备能够接入无线网的NIC才能保证连接到网络.
中继器
中继器(Repeater)是在OSI模型第一层—物理层面上延长网络的设备.
由电缆传过来的电信号或光信号由中继器的波形调整和放大再传给另一个电缆.
但注意:中继器只是单纯负责信号在0与1比特流之间的替换,并不负责判断数据是否有错误,而且通过中继器进行的网络延长,其距离也并非key无限扩大.
有些中继器key提供多个端口服务.这种中继器被称为中继集线器或集线器.
网桥/2层交换机
网桥是在OSI模型的第2层—数据链路层面上连接两个网络的设备.
它能够识别数据链路层中的数据帧,并将这些数据帧临时存储于内存,再重新生成信号作为一个全新的帧转发给相连的另一个网段.
数据链路的数据帧有个数据位叫FCS(用于校验数据是否正确送达目的地),网桥可以通过检查这个域中的值,将那些损坏的数据丢弃,从而避免发送给其他的网段.
此外网桥还可以通过自学机制和过滤功能控制网络流量.
有些网桥能够判断是否将数据报文转发给相邻的网段,这种网桥被称为自学式网桥.
路由器/3层交换机
路由器是OSI模型的第3层—网络层面上连接两个网络,并对分组报文进行转发的设备.
网桥是根据物理地址(MAC地址)进行处理,而路由器则是根据IP地址进行处理的.
由此,TCP/IP中网络层的地址就成为了IP地址.
4-7交换机
4-7交换机负责处理OSI模型中从传输层至应用层的数据.
如果用TCP/IP分层模型来表述,4-7层交换机就是已TCP等协议的传输层及其上面的应用层为基础,分析收发数据,并对其进行特定的处理.
比如,对于并发访问量比较大的企业级Web站点,使用一台服务器肯定是不足以满足前端的访问需求,这是就是架设多台服务器分担,但是前端访问接口就只有一个,这时候就可以在前端加一个负载均衡器.
网关
网关是OSI参考模型中负责将从传输层到应用层的数据进行转换和转发的设备.
它不仅转发数据还负责转换数据,它通常会使用一个表示层或应用层网关,在两个不能直接通信的协议之间进行翻译,最终实现两者之间的通信.
比如互联网邮件与手机邮件之间的转换服务.
互联网邮件与手机邮件之间如果不能互相兼容,那就是表示层和应用层中的"电子邮件协议"不同导致的.
我们设置一个网关,它负责读取不同的协议后,对它们逐一进行合理的转换,再将相应的数据转发出去,这样就可以实现通信了.
此外,有时候微粒控制网络流量和安全的考虑,有时会使用代理服务器(Proxy Server).这种代理服务器也是网关的一种,称为应用网关.
结尾
第一章的内容到这里就结束了,主要是了解一些基础的网络概念,为后续深入学习做准备