在最开始,计算机网络使用的是单机模式,不同的计算机处理不同业务,也就不存在通信,随着业务要求的增加,人们就开始将一个个计算机连接在一起,形成一个计算机网络实现信息共享。
计算机网络根据规模可以分为广域网(WAN)****城域网(MAN)和局域网(LAN),我们通常所提的互联网多指广域网。
局域网
广域网
计算机网络发展概述
根据《图解TCP/IP》提出计算机网络的发展可以分为六个阶段:批处理阶段,分时处理阶段,计算机间通信阶段,计算机网络产生阶段,互联网普及阶段,互联网中心阶段。
批处理阶段
由于计算机制作成本高昂,不仅是个人还是小型公司都没有能力独立使用,于是便出现了批处理,批处理的意义就是事先将用户程序和数据装进磁盘,交由计算机按照顺序读取,使用户所执行的程序能够批量得到处理。
当然批处理计算机的制作成本依旧仍然价格昂贵,所以通常会放在专门进行计算机管理和运维的计算机中心,当时的计算机操作复杂,并且输出结果只能通过打印机打印才能得到,并且性能不佳,通常需要很久才能得到结果,工作效率低下。
分时系统阶段
分时系统(TSS)指的是多个终端与同一计算机连接,允许多个用户同时使用同一台计算机,这里终端指的是键盘显示器等输入输出设备。分时系统的特性包括:独占性,多路性,交互性,及时性。分时系统的出现首次实现了交互式的操作,并且促进了交互式编程语言BASIC的出现。此时,计算机开始走进办公场所。
在分时系统中,计算机和各个终端间用通信线路连接,但这并不是计算机之间相互连接。
计算机间通信阶段
随着计算机技术的发展,计算机的价格也不再让人望尘莫及,计算机也开始为处理日常事务而存在,但是不同计算机之间传输数据极为麻烦,人们只能通过磁盘实现数据传输,于是出现了计算机之间通过通信线路连接这一阶段,极大的缩短了传输时间。
计算机分布式处理也是在这一阶段出现的,公司内部不再仅存一台计算机,二十使用多台计算机来分布式处理,最后在交由总计算机处理得出结果。
计算机网络产生阶段
人们开始着手实现交换技术和不同厂商计算机之间的通信技术,能够让各式各样的计算机相互连接,同时在这一阶段窗口系统首次出现,也就是我们现在熟悉的一边听歌,一边聊天,一边敲代码的模式,多个应用程序可以同时进行。
互联网技术普及阶段
虽然在上一阶段实现了不同厂商异构计算机间的通信,但是布置这种环境所需要的成本不菲,互联网技术的出现解决了这一情况,也就是连接异构型计算机的通信网络技术,在此时E-mail和万维网飞速发展,真正的走进家庭。
互联网中心阶段
互联网的发展不再局限于计算机,手机、电视、游戏机都能联网使用,电商平台的发展,打车软件的广泛使用,衣食住行都有互联网的身影,互联网真正的融入了人们的日常生活。
协议
什么是协议?
协议就是一种计算机之间的一种约定,映照到人身上就是会汉语的人只能和会会汉语的人进行交谈。
有哪些协议?
在计算机网络通信领域中,协议是最常提及的词汇,互联网中常用的协议有TCP,IP,HTTP等,TCP/IP指的就是这些协议的集合,并不是TCP协议和IP协议,它是一种计算机网络体系结构。在局域网中通常使用IPX/SPX网络体系结构(Novell公司开发)。
- TCP/IP体系结构包括:IP,ICMP,TCP,UDP,HTTP,SNMP,SMTP等
- PX/SPX体系结构包括:IPX,SPX,NPC等
OSI七层模型
OSI来源
OSI模型是由国际标准化组织(ISO)提出的,目的是使协议标准化,让不同的计算机和操作系统间可以进行通信,推动网络普及。
OSI的分层
OSI模型将通信协议根据功能按顺序分为了七层,每层都接收下层的服务并且为上层提供服务,上下层之间遵循的约定叫接口,同层之间的约定叫做协议。
分层的优点在于能够细分通信功能,单独实现各层的协议,但是过分模块化会导致处理逻辑复写等情况。
分层介绍
- 应用层:为应用程序提供服务并规定应用程序中通信的相关细节,包括文件传输,电子邮件等协议。
- 表示层:将应用处理的信息转换为适合网络传输的格式,主要负责数据格式的转换。
- 会话层:主要负责数据传输相关的管理,如建立和断开通信连接和数据的分割等,。
- 传输层:起着确保数据可靠传输的作用,只在通信双方节点上进行处理,而无需再路由器上进行处理,会话层决定建立和断开连接的时机,传输层进行实际的处理,传输层指的是逻辑意义上的连接。
- 网络层:将数据传输到目标地址,主要负责寻址和路由选择。
- 数据链路层:负责物理层面上的节点之间的传输,数据帧和比特流之间的转换,数据链路层指的是物理的通信线路上的连接。
- 负责高电平、低电平和01比特流之间的互换,也就是电子信号和比特流之间的转换。
通信的分类
分组交换和电路交换
分组交换把数据分为名叫包的小单位进行传输的方法,报文首行通常会标明数据总大小,来源,接收端等信息,路由器会将分组数据先缓存到自己的缓冲区后再转发给目标计算机,路由器的缓存饱和时可能会出先数据丢失的情况。因为是通信线路共享,所以可以实现三个用户之间进行通信。TCP/IP就是分组交换。
在电路交换中,交换机主要负责数据的中转处理,计算机连接到交换机上,交换机和交换机之间通过众多通信线路进行连接,因此计算机之间进行传输数据时,需要建立一条通信电路,但是同一时刻如果存在多台计算机需要进行通信,就只能等待正在进行传输的两台计算机传输完毕才能进行传输。
单播、广播、多播和任播
单播就是一对一通信,比如说固定电话之间的通信。
广播就是指将消息从一台主机发送给与之相连的所有其他主机,但是它指的是在广播域(广播范围)内的才能进行。
多播和广播类似,但是多播需要限定某一组主机作为接收端。
任播是指在多台主机中选出一台作为接收端的一种通信方式,所选中的主机会返回一个单播信号。多存在于DNS服务器。
地址
通信传输中,发送端和接收端可以被视为通信主体。它们都能够被地址加以标识,不同层的协议使用不同的地址。
地址存在唯一性
每个通信地址必须明确主体对象,否则地址也就失去存在意义,目标主体可以指完成本次指令的计算机群组,也可以是单独一个计算机,也就是说广播、多播和地址的唯一性并不矛盾。
地址存在层次性
地址的层次性其实就是为了高效快速的找出通信的主体对象,可以通过国家的省市区的层次划分来理解。
MAC地址不存在层次性,因为MAC地址是由厂商在生产时对每块网卡进行制定的方式,相当于身份证号,但不同于身份证号,因为没法从mac地址中识别出其使用地址,只能作为网卡的唯一身份标识。
网络的构成
传输速率和吞吐量
传输速率是指两个设备之间数据流动的物理速率,单位为bps(每秒比特数),在不同介质之中传输速率不同,但是传输速率是恒定的,不会出现波动。
吞吐量指的是处理数据的能力,网络拥堵程度等信息,我们通常使用吞吐量来比较不同web框架的速度。
一些网络设备
- 网卡是计算机实现联网的设备,也就是在计算机系统中常见的网络适配器,比如想要连接无线网络必须有无线网卡,连接有线网络必须要有有线网卡。
- 中继器位于物理层,是一个信号放大器,负责信号之间的转换。
- 网桥位于数据链路层连接 两个网络的设备,也被称为二层交换机,网桥能够识别数据链路层中的数据帧(和分组数据相似),并将数据帧存储与内存,在重新生成全新的数据帧发送给相连的另一个网段。自学式网桥拥有自学机制,能够记住自己曾经转发的所有数据帧的mac地址,并保存到内存中,由此判断是否将数据报文转发给相邻网段。交换集线器(交换机)的每一个端口其实都提供网桥的功能。
- 路由器(3层交换机)工作在网络层,连接两个网络并对分组报文进行转发,网桥基于mac地址进行处理,路由器基于IP地址进行处理。
- 负载均衡器(4-7层交换机)工作在OSI参考模型的4-7层,以TCP等协议的传输层和网络层为基础,分析数据并进行相应处理。例如服务器集群的分发。
虚拟化技术和云
在一些电商网站,在双十一等购物高峰,服务器的访问量会极速提高,但在平时不会存在这么大的访问量,基于这样的背景,虚拟化技术被提出,如openstrack技术。应用拟化技术,将物理设备虚拟化的动态调整机制被称为云,只提供用户需要的信息。