声明:这是我看计算机网络第七版(谢希仁著)时所记录的笔记,文中一些图片来自于该书配套的ppt
1.概述
1.1计算机网络在信息时代中的作用
①常用的三大网络:电信网络、有线电视网络、计算机网络
随着技术的发展,电信网络和有线电视网络都融入了计算机网络,计算机网络现在能够向用户提供电话通信、视频通话和传送视频的服务,这被称为“三网融合”。
计算机网络的重要功能:连通性—彼此联通,交换信息,与其他人聊天等;共享—信息共享、软硬件共享,可以向其他人传送文件,可以建立远程连接,实现远程机器的软件以及硬件(如打印机)的共享。
计算机网络定义:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。(另一种定义:计算机网络是由若干结点(Node)和连接这些结点的链路(link)组成。网络中的结点可以是计算机、集线器、交换机和路由器等)
网络(network):是将许多计算机连接在一起,与网络相连的计算机称为主机;
互联网(internet):将许多网络连接在一起,可以叫网络的网络;它采用 TCP/IP
协议族作为通信规则,是一个覆盖全球、实现全球范围内连通性和资源共享的计算机网络
因特网(Internet):全球最大的一个互联网。
1.2互联网概述
任意把几个计算机网络互连起来(不管采用什么协议),并能够相互通信,这样构成的是一个互连网(internet),而不是互联网 (Internet)。
ISP(Internet Service provider):美国政府从1993年开始不再负责互联网的运营了,而是交给一些公司来运营,ISP是分层的,分为几级的,移动联通电信就是一级ISP,进一步分到每个城市,就 是二级ISP,可以进一步分级
1.2.1互联网发展的三个阶段
第一阶段:从单个网络 ARPANET向互联网发展的过程。
1983 年,TCP/IP协议成为ARPANET上的标准协议,使得所有使用TCP/IP 协议的计算机都能利用互连网相互通信。因此人们把 1983 年作为互联网的诞生时间。(ARPANET是1969年美国国防部创建的第一个分组交换网)。1990年,ARPANET正式宣布关闭。
第二阶段:建立了三级结构的互联网,它是一个三级计算机网络,分为主干网、地区网和校园网(或企业网)
第三阶段:逐渐形成了多层次的ISP结构的互联网
ISP(Internet Service provider):美国政府从1993年开始不再负责互联网的运营了,而是交给一些公司来运营,ISP是分层的,分为几级的,移动联通电信就是一级ISP,进一步分到每个城市,就 是二级ISP,可以进一步分级。
根据提供服务的覆盖面积大小以及所拥有的IP地址数目的不同,ISP分为不同层次的ISP:主干ISP、地区ISP和本地ISP。
主干ISP:由几个专门的公司创建和维持,服务面积最大(一般都能覆盖国家范围),并且拥有高速 主干网。有一些地区ISP网络可以直接与主干ISP相连。
地区ISP:是一些较小的ISP,这些地区ISP通过一个或多个主干ISP连接起来,它们位于等级中的 第二层,数据率要低一些。
本地ISP:给用户提供直接的 服务(这些用户也被称为端用户,强调是末端用户)。本地ISP可以直接连接到地区ISP,也可以直接连接到主干ISP。绝大多数用户(主机)都是连接到本地ISP的。本地ISP可以是一个提供互联网服务的公司,也可以是一个拥有网络并向自己雇员提供网络服务的企业,也可以是一个运行自己网络的大学。
IXP(Internet eXchange Point)互联网交换点:IXP的主要作用就是允许两个网络直接相连并交换分组,而不需要第三个网络来转发分组。如下图所示,两个地区ISP通过一个IXP连接起来,主机A和主机B交换分组时,就不必再经过最上层的主干ISP,而是直接在两个地区ISP之间用高速链路对等地交换分组。
1.2.2 互联网的组成
从互联网的工作方式上看,互联网可以分为两大块:边缘部分和核心部分
边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频和视频)和资源共享。边缘部分连接的所有主机被统称为端系统,端系统可能是一台电脑,也可能是一个手机,甚至是一个网络摄像头,或者是一台昂贵的大型计算机。
核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)
互联网的边缘部分的通信方式:客户-服务器方式(C/S方式)和对等方式(P2P方式)
C/S方式:是最常用的,也是最传统的方式,我们在网上查找资料或者发邮件都是这种方式。这种方式最主要的特征是:客户是服务请求方,服务器是服务提供方。都要使用网络核心部分提供的服务。客户机中的软件在被用户调用后执行,在向服务器发送请求前必须知道服务器程序的地址,是一种主动行为;但服务器在系统启动后就自动调用服务器程序并一直不断运行,被动地等待并接受来自各地客户的通信请求,不需要知道客户程序的地址。在客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可以发送和接收数据。
对等连接peer-to-peer(P2P):两台主机在通信时不区分哪个是服务请求方,哪一个是服务提供方。双方都可以下载对方已经存储在硬盘中的共享文档。从本质上看仍然使用的是C/S方式,但是P2P中的每一个主机既是客户又是服务器,只要两个主机上都运行着P2P软件,它们就可以进行平等的、对等地连接通信。P2P方式可以支持大量对等用户(如上百万个)同时工作。
互联网核心部分:是互联网中最复杂的部分。在网络核心部分起特殊作用的是路由器(router)。路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。
互联网数据交换方式:电路交换(Circuit Switching)、报文交换(Message Switching)、分组交换(Packet Switching)。互联网的核心部分采用了分组交换技术。
电路交换:就是平常的打电话。电路交换的连接过程:建立连接(申请占用通信资源)→通话(一直占用通信资源)→释放连接(释放通信资源)。电路交换的特点是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。电路交换适合于数据量很大的实时性传输,核心路由器之间可以使用电路交换。
分组交换:采用存储转发技术,在发送端,先把较长的报文划分成较短的,固定长度的数据段。发送的整块数据称为一个报文。在发送端需要将报文分段,每一个数据段加上一个首部构成一个分组,依次把各个分组发送到接收端;接收端收到分组后去除首部还原成报文。
分组转发过程中分组的发送会选择最佳路径,ABCDE代表的是路由器,这些路径可以被多个分组使用,不会像电路交换那样占线,不需要建立连接,在分组被发送到路由器后自动选择最佳路径。
分组的存储转发会将分组存储在路由器中,但是不能存太多
缺点:在各结点存储转发时需要排队,会造成一定的时延;分组必须携带的首部也造成了一定的开销
报文交换:整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点
下图中比较了三种交换方式的主要特点:
电路交换:整个报文的比特流连续地从源点直达终点,好像在一个管道中传送;
报文交换:整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点;
分组交换:单个分组传送到相邻结点,存储下来后查找转发表,转发到下一个结点。
三种交换的适用场景:
1.若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。
2.报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。
3.由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。
1.3计算机网络类别
按照网络的作用范围进行分类:
广域网WAN(Wide Area Network):作用范围通常为几十到几千公里。现在是应用了广域网技术就是广域网
城域网MAN(Metropolitan Area Network):作用距离在5到50公里,作用范围一般为一个城市,或者几个街区
局域网LAN(Local Area Network):局限在较小的范围。现在是应用了局域网技术就是局域网,不通过作用距离来划分。
个人区域网PAN(Personal Area Network):范围很小,一般在10m左右,其实就是个人在工作的地方将属于个人的电子设备用无线技术连接起来的网络。
局域网和广域网的对比:局域网就是企业自己组建的网络,自己购买设备(交换机),自己来维护,带宽是固定的(100M,1000M);广域网是花钱买服务,如果坏了,被人帮你修,带宽也是花钱买。
1.4计算机网络性能
计算机网络的性能一般是指它的几个重要的性能指标,主要包括:速率、带宽、吞吐量、时延、时延带宽积、往返时间、利用率
速率:是指连接在计算机网络上的主机在数字信道上传送数据位数的速率,也称bit rate。单位是bit/s(b/s)、kb/s、Mb/s、Gb/s。但是这是指的额定速率,并不是上网时的实际速率。(数字信道就是传送数据的通道)
带宽:表示网络中数字信道所能传送的最高数据率,单位是bit/s(b/s)、kb/s、Mb/s、Gb/s。
吞吐量:表示单位时间内通过某个网络(信道、接口)的数据量,单位是b/s、Mb/s。吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。吞吐量受网络的带宽或网络的额定速率的限制。
时延:指数据(一个报文或分组)从网络的一端传送到另一端所需的时间。也称延迟。主要由四个不同的部分组成:发送时延、传播时延、处理时延、排队时延
时延带宽积:其等于传播时延与带宽相乘,可以表示链路上可容纳多少个比特。时延带宽积又被称为以比特为单位的链路长度
往返时间RTT(Round-Trip Time):从发送方发送数据开始,到发送方收到接收方确认总共经历的时间。
利用率:分为信道利用率和网络利用率。信道利用率指出某信道有百分之几的时间是被利用的(有数据通过);网络利用率则是全网络的信道利用率的加权平均值。信道利用率并非越高越好。当某信道的利用率增大时,该信道引起的时延也就迅速增加。
1.5计算机网络的体系结构
几个基本概念
ISO 国际标准化组织
OSI/RM(开放系统互连基本参考模型) 互联网法律上的国际标准
TCP/IP Suite 因特网事实上的国际标准
Network Protocols 网络中数据交换遵守的规则、标准或约定,由语法、语义、同步三个要素组 成
网络体系结构 计算机网络各层及其协议的集合
1.5.1OSI参考模型的体系结构—七层模型
Application Presentation Session Transport Network Data Link Physical
应用层(Application):能够产生网络流量的,能够和用户产生交互的应用程序,比如QQ,在线视频软件,但记事本等应用程序不产生流量,不涉及数据通讯,所以并不是应用层中的应用程序
表示层(Presentation):在数据通讯过程中需要考虑数据加密和数据压缩,这在表示层中进行
会话层(Session):服务和客户端建立的会话,比如远程连接服务器,上网与其他的服务器建立连接都是会话,可以通过该层来查木马(cmd命令:netstat -nb)。(木马是盗取信息,运行木马没有对话框,在后台运行,会建立会话;病毒会破坏系统,消耗资源)
传输层(Transport):给我们进行可靠传输、不可靠传输、流量控制。(可靠传输会建立会话,比如下一个视频的时候,下载时分组交换分成多个分组,下载过程中若是丢了两个分组,就必须要重新发送分组,不可靠传输不建立会话,比如QQ发送消息,聊天时不会建立会话。)
网络层(Network):主要负责选择最佳路径、IP地址编址
数据链路层(Data Link):主要规定了数据如何封装,添加物理层地址(MAC)
物理层(Physical):规定了电压和接口标准
网络排错:从底层到高层,因为越高出现的错误越难排除
1.5.2TCP/IP四层模型
由于OSI的七层协议体系结构虽然概念清楚,理论完整,但是复杂不实用。因此TCP/IP体系结构得到了广泛应用,它是一个四层的体系结构,但是只有最上面三层具有意义,网络接口层并没有什么具体内容。所以综合OSI和TCP/IP的优点,采用了一种五层协议的体系结构
应用层:是体系中的最高层,其任务是通过应用进程间的交互来完成特定的网络应用。应用协议层定义是应用程序间通信和交互的规则。在互联网的应用层协议有很多:如域名系统DNS、支持万维网应用的HTTP协议、支持电子邮件的SMTP协议。
运输层:其任务是负责向两台主机中进程之间的通信提供通用的数据传输服务,运输层主要有两种协议:传输控制协议TCP(Transmission Control Protocol)、用户数据报协议UDP(User Datagram Protocol)。
TCP:提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)
UDP:提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报
网络层:负责为分组交换网上的不同 主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。这里的网络并不是平常的网络。另外互联网是由大量的异构网络通过路由器相互连接起来的,互联网使用的网络协议是五连接的网际协议IP(Internet Protocol)和许多种路由选择协议,因此互联网的网络层也叫做网际层或IP层。网络层、网际层和IP层都是同义语。
数据链路层:简称为链路层,有数据帧的概念
物理层:在物理层上所传送数据的单位是比特(1或0),
开发系统信息交换的几个概念
实体(entity):交换信息的硬件或软件进程
协议(protocol):控制两个(或多个)对等实体通信的规则
服务(service):下层向上层提供服务,上层需要使用下层提供的服务来实现本层的功能
服务访问点(SAP):相邻两层实体间交换信息的地方
主机2解析数据与上面的步骤相反。