参考资料

01.计算机网络概述

网络分类

  • 局域网 星型结构 覆盖范围小 自己维护设备 带宽固定:10M 100M 1000M

image.png

  • 广域网 距离远 花钱租带宽 他人维护
  • Internet ISP(服务提供商)自己的机房 对网民提供范围internet链接

image.png
image.png

计算机通信过程(web为例)

image.png
image.png

OSI参考模型

7层模型

  • 应用层:所有恩产生网络流量的程序
  • 表示层:在传输之前是否进行加密或压缩处理 二进制 ASCII
  • 会话层 查木马 netstat -n
  • 传输层 (不)可靠传输 流量控制
  • 网络层 负责选择最佳路径 规划IP地址
  • 数据链路层 帧的开始和结束 透明传输 差错校验
  • 物理层 接口/电器标准 如何在物理链路上传输速度更快

OSI排错指导: 自底向上排错

  1. 物理层 查看链接状态,发送和接收的数据包
  2. 数据链路层 mac冲突 ADSL欠费 网速没法协商一致
  3. 网络层 配置错误的IP地址 子网掩码 网关 路由器没有配置到达目标网络的路由
  4. 应用层 配置错误

OSI网络安全

  1. 物理层 不用的网线拔掉
  2. 数据链层 ADSL账号 VLAN 交换机端口绑定mac地址
  3. 网络层 路由器ACL控制数据包流量 防火墙
  4. 应用层 没漏洞

OSI封装通信
image.png

image.png

image.png

计算机网络性能

  1. 速率:连接计算机网络上的主机在数字信道上传送数据位数的速率(date rate 或bit rate) 单位:b/s,Kb/s,mb/s,gb/s
  2. 带宽:数字信道所能传输的最高数据率 单位:b/s,Kb/s,mb/s,gb/s
  3. 吞吐量:单位时间内通过某个网络的数据量 单位:b/s,mb/s
  4. 时延

    1. 发送时延=数据块长度(比特)/信道带宽(比特/秒)
    2. 传播时延
    3. 处理时延
    4. 排队时延
  5. 时延带宽积=传播时延*带宽
  6. 往返时间(RTT):从发送方发送数据开始,到发送方收到接收方确认
  7. 利用率

    1. 信道利用率:有数据通过时间/(有+无)数据通过时间
    2. 网络利用率:信道利用率加权平均值

image.png

02.物理层

2.1 物理层基本概念

解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。
物理层的主要任务:确定传输媒体的接口的一些特性:

  • 机械:接口形状、大小、引脚数目
  • 电气:规定电压范围(-5V 到 +5V)
  • 功能:规定-5V表示0,+5V表示1
  • 过程:也称规程特性,规定简历链接时各个相关不见的工作步骤

2.2 数据通信基础

image.png
通信的目的是传送消息。

  • 数据(data):运送消息的实体
  • 信号(signal):数据的电气的或电磁的表现

    • 模拟信号:消息参数的取值是连续的
    • 数字信号:消息的参数的取值是离散的
  • 码元(code):在使用时间域的波形表示数字信号时,则代表不同离散数值的基本波形。在数字通信中常常用时间间隔相同的符号来表示一个二进制数字,这样的时间间隔内的信号称为二进制码元。而这个间隔被称为码元长度。1码元可以携带nbit的信息量。

信道
信道一般表示向一个方向传输信息的媒体。平常的通信线路往往包含一条发送信息的信道和一条接收信息的信道。

  • 单向通信(单工):只能有一个方向的通信而没有反方向的交互。
  • 双向交替通信(半双工):通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。
  • 双向同时通信(全双工):通信的双方可以同时发送和接收信息。

基带(baseband)信号
来自信源的信号。比如说话的声波
带通(band pass)信号
经过载波调制后,把型号的频率范围搬移到较高频段以便在信道中传输。
image.png
因此在传输距离较近时,由于信号衰减不大,采用基带传输。如计算机到监视器,打印机等外设的信号传输

基带->带通 调制方法:

  • 调幅(AM) 载波的振幅随基带数字信号而变化
  • 调频(FM) 载波的频率随基带数字信号而变化
  • 调相(PM) 载波的初始相位随基带数字信号而变化

image.png

常用编码

image.png

  • 单极性不归零编码:只使用一个电压值,高电平表示1,低电平表示0.
  • 双极性不归零编码:用幅值相等的正负电平表示二进制数1和0.
  • 单极性归零编码:发送码1时高电平在整个码元期间只持续一段时间,其余时间返回零电平。
  • 双极性归零编码:正负零三个电平,信号本事携带同步信息。
  • 曼彻斯特编码:单极性编码的缺点是没有办法区分此时是没有信号,还是有信号,但是信号是0。这种编码方式是bit中间有信号,低-高跳转表示0,高-低跳转表示1,一个时钟周期只可以表示一个bit,并且必须通过两次采样才能得到一个bit。它能携带时钟信号,而且能区分此时是没有信号还是信号为0.

image.png

  • 差分曼彻斯特编码:抗干扰能力比曼彻斯特编码更强。bit与bit之间有信号跳变,表示下一个bit为0,bit与bit之间没有信号跳变,表示下一个bit为1。

image.png
曼切斯特编码能携带时钟信号,差分曼切斯特编码抗干扰性强于曼切斯特编码。
image.png

信道极限容量:信道极限容量取决于失真的大小,当失真过大时,接收信号无法还原发送信号。
image.png

奈氏准则:在假定理想条件下,为避免码间串扰,码元的传输速率上限值。信道频带越宽,可用更高速率传送码元。(光纤比铜线的速率更快)

信噪比
香农用信息论的理论推导出了带宽受限且有高斯白噪声干扰的信道的极限、无差错的信息传输速率

C = W log2(1 + S / N) b/s  
\->W是信道的带宽(Hz);  
\->S是信道内所传信号的平均功率;  
\->N是信道内的Gauss噪声的功率。

可以发现,减少速度和增大功率能提高准确度。

  • 信道的带宽或信道中的信噪比(S/N)越大,则信息的极限传输速率C就越高.
  • 只要信息传输速率小于信道的极限传输速率C,就一定能实现某种无差错传输.
  • 若带宽W或信噪比(S/N)没有上限,则极限传输速率C也没有上限(虽然不可能).
  • 实际上,信道能达到的最高传输速率要比C低不少.

奈氏准则和香农公式的应用范围
image.png

2.3 物理层下面的传输媒体

各种电缆:
image.png
image.png
直通线顺序(568B标准):白橙、橙、白绿、蓝、白蓝、绿、白棕、棕。应用:

  • 主机到交换机或集线器
  • 路由器到交换机或集线器

交叉电缆
image.png
现在的网卡自动商量线序
光纤
image.png
非导向传输媒体
无线传输频段很广,如电磁波。
短驳通信主要靠电离层反射,通信质量较差。
微博在空间主要是直线传播。
image.png
集线器 放大和重发,共享带宽,最大传输距离100m

2.4 信道复用技术

  • 频分复用FDM

image.png
image.png
image.png

  • 时分复用TDM

image.png
image.png

  • 统计时分复用STDM

image.png

  • 波分复用WDM就是光的频分复用

image.png

2.5 数字传输系统

主要指广域网的传输

脉码调制PCM最初是为了在电话局之间的中继线上传送多路的电话。历史原因2种标准,24路PCM(T1)和30路PCM(E1)我国是E1。
E1速率=2.048Mb/s=(30 8 + 2 8) * 8000
T1速率=1.544Mb/s=24 * 64kbps + 8kbps
带宽64k,计算如下图
image.png

2.6 宽带接入技术

image.png
xDSL用数字技术对现有的模拟电话用户线进行改造。标准模拟电话信号的频带被限制在300~3400Hz的范围内,但用户线本身实际可通过的信号频率仍然超过1MHz。xDSL技术就把0-4kHz低端频谱留给传统电话使用,而把原来没有被利用的高端频谱给上网。

ADSL DMT调制技术采用频分复用,40kHz-1.1MHz划分为许多子信道(一个占4kHz带宽),其中25个用于上行,249个用于下行。
image.png
image.png

光纤同轴混合网HFC
image.png

FTT技术(光纤到XX技术)

  • 光纤到家技术(Fiber to the home):光纤一直铺设到用户家庭(155MB/s)。
  • 光纤到大楼技术(Fiber to the building):光纤进入大楼后就转为电信号,然后用电缆或双绞线分配到各用户。
  • 光纤到路边技术(Fiber to the curb):从路边到各用户可以使用星形结构的双绞线作为传输媒体(155MB/s)。

03. 数据链路层

基本概念

数据链路层传送的是帧。
信道类型:

  • 点到点信道
  • 广播信道

三个基本问题:

  • 封装成帧

image.png

  • 透明传输

image.png

  • 差错控制

    • 循环冗余检验 CRC,冗余码FCS(有可能检测不出,无法知道第几位错)

链路(link)是一条点到点的物理线路段,中间没有任何其他的交换节点。一条链路只是一条通路的一个组成部分。
数据链路(data link) 除了物理线路之外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。现最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层的功能

点对点协议的数据链路层

点对点协议PPP 用户使用拨号电话线接入因特网一般是PPP。

PPP协议应满足:

  • 简单
  • 封装成帧
  • 透明性
  • 多种网络层协议
  • 多种类型链路
  • 差错监测
  • 监测连接状态
  • 最大传输单元
  • 网络层地址协商
  • 数据压缩协商

PPP不需要满足:

  • 纠错
  • 流量控制
  • 序号
  • 多点线路
  • 半双工或单工

image.png
image.png
image.png

广播信道的数据链路层

星型网 主流。
image.png

共享通信媒体

  • 静态划分信道
  • 动态媒体接入控制(多点接入)

    • 随机接入(主要被以太网采用!)
    • 受控接入,如点线路探询(polling)轮询(目前已不采用)

以太网使用 CSMA/CD (Carrier Sense Multiple Access with Collision Detection) 只能半双工。每个站在发送数据之后的一小段时间内,存在碰撞可能,这种发送不确定性使得整个以太网平均通信量远小于以太网的最高数据率。
载波监听:指每一个站在发送数据之前先要检测一下总线上是否有计算机在发送数据,如果有,则暂时不要发送数据。
碰撞监测:同时在总线上发送数据时,总线上的信号电压摆动值会增加(相互叠加)超过限制则等待随机时间后重发。
多点接入:许多计算机以多点接入的方式连接在一根总线上
争用期
image.png
image.png

以太局域网

符合IEEE 802.3(以前叫DIX Ethernet V2 差别不大) 认为叫以太网,提供不可靠的(尽最大努力的)交付。
拓扑
image.png
信道利用率
image.png
image.png
mac层
image.png
image.png
image.png
无效的MAC帧

  • 帧的长度不是整数个字节;
  • 用收到的帧检验序列FCS查出有错误;
  • 数据字段的长度不在46-1518字节内;
  • 对于检查出来的无效MAC帧简单的丢弃。

帧间最小间隔
为9.6微秒。相当于96bit的发送时间。一个站在检测到总线空闲时,还需要等待9.6微秒后才能再次发送数据,这样做是为了使刚刚收到的数据帧的站接收缓存来得及清理,做好接收下一帧的准备。

扩展以太网

  • 在物理层考虑扩展

    • 距离的扩展 :主机使用光纤和一对光纤调制解调器连接到集线器。image.png
    • 数量的扩展:集线器集联:使网络中计算机增加,变成一个大的冲突域,会造成效率降低。image.png
  • 在数据链路层考虑扩展

    • 使用网桥:网桥工作在数据链路层,他根据MAC帧的目的地址对收到的帧进行转发。网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是现检查此帧的目的MAC地址,然后再确定将该帧转发到对应的接口。image.png
    • 交换机 :随着网桥的接口的增加, 后来网桥和集线器合并了,计算机可以直接和交换机连接,这就是交换机。 交换机就是网桥和集线器的合并升级版,能全双工,安全通信。
    • 透明网桥:透明指局域网上的站点不知道所发送的帧将经过几个网桥,因为网桥对于各站点是看不见的。 透明网桥是一种即插即用的设备,标准是IEEE 802.1D。image.png

高速以太网

100Base-T以太网
速率在100Mb/s以上的以太网称为高速以太网。

在双绞线上传送100Mb/s基带信号的星型拓扑以太网,仍使用IEEE 802.3的CSMA/CD协议。

100Base-T以太网被称为快速以太网(fast ethernet)。

  • 物理层:

    • 100Base-TX:使用2对UTP 5类线或屏蔽双绞线STP。
    • 100Base-FX:使用2对光纤。
    • 100Base-T4:使用4对UTP 3类线或5类线。
  • 特点

    • 可以实现全双工通信(注意,如果交换机上某一路连接着集线器(半双工),则这一路不能实现全双工)而无冲突,此时不使用CSMA/CD协议。
    • MAC帧格式不变,仍是802.3 标准。
    • 最短帧长度不变,但是一个网段的最大电缆长度减少到100m。
    • 帧间间隔从9.6微秒缩小到0.96微秒。

吉比特Gbit以太网
允许在1 Gb/s下全双工或半双工工作方式。使用802.3标准的帧格式。在半双工下使用CSMA/CD协议。与10Base-T和100Base-T技术向后兼容。当吉比特以太网在全双工方式时,不用载波延伸和分组冲突。
image.png
1000Base-X以太网的物理层(基于光纤通道):

  • 1000Base-SX:SX表示短波长,传输距离上275m或550m。
  • 1000Base-LX:LX表示长波长,传输距离上550m或5000m。
  • 1000Base-CX:1000Base-T以太网的物理层(基于双绞线):
  • 使用 4对 5类线UTP。

10Gbit/s以太网

MAC帧格式不变,仍是802.3 标准。
使用光纤而不是铜线。
只能工作在全双工方式,没有争用问题。
它的出现使工作范围从局域网扩大到城域网和广域网,实现了端到端的以太网传输,优点是:技术成熟;互操作性好;广域网中使用以太网便宜;统一的帧格式。

04.网络层

负责在不同的网络之间(基于数据包的IP地址)尽力转发数据包,不负责丢包重传和接收顺序。
有点像送快递,一个人往另一个地方寄快递,每个快递走不同的路线,可能后发的先到了,也可能丢件了。但是网络层不管这些,只管寄快递。
image.png
路由器是三层设备:能看到网络层的IP地址来选择路径。
image.png
PC:计算机;Hub:集线器;Switch:交换机;Router:路由

网络设备和OSI参考模型的关系

举例,PC4向PC3传输数据

发送端(封装):

  • (1)应用层准备要传输的数据;
  • (2)传输层把文件进行分段并编号;(数据段)
  • (3)网络层把传输层的每一个数据包增加原IP地址和目标IP地址;(数据包)
  • (4)数据链路层把每个数据加上MAC地址;两种情况:(数据帧)

使用自己的子网掩码,判断自己和目标地址分别在哪个网段,若在同一个网段(不过路由器),通过ARP协议广播的方式得到目标IP地址的MAC地址,然后就能封装出一个数据帧;如果子网掩码不是一个网段(用与运算),通过ARP协议广播的方式得到路由器(网关)的MAC地址,然后把数据通过交换机发送到路由器M2,因为M2和M3是点对点通信,没有别的主机,所以它们之间的MAC地址就是FF。

  • (5)物理层把数据帧变成数字信号(bit流)

接收端(解封):

  • (1)交换机Hub0接收bit流,能对数据进行存储转发。它根据数据帧的MAC地址,确定数据是从哪来的,要去哪。
  • (2)路由器M2获取交换机的数据包,识别其中的IP地址,根据路由表选择出口,它无法识别数据段内容。
  • (3)路由器M2到M3是点对点通信,遵守PPP协议。
  • (4)PC3收到bit流后,数据链路层发现MAC地址是自己的,去掉MAC地址给它的网络层,网络层去掉IP地址给传输层,传输层把数据给应用层,应用层把各个数据拼接起来。

网络层协议

image.png
IP协议:把数据包从一个网段转到另一个网段,就是用来选择路径用的。
ARP为IP服务,IP为ICMP/IGMP服务。

  • ARP
    将IP地址通过广播(本网段,不通过路由器),目标MAC地址是FF-FF-FF-FF-FF-FF,解析目标IP地址的MAC地址。
    ARP是解决同一个局域网上的主机或路由器的IP地址和MAC地址的映射关系。如果所找的主机和原主机不在同一个局域网上,那么就要通过ARP找一个位于本局域网上的某个路由器的MAC地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。
    从IP地址到MAC地址的解析是自动进行的,主机的用户对这种地址解析过程是不知情的。
    只要主机或路由器要和本网络上的另一个已知IP地址的主机或路由器进行通信,ARP协议就会自动地将该IP地址解析为链路层所需要的MAC地址。

    • 使用ARP的四种典型情况

      • (1)发送方是主机,要把IP数据报发送到本网络的另一个主机,此时用ARP找到目标主机的MAC地址;
      • (2)发送方是主机,要把IP数据报发送到另一个网络的另一个主机,此时用ARP找到本网络上一个路由器的MAC地址,剩下的工作由路由器进行;
      • (3)发送方是路由器,要把IP数据报发送到本网络的另一个主机,此时用ARP找到目标主机的MAC地址;
      • (4)发送方是路由器,要把IP数据报发送到另一个网络的另一个主机,此时用ARP找到本网络上一个路由器的MAC地址,剩下的工作由路由器进行;
    • 逆地址解析协议RARP 只知道自己MAC地址就能获得其IP地址。
  • ICMP网际控制报文协议
    TTL是数据报的生存时间每过一个路由器就会减1,作用是防止数据报在网络中循环。TTL默认初始值 Linux 64 ,Windows 128 ,Unix 256。可以根据TTL值粗略判定对方是什么系统。
    (1)PING,因特网包套所起,用于测试网络连接量的程序。ping发送一饿ICMP回声请求消息给目的地并报告是否收到所希望的ICMP回声应答。
    (2)ping指端对端联通,通常用作可用性检测,但是某些病毒会强行大量远程执行ping命令抢占你的网络资源,导致系统网速变慢。严禁ping入侵作为大多数防火墙的一个基本功能提供给用户进行选择。
    (3)如果打开IE浏览器访问网站失败,可以通过ping命令测试到Internet的网络连通,可以为你排除网络故障提供线索。
    (4)QQ能登上,网页打不开是为什么? 网络层没有问题,域名解析有问题。 pathping 能跟踪数据包路径,发现出问题的位置。 Windows上跟踪数据包路径的命令:tracerert 10.7.1.53 路由器上跟踪数据包路径的命令:traceroute 12.0.0.3
  • 点到点通信
  • 广播:目标MAC地址全是F,目标IP地址全是255,也就是全是1.全网广播不能跨越路由器。
  • 组播=多播:分组广播(访问多播视频节目)。使用多播一般用于直播,网络会议,能够节省带宽。 IGMP协议的作用就是周期性扫描本网段内有没有主机在访问多播数据包。

IP数据包的结构
注意,ARP数据包不是这个格式。
首部:第一部分是固定长度,20字节,是所有IP数据包必须具有的。后一部分是可选字段,长度可变。
image.png
每一行32bit相当于1个字节,一共5行,共20字节。
image.png

  • 版本:用来表示TCP/IP是哪个版本,ipv4还是ipv6.
  • 区分服务:确定更高的传输优先级。
  • 总长度:确定数据部分长度。一共是16位,最多有2^16-1=65535字节。

注意,网络层,数据包最大65535字节;而数据链路层数据最大是1500字节,是不一样的。所以说,一旦超过数据链路层的最大要求时(网络层数据部分超过1480字节),数据包会分片。最大传输单元MTU。
image.png
数据包分片:把数据分割,分别添加IP地址,通过网络发给目标MAC地址。目标在通过网络层拼接。传送过程中可能会丢包,或者后发的先到(泪滴攻击就是利用目标机发送破坏的IP包(重叠的包货过大的包负荷)可以通过TCP/IP协议来瘫痪各种不同的操作系统)。所以需要编号。

  • 标识:如果出现数据包分片,那么标识用来确定哪些数据包是需要组合的。
  • 标志:确定该数据包是完整的还是分片中的一部分。占3位,只有前两位有用,标志字段最低位是MF(More Fragment),MF=1表示后面还有分片,MF=0表示最后一个分片。标志字段中间一位是DF(Don’t Fragment),只有DF=0才允许分片。
  • 片偏移:偏移等于当前字节在数据部分的第几个再除以8.(下图是一个举例)

image.png

  • 生存时间:就是TTL,time to live,每过一个路由器就减1。8位二进制。防止数据包在网络中循环。
  • 协议:用协议号标识数据部分是什么数据。

image.png

  • CMP协议号:1;
  • IGMP协议号:2;
  • TCP协议号:6;
  • UDP协议号:17;域名解析
  • IPv6协议号:41;
  • OSPF协议号:89;
  • 首部检验和:16位,只检验数据报的首部,不检验数据部分。这里不是采用CRC检验码而是采用简单的计算方法。每经过一个路由器就会检验一次。

image.png

  • 源地址和目的地址都是IP地址,32位,只符合IPv4。IPv6是128位。
  • 可变部分:一般没用。

静态路由需要管理员告诉路由器所有没有直连的网络下一跳给谁。适合于小规模网络,不能自动调整路由。

动态路由

  • RIP协议:周期性广播(30s)路由表,选择路径的依据是最少的跳数,最大跳数是15跳,所以一般不适合大网络。
  • OSPF协议:根据带宽选择路径

子网掩码:能够帮助路由器判断对应主机是否在同一个网段中。
image.png

ABCDE类网络地址
网络地址(网络号)唯一指定了每个网络。同一网络中的每台计算机都共享相同的网络地址,并用它作为自己IP地址的一部分。ABC对应的子网掩码分别是255.0.0.0和255.255.0.0和255.255.255.0
image.png

特殊的几个地址
127.0.0.1 本地换回地址
169.254.0.0
10.0.0.0,172.16.0.0–172.31.0.0,192.168.0.0–192.168.255.0 保留的私网地址
image.png

子网划分
image.png

05.传输层

传输层的功能

传输层最大数据包是65535字节,而网络层数据最大只有1480字节。所以需要分段,但是只要分段,就有可能丢包,因为网络层不负责可靠传输。所以要求服务器和客户端保持会话,直到数据传输完成。

传输层协议UDP TCP

  • TCP(Transmission Control Protocol)传输控制协议

应用场景:需要将要传输的文件分段传输时;就需要TCP协议来建立会话实现可靠传输;同时也有流量控制功能。(例如QQ传文件)
查看会话 netstat -n
查看建立会话的进程 netstat -nb

  • UDP(User Data Protocol)用户数据报协议

应用场景:一个数据包就能完成数据通信;不需要建立会话和流量控制;多播/广播;是一种不可靠传输。(例如QQ聊天,屏幕广播)

传输层协议和应用层协议的关系

  • (1)TCP和UDP协议和不同的端口即可对应一个应用层的协议。注意,53大部分是与UDP相连。
  • (2)熟知数值一般为0-1023,登记端口号数值1024-49151,客户端口号数值为49152-65535.
  • (3)常用的应用层协议使用的端口(号):

http = TCP + 80
Https = TCP + 443
RDP = TCP + 3389
ftp = TCP + 21
共享文件夹 = TCP + 445
SMTP = TCP + 25
POP3 = TCP + 110
telnet = TCP + 23
SQL = TCP + 1433
DNS = UDP + 53

服务和应用层协议的关系
防火墙是基于网卡的,只打开必要的端口,不必要的端口不允许接收数据,不影响服务的运行和监听。
服务使用TCP或UDP的端口侦听客户端请求;
客户端使用IP地址定位服务器,使用目标端口,定位服务;
可以在服务器网卡上设置只开放必要的端口,实现服务器网络安全。
如何查看服务侦听的端口

  • netstat -a
  • netstat -an 以数字的形式查看端口
  • netstat -n 查看建立的会话
  • netstat -nb 查看建立会话的进程
  • telnet 192.168.80.100 3389 测试到远程计算机某个端口是否打开

网络安全

更改服务使用默认端口可以迷惑病毒,使系统更加安全。
设置Windows网络安全: 本地连接 TCP/IP筛选

TCP可靠传输的实现

  • (1)可靠传输的工作原理——停止等待协议。

    • 在发送完一个分组后,必须暂时保留已发送的分组的副本。
    • 分组和确认分组都必须进行编号。
    • 超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些

image.png

  • (2)确认丢失和确认迟到

image.png

  • (3)可靠通信的实现

    • 使用上述的确认和重传机制,微秒就可以在不可靠的传输网络上实现可靠的通信。
    • 这种可靠传输的协议常称为自动重传请求ARQ(Automatic Repeat reQuest)。
    • ARQ表明重传的请求是自动进行的。接收方不需要请求发送方重传某个出错的分组。
    • 缺点,信道利用率低。

image.png

  • 信道利用率U
    image.png
  • (4)流水线传输(发送方)

发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认。由于信道上一直有数据不间断的传送,这种传输方式可获得很高的信道利用率。
image.png

  • (5)连续ARQ协议

    • 如果1确认收到了,则滑动窗口。如果12收到了,3没有收到,则滑动窗口会会回溯到3位置,重新发送。

image.png

  • (6)累计确认(接收方)

    • 接收方一般采用累计确认的方式。
    • 优点:容易实现,信道利用率高。
    • 缺点:不能向发送方反映出接收方已经正确收到的所有分组的信息。

TCP报文段的首部格式
image.png

  • (1)源端口:2个字节16位。
  • (2)目的端口:2个字节16位。
  • (3)序号:当前数据的第一个字节在整个文件中的序号。
  • (4)确认号ack:接收端发送,提示发送端下一次该发的数据在整个文件中的序号。接收端收到后,会把这个序号之前的数据从缓存中删掉。
  • (5)数据偏移:当前TCP报文段第多少个字节后是TCP的数据部分了。数据偏移最多表示1111,即15,他最多可以表示15乘以4,即60个字节的偏移量,所以选项+填充最多只能是40个字节。
  • (6)保留:6位,无作用。
  • (7)URG:urgent,意思是优先级高,发送端优先发送,而不是在缓存中排队。
  • (8)ACK:acknowledge,1意味着确认建立了会话。
  • (9)PSH:1意味着接收端优先读取,而不是在缓存中排队。
  • (10)RST:reset,1意味着TCP会话出现严重错误,必须释放和重新连接。
  • (11)SYN:同步。1意味着要发起会话。
  • (12)FIN:finish,1意味着释放连接。
  • (13)窗口:接收端先发,发送端根据接收端的窗口尺寸确定发送端窗口尺寸。
  • (14)检验和:
  • (15)紧急指针:只有URG为1才有用。

TCP流量控制

解决通信两端处理时间不一样的问题。通过实时调整滑窗尺寸的大小(尺寸甚至可以是0)来实现流量控制。接收端主动调整滑窗大小,发送端根据接收端发送的报文调整相应的滑窗。发送端也会定时发送报文向接收端确认滑窗信息,避免接收端发送的相关调整滑窗大小的报文丢失带来的影响。

TCP拥塞控制

  • (1)出现资源拥塞的条件:对资源需求的总和>可用资源。
  • (2)拥塞控制是一个全局性的过程,涉及到所有的主机,所有的路由区,以及与降低网络传输性能有关的所有因素。
  • (3)流量控制往往指在给定的发送端和接收端之间的点对点通信量的控制,它所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。

拥塞控制起到的作用
红线和绿线之间是数据丢失内容。
image.png
慢开始和拥塞避免
(1)发送方维持 拥塞窗口cwnd(congestion window)
(2)发送方控制拥塞窗口的原则是:
只要网络没有出现拥塞,拥塞窗口就再增大一些,以便把更多的分组发送出去;
只要网络出现拥塞,拥塞窗口就减少一些,以减少注入到网络中的分组数。
(3)慢开始算法的原理
image.png
(4)设置慢开始门限状态变量ssthresh
慢开始门限状态变量ssthresh的用法如下:
当cwnd<ssthresh时,使用慢开始算法;
当cwnd>ssthresh时,停止使用慢开始算法,改用拥塞避免算法;
当cwnd=ssthresh时,使用慢开始算法或拥塞避免算法均可;
(5)拥塞避免算法的思路
让拥塞窗口cwnd缓慢地增大,即每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1,而不是加倍,使拥塞窗口cwnd按线性规律缓慢增长。
(6)当网络出现拥塞时对策
无论是在慢开始阶段还是在拥塞避免阶段,只要发送方判断网络出现拥塞(其根据就是没有按时收到确认),就要把慢开始门限ssthresh设置为出现拥塞时的发送方窗口值的一半(但是不能小于2)。
然后把拥塞窗口cwnd重新设置为1,执行慢开始算法。
这样做的目的就是要迅速减少主机发送到网络中的分组数,使得发生拥塞的路由器有足够的时间吧队列中积压的分组处理完毕。
(7)慢开始和拥塞避免算法的实现举例

image.png

- 拥塞避免并非指完全能够避免拥塞。利用以上的措施要完全避免网络拥塞还是不可能的。  
- 拥塞避免是说在拥塞避免阶段吧拥塞避免窗口控制为按线性规律增长,使网络比较不容易出现拥塞。

快重传和快恢复
快重传算法首先要求接收方每收到一个失序的报文段后就立即发出重复确认,这样做可以让发送方及早知道有报文段没有到达接收方。
当发送端收到连续三个重复的确认时,就执行“乘法减少”算法,即把慢开始门限ssthresh减半,但拥塞窗口cwnd现在不设置为1,而是设置为慢开始门限ssthresh减半后的数值,然后开始执行拥塞避免算法(“加法增大”),使拥塞窗口缓慢地线性增大。
image.png

发送窗口的实际上限制取接收方窗口和 拥塞窗口 这两个变量中的较小值。发送窗口的上限制 = min {rwnd, cwnd}.

TCP运输链接管理

传输连接有三个阶段,即:连接建立,数据传送,连接释放。
TCP连接的建立都是采用客户服务器方式。
主动发起连接建立的应用进程叫做客户(client)。
被动等待连接建立的应用进程叫做服务器(server)。
image.png
头两次握手除了确定双方都能联通外,还通知了双方的一些端口信息。
第三次握手原因:假如把三次握手改成仅需要两次握手,死锁是可能发生的。作为例子,考虑计算机A和B之间的通信,假定A给B发送一个连接请求分组,B收到了这个分组,并发送了确认应答分组。按照两次握手的协定,B认为连接已经成功地建立了,可以开始发送数据分组。可是,B的应答分组在传输中被丢失的情况下,A将不知道B是否已准备好,A认为连接还未建立成功,将忽略B发来的任何数据分组,这样就形成了死锁。
image.png

06.应用层

DNS

根 .
顶级域名 com, edu, net,cn,org,gov
二级域名 91xueit, inhe,例如91xueit.com是全球唯一的域名。
三级域名 dba,例如www.dba.91xueit.com

把域名解析为IP地址。例如打得开QQ(可以直接用IP地址登陆),打不开网络可能是域名问题。
8.8.8.8 是google的DNS服务器,222.222.222.222是电信的DNS服务器,能够用来帮忙解析域名地址。

动态主机配置系统DHCP(同一个网段)

DHCP客户端请求IP地址的过程:这是一个动态IP地址的请求和分配过程。客户机在网中发广播请求地址,目标IP是4个255,目标MAC地址是全FF。DHCP收到后,会从地址池里选一个给客户机。如果网络中有2个DHCP服务端且都给了反馈,此时计算机还需要返回一个数据通知他选择了谁提供的地址。另一个DHCP客户端发现没要他的,于是收回他提供的。从这个角度看,网络中不能有太多的DHCP服务端。

文件传输协议FTP(File Transfer Protocol)

image.png
FTP的连接方式包括控制连接和数据连接。每上传/下载一个文件就会建立一个会话。
控制连接:标准端口为21,用于发送FTP命令信息。
数据连接:标准端口为20,用于上传/下载数据。

FTP数据连接:

  • 主动模式:FTP客户端告诉FTP服务器(的21端口)它在使用什么端口侦听,然后FTP服务器(的20端口)主动地和FTP客户端的这个端口建立连接。image.png
  • 被动模式:FTP服务器端打开在指定范围内的某个新的端口(例如1089端口)并且进行侦听,被动地等待客户端发起连接。image.png
  • 综上,在有防火墙的情况下,如果使用被动模式,防火墙不得不开很多端口来监听。因此应该使用主动模式来进行数据连接,并在防火墙开21和20端口。

FTP传输模式
文本模式:ASCII模式,以文本序列传输数据。
二进制模式:Binary模式,以二进制序列传输数据。

  • 远程终端协议telnet
  • 远程桌面协议RDP(Remote Desktop Protocol)
  • 超文本传输协议HTTP(Hyper Text Transfer Protocol)
  • 电子邮件(SMTP, POP3, IMAP)

    • SMTP发, POP3和IMAP是收

07.网络安全

安全包括:

  • (1)数据(文件/文件夹)存储安全
  • (2)应用程序安全
  • (3)操作系统安全
  • (4)网络安全
  • (5)物理安全
  • (6)用户安全教育

计算机网络上的通信面临的威胁

  • (1)截获——从网络上窃听他人的通信内容。(被动攻击)

    • 例如cain软件
  • (2)中断——有意中断他人在网络上的通信。(主动攻击)

    • DoS拒绝服务式攻击通过在网络上拥挤一些没用的数据包来组断网络。一般会占用下载通道ADSL而不是上传通道UDP,因为下载的带宽要大得多。
  • (3)篡改——故意篡改网络上发送的报文。(主动攻击)(例如cain软件)

    • 类似于钓鱼网站,当用户想出入建设银行的域名,解析错误导致用户访问了错误的网站,当用户输入账号密码的话就会导致信息泄漏。
  • (4)伪造——伪造信息在网络上传送。(主动攻击)

    • 趁其它主机关机时,把IP地址伪装成该主机的IP地址,从而获取信息。

DDoS分布式攻击可以在网络上找很多有漏洞的网站(肉鸡),给指定的服务器发流量来使网络拥挤吃掉带宽,对于这种方式没有什么好办法。

恶意程序

  • (1)计算机病毒——会“传染”其它程序,“传染”是通过修改其它程序来把自身或其变种复制进去完成的。(熊猫烧香)
  • (2)计算机蠕虫——通过网络的通信功能将自身从一个结点发送到另一个结点并启动运行的程序。(消耗CPU资源)
  • (3)特洛伊木马——一种程序,它执行的功能超过所声称的功能。(和(1)(2)的区别是会和外界通信)

    • 木马程序的识别:

      • 查看会话netstat -n看看是否有可疑的会话;
      • 运行msconfig服务,把隐藏微软服务掉,看看剩下的有哪些刻意;
      • 杀毒软件。
  • (4)逻辑炸弹——一种当运行环境满足某种特定条件时执行其它特殊功能的程序。

加密技术

  • 对称加密

    • 加密密钥和解密密钥是同一个。
    • 缺点:密钥不适合在网上传;密钥是一对一的,如果有很多主机相互通信,有很多密钥需要维护;
    • 优点:效率高。
  • 非对称加密

    • (1) 加密密钥和解密密钥是不同的,有一对密钥对,公钥和私钥。 要么公钥加密私钥解密;要么私钥加密公钥解密。
    • (2)优点:给出私钥和公钥其中一个无法算出另一个。
    • (3)缺点:效率低。
  • 数字签名:防止抵赖,能够检查签名后的内容有没有被更改过。
  • 安全套接字SSL
  • 网络层安全IPSec中最主要的2个协议

    • 鉴别首部AH(Authentication Header):AH鉴别源点和检查数据完整性,但不能保密。在使用AH时,把AH首部插在原数据报数据部分的签名,同时把IP首部中的协议字段设置为51.在传输过程中,中间的路由器都不查看AH首部。当数据报到达终点时,目的主机才会处理AH字段,以鉴别源点和检查数据报的完整性。image.png
    • 封装安全有效载荷ESP(Encapsulation Security Payload):ESP比AH复杂的多,它鉴别源点,检查数据完整性和提供保密。使用ESP时,IP数据报首部的协议字段设置为50.当IP首部检查到协议字段是50时,就知道在IP首部后面紧跟着ESP首部,同时在原IP数据报后面增加了2个字段,即ESP尾部和ESP数据。image.png
  • 数据链路层安全(链路加密与端到端加密)

    • PPP 身份验证
    • ADSL
  • 防火墙

    • 防火墙必须能够识别通信量的各种类型。一般是阻止功能。在互联网中的位置image.png
    • 功能
      -阻止:阻止某种类型的通信量通过防火墙(从外部网络到内部网络,或反过来)。
      -允许:允许某种类型的通信量通过防火墙(从外部网络到内部网络,或反过来)。
    • 技术的分类

      • (1)网络层防火墙:用来防止整个网络出现外来非法的入侵。属于这类的有分组过滤和授权服务器。前者检查所有流入本网络的信息,然后拒绝不符合事先制订好的一套准则的数据,而后者则是检查用户的登录是否合法。可以基于数据包,源地址,目标地址,协议和端口来控制流量。
      • (2)应用层防火墙:从应用程序来进行接入控制,通常使用应用网关或代理服务器来区分各种应用。例如,可以只允许用过访问www的应用,而阻止FTP应用的通过。应用级防火墙可以检查数据报的内容。可以基于数据包,源地址,目标地址,协议和端口,用户名,时间段来控制内容,可以放病毒,可见功能更强大。
    • 结构

      • 边缘防火墙image.png
      • 三向外围网image.pngDMZ是公司内部的服务器。内网可以访问外网,外网不能访问内网,只能访问服务器DMZ。
      • 背靠背防火墙image.png
      • 单一网卡防火墙image.png

seasonley
607 声望693 粉丝

一切皆数据