1、
网络:多台计算机连接在一起
互联网:多个网络连接在一起
因特网:最大的互联网
2、因特网发展的三个阶段
①1969年诞生,1975年产生互联网,1983年产生TCP/IP协议
②1985年三级结构的网络:主干网、地区网、小型网络
③1993年多层次ISP结构的因特网
3、多层次ISP结构因特网
4、因特网的组成
核心部分:网络、路由器
边缘部分:连接的主机
5、主机之间的通信方式:
客户/服务器方式(Client/Server):C/S方式
对等方式(peer-to-peer):p2p方式(类似迅雷下载,即一台主机既可以作为客户端也可以作为服务器)
6、数据交换方式:
电路交换()
报文交换()
分组交换()
电路交换
步骤:建立连接(申请占用通信资源),通信(一直占用通信资源),释放连接(释放通信资源)
适用场景:数据量很大的实时性传输:核心路由器之间可以使用电路交换
分组交换
路由器具有存储转发功能
分组交换的优点:高效、灵活、迅速、可靠
分组交换的问题:时延、开销
报文交换
报文一般比分组长的多
报文交换的时延较长
计算机网络性能指标
速率:连接在计算机网络上主机在数字信号道上传送数据位数的速率,也称为data rate或bit rate;单位是b/s、kb/s、Mb/s、Gb/s
带宽:数据通信领域中,数字信道所能传送的最高数据率;单位是b/s、kb/s、Mb/s、Gb/s
吞吐量:在单位之间内通过某个网络的数据量;单位是b/s、Mb/s等
时延:
发送时延:数据块长度(bit)/信道带宽(bit/s)
传播时延:信道长度(m)/信号在信道上的传播速率(m/s)
处理时延:网络节点存储,转发处理时间
排队时延:网络节点缓存,队列排队时间
时延带宽积:传播时延 * 带宽
往返时间(RTT):从发送方到发送数据开始,发送方收到接收方确认
利用率:
信道利用率:有数据通过的时间/(有+无)数据通过的时间
网络利用率:信道利用率加权平均值
计算机网络体系结构
OSI七层参考模型
- 应用层:能够产生网络流量、能够与用户交互的应用程序
- 表示层:数据加密、压缩
- 会话层:服务和客户端建立的会话、查木马
- 传输层:可靠传输(建立会话)、不可靠传输(不建立会话)、流量控制
- 网络层:IP地址编址、选择最佳路径
- 数据链路层:输入如何封装、添加物理层地址(MAC)
- 物理层:电压、接口标准
TCP/IP四层模型
- 应用层
- 传输层
- 网络层
- 网络接口层
常规的五层模型
- 应用层:数据单元:传输数据单元PDU
- 传输层:数据单元:报文
- 网络层:数据单元:IP数据报(IP分组)
- 数据链路层:数据单元:数据帧
- 物理层:数据单元:bit
物理层的主要描述为:确定与传输媒体的接口的一些特性,即:
- 机械特性:例如:接口形状、大小、引线数目
- 电气特性:例如:规定电压范围(-5V到+5V)
- 功能特性:例如:规定-5V表示0,+5V表示1
- 过程特性 :也称为规程特性,规定建立连接时各个相关部件的工作步骤
数字通信最基本的调制方法:
调幅(AM):载波的振幅随基带数字信号而变化
调频(FM):载波的频率随基带数字信号而变化
调相(PM):载波的初始相位随基带数字信号而变化
奈氏准则
任何信道中,码元传输的效率是有上限的,否则就会出现码间串扰的问题,使接收端对码元的判断(即识别)成为不可能。
信噪比
指信号的平均功率和噪声的平均功率之比,记为S/N。信噪比(dB)=10*log10(S/N)
传输媒体
导向传输媒体
- 双绞线
- 屏蔽双绞线STP
- 非屏蔽双绞线UTP
- 同轴电缆
- 光缆
非导向传输媒体
信道复用技术
- 频分复用:所有用户在同一个时间占用不同的带宽资源
- 时分复用:所有的用户在不同的时间占用相同的带宽资源
- 统计时分复用:
- 波分复用:
- 码分复用:各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰
宽带接入技术
- xDSL:用数字技术对现有的模型电话用户线进行改造
- ADSL:用数字技术对现有的模拟电话线进行改造,而不需要重新布线。
- HFC:光纤同轴混合网,采用结点体系结构
- FTTx:光纤到……
- FTTH:光纤到家
- FTTB:光纤到大楼
- FTTC:光纤到路边
数据链路层使用的信道主要有两种类型:
点对点信道:一对一
广播信道:一对多
链路:一个结点到另一个结点的物理线路段
数据链路:除了物理线路外,还要有通信协议来控制数据的运输;把实现控制数据运输的协议的硬件和软件加到链路上就构成了数据链路
帧:一个数据链路层的传输单元,由一个数据链路层首部和其携带的封包所组成协议数据单元。
数据链路层的三个基本问题:封装成帧、透明传输、差错控制
封装成帧:
MTU:最大传送单元,由一个数据链路层首部和其携带的封包所组成协议数据单元。
透明传输:
用字节填充法解决透明传输的问题
发送端的数据链路层在数据中出现控制字符"SOH"或"EOT"的前面插入一个转义字符"ESC"。
差错控制:
误码率BER:在一段时间内,传输错误的比特占所传输比特总数的比例
循环冗余检验CRC:
每次相除都做与运算
CRC技术只能做到无差错接受,要做到可靠传输,需要加上确认和重传机制
CRC是一种无比特差错,而不是无传输差错的检测机制
点对点协议PPP:
特点:简单、封装成帧、透明性、差错检测、
简单,只检测差错而不去纠正差错,不使用序号,也不进行流量控制,可同时支持多种网络层协议
PPP数据帧格式
局域网特点:
- 具有广播功能,从一个站点可以很方便的访问全网
- 便于系统的扩展和逐渐演变
- 提高了系统的可靠性,可用性和生存性
共享通信媒体资源方法:
- 静态划分信道
- 频分复用
- 时分复用
- 波分复用
- 码分复用
- 动态媒体接入控制(多点接入)
- 随机接入(主要被以太网接入)
- 受控接入()
以太网使用载波监听多点接入CSMA/CD协议,特点:
发送前先监听,边发送边监听,一旦发现总线上出现了碰撞,就立即停止发送。然后按照退避算法等待一段随机时间后再次发送。
二进制指数类型退避算法:
集线器:
以太网采用星形拓扑,在星形的中心添加了可靠性非常高的设备,即集线器
集线器像一个多接口的转发器,工作在物理层
MAC地址:
意译为媒体访问控制,或称为物理地址、硬件地址,用来定义网络设备的位置。
在OSI模型中,第三层网络层负责 IP地址,第二层数据链路层则负责 MAC地址。
因此一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的IP地址 。
地址是识别某个系统的重要标识符,“名字指出我们所要寻找的资源,地址指出资源所在的地方,路由告诉我们如何到达该处”
以太网的适配器具有过滤功能,它只接收单播帧,广播帧和多播帧。
网桥:
具有过滤帧功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口。
网桥工作在数据链路层,它根据MAC帧的目的地址对收到的帧进行转发。
使用网桥扩展以太网
优点:
- 过滤通信量
- 扩大了物理范围
- 提高了可靠性
- 可互联不同物理层,不同MAC子层和不同速率的局域网
缺点: - 存储转发增加了时延
- 在MAC子层没有流量控制功能
- 具有不同MAC子层网段桥连在一起时时延更大
- 网桥只适用于用户不太多(不超过几百个)和通信量不太大的局域网,否则有时还会因传播过多的广播信息而产生网络拥堵。这就是所谓的网络风暴
交换机:
广义的来说,交换机指的是一种通信系统中完成信息交换的设备。这里工作在数据链路层的交换机指的是交换式集线器,其实质是一个多接口的网桥
网络层向运输层提供什么服务:
- 虚电报服务:在两个终端设备的逻辑或物理端口之间,通过建立的双向的透明传输通道。虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接。
- 数据报服务:简单灵活的、无连接的、尽最大努力交付的数据包服务
网络互联的设备:
中间设备又称中间系统或中继系统。
- 物理层中继系统:转发器(扩大网络)
- 数据链路层中继系统:网桥或桥接器(扩大网络)
- 网络层中继系统:路由器(网络互连)
- 网络层以上中继系统:网关(路由器接口的地址)
IP:
网际协议 IP 是 TCP/IP体系中两个最主要的协议之一,是TCP/IP体系结构网际层的核心。配套的有ARP,RARP,ICMP,IGMP。
子网掩码:
又叫网络掩码、地址掩码。它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。
子网划分:
ARP协议:
地址解析协议
地址解析协议ARP把IP地址解析为硬件地址。ARP的高速缓存可以大大减少网络上的通信量。因为这样可以使主机下次再与同样地址的主机通信时,可以直接从高速缓存中找到所需要的硬件地址而不需要再去广播方式发送ARP请求分组
数据路由:路由器在不同的网段转发数据包
ICMP:
网际控制报文协议 (ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。)
网际控制报文协议是IP层的协议.ICMP报文作为IP数据报的数据,加上首部后组成IP数据报发送出去。使用ICMP数据报并不是为了实现可靠传输。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP报文的种类有两种 ICMP差错报告报文和ICMP询问报文。
虚拟专用网络VPN利用公用的互联网作为本机构专用网之间的通信载体。VPN内使用互联网的专用地址。一个VPN至少要有一个路由器具有合法的全球IP地址,这样才能和本系统的另一个VPN通过互联网进行通信。所有通过互联网传送的数据都需要加密
传输层
TCP、UDP应用场景:
TCP:分段传输、流量控制功能、需要建立会话
UDP:一个数据包就能完成数据通信、不建立会话
传输层和应用层之间的关系:
http在传输层使用TCP协议,加上80端口
https在传输层使用TCP协议,加上443端口
ftp在传输层使用TCP协议,加上21端口
SMTP在传输层使用TCP协议,加25端口
POP3在传输层使用TCP协议,加上110端口
RDP在传输层使用TCP协议,加上3389端口
POP3在传输层使用TCP协议,加上110端口
共享文件夹在传输层使用TCP协议,加上445端口
SQL在传输层使用TCP协议,加上1433端口
DNS解析使用UDP协议,加上53端口(极少情况下使用TCP协议的53端口)
应用层协议和服务的关系:
服务运行后在TCP或UDP的某个端口侦听客户端请求
防火墙作用:
UDP的主要特点是
- 无连接
- 尽最大努力交付
- 面向报文
- 无拥塞控制
- 支持一对一,一对多,多对一和多对多的交互通信
- 首部开销小(只有四个字段:源端口,目的端口,长度和检验和)
TCP:
- TCP是面向连接的传输层协议
- 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点(一对一)
- TCP提供可靠交付的服务
- TCP提供全双工通信
- 面向字节流
TCP如何实现可靠传输
停止等待协议:停止等待协议是为了实现可靠传输的,它的基本原理就是每发完一个分组就停止发送,等待对方确认。在收到确认后再发下一个分组。
停止等待协议中超时重传是指只要超过一段时间仍然没有收到确认,就重传前面发送过的分组(认为刚才发送过的分组丢失了)。因此每发送完一个分组需要设置一个超时计时器,其重转时间应比数据在分组传输的平均往返时间更长一些。这种自动重传方式常称为自动重传请求ARQ。另外在停止等待协议中若收到重复分组,就丢弃该分组,但同时还要发送确认。连续ARQ协议可提高信道利用率。发送维持一个发送窗口,凡位于发送窗口内的分组可连续发送出去,而不需要等待对方确认。接收方一般采用累积确认,对按序到达的最后一个分组发送确认,表明到这个分组位置的所有分组都已经正确收到了。
停止等待协议优点:简单;缺点:信道利用率太低
为了提高传输效率,发送方可以不使用低效率的停止等待协议,而是采用流水线传输。流水线传输就是发送方可连续发送多个分组,不必每发完一个分组就停下来等待对方确认。这样可使信道上一直有数据不间断的在传送。这种传输方式可以明显提高信道利用率。
TCP报文段的首部格式:
以字节为单位的滑动窗口技术
TCP如何实现流量控制
以字节为单位的滑动窗口技术
TCP使用滑动窗口机制。发送窗口里面的序号表示允许发送的序号。发送窗口后沿的后面部分表示已发送且已收到确认,而发送窗口前沿的前面部分表示不允许发送。发送窗口后沿的变化情况有两种可能,即不动(没有收到新的确认)和前移(收到了新的确认)。发送窗口的前沿通常是不断向前移动的。一般来说,我们总是希望数据传输更快一些。但如果发送方把数据发送的过快,接收方就可能来不及接收,这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。
TCP如何避免网络拥堵
为了进行拥塞控制,TCP发送方要维持一个拥塞窗口cwnd的状态变量。拥塞控制窗口的大小取决于网络的拥塞程度,并且动态变化。发送方让自己的发送窗口取为拥塞窗口和接收方的接受窗口中较小的一个。
TCP的拥塞控制采用了四种算法,即慢开始,拥塞避免,快重传和快恢复。在网络层也可以使路由器采用适当的分组丢弃策略(如主动队列管理AQM),以减少网络拥塞的发生
TCP用主机的IP地址加上主机上的端口号作为TCP连接的端点。这样的端点就叫做套接字(socket)或插口。套接字用(IP地址:端口号)来表示。每一条TCP连接唯一被通信两端的两个端点所确定。
TCP的传输连接管理
运输连接的三个阶段,即:连接建立,数据传送和连接释放。
主动发起TCP连接建立的应用进程叫做客户,而被动等待连接建立的应用进程叫做服务器。TCP连接采用三报文握手机制。服务器要确认用户的连接请求,然后客户要对服务器的确认进行确认。
应用层
域名系统DNS:负责将域名解析成IP地址
文件传输协议FTP:
控制连接:标准端口为21,用于发送FTP命令信息
数据连接:标准端口为20,用于上传、下载数据
数据连接建立模型:
- 主动模式:FTP客户端主动告诉FTP服务器使用什么端口倾听,FTP服务器和FTP客户端该端口建立连接,源端口20;
- 被动模式:FTP服务器在指定范围内的某个端口被动等待客户端发起连接
FTP传输模式:
- 文本模式:ASCⅡ模式,以文本序列传输数据
- 二进制模式:Binary模式,以二进制序列传输数据
远程终端协议TELNET:
- Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。
- 在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。
- 可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
远程桌面协议RDP:
超文本传输协议HTTP:
- 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。
- 设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。
统一资源定位符URL:
- 统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
代理服务器Proxy Server:
- 代理服务器(Proxy Server)是一种网络实体,它又称为万维网高速缓存。
- 代理服务器把最近的一些请求和响应暂存在本地磁盘中。当新请求到达时,若代理服务器发现这个请求与暂时存放的的请求相同,就返回暂存的响应,而不需要按URL的地址再次去互联网访问该资源。
- 代理服务器可在客户端或服务器工作,也可以在中间系统工作。
简单邮件传输协议SMTP:
- SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
- SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。
- 通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。