第一章 计算机网络概述
1.1 因特网
- 计算机网络由因特网和其他网络(军网,政府网络)构成
- 网络:几台计算机通过集线器和交换机连接到一起组建的局域网,距离不会太远
- 互联网(internet):网络和网络用路由器连起来之间连起来就叫互联网
-
上图为互联网的两种画法一种吧计算机画进去,另一种把计算机画出来,与网络相连的计算机常称为主机(host)
-
因特网(Internet):因特网是互联网,特指全球最大的互联网
-
网络吧许多计算机连接在一起,互联网吧网络通过路由器连接起来,与网络相连的计算机称为主机。
-
路由谋短,交换求快
1.2 因特网发展历史
阶段一
- 1969年美国国防部创建了ARPNET分组交换网,所有计算机都与最近的节点交换机相连
- 1975年把分组交换网进行连接,互联网雏形互连网
- 1983年tcp/ip协议作为标准协议,这一年作为互联网的诞生时间
阶段二
- 1985年以六个大型计算机网络中心建设计算机网络,是一个三级网络
- 外围校园网,中间地区网,核心主干网
阶段三
- 由公司替代政府负责出现了ISP(互联网服务提供者)联通,电信就是
- 小区由地区电信运营商(ISP)提供ip上网,各地区ISP由因特网统一分配
第二层负责第一层接入,第三层负责第二层接入
- IXP的主要作用就是允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分组。这样主机A和主机B交换分组时,就不必再经过最上层的主干ISP
- 这就是选择本地运营商下载的原因,少绕弯子
- 大公司网站往往连接多个ISP
1.3 因特网标准
1.4 因特网组成
- 但从其工作方式上看,可以划分为以下两大块:
- 边缘部分由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进 行通信(传送数据、音频或视频)和资源共享。
- 核心部分由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
- 在网络边缘的端系统之间的通信方式通常可划分为两大类:客户-服务器方式(C/S)和对等方式(P2P)
- 客户-服务器方式(C/S):客户是服务请求方,服务器是服务提供方。
- 对等方式(p2p):是指两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方。只要两台主机都运行了P2P软件,它们就可以进行平等的、对等连接通信。这时,双方都可以下载对方已经存储在硬盘中的共享文档。因此这种工作方式也称为P2P方式。
- 一万个人从一个地方下载这就是c/s,一个下载可以有很多源这就是P2P方式
- 核心部分:电路交换,分组交换,报文交换
- 电路交换,经过建立连接(占用通信资源)→通话(一直占用通信资源)→释放连接(归还通信资源)三个步骤的交换方式,重要特点就是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。
- 分组交换,分组交换则采用存储转发技术。把一个报文划分为几个分组后再进行传送。通常我们把要发送的整块数据称为一个报文.在发送报文之前,先把较长的
报文划分成为一个个更小的等长数据段,例如,每个数据段为1024 bit"。 在每个数据段前面,加上些由必要的控制信息组成的首部(header)后,就构成了-个分组(packet)。分组又称为“包”,而分组的首部也可称为“包头”。分组是在互联网中传送的数据单元。分组中的“首部”是非常重要的,正是由于分组的首部包含了诸如目的地址和源地址等重要控制信息,每一个分组才能在互联网中独立地选择传输路径,并被正确地交付到分组传输的终点。每个分组可能路径不一样
- 报文交换,整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到一 个结点。
1.5 计算机网络类别
- 广域网(WAN)局域网(LAN)个人局域网(PAN)城域网(MAN)在起初是以距离为依据的,但是最新定义是根据使用什么技术定义的,用了局域网技术就是局域网
- 局域网:自己购买设备,自己维护,带宽固定100M 1000M,距离100米以内 广域网:花钱买服务,花钱买带宽
- 从使用者分为公用网和专用网
- 拓扑结构分类:总线型(一根线);环形(一根圆圈线);星型(接到交换机上);树型(一级一个交换机);网状(路线不固定路由器构成)
- 交换方式上:电路,报文,分组交换
1.6 计算机网络的性能
- 比特也是信息论中使用的信息量的单位。网络技术中的速率指的是数据的传送速率,它也称为数据率或比特率。速率是计算机网络中最重要的一个性能指标。速率的单位是bit/s 当数据率较高时,就常常在bit/s的前面加上一个字母。
- 现在人们在谈到网络速率时,常省略了速率单位中应有的bit/s,而使用不太正确的说法,如“40G的速率”。例如下载10m/s实际上值得是字节时延而不是比特因此乘以8才是速率,另外要注意的是,当提到网络的速率时,往往指的是额定速率或标称速率,而并非网络实际上运行的速率。
- 带宽,最高数据率
- 吞吐量表示在单位时间内通过某个网络的实际的数据量。多个信道加起来,速率是一个信道
- 时延:发送时延,传播时延,处理时延(路由器处理分组并发送的时间),排队时延(在路由器排队),四个加起来就是时延
- 时延带宽积:带宽*传播时延
- 往返时间RTT
- 信道利用率:有数据通过时间/有数据无数据利用的时间(没必要太高会堵住)
- 网络利用率:信道利用率加权平均(一个接收端不止一个信道)
1.7 计算机网络的体系结构
- ISO国际标准化组织
- OSI/PM互联网上的国际标准
- TCP/IP 因特网事实上的国际标准
- network protocols:数据交换遵守的规则,标准
- 网络体系结构:计算机网络各层及其协议的集合
分层的概念,计算机网络体系结构极其庞大,还可以列举出- -些要做的其他工作。由此可见,相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。为了设计这样复杂的计算机网络,早在最初的ARPANET设计时即提出了分层的方法。“分层”可将庞大而复杂的问题,转化为若干较小的局部问题。
之后各家公司推出不同的体系结构,随后成立ISO,发布OSI,之后流产,最终TCP/IP占据市场,OSI种种原因失败
OSI 7层
- 应用层:能产生网络流量的能够和用户交互的应用程序(QQ tx视频)
- 表示层:加密,压缩(文件太大需要压缩,乱码)
- 会话层:服务和客户端建立的会话
- 传输层:可靠传输(建立会话持续保持会话),不可靠传输(不建立会话qq发消息不需要一直建立会话),流量控制
- 网络层:IP地址编址选择最佳路径
- 数据链路层:数据如何封装,添加物理层地址MAC
- 物理层:电压,接口标准(电器标准,互连路由器)
网络排错需要从底层到高层逐一排查
尽量分层解决问题,怎么分层得用到各种协议。举个例子:我再阿里云服务器上一个node.js,我在个人pc上怎么访问网页?输入ip地址访问。那么我这样做会导致如果我阿里云服务器重启IP地址改变,在访问那个IP打不开网页了。这就是没有分层解决问题,怎么解决?用到李爵士的域名DNS知识。
TCP/IP:把前三个变为应用层,五层
实体:当研究开放系统中的信息交换时,往往使用实体(entity)这一较为抽象的名词表示任何可发送或接收信息的硬件或软件进程。在许多情况下,实体就是一个特定的软件模块。
协议:是控制两个对等实体(或多个实体)进行通信的规则的集合