计算机网络概述
计算机网络概述
计算机的起源
世界上第一台计算机 1946 年诞生于美国悉尼法尼亚大学
为了解决导弹弹道计算速度(取代人工)
实际上德国军方 1938 年已将计算机用于导弹弹道计算
人类几乎所有的发明创造首先用于打击自己的同类,尔后才造福人类
计算机和计算机网络发展的六个阶段
<1> 批处理
程序卡片,多人轮流使用一台电脑
<2> 分时系统
一个主机分时为多个终端服务(采用 UNIX OS)
<3> 计算机之间的通信
计算机之间直接通信
<4> 计算机网络的产生
美国很多大公司推出了自己的局域网。 如: 以太网,令牌网
<5> 互联网的普及
<6> 互联网时代
目前使用较为典型的网络 OS
UNIX
Windows
Mac OS
Novell
计算机网路体系结构
五层协议的体系结构
<1> 物理层
利用传输介质为通信的网络结点之间建立、管理和释放物理连接
实现比特流的透明传输,为数据链路层提供数据传输服务
物理层的数据传输单元是比特
<2> 数据链路层
在物理层提供的服务基础上,数据链路层在通信的实体间建立数据链路连接
数据链路层的传输单元是“数据帧”
采用差错控制与流量控制方法,使有差错的 物理线路变成无差错的数据链路
<3> 网络层
通过路由选择算法为分组通过通信子网选择最适当的路径
为数据在结点之间传输创建逻辑链路,实现拥塞控制、网络互连等功能
传输单元是分组
<4> 运输层
向用户提供可靠端到端(end-to-end)服务
处理数据包错误、数据包次序,以及其他一些关键传输问题
传输层向高层屏蔽了下层数据通信的细节,是计算机通信体 系结构中关键的一层
<5> 应用层
为应用程序提供了网络服务
应用层需要识别并保证通信对方的可用性,使得协同工作的应用程序之间的同步
建立传输错误纠正与保证数据完整性的控制机制
实体、协议、服务和服务访问点
<1> 实体(entity)
表示任何可发送或接收信息的硬件或软件进程
不同机器上同一层的实体叫做对等实体(peer entity)
<2> 协议
是控制两个对等实体迚行通信的规则的集合,即协议是“水平的”
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下层所提供的服务
<3> 连接
是两个对等实体为迚行数据通信而进行的一种结合
<4> 服务
是各层向它的直接上层提供的一组原语或操作,是由下层向它的直接上层通过层间接口提供的,即服务是“垂直的”
本层的服务用户只能看见服务而无法看见下面的协议。下面的协议 对上面的服务用户是透明的
面向连接服务(connection-oriented)
面向连接服务具有连接建立、数据传输和连接释放这三个阶段
无连接服务(connectionless)
两个实体之间的通信不需要先建立好连接
是一种不可靠的服务。这种服务常被描述为“尽最大努力交 付”(best effort delivery)或“尽力而为”
相领两层之间的关系
面向连接服务的特点
面向连接服务的数据传输过程必须经过连接建立、连接维护与释放连接的三个阶段
面向连接服务的传输连接类似一个通信管道,发送者在一端放入数据,接收者从另一端取出数据,分组在数据传输过程中可以不用携带目的结点的地址
面向连接数据传输的收发数据顺序不变,传输可靠性好,但是协议复杂,通信效率不高
比较适合于在一定期间内要向同一目的地发送许多报文的情况
无连接服务的特点
无连接服务中的数据传输过程不需要经过连接建立、连接维护与释放连接的三个过程
无连接服务的每个分组都携带完整的目的结点地址,各分组在系统中是独立传送的
数据分组传输过程中,目的结点接收的数据分组可能出现乱序、重复与丢失的现象
无连接服务的可靠性不好,但是协议相对简单,通信效率较高
面向连接的服务并不等同于 “可靠的服务”
协议很复杂
<5> 著名的协议举例
占据两个山顶的蓝军与驻扎在这山谷的白军作战。 力量对比是:一个山顶上的蓝军打不过白军,但两个山顶的蓝军协同作战就可战胜白军。一个山顶上的蓝军拟于次日正午向白军发起攻击。于是发送电文给另一山顶上的友军。但通信线路很不好,电文出错的可能性很大。因此要求收到电文的友军必须发送确认电文。但确认电文也可能出错。 试问能否设计出一种协议,使得蓝军能实现协同作战因而一定(即 100 %)取得胜利?
这样的协议显然无法实现!
TCP / IP 的体系结构
TCP / IP 协议的体系结构
TCP / IP 协议的表示方法
现在因特网使用的 TCP / IP 体系结构
TCP / IP 协议族
Everything over IPIP over EverythingIP 可为各式各样的应用程序提供服务
互联网应用层的客户 - 服务器方式
TCP / IP 的应用层协议使用的 客户 - 服务器 方式
计算机的进程(process)就是运行着的计算机程序。为解决具体应用问题而彼此通信的进程称为 "应用进程"
应用层的具体内容就是规定应用进程在通信时所遵循的协议
客户(client)和服务器(server)都是指通信中所涉及的两个应用进程
客户 - 服务器方式所描述的是进程之间服务和被服务的关系
客户是服务请求方,服务器是服务提供方
客户进程和服务器进程使用 TCP / IP 协议进行通信
功能较强的计算机可同时运行多个服务器进程
后序
<1> 小写和大写开头的英文名字 internet 和 Internet 有何区别?
internet:互联网,是一个通用名词,泛指由多个计算机网络互连而成的网络,协议无特指
Internet:因特网,是一个专用名词,指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络;特指采用 TCP/IP 协议的互联网络
Internet 实际上是 internet 的双向应用
<2> 电路交换、报文交换和分组交换的主要区别
电路交换是建立一条临时的专用通路,使用完以后拆除链接,适合打数据量的实时通信
报文交换不在通信节点建立通路,将信息组合成报文,采用虚储-转发机制,线路的利用率高,但延迟大
分组交换是数据包定长的报文交换,交换节点的缓冲区可减小,传播时延也更小;一般分为数据包、虚电路、信元交换
<3> 网络协议与网络服务的区别
定义上的区别
网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。协议是规则,约定,而服务是功能,本领
层次上的区别
网络协议是由于网络节点之间联系的复杂性,在制定协议时,通常把复杂成分分解成一些简单成分,然后再将它们复合起来。协议是通信双方对等层之间才有的,是水平方向上的关系
服务则是通信某一端上下层之间才有的,是垂直方向上的关系,而且是自下向上提供的
水平与垂直的区别
协议是“水平的”,即协议是控制两个对等实体进行通信的规则
服务是“垂直的”,即服务是由下层通过层间接口向上层提供的。上层使用所提供的服务必须与下层交换一些命令,这些命令在 OSI 中称为服务原语
它们复合起来。协议是通信双方对等层之间才有的,是水平方向上的关系- 服务则是通信某一端上下层之间才有的,是垂直方向上的关系,而且是自下向上提供的
水平与垂直的区别
协议是“水平的”,即协议是控制两个对等实体进行通信的规则
服务是“垂直的”,即服务是由下层通过层间接口向上层提供的。上层使用所提供的服务必须与下层交换一些命令,这些命令在 OSI 中称为服务原语
版权声明: 本文为 InfoQ 作者【若尘】的原创文章。
原文链接:【http://xie.infoq.cn/article/be84a97740bf2a1b734b1af61】。文章转载请联系作者。
评论