来自mooc 《计算机网络基础及应用》南京理工大学、 《计算机网络技术》宁波城市职业技术学院、来自网易云课堂《计算机网络工程基础》高骞。
chapter1 导论
计算机网络发展经历了 单机阶段、多机阶段、网络阶段。
数据网络的产生与发展:为了实现 多台电脑之间文件共享,打印机共享(属于硬件共享)。
(1)简单连接 1965:从主机到终端,主要为了共享资源。
当时硬件很贵,主机--终端 相当于把一台电脑的主机跟出去多个键盘与显示器,实现多人使用。现在几乎不用这种了。目前远程控制和管理还是用了这种技术。
(2)网络化连接1975:客户端-服务器模式(局域网)
个人计算机出现了,大家都有自己的主机了。但是连接范围与距离都是有限的。
(3)网络间互联 1985,通过internet,主机数量多,连接范围广。互联网的某些部分可以是广域网。一般通过服务商(电信公司)通过他们的线路连接到internet。internet天生有个缺点,遵循TCP/IP, 早期被设计成全球化开放互联,没有过多考虑安全问题。
--------------------
三种网络:电信、有线电视、计算机网络。
内部网络(局域网),内网服务器用于资源共享。
例如ftp://192.168.1.254/ 可以上传文件。
计算机网络将地理位置不同的、具有独立功能的多台计算机通过通信设备连接起来,在网络操作系统、网络管理软件、网络协议的管理下实现资源共享和信息传递。
1. 计算机网络的功能:数据通信、资源共享、分布处理(把要处理的任务分给多个计算机来运行)、集中管理(母公司来管理分散在异地的子公司)、均衡负载(一台计算机坏了,可以叫另一台计算机)。
2. 计算机网络的结构:按照系统组成:硬件+软件;按照功能:通讯子网、资源子网。
-----硬件+软件
(1)主机又叫做服务器(性能高的一台计算机)。有打印服务器、通信服务器、数据库服务器、应用程序服务器。其中,应用程序服务器有很多类型,比如提供邮件传送接收的服务器、提供网页浏览服务的www服务器、ftp文件传递服务器等。
(2)终端:网络中的用户访问网络,实现人机对话,叫做客户机或者工作站。
(3)传输介质:连接各种设备,微波(无线)、双绞线(有线);
(4)网络连接设备:用来实现网络中各计算机之间的连接、网络与网络之间的互联、数据信号的变换和路由选择。交换机、路由器、modem调制解调器、无线接收发送器等。
(5)网络软件:授权用户对于网络资源的访问,包括网络操作系统、网络协议软件、网络管理软件、网络通信软件、网络应用软件。其中,网络操作系统用于实现不同主机之间的用户通信以及全网的硬件和软件资源的共享,并且向用户提供了一个统一、方便的网络接口。
*常见的网络操作系统有Linux, Unix, netware, windowsNT。目前在局域网中最常用的就是 Windows NT server, 这不同于 windows 2000这种单机操作系统。
Windows 2000 server 运用广泛。UNIX安全性好,很少被病毒攻击,且自身提供了很多应用功能,包括路由、防火墙、域名服务、自动IP地址分类,但是UNIX只能运行在少数几家厂商制造的硬件平台上,硬件兼容性不好。Linux遵循了UNIX命令,比较有发展前途,源代码是开放的,支持多硬件平台。
*网络协议软件:网路协议是网络通信的数据传输规范。网络协议软件是用来实现这个网路协议功能的软件。目前有TCP/IP协议软件、 IPX/SPX协议软件、IEEE802标准协议软件等。
*网络管理软件:对网络资源进行管理、对网络进行维护的软件。网络的性能、计费、安全管理等。
*网络通信软件是实现网络中的各种设备之间进行通信的软件。
*网络应用软件:比如IE浏览器、QQ。
--------通讯子网、资源子网
通信子网:由通信控制处理机、网络连接设备、网络通信软件、网络管理软件 构成。
资源子网:由终端、服务器、传输介质、网络应用软件、数据资源 构成。
3. 计算机网络的分类
*按照网络覆盖的范围分类有:
个人区域网PAN:笔记本与手机通过无线技术连接,范围为10m.
局域网LAN(local area network),几百米到几千米的范围。传输速度快,但是一般距离小。比如一幢楼里面、一个学校、一个小区。组建成本低。
城域网 MAN(metropolitan area network):几十公里到几百公里。比如一个城市的有线电视网。
广域网 WAN ( wide area network):几千公里。覆盖一个国家,甚至好几个州。例如教育部的cernet, 某个大学的局域网是这个cernet 的组成部分。例如分布在不同城市之间的公司。公司不可能自己会建立,需要依靠电信公司。
互联网internet: 多个网络互相连接的集合叫做互联网。与广域网不同!internet是全球范围内的网络互联,基于TCP/IP协议。互联网中的有些部分可以是广域网。
*按照网络结构分类:peer to peer;client /server。
*按照应用技术分类:Ethernet(以太网)(10M、100M、1000M)、ISDN、DDN,PSTN,FR。
4. 计算机网络的拓扑结构
把服务器和工作站、传输介质分别抽象成 点、线。常见的是星型、环型、总线型
-----总线型的结构如下:所有的节点共享一根传输总线。所有的站点通过硬件接口连接在这根传输线上。
总线型的优点:(1)组网费用低;(2)易拓展网络,拓展只需要增加一个网络接头。
缺点:(1)所有主机共享一个主线,主机增加会导致网络性能的下降;(2)总线一旦出现故障导致整个网络中断;(3)通讯范围有限制,要看总线的介质。
----星型拓扑结构:中心节点一般采用交换机或者hub。逻辑上还是总线型。其优点与总线型相同。
各个节点之间的通信都要经过中心节点。
----树型网络拓扑结构: 由根节点和分支节点构成。根节点接受数据,广播式的发送到各个网络中。
优点是可以延伸出很多分支和子分支,因此容易在网络中加入新的分支或者新的节点。
根节点故障了,整个网络就瘫痪了。
服务器(根节点)--交换机(第二层)--终端(第三层)。
----环型网络拓扑结构
每个节点的地位和作用是相同的。数据在这个闭合环型上沿着一个方向逐站逐站的传送。
需要的电缆长度短,适合用光纤,单向传输。
----网状拓扑结构
所有节点之间的连接是任意的,没有规律。实际的广局网基本是采用了网状拓扑结构,N个节点,连接网络的链路有 N*(N-1)/2,如果链路数量小于它,那么叫做半网状拓扑结构。否则是全网状拓扑结构。
优点:一条线路坏了,还有其他条。
缺点:网络结构复杂,需要路由选择和流向控制功能,维护难。
----- 蜂窝状拓扑结构:主要用于无线网络
蜂窝的大小与基站、AP发射功率有关。
缺点: 易受环境影响,天气差网路信号不好。
------- 混合型拓扑结构是把上述两种以上结合在一起。可以满足较大网络的一个拓展,一般用于广域网。但是结构太复杂。
按照传播方式不同,可以分为广播式、点对点网络。
广播式:网络中的计算机或者设备使用一个共享的通信介质进行数据传播。所有节点都可以收到任意节点发出的信息。
点对点网络:一条通信线路连接两台设备,数据从源端到目的端需要经过一台或者多台计算机。比如环型、网状型、树型。多用于局域网、广域网的互联中。点对点的通信协议有PPP、PPPoE协议。
设计计算机网络拓扑结构需要考虑的因素。
chapter2 网络体系结构
1.网络体系结构
两台计算机要传输数据(比如通过QQ),中间要有一条传输数据的物理通道。
step1: 发送文件的计算机 要激活传送数据的数据通路,即发送一些信息控制命令保证数据能在通路上正确发送;
step2: 告诉网络 如何识别接受数据的计算机;
step3:发文件的计算机要检查目的计算机是否开机且网络是否正常。
step4: 检查目的计算机应用程序(比如QQ)是不是准备就绪接受文件。
网络通信过程抽象为--->层次结构模型. 分层处理!!
网络发邮件的分层工作。不同层次有不同的任务,但是相邻两层有紧密的联系和接口。
计算机网络体系结构的三要素: 层次、协议、接口。
接口是相邻层间进行信息交换的界面,下层通过接口向上层提供服务,上层通过接口使用下层的服务。协议使得网络中的数据能够正常进行,网络协议的三个要素:语法、语义、同步。
网络体系结构最重要的是 网络协议。它是为网络数据交换而制定的规则、约定与标准。网络体系结构引入了 层次 layer 的概念。
通讯层次必须是对等层。上层为下层提供指示,下层为上层提供服务。
2. OSI\RM参考模型
ISO 国际标准化组织 international standard organization, ISO 在1987年制定了OSI,它有7层模型,可以让不同厂牌的计算机用于共通的通信协议。
局域网中广泛使用了以太网交换机。
User A 发送一份邮件,用发邮件软件,注意软件不是应用层!!
*当写好邮件点击send 之后,应用层才会收到。SMTP 简单邮件传输协议。
*表示层:发送方是电脑,接收方是手机,硬件不同,文件格式也不太通。表示层要做一次翻译,比如ASCII码,统一数据格式。
*会话层:用服务器通讯,用户名口令等。
------------------------
*传输、网络层可以一起解释:传输层、网络层分别用了TCP、IP协议。
做四件事:传输保障(TCP)、地址、数据包交换、路由。
地址:IP地址。
数据的封装 :比如一封邮件-->数据包-->数据帧。封装过程中在数据的头部会增加地址。
路由:数据传输中,路由器指引 IP地址数据包 应该走哪条路。
--------------------------
数据链路层:数据怎么在路上跑(数据在物理层面如何传递?)
物理层:传输媒介。
两个用户之间的通讯,最高层是软件之间。不同层的数据形式不同.
发一封邮件---加TCP信息--加IP信息--MAC地址等---->对方收到邮件。
-------------------------
OSI 有7个层次。
底层负责网络传输,很多网络设备也都在这一层。
---物理层是OSI是最基础的一层,实现设备与设备之间的物理接口。这一层里数据的单位是bit. 常见的数据典型规范有以下几种:EIATIA , RS-232, RS -449, V.35, RJ-45,常见的网络设备有 中继器、集线器、modem.
--- 数据链路层,提供一个比特流服务,建立相邻结点之间的数据链路。这一层上的数据单位是帧 frame, 典型的协议有 SDLC,HDLC,PPP,Stp等。网络设备有 二层交换机、网桥。
----- 网络层 也叫通信子网层。它的任务是解封数据链路层收到的帧,提取数据包,选择合适的网间路由和交换的结点,确保数据包能够及时传送。这一层上数据单位是package. 典型的协议有 IP、IPX、RIP。 常见设备有路由器、有路由功能的三层交换机。 网际的通信问题,而不是网内!!!
IP协议
一个IP地址可以代表网络中的主机,主机的程序如何区分?
IP协议很重要的是端口号。
一台电脑上可以运行很多应用程序,数据包传到电脑后,电脑根据端口号来查询相应的应用进程。
---- 传输层 是真正的点对点,是主机到主机的一层,将数据从源端携带到接收方。
这一层上数据单位是 数据段segment,典型的协议包括TCP、UDP、Spx。常见的网络设备 是网关。
TCP协议 是可靠的面向连接的协议。
四个字节一行,第一行的4个字节,32位,前16位是源端口号。
UDP协议是TCP的有效补充。
-----会话层
管理主机之间的会话进程,负责建立、管理、终止进程之间的会话,一次连接就叫做一次会话。决定接受还是传送消息。
---- 表示层
表示层一下的五层关注的事如何传递数据位,表示层关注的事 所传递的信息的语法和语义。不同计算机内部数据表示方法不同,为了能相互通信,表示层会对上层(应用层)的数据和信息进行变换,保证一个主机应用层的信息可以被另一个主机的应用程序所理解。
----- 应用层
负责网络应用软件与网络操作系统的联系。
应用层直接面对用户的具体应用,包含应用程序执行通信任务所需的协议和功能,应用层为操作系统或者网络应用程序提供了访问网络服务的接口。 应用层协议常见有 超文本传输协议http,它是浏览器程序访问因特网中其他主机的网页提供给了基本访问服务接口;还有网络ftp文件传送,DNS域名访问。
数据的分装与解装过程如下:
假设主机1的应用进程AP1向主机2的应用进程AP2传输数据。AP1先将数据转交给主机1的最高层(应用层),比如使用SMTP协议处理数据,在数据前加一个SMTP标记,使得接受主机2能够了解使用什么的软件来处理。
之后进入表示层,进行格式转换,使用一种通讯双方都可以识别的编码来处理数据。
之后进入会话层,会话层会在两个主机之间建立一条只用于传输该数据的一个会话通道,并且要监视其连接状态,只有数据传输完成才会断开这个会话。
会话通道建立后,为了保证数据传输的可靠性,主机1的传输层会将数据进行分段、编码等。
网络层是实际数据传输的层次,将传输当中处理完成的数据再次封装,添加双方的地址信息,并为每一个数据包找一条到主机2的最佳路径。
数据链层会对网络层的数据再次封装,添加能够唯一表示每台设备的MAC物理地址。
主机的物理层把上层的数据转变为电流传输的物理线路,通过物理线路把数据转发到主机2。
MAC地址:Medium Access Control地址,媒体访问控制,或者叫物理地址、硬件地址,用来定义网络设备的位置。MAC地址是网卡决定的,是固定的。
主机2 把这个电信号转换为数据链路层的数据帧,数据链路层去掉本层的mac物理地址后,将数据递交给网络层,网络层也去掉主机1的网络层添加的内容后,递交给传输层,最终到达主机2的应用层,使用SMTP(简单邮件传递协议)协议进行分装,这时候它知道了使用什么软件(电子邮件软件)来使用这个数据。
OSI模型的目标:在这个标准下,全世界的计算机都能交流。但是20世纪90年代,虽然整套的OSI国际标准已经有了,但是internet使用了TCP/IP 模型,已经抢先在全世界覆盖了相当大的范围了,当时也没有其他大厂家生产符合OSI标准的产品。OSI模型的市场化失败!!
3. TCP/IP 协议 1989年
被internet 使用, 它以其中最著名的传输控制协议TCP和网际协议IP所命名。有四个层次:应用层、传输层、网络互联层、网络接口层。
--- 网络接口层:负责与物理网络的连接。提供给上层(网路互联层)一个接口,以便传递IP的分组数据。
--- 网络互联层:把数据分组发往目标网络或主机。允许分组沿不用的路径同时传递。该层定义了标准的数据分组协议:IP协议(internet of protocol), 辅助协议 ICMP协议。网络互联层的任务是把IP分组投递到它应该去的地方,因此IP分组的路由是关键的问题。
---传输层:任务是使源主机和目标主机上的对等实体可以进行会话。这层上定义了两个服务质量不同的协议,传输控制协议 TCP协议、用户数据报协议UDP。
---应用层,有很多协议
总结