1.1 计算机网络再信息时代的作用
- 21世纪:数字化、网络化、信息化
- 网络分为三网:电信网络、计算机网络、有线电视网络
- 计算机网络分为因特网、其他网络
计算机网络重要功能:连通性和共享性
- 连通性:彼此联通、交换信息
- 共享性:信息共享、软硬件共享
- 【软件共享】:远程操控电脑可以共享对方电脑的软件。【硬件共享】:远程利用打印机
1.2 因特网概述
1.2.1 什么是英特网
- 图中网络设备(交换机)和计算机都叫做节点,网线叫做链路
- 网络和网络直接通过路由器相连形成互联网
- 英特网:用的就是TCP/IP协议
1.2.2 因特网发展的三个阶段
- 三级结构举例:小单位的网络(校园网、企业网)通过地区网相连,地区网通过骨干网相连
- 第三阶段美国政府不再负责互联网的运营,而直接给这些公司运营,这些公司就叫做:ISP(internet服务提供商)
1.2.3 英特网相关内容补充
1. 多层次ISP结构
- 第三层的ISP主要提供互联网接入(校园网接入本地ISP),
- 第二层负责第三层的互联网接入
- 第一层负责第二层的互联网接入
- eg:河北电信是第二层ISP,他可以向internet申请一个地址范围(地址段);石家庄电信是第三层可以向第二层电信(河北电信)申请地址范围,保定电信又可以向河北电信申请另一层地址范围等
- 若一个网站为全球提供服务,这个网站最好直接接入第一层的ISP(图中的“大公司”),若这个网站只为中国提供服务,则这个网站直接接入某个二级ISP。这样设计以达到访问速度较快的效果。
2. 中国互联网
- 下图是中国互联网的运营商ISP
- 链路上的数字标是带宽,带宽大,访问速度快。
3. 双线机房
- 由于跨运营商的网络直接的访问速度慢,为解决这个问题出现了双线机房,双线机房同时连接多个运营商,大家通过访问双线机房,访问的速度都会很快
4. 英特网的标准化工作
有线、无线、路由、交换、ICP/IP协议等。这些设备和协议不是一家公司生产。因而英特网协会指定一套标准
- IRSG研究长远的理论问题
- IESG研究近期的特定的工程问题
1.3 英特网的组成
1.3.1 整个英特网的组成可以分边缘部分和核心部分
- 核心部分:让这些计算机能够通讯的网络
- 边缘部分:接入到英特网的计算机都属于边缘部分
1.3.2边缘部分
主机之间(边缘部分)用到的通讯方式:客户服务器方式、对等方式
- 客户服务器方式
- 对等方式(每个计算机既是服务器又是客户机)eg:C的文件可以被d下载;d的文件又可以被f下载,...一个计算机还可以从多个源上同时下载一份文件,很厉害
1.3.3英特网核心部分
英特网核心部分的数据交换方式有:电路交换、报文交换、分组交换
1. 电路交换(面向连接)
eg:打电话:交换机在检测到两部电话需要通讯的时候在内部将其线路连接起来,通话结束之后将其释放。步骤如下:
- 建立连接:申请占用信道资源
- 通话:一直占用信道资源
- 释放连接:释放通信资源
如下图:中间通话的线相当于临时搭建的一个专线,数据由A到B也不用写地址。A和B打电话的时候若是C想和A通话就会出现占线的问题
电路交换适用于数据量很大的实时通讯(语音、视频)。核心路由之间有可能用到电路交换
2. 分组交换:计算机网络就是通过分组交换实现的
- 发送端:若发送到需要发送的是一个20M的word文档,这个完整的20M文档就叫做一个“报文”。考虑到整个文档太大,需要将这个报文分成3段。每一段的首部编号并写上目的地址和源地址。
- 接收端:接收端受到数据之后将首部去掉之后排列形成一个完整的文档
(1)分组转发
- 分组通信适用于计算机网络;H1和H5通信的时候之间传的文档分成小的数据分组并写上地址,这些路由器就看这些地址来传数据分组,所有的分组不一定都走同一条路径。因而分组之后不会存在占线的问题。不需要建立连接
(2)路由器的功能:存储转发
- 路由器的这些口会存储到达的数据包,存储之后再选择路径进行转发。后来数据2的在先来数据1的后面排队等待传输。数据1依然存储在路由器之中,数据2不会将数据1覆盖掉。
(3)分组交换总结
- 优点:高效、灵活、迅速、可靠
- 缺点:时延、开销
3. 报文交换
和分组交换一样都需要写地址,但是它是20M的文档不做分组,写上目标地址和源地址之后直接一起传走。所以报文交换比分组交换长得多(因为不分段),报文交换时延比较长。
4. 三种交换方式比较
如下图:t2是发送时间,t1是传输时间,ABCD都是设备
1.4 计算机网络的类别
计算机网络最简单的定义:一些相互连接的、自治的计算机的集合
从作用范围来看
过去的理解:
- 局域网:覆盖一栋大楼:校园网、企业网(局域网网线一般不超过100m)
- 广域网:石家庄的网络和上海的网络连接起来,跨城市
- 城域网:覆盖一个城市的网络
- 个人区域网:找两台电脑用一个小交换机一连
新的理解:(不单单从网络覆盖范围来区分局域网和广域网)
- 广域网:使用了广域网技术的网络
- 局域网:使用了局域网技术的网络
- 举例:A和B是邻居,A通过电话线ADSL拨号上网(电话线到运营商肯定超过100m),可见这是一个广域网;B以同样的方式上网,也是广域网。但是AB之间只有50m的距离,通过qq传个文件,走的依然是广域网
- ADSL就是一个广域网技术,带宽不固定,花钱多带宽就大
- 若AB通过无线之间相连(或者通过网线相连),那么这才算是局域网
总结局域网和广域网:
- 局域网:企业自己购买设备,带宽固定(买个100M交换机,那么每个口就是100M;买个1000M交换机,那么每个口就是1000M),自己维护,网线长度100m以内
- 广域网:花钱买服务 花钱买带宽
拓扑结构
- 总线型:一条线路上连接多台计算机和糖葫芦一样
- 现在的组网大多采用星形结构
- 树型结构:由根交换机到分支交换机
- 网状结构:上图路由器的连接方法。好处:容错。从A到B有很多条路径。骨干网上采用的都是网状结构
1.5 计算机网络的性能
性能指标
包括:速率、带宽、吞吐量、时延、时延带宽积、往返时间、利用率
- 速率:连接在计算机网络上的主机在数字信道上传送数据位数的速率,也称为data rate或bit rate。单位是:b/s,kb/s,Mb/s,Gb/s。一个计算机A可以同时建立多个信道(看电影B、发送文档C),A<-->B看电影的速度是4M,A<-->C发文档的速率是2M,不能所这个计算机上网速度是XXM,没有这种说法。
- 带宽:网卡、网络设备所能传输的最高速率。单位是b/s,kb/s,Mb/s,Gb/s。
- 吞吐量:单位时间内通过某个网络的数据量。单位是b/s,Mb/s,等。eg:一个计算机可以同时建立多个信道(看电影、发送文档),看电影的速度是4M,发文档的速率是2M,那么这个计算机网卡的吞吐量就是6M(将所有的流量加在一起)
- 时延:包括发送时延、传播时延、处理时延、排队时延
发送时延 = 数据块长度(bit)/信道带宽(bit/s) 【数据包从网卡中全部发出去的时间】
传播延时 = 信道长度(米)/信号在信道上的传播速率(m/s)
处理时延:网络节点存储转发的处理时间,数据到达某节点的接口这需要选择路径、再转发出去
排队时延:网络节点存储转发的处理时间,数据到达某节点的接口这需要排队,先到的先处理 - 时延带宽积:=传播时延x带宽【s*(bit/s) = bit】表示计算机在通信时有多少数据在线路上
- 往返时间RTT:从发送方发送数据开始到发送方收到接收方的确认
- 利用率:分为信道利用率和网络利用率。
信道利用率 = 有数据通过时间/(有+无)数据通过时间
网络利用率 = 信道利用率加权平均值
非性能指标
非性能指标包括:费用、质量、标准化、可靠性、可扩展性、可升级性、管理与维护
1.6 计算机网络体系结构
1.6.1 基本概念
- ISO:国际标准化组织
- OSI/RM:互联网法律上的国际标准
- TCP/IP Suite:英特网事实上的国际标准
- Network Protocols:数据交换遵守的规则、标准或约定
- 网络体系结构:计算机网络各层及其协议的集合
1.6.2 OSI参考模型
OSI开放式系统互联参考模型分为7层;分层的意义:为了标准化,同时降低每个步骤之间的相互关联。
1. 分层如下
应用层:能够产生网络流量能和用户进行交互的就叫做应用层。
- eg:QQ发消息、爱奇艺在线看节目都属于应用层;记事本是应用程序但不属于数据通信的应用层,记事本不产生流量也不找服务器,只是自己运行涉及不到数据通信。
- 总结:不产生流量的应用程序不属于应用层。
表示层:数据通信的时候考虑是否加密、压缩,是ASCII还是二进制等,这就是表示层要解决的问题。
- eg1:qq可以视频,对于开发人员来说,如果原封不动地将视频从网上传的话会占用很大的带宽,这个时候开发人员就需要将视频压缩一下再往上传,到了对方的计算机再解压再展现给对方,这样比较节省带宽。可见表示层是开发人员需要解决的问题。
- eg2:qq聊天记录在网上传的时候为了防止被捕获到,开发人员应该对其加密。传图片用而二进制,传文件里面都是英文单词用的是ASCII。
会话层:服务和客户端建立的会话 查木马
传输层:可靠传输【建立会话】、不可靠传输【不建立会话】、流量控制。
- eg1:【可靠传输】下载电影的时候,数据包一一传到本地,如果数据包丢失就重传;
- eg2:【不可靠传输】微信聊天发“你好”回车之后发送,可能会出现消息发送失败,这是不建立会话的,一句话发送之后不知道下一句啥时候发呢,没必要一直保持连通状态;
- eg3:【流量控制】服务器S往客户机C传数据的时候,当C处理不过来的时候,会告知S暂停一下。
网络层:IP地址编址 选择最佳路径
数据链路层:规定数据如何封装、添加物理层地址(mac地址)
物理层:规定电压接口标准
-【综上:程序开发人员解决应用层、表示层、会话层的问题; 网络工程师解决传输层、网络层、数据链路层的问题。】
2. 网络排错:
计算机上不了网【从底层到高层来排查】
- 看物理层:网线有没有插好
- 网络层:看IP地址对不对
- 应用层:浏览器是不是中了恶意插件
3. 网络安全和OSI参考模型的关系
- 物理层安全:为外人提供接入自己的网络的机会
eg:某大厦在盖楼的时候都已经把网线布好了,每一层都有局域网接头,全部接到大厦机房的交换机。因而每一层的交换机只要接到墙上的接头就和其他的层都通了。后来这个大厦有些层不用了就租给外面的公司了,该公司布网的时候将网线直接接到墙上的接口就一下子接到这个大厦的局域网里了,不安全。 - 数据链路层安全:
eg1:ADSL拨号上网有一个密码,密码输入正确之后网络才会通畅;eg2:无线AP的密码 - 网络层安全
eg:公司A的网络和公司B的网络通过路由器L相连,同时这个路由器L又接入Internet。现在公司A在研发军方的保密材料,不允许接入Internet,但是公司B需要接入Internet。这个时候就需要在路由器上进行设置:A公司的网段的数据包不可以通过该路由器出去,而B可以。由L决定谁可以走谁不能走。 - 应用层安全
SQL注入漏洞
上传漏洞:有的网站允许上传文件,但是不做上传的文件类型的限制,比如一个PHP网站,若是允许上传一个PHP文件,若人家输入一个PHP网址,人家的网站就会在我的服务器上运行。
1.6.3 TCP/IP协议(共4层)
应用层(映射OSI的应用层、表示层、会话层)
传输层(映射OSI的传输层)
网络层(映射OSI的网络层)
物理接口层(映射OSI的数据链路层、物理层)
1.6.4 开放式系统互联的几个概念
- 实体entity:交换信息的硬件和软件进程
- 协议protocol:控制两个对等实体通信的规则
- 服务service:下层向上层提供服务,上层需要使用下层提供的服务来实现本层的功能
- 服务访问点SAP:相邻两层实体间交换信息的地方
说明:实体n发的东西只有实体n能看懂,实体n+1发的东西只有实体n+1能看懂,实体n发的东西对于实体n+1是看不懂的
1.6.5 五层协议对应的应用单元
说明:本书分五层来说:应用层(映射OSI的应用层、表示层、会话层)、运输层、网络层、数据链路层、物理层
- 应用层:叫做传输数据单元(理解为一个电影、一个文件、一个文档)
- 运输层:报文
- 网络层:IP数据报(数据分组)
- 数据链路层:数据帧
- 物理层:比特01010101000111
【5.应用层】
【4.运输层传】应用层的东西在传之前先分段编号,每小段前面加上协议(H4)称为一个“段”;
【3.在网络层传】在加上IP地址(H3)称为数据包,这个时候才知道往哪传(IP地址是网络层地址);
【2.在数据链路层传】在数据包外面加上帧头、帧尾(H2,T2),变成数据帧;
【1.在物理层传】加上帧头帧尾变成比特。
1.6.6客户进程和服务器进程之间的通信
对于功能较强的计算机可以同时运行多个服务器进程