计算机网络的硬件、软件及层次结构
计算机网络的硬件
网卡
网卡又名网络适配器(Network Internet Card NIC),是计算机和网络线缆之间的物理接口。任何计算机想要连入网络都必须通过网卡

网卡的作用:将计算机要发送的数据变换成数据包,转换成串行的光信号或电信号送到网线上传输;同样把网线上传输过来的信号转换成并行的数字信号,提供给计算机
网卡的功能:并行数据和串行信号之间的转换,数据包的拆装,网络访问控制和数据缓冲等
网线
网线是用于连接计算机和通信设备之间的通信线路,常用的有双绞线,光纤
双绞线: 简单易用,造价低廉,一般用于局域网或计算机之间少于100m的连接
光纤: 一般用于传输速率高,传输信息量大的计算机网络。光纤的传输质量好、速度快,但造价和维护比较贵
集线器
主要功能:对接收到的信号进行再生整形放大,以延长网络的传输距离,同时把所有计算机终端集中在以它为中心的节点上
集线器工作在网络最底层,不具备任何智能,它只是简单的把电信号放大,然后转发给所有接口。集线器一般只用于局域网
调制解调器
调制解调器(Modem)是计算机与电话线之间进行信号转换的装置,它完成计算机的数字信号与电话线的模拟信号之间的互相转换。使用调制解调器可以使计算机接入电话线,并利用电话线接入因特网。
交换机
交换机是一个拥有智能和学习能力的设备。它可以学习掌握网络的结构及与它相连计算机的相关信息,并且可以对接收到的数据进行过滤,再将数据包送至与目的主机相连接的接口。用交换机可组建局域网或者把两个网络连接起来。
路由器
路由器(Router)为网络中数据选择路由和转发数据,是计算机网络的核心设备。相当于高速公路中的立交桥。路由器可以连接多个网络或网段,并对不同网络或网段之间的数据信息进行“翻译”,使它们能够相互“读”懂对方的数据。
路由器提供分组过滤、分组转发、优先级、复用、加密、压缩和防火墙等功能,并且可以进行性能管理、容错管理和流量控制。
服务器
在计算机网络中专门用于为其他计算机提供服务的计算机叫做服务器。服务器就是一台运行了服务进程的计算机。服务器是计算机网络中一个重要的成员。如我们上网浏览的网页就来源于WWW服务器。
计算机网络终端
一般计算机网络的终端指的是一台独立的计算机。但随着硬件技术的发展,已经有很多其他终端比如手机,在未来,终端和独立的计算机可能会逐渐失去严格的界限,可能会有更多的智能设备出现在未来计算机网络中

计算机网络中的软件
计算机网络软件是用来驾驭和管理计算机网络硬件资源的,使得用户能够有效地利用计算机网络的资源。在计算机网络软件中,网络协议是网络软件系统中最重要的内容,有了网络协议的支持才有网络操作系统和其他网络应用软件。
网络协议
协议:通信双方为了实现通信而设计的约定或对话规则
网络协议:网络中的计算机为了相互通信和交流而约定的规则
网络操作系统
网络操作系统负责管理整个网络资源,是计算机网络的心脏。网络操作系统一般是在计算机单机操作系统的基础上建立起来的,加入了强大的网络功能。如Windows操作系统家族里有单机版的操作系统Windows XP Home Edition,也有网络操作系统Windows2003 Server等。
网络操作系统的功能:
- 支持多任务
- 支持大内存
- 支持对称多处理
- 支持网络负载均衡
- 支持远程管理
网络操作系统的结构:
局域网的组建模式通常有对等网络和客户机/服务器网络两种。客户机和服务器网络是目前组网的标准模型。
客户机/服务器网络操作系统由客户机操作系统和服务器操作系统两部分组成。
- 客户机操作系统的功能是让用户能够使用本地资源,处理本地的命令和应用程序,实现客户机与服务器的通信。
- 服务器操作系统的功能是管理服务器和网络中的各种资源,实现服务器与客户机的通信,提供网络服务和网络安全管理。
其它网络软件
即时通讯类软件:如腾讯QQ,微软MSN,网易POPO,新浪UC等。
Web浏览器:Internet Explorer,Mozilla Firefox,Tencent Traveler(腾讯TT)等。
杀毒软件:诺顿、卡巴斯基、瑞星、江民、金山毒霸等。
网络播放器:暴风影音、干干静听等。
网络下载工具:迅雷(Thunder)、BitComet(BT)、酷狗(KuGoo)等。
通信的规则
实现通信的几个要解决的基本问题:
如何将不同表现形式的数据放到媒介中传输?
为了解决这个问题,一般是将数据转换为二进制编码进行存储和传输如何确保数据被发送给正确的接收方
本质是解决在通信过程中寻址的问题,每个通信的参与者必须满足以下两个条件:- 拥有某种地址信息来表示自己的物理位置
- 有用某种身份识别信息来标识该设备本身
IP地址就是为表示设备位置而定义的逻辑地址
如何保证数据有序高效可靠的到达接收方
有序:包交换网络允许存在后发先至的情况
高效、可靠:需要一种机制来权衡二者的关系- 尽可能短的时间内完成数据的收发。
- 根据接收情况实时调整数据的发送速率
网络协议的作用
实现数据通信的两个要素:

通信系统双方通过遵循某个协议可以让整个通信系统产生既定的效果,但协议本身不会赋予或剥夺任何通信系统双方的功能

协议栈的必要性
对于一个复杂的通信系统,通常具备以下特点
- 数据的表现形式繁多
- 传输介质类型不尽相同
- 涉及的操作流程繁琐
因此,需要为每个通信系统制定一个分层的框架,以实现
- 为特定的操作提供规范化的标准(协议)
- 不同的协议在内容上不会相互重复或冲突
网络体系结构
计算机网络体系结构是计算机网络及其部件所应完成的功能的精确定义。网络体系结构通常应包括以下内容:网络功能部件的定义及相互关系的描述、网络与用户之间的接口定义
网络体系结构的三要素:
- 层:能提供某种或某一类服务功能集合的逻辑构造
- 协议:为完成该层对等实体之间通信所必须遵守的规则或标准
- 接口:两个相邻协议层之间交换信息的连接点

网络体系结构是一种分层的层次式结构:
- 分层的原因:复杂的问题分而治之,逐个解决
- 分层的思想:每层都在它的下一层服务的基础上提供更高级的增值服务,最高层提供能运行的应用程序的服务
- 分层的好处:使每层实现一种相对对立的功能,每次不必知道下面一层是怎么实现的,只要知道下层通过接口提供的服务是什么,以及本层能向上提供什么服务就好
- 分层的原则:
- 当需要一个不同抽象体时,应该单独创建一层
- 每层都应该执行一个明确定义的功能
- 选择每一层功能时,应该考虑到定义国际化标准的协议
- 选择层的边界时,应使通过接口的信息量最少
- 层数应该足够多,保证功能不被混在一层中
- 层数也不能太多,避免体系结构变得过于庞大
OSI 7层参考模型
国际标准化组织ISO(International Organization for Standardization)于1979年12月公布了开放式系统互连参考模型OSl/RM(Reference Model ofOpen System Interconnection),”开放”是指按OSI标准建立的系统可以和世界上任意一个也按OSI标准建立起来
的系统相互进行通信。

第1层到第3层主要负责通信功能,一般称为通信子网层。第5层到第7层属于资源子网的功能范畴,称为资源子网层。传输层起着衔接上下三层的作用。
物理层
物理层是OS引参考模型的最底层。物理层为通信提供物理链路,实现比特流(bt)的透明传输。物理层的作用是要尽可能地屏蔽掉不同物理设备和传输媒体的差异,使其上面的数据链路层感觉不到这些差异。
物理层定义了四个重要特性:机械特性、电气特性、功能特性和规程特性,以便建立、维护和拆除物理链接。
数据链路层
数据链路层是在物理层提供的比特流服务基础上,建立相邻结点间的数据链路,传输按一定格式组织起来的数据帧
作用:通过数据链路层协议,在不太可靠的物理链路上实现可靠的数据传送
主要功能:链路管理、帧的装配与分解、帧同步、流量控制、差错控制、将数据和控制信息区分开、透明传输、寻址等
数据链路层提供了网络中相邻结点间透明的、可靠的信息传输
网络层
功能:提供源站到目标站的信息传输服务,负责由一个站到另一个站点的路径选择。网络层在通信子网中传输信息包或报文分组
网络层为了向传输层提供整个网络上任意两个结点之间数据传输通路,需要解决建立、维护以及结束两个站点之间的联系和由此而引起的路径选择、流量控制、阻塞和死锁等问题
传输层
传输层的作用是为不同系统内的会话实体建立端到端的连接,执行端到端的差错、顺序和流量控制,数据传输的基本单位是报文。
传输层将源主机与目标主机直接以点到点方式连接起来,把从源主机接收来的报文正确地传送到目的主机,是资源子网与通信子网的接口层。
传输层的服务可以提供一条无差错按顺序的端到端连接,也可以提供不保证顺序地独立报文传输,或多目标报文广播。
会话层
会话层也称为会晤层或对话层。它是在两个表示实体之间建立起通信伙伴关系向表示层提供对话服务,并对通信的过程进行管理和协调。
表示层
表示层负责数据的表示方式,解决格式和数据表示问题。
应用层
在OSI环境下为用户提供各种网络服务。


TCP/IP 参考模型
TCP/IP(Transmission Control Protocol/Internet Protocol) 协议是定义所有的数据传输如何在Internet.上进行交换的一个协议集合或一组协议簇。这一系列协议是按其中最重要、应用最广泛的两个协议TCP与引P来命名的。目前TCP/IP已成为一个事实上的工业标准。

TCP/IP 主要功能
TCP是传输控制协议,规定了一种可靠的数据信息传递服务;IP协议又称为互联网协议,提供网络之间连接的完善功能。
TCP/IP主要特点
- 与生产厂家无关
- 已经在各种计算机上实现
- 已被LAN和WAN采用
- 被许多政府部门和商业机构采用
TCP/IP 体系结构

物理层
负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.
数据链路层
负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.
网络层
负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由),路由器(Router)工作在网路层。处理输入数据报,用因特网控制报文协议ICMP处理路径、流量控制、拥塞等问题。
传输层
提供应用程序间的通信,即端到端的通信。其功能包括:第一、格式化的信息流;第二、提供可靠传输,保证数据无误有序地到达。如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机
应用层
负责应用程序间沟通,向用户提供一组常用、可以在TCP/IP因特网上获得服务的应用程序,如超文本传输协议(HTTP) 、简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层.
OSI和TCP/IP参考模型

两者都是以协议栈的概念为基础,并且协议栈中的协议彼此相互独立。传输层以及传输层以上的各层都为希望通信的进程提供了一种端到端的,与网络无关的服务。
OSI模型中,服务、接口、协议的概念非常清晰,而TCP/IP模型中并没有明确地区分三者之间的差异。
TCP/IP一开始就考虑到多种异构网的互连问题,并将互联网协议IP作为TCP/IP的重要组成部分。而OSI最初只考虑到使用一种标准的公用数据网络将各种不同的系统互联在一起。
TCP/IP一开始就对面向连接服务和无连接服务并重,TCP/IP的传输层支持面向连接服务和无连接服务,网络层只支持无连接的服务,而OSI的传输层只支持面向连接服务,网络层支持面向连接服务和无连接服务。
TCP/IP有较好的网络管理功能,而OSI到后来才开始考虑这个问题。
OSI是先有模型后有协议,适应范围广,而TCP/IP是先有协议后有模型,因而TCP/IP模型的通用性较差,很难描述其他种类的协议栈。
设备与层的对应关系

网络体系结构中的数据传送
