概述
计算机网络向用户提供的最重要的功能有两个:
- 连通性,计算机网络使上网用户之间都可以交换信息,好像这些用户的计算机都可以彼此直接联通一样。
- 共享,指资源共享,可以是信息共享、软件共享,还有硬件共享。
因特网
网络(network)是由若干结点(node)和连接这些结点的链路(link)组成。
网络的结点可以是计算机、集线器、交换机或路由器等。
网络和网络可以通过路由器互连起来,
这样就构成了一个覆盖范围更大的网络,即互联网。
因特网(Internet)是世界上最大的互连网络。
网络把许多计算机连接在一起,而因特网则把许多网络连接在一起。
万维网 WWW
由欧洲原子核研究组织CERN开发,是一种共享资源的远程访问系统。WWW是环球信息网的缩写,(亦作“Web”、“WWW”、“’W3’”,英文全称为“World Wide Web”),中文名字为“万维网”,”环球网”等,常简称为Web。 分为Web客户端和Web服务器程序。 WWW可以让Web客户端(常用浏览器)访问浏览Web服务器上的页面。 是一个由许多互相链接的超文本组成的系统,通过互联网访问。在这个系统中,每个有用的事物,称为一样“资源”;并且由一个全局“统一资源标识符”(URI)标识;这些资源通过超文本传输协议(Hypertext Transfer Protocol)传送给用户,而后者通过点击链接来获得资源。
性能
计算机网络最常用的性能指标是:速率、带宽、吞吐量、时延(发送时延、传播时延、处理时延、排队时延)、时延带宽积、往返时间和信道(或网络)利用率。
体系结构
OSI
由国际标准化组织 ISO 于1977年提出,开放系统互连基本参考模型 OSI/RM(Open System Interconnection Reference Model),简称 OSI,是七层协议的体系结构。
- 7 应用层
- 6 表示层
- 5 会话层
- 4 运输层
- 3 网络层
- 2 数据链路层
- 1 物理层
OSI 的层 | 功能 | 协议 |
---|---|---|
应用层 | 文件传输,电子邮件,文件服务,虚拟终端 | TFTP, HTTP, SNMP, FTP, SMTP, DNS, Telnet |
表示层 | 数据格式化,代码转换,数据加密 | |
会话层 | 解除或建立与别的接点的联系 | |
传输层 | 提供端对端的接口 | TCP, UDP |
网络层 | 为数据包选择路由 | IP, ICMP, RIP, OSPF, BGP, IGMP |
数据链路层 | 传输有地址的帧以及错误检测功能 | SLIP, CSLIP, PPP, ARP, RARP, MTU |
物理层 | 以二进制数据形式在物理媒体上传输数据 | ISO2110, IEEE802, IEEE802.2 |
虽然整套的 OSI 国际标准已经制定出来了,但由于因特网已抢先在全世界覆盖了相当大的范围,而与此同时却几乎找不到有什么厂家生产出符合 OSI 标准的商用产品。OSI 失败的原因可归纳为:
- OSI 的专家们缺乏实际经验,他们在完成 OSI 标准时缺乏商业驱动力;
- OSI 的协议实现起来过分复杂,而且运行效率很低;
- OSI 标准的制定周期太长,因而使得按 OSI 标准生产的设备无法及时进入市场;
- OSI 的层次划分不太合理,有些功能在多个层次中重复出现。
TCP/IP
- 应用层(HTTP, FTP, SMTP等)
- 运输层(TCP, UDP)
- 网际层(IP)
- 网络接口层
五层协议
五层协议的体系结构知识为介绍网络原理而设计的,即综合 OSI 和 TCP/IP 的优点,实际应用还是 TCP/IP 四层体系结构。
- 5 应用层
- 4 运输层
- 3 网络层
- 2 数据链路层
- 1 物理层
层级 | 网络设备 |
---|---|
应用层 | 应用程序 |
传输层 | 四层交换机、也有工作在四层的路由器 |
网络层 | 路由器、三层交换机 |
数据链路层 | 网桥(现在很少用)、以太网交换机(二层交换机)、网卡(其实网卡是一半工作在物理层、一半工作在数据链路层) |
物理层 | 网卡、光钎、CAT-5线、集线器、双绞线 |
应用层(application layer)
应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程(process)就是指主机中正在运行的程序。对于不同的网络应用需要不同的应用层协议。在因特网中的应用层协议很多,如支持万维网应用的 HTTP 协议,支持电子邮件的 SMTP 协议,支持文件传送的 FTP 协议,等等。我们将应用层交互的数据单元称为报文(message)。
运输层(transport layer)
运输层的任务就是负责向两个主机中进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。所谓通用,是指并不针对某个特定网络应用,而是多种应用可以使用同一个运输层服务。由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务,分用与复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。
运输层主要使用以下两种协议:
- 传输控制协议 TCP(Transmission Control Protocol)——提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)。
- 用户数据报协议 UDP(User Datagram Protocol)——提供无连接的、尽最大努力(best-effort)的数据传输服务(不保证数据的可靠性),其数据传输的单位是用户数据报。
网络层(network layer)
网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包(packet)进行传送。在 TCP/IP 体系中,由于网络层使用 IP 协议,因此分组也叫做 IP 数据报,或简称为 数据报(datagram)。
网络层的另一个任务就是要选择合适的路由,使源主机运输层所传下来的分组能够通过网络中的路由器找到目的主机。
数据链路层(data link layer)
数据链路层常简称链路层。我们知道,两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层协议。在两个相邻结点之间传送数据时,数据链路层将网络层交下来的 IP 数据报组装成帧(framing),在两个相邻结点间的链路上传送帧(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。
在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可以从中提取数据部分,上交给网络层。
控制信息还使接收端能够检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续在网络中传送下去白白浪费网络资源。如果需要改正数据在数据链路层传输时出现的差错(这就是说,数据链路层不仅要检错,而且要纠错),那么就要采用可靠传输协议来纠正出现的差错。
物理层(physical layer)
在物理层上所传数据的单位是比特(bit)。发送方发送1(或0)时,接收方应当收到1(或0)而不是0(或1)。因此物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何识别出发送方所发送的比特。物理层还要确定连接电缆的插头应当有多少根引脚以及各条引脚应如何连接。当然,解释比特代表的意思,就不是物理层的任务。请注意,传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内而是在物理层协议的下面。因此也有人把物理媒体当作第0层。
中间层
- 物理层使用的中间设备叫做转发器(repeater)。(中继器,将信号放大)
- 数据链路层使用的中间设备叫做网桥或桥接器(bridge)。(根据MAC来决定是否转发)
- 网络层使用的中间设备叫做路由器(router)。(根据 IP 地址进行路径选择和包交换)
- 在网络层以上使用的中间设备叫做网关(gateway)。(用网关连接两个不兼容的系统需要在高层进行协议上的转换)