计算机网络

计算机网络概述

因特网概述

网络 计算机用网络设备连起来

互联网 许多网络通过路由器连起来

因特网 全球最大的一个互联网

因特网的组成

边缘部分(计算机、平板、手机)

  • 客户服务器方式
  • 对等方式p2p:客户端也可以作为服务器

核心部分(路由器)

  • 电路交换:适用于数据量很大的实时性传输、核心路由器之间、应用如固定电话
  • 报文交换
  • 分组交换

计算机网络的类别

作用范围

广域网(WAN)

城域网(MAN)

局域网(LAN)

个人区域网(PAN)

使用者

公用网

专用网

拓扑结构

总线型

环型

星型

树型

网状

交换方式

电路交换

报文交换

分组交换

工作方式

资源子网

通信子网

接入网

计算机网络的性能

1.速率

连接在计算机网络上的主机在数字信道上传送数据位数的速率,也称data 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.时延

①发送时延:计算机发出数据的时间

发送时延=数据块长度(比特)/信道带宽(比特/秒)

②传播时延:媒体上传输时消耗的时间

传播时延=信道长度(米)/信号在信道上的传播速率(米/秒)

③处理时延:网络结点存储转发处理时间

④排队时延:网络结点缓存队列排队时间

5.时延带宽积

数据链路上能够承载的数据量

时延带宽积=传播时延×带宽

6.往返时间RTT

从发送方发送数据开始,到发送方收到接收方确认

7.利用率

①信道利用率:有数据通过时间/(有+无)数据通过时间

②网络利用率:信道利用率加权平均值

D=D0/1-U

D0表示网络空闲时的时延

D表示网络当前的时延

U表示信道利用率

OSI参考模型(7层)

应用层 能够产生网络流量能够和用户交互的应用程序

表示层 加密、压缩、开发人员考虑的问题

会话层 服务和客户端建立的会话 查木马 netstat -nb

传输层 可靠传输建立会话 不可靠传输 流量控制

网络层 IP地址编址 选择最佳路径

数据链路层 数据如何封装 添加物理层地址 MAC

物理层 电压 接口标准

网络排错

底层往高层,逐一排查

网络安全和OSI参考模型

物理层安全

数据链路层安全 ADSL AP密码

网络层安全

应用层安全 SQL注入漏洞 长传漏洞

开放系统信息交换涉及的几个概念

实体(entity):交换信息硬件和软件的进程

协议(protool):控制两个对等实体通信的规则

服务(service):下层向上层提供服务,上层需要使用下层提供的服务来实现本层的功能

服务访问点(SAP):相邻两层实体间交换信息的地方

五层协议对应的数据单元

应用层:传输数据单元PDU

运输层:运输层报文

网络层:IP数据报(IP分组)

数据链路层:数据帧

物理层:比特

物理层

物理层的基本概念

解决如何在连接各种计算机的传输媒体上传输数据比特流,主要任务时确定与传输媒体的接口的一些特性,如下

  • 机械特性:接口形状、大小、引线数目
  • 电气特性:规定电压范围
  • 功能特性:如规定-5V表示0,+5V表示1
  • 过程特性:也称规程特性,规定建立连接时各个相关部件的工作步骤

数据通信的基础知识

相关术语

通信的目的是传送消息

  • 数据:运输消息的实体

  • 信号:数据的电气或电磁的表现

    模拟信号:消息的参数取值是连续的

    数字信号:消息的参数取值是离散的

  • 码元:在使用域的波形表示数字信号时,则表示不同离散数值的基本波形就成为码元

有关信道的几个基本概念

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

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

基带信号和带通信号

  • 基带信号(基本频带信号):来自信源的信号。如计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。基带信号就是发出的直接表达了要传输的信息的信号,如我们说话的声波
  • 带通信号:把基带信号经过载波调制后,把信号的频率范围搬到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)

几种最基本的调制方法

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

常用的编码

  • 单极性不归零码:只使用一个电压值,用高电平表示1,没电压表示0

  • 双极性不归零码:用正电平和负电平分别表示二进制数据的1和0,正负幅值相等

  • 双极性归零码:正负零三个电平,信号本身携带同步信息

  • 曼切斯特编码:bit中间有信号低-高跳变为0,bit中间有信号高-低跳变为1

  • 差分曼切斯特编码:bit中间有信号跳变,bit与bit之间也有信号跳变,表示下一个bit为0, bit中间有信号跳变,bit与bit之间无信号跳变,表示下一个bit为1

信道的极限容量

  • 有失真,但可识别
  • 失真大,无法识别

奈氏准则

在任何信道中,码元传输的速率是有上限的,否则就会出现码间串扰的问题,使接收端对码元的判决成为不可能

理想低通信道的最高码元传输速率=2WBaud

  • W是理想低通信道的带宽,单位为Hz
  • Baud是波特,是码元传输速率的单位

信噪比

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

信道的极限信息传输速率C可表达为C=Wlog2(1+S/N)b/s

  • W为信道带宽(Hz为单位)
  • S为信道内所传信号的平均功率
  • N为信道内部的高斯噪声功率

物理层下面的传输媒体

导向传输媒体

导向传输媒体中,电磁波沿着固体媒体传播

1.双绞线

  • 屏蔽双绞线STP
  • 无屏蔽双绞线UTP

2.同轴电缆

  • 50Ω同轴电缆用于数字传输,由于多用于基带传输,也叫基带同轴电缆
  • 75Ω同轴电缆由于模拟传输,即宽带同轴电缆

3.光缆

非导向传输媒体

自由空间,其中的电磁波传输被成为无线传输。无线传输所使用的频段很广

短波通信主要靠电离层的反射,但短波通信的通信质量较差

微波在空间主要是直线传播

  • 地面微波接力通信
  • 卫星通信

物理层设备-集线器(hub)

工作特点:只起到信号放大和重发作用,其目的是扩大网络的传输范围,而不具备信号的定向传送能力

最大传输距离:100m

集线器是一个大的冲突域

信道复用技术

复用是通信技术中的基本概念

1.频分复用FDM

用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。

频分复用的所有用户在同样的时间占用不同的带宽资源(“带宽”是频率带宽而不是数据的发送速率)

2.时分复用技术TDM:

将时间划分成一段段等长的时分复用帧(TDM帧),每个时分复用的用户在每一个TDM帧中所占用固定序号的时隙。

每一个用户所占用的时隙是周期性的出现(其周期就是TDM帧的长度对应的时间)

TDM信号也称等时信号。

时分复用的所有用户是在不同的时间占用同样的频带宽度

3.码分复用技术CDM

常用的名词是码分多址CDMA,例如手机通话就会使用到码分复用技术

每个比特时间划分为m个短的间隔,称为码片

数字传输系统

脉码调制PCM体制最初是为了在电话局之间的中继线上传送多路电话

带宽接入技术

xDSL技术

把0-4kHz低端频谱留给传统电话使用,而把原来没有被利用的高端频谱留给用户上网使用

光纤同轴混合网HFC网

在有线电视网CATV的基础上开发的一种居民宽带接入网

FTTx技术

  • 光纤到家FTTH
  • 光纤到大楼FTTB
  • 光纤到路边FTTC

数据链路层

数据链路层的信道类型

  1. 点对点信道。使用一对一的点对点通信方式
  2. 广播信道。一对多的广播通信方式,因此过程比较复杂。

链路与数据链路

  • 链路(link)是一条点到点的物理线路段,中间没有任何其他点。

    一条链路只是一条通路的一个组成部分。例如网线、电话线

  • 数据链路(data link)除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。

    最常用的方法就是使用适配器(即网卡)来实现这些协议的硬件和软件

    一般适配器都包括了数据链路层和物理层这两层的功能

在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧

基本问题

封装成帧

  • 封装成帧就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧,确定帧的界限
  • 首部和尾部的一个重要作用就是进行帧定界

透明传输

若传输的数据不是仅由“可打印字符”组成时,就会出问题

用字符填充法解决透明传输的问题

发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”。字节填充或者字符填充—-接收端的数据链路层在将数据送往网络层之前删除插入的转义字符

差错控制

传输过程中可能会产生比特差错:1可能会变成0而0也可能变成1

在一段时间内,传输错误的比特占所传输比特总数的比率为误码率BER

循环冗余检验CRC

在发送端,先把数据划分成组。在待传送的数据M(M的位数为k)后面再添加供差错检测用的n为冗余码一起发送

冗余码的计算

  • 用二进制的模2运算进行2^n乘M的运算,这相当于在M后面添加n个0
  • 得到的(k+n)位的数除以事先选定好的长度为(n+1)位的除数P,得出商是Q而余数是R(FCS),余数R比除数P少一位,即R是n位。

仅用循环冗余检验CRC差错检测技术只能做到无差错接受,要做到可靠传输就必须加上确认和重传机制。考虑:帧重复、帧丢失、帧乱序的情况。

可以说CRC是一种无比特差错,而不是无传输差错的检测机制

帧检验序列FCS

在数据后面加上的冗余码称为帧检验序列FCS,循环冗余校验CRC和帧检验序列FCS并不等同

  • CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码
  • FCS可以由CRC这种方法得出,但CRC并非原来获得FCS的唯一办法

PPP协议使用场合

PPP协议拨号有身份验证、记账的功能。全世界使用最多的数据链路层协议是点对点协议PPP,用户使用拨号电话接入因特网时,一般都是使用PPP协议。

PPP协议三个组成部分

  • 数据链路层协议(HDLC)可以用于异步串行或者同步串行介质
  • 使用LCP(链路控制协议)建立并维护数据链路连接,身份验证
  • 网络控制协议(NCP)允许在点到点连接上使用多种网络层协议

PPP填充方法

  • 字节填充
  • 零比特填充:在5个连1之后填入0

以太网的特点

局域网的特点与优点

局域网最主要的特点:网络为一个单位所拥有,且地理范围和站点数目均有限

主要优点

  • 广播功能,从一个站点可很方便的访问全网,局域网上的主机可以共享连接在局域网上的各种硬件和软件资源
  • 便于系统的扩展和演变,设备的位置可灵活调整和改变
  • 提高系统的可靠性、可用性和生存性

共享通信媒体

1.静态划分信道

  • 频分复用
  • 时分复用
  • 波分复用
  • 码分复用

2.动态媒体接入控制(多点接入)

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

(广播信道的数据链路层)载波监听多点接入/碰撞检测 以太网使用CSMA/CD协议

  • 多点接入表示许多计算机以多点接入的方式连接在一根总线上
  • 载波监听是指每一个站在发送数据之前先要用电子技术检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发送碰撞

碰撞检测

计算机边发送数据边检测信道上的信号电压大小

  • 当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)
  • 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。
  • 所谓碰撞就是发生了冲突,因此碰撞检测也成为冲突检测

检测到碰撞后

  • 在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来
  • 每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立马停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送

重要特性

使用CSMA/CD协议的以太网不能进行全双工通信而只能进行双向交替通信

争用期

最先发送数据帧的站,在发送数据帧后至多经过时间2τ就可知道发送的数据帧是否遭到了碰撞

经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发送碰撞。

  • 以太网的端到端往返时延2τ成为争用期,或碰撞窗口。通常,取51.2μs为争取期的长度
  • 对于10Mb/s以太网,在争用期内可发送512bit,即64字节
  • 以太网发送数据时,若前64字节未发生冲突,则后续的数据就不会发生冲突

最短有效帧长

  • 如果发生冲突,就一定是在发送的前64字节之内
  • 由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于64字节
  • 以太网规定了最短有效帧长为64字节,凡长度小于64字节的帧都是由于冲突而异常中止的无效帧

二进制指数类型退避算法

发生碰撞的站在停止发送数据之后,要推迟一个随机时间再发送数据

  • 确定基本退避时间,一般是争用期2τ
  • 定义参数k,k=Min[重传次数,10]
  • 从整数集合[0,1,…,(2^k-1)]中随机取出一个数,记为r。重传所需时延就是r倍的基本退避时间
  • 当重传16次仍不能成功时即丢弃该帧,并向高层报告

以太网的两个标准

  1. DIX Ethernet V2标准世界上第一个局域网产品的规约
  2. IEEE的802.3标准

以太网与数据链路层的两个子层

802委员会将局域网的数据链路层拆分成两个子层

  • 逻辑链路控制LLC子层
  • 媒体接入控制MAC子层

以太网提供的服务

  • 不可靠的交付,即尽最大努力的交付
  • 当接收站收到有差错的数据帧就丢弃此帧,其他什么也不做。差错的纠正由高层来决定
  • 如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送

星型拓扑

  • 传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。不用电缆而使用无屏蔽双绞线。每个站需要用两对双绞线,分别用于发送和接收
    这种以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器(hub)
  • 使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是CSMA/CD协议,并共享逻辑上的总线。
  • 集线器很像一个多接口的转发器,工作在物理层

以太网的信道利用率

以太网的信道被占用的情况:
争用期长度为2τ,即端到端传播时延的两倍。检测到碰撞后不发送干扰信号。
帧长为L(bit),数据发送速率为C(b/s),因而帧的发送时间为L/C=T0(s)。

对以太网参数的要求

  • 当数据率一定时,以太网的连线的长度受到限制,否则τ的数值会太大
  • 以太网的帧长不能太短,否则T0的值会太小,使a值太大。

信道利用率的最大值

Smax=T0/T0+τ=1/1+a

MAC层(ipconfig /all)

在局域网中,硬件地址又称物理地址,或者MAC地址

发往本站的帧包括以下三种帧

  • 单播帧(一对一)
  • 广播帧(一对全体)
  • 多播帧(一对多)

无效的MAC帧

  • 帧的长度不是整数个字节
  • 用收到的帧检验序列FCS查出有差错
  • 数据字段的长度不在46-1500字节之间(有效的MAC帧长度为64-1518字节之间)

对于检查出的无效MAC帧就简单丢弃,以太网不负责重传丢弃的帧

帧的最小间隔

帧的最小间隔为9.6μs,相当于96bit的发送时间,为了接收数据帧的站的接收缓存来得及清理

扩展以太网

在物理层考虑扩展

主机使用光纤和一对光线调制解调器连接到集线器

100BASE-T以太网又称为快速以太网

速率达到或者超过100Mb/s的以太网称为高速以太网

100BASE-T以太网的物理层

  • 100BASE-TX:使用2对UTP5类线或屏蔽双绞线STP。
  • 100BASE-FX:使用2对光纤。
  • 100BASE-T4:使用4对UTP3类线或5类线。

100BASE-T特点

可在全双工方式下工作而无冲突发生。因此,不使用CSMA/CD协议
MAC帧格式仍然是802.3标准规定的。
保持最短帧长不变,但将一个网段的最大电缆长度减小到100m。帧间时间间隔从原来的9.6μs改为现在的0.96μs。

吉比特以太网的物理层

1000BASE-X基于光纤通道的物理层

  • 1000BASE-SX SX表示短波长
  • 1000BASE-LX LX表示长波长
  • 1000BASE-CX CX表示铜线

1000BASE-T

  • 使用4对5类线UTP

在数据链路层考虑扩展

使用网桥,根据MAC帧的目的地址对收到的帧进行转发。

网桥具有过滤帧的功能。当网桥接收到一个帧时,并不是向所有的接口转发此帧,二十先检查此帧的目的MAC地址,然后再确定将该帧转发到哪个接口

网桥的好与坏

  • 过滤通信量。
  • 扩大了物理范围。
  • 提高了可靠性。
  • 可互连不同物理层、不同MAC子层和不同速率(如10M6/s和100Mb/s以太网)的局域网。

  • 存储转发增加了时延。
  • 在MAC子层并没有流量控制功能。
  • 具有不同MAC子层的网段桥接在一起时时延更大。
  • 网桥只适合于用户数不太多(不超过几百个)和通信量不太大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞。这就是所谓的广播风暴。

虚拟局域网

LAN和VLAN

LAN:局域网,由交换机或者集线器连着多台计算机

一个VLAN=一个广播域=逻辑网段(子网)

VLAN优点:

  • 分段
  • 灵活性
  • 安全性

VLAN跨交换机的网段

  • 干道端口:可以跑多个VLAN数据
  • Access端口:接计算机

网络层

网络层提供的两种服务

  1. 网络层向传输层提供的服务
    • 虚电路服务
      虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接。
      请注意,电路交换的电话通信是先建立了一条真正的连接。因此分组交换的虚连接和电路交换的连接只是类似,但并不完全一样。
    • 数据报服务
      网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络在发送分组时不需要先建立连接。每一个分组(即P数据报)独立发送,与其前后的分组无关(不进行编号)。
      网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。
      尽最大努力交付的好处:
      由于传输网络不提供端到端的可靠传输服务,这就使网络中的路由器可以做得比较简单,而且价格低廉(与电信网的交换机相比较)
      如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责(包括差错处理、流量控制等)
      采用这种设计思路的好处是:网络的造价大大降低,运行方式灵活,能够适应多种应用。
      因特网能够发展到今日的规模,充分证明了当初采用这种设计思路的正确性。
  2. 可靠交付由端系统负责

虚电路服务和数据报服务的对比

对比的方面 虚电路服务 数据报服务
思路 可靠通信应当由网络来保证 可靠通信应当由用户主机来保证
连接的建立 必须有 不需要
终点地址 仅在连接建立阶段使用,每个分组使用短的虚电路号 每个分组都有终点的完整地址
分组的转发 属于同一条虚电路的分组均按照同一路由进行转发 每个分组独立选择路由进行转发
当结点出故障时 所有通过出故障的结点的虚电路均不能工作 出故障的结点可能会丢失分组,一些路由可能会发生变化
分组的顺序 总是按发送顺序到达终点 到达终点时不一定按发送顺序
端到端的差错处理和流量控制 可以由网络负责,也可以由用户主机负责 由用户主机负责

网际协议IP

虚拟互联网

网络互连的设备

中间设备又称为中间系统或中继(relay)系统。

  • 物理层中继系统:转发器(repeater)。
  • 数据链路层中继系统:网桥或桥接器(br idge)。
  • 网络层中继系统:路由器(router)。
  • 网络层以上的中继系统:网关(gateway)。

网关就是路由器接口的地址

IP协议简介

网际协议IP是TCP/IP体系中两个最主要的协议之一。与IP协议
配套使用的还有四个协议:

  • 地址解析协议ARP(Address Resolution Protocol)
  • 逆地址解析协议RARP(Reverse Address Resolution Protoco)
  • 网际控制报文协议ICMP(Internet Control Message Protoco)
  • 网际组管理协议IGMP(Internet Group Management Protocol)

IP地址

IP层次结构

层次化IP地址:将32位的IP地址分为网络ID和主机ID

IP地址分类
网络类别 最大网络数 第一个可用的网络号 最后一个可用的网络号 每个网络中最大的主机数
A 126(2^7-2) 1 126 16777214
B 16383(2^14-1) 128.1 191.255 65534
C 2097151(2^21-1) 192.0.1 232.255.255 254
特殊的几个地址
  1. 127.0.0.1本地环回地址
  2. 169.254.0.0计算机自己给自己产生的临时地址
  3. 主机号不能全0
  4. 主机号全1代表广播,网络中所有计算机都能收到数据包
保留的私网地址
  1. 10.0.0.0企业政府学校来用
  2. 172.16.0.0 —172.31.0.0
  3. 192.168.0.0 —192.168.255.0

子网掩码的作用

子网掩码与自己的IP地址做与运算使主机位归零,看自己与目标主机是否在同一个网段,若源主机与目标主机在一个网段则通,否则交由网关给路由器转发

子网划分

等分成2个子网

每个子网是原来的1/2,子网掩码往后移一位

子网掩码255.255.255.128,网关是192.168.0.1和192.168.0.129

等分成4个子网

每个子网是原来的1/2×1/2,子网掩码往后移两位

子网掩码255.255.255.192

等分成8个子网

每个子网是原来的1/2×1/2×1/2,子网掩码往后移三位

子网掩码255.255.255.224

乘了几次1/2,子网掩码就往后移几位

点到点网络

子网掩码是255.255.255.252,子网掩码往后移6位

等分的时候每一截子网掩码都一样,不等分时子网掩码不一样

超网

让两个子网的计算机划分在一个网段

合并网络的规律

向左移动1位子网掩码可以合并0、1网络,也可以合并2、3网络,也可以合并4、5网络,也可以合并6、7网络
通过向左移动2位子网掩码可以将连续的0、1、2、3网络合并成一个网络,也可将连续的4、5、6、7网络合并成一个网络
通过向左移动3位子网掩码,可以将0、1、2、3、4、5、6、7网络合并成一个网络

IP地址与MAC硬件地址

数据包

数据+IP地址(包括目标地址和源地址)

数据帧

数据包+MAC地址,MAC地址每过一个网络设备就就得变一次

IP地址与MAC地址的区别
  • IP地址决定了数据包最终要到哪个计算机
  • MAC地址决定了下一跳给谁,即下一个设备给谁

ARP协议

ARP协议工作机制

ARP协议负责把IP地址解析成MAC地址,解析靠广播

判定ARP欺骗

ARP欺骗

一台计算机恶意覆盖网关地址,获取其他计算机发给路由器的数据信息

命令

arp -a

逆地址解析协议RARP

逆地址解析协议RARP使只知道自己硬件地址的主机能够知道其IP地址。

数据包

数据包首部

一个IP数据报由首部和数据两部分组成

  • 首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的
  • 在首部的固定部分的后面是一些可选字段,其长度是可变的。

IP数据报首部的固定部分中的各字段

  1. 版本

    占四位,指IP协议的版本(IPv4还是IPv6)

  2. 首部长度

    占四位,可表示的最大数值是15个单位(一个单位为4字节)

  3. 区分服务

    占八位,用来获取更好的服务,区分服务的轻重缓急,路由器端也要配有区分服务才能使用

  4. 总长度

    占16位,指首部和数据之和的长度

  5. 标识

    占16位,计数器,用来产生数据报的标识

  6. 标志

    区别包是否分片

  7. 片偏移

    表示偏移量

  8. 生存时间

    记为TTL,数据报在网路中可通过的路由器数的最大值

  9. 协议

    (8位)字段指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理过程

  10. 首部校验和

    (16位)字段只检验数据报的首部,不检验数据部分。这里不采用CRC检验码而采用简单的计算方法

IP数据报首部的可变部分

  • IP首部的可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富。
  • 选项字段的长度可变,从1个字节到40个字节不等,取决于所选择的项目。
  • 错加首部的可变部分是为了增加IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的。这就增加了每一个路由器处理数据报的开销。实际上这些选项很少被使用。

IP转发分组的流程

数据路由

路由器在不同网段转发数据包

网络畅通的条件

能去能回

  • 沿途的路由器必须知道到目标网络下一跳给哪个接口
  • 沿途的路由器必须知道到源网络下一跳给哪个接口

管理员给路由器加路由表时,告诉路由器没有直连的所有网络怎么走,叫做静态路由,配完后才能通

无分类编址的IPv4地址

由来

  • 划分子网在一定程度上缓解了因特网在发展中遇到的困难,但是数量巨大的C类网因为其地址空间太小并没有得到充分使用,而因特网的P地址仍在加速消耗,整个PV4地址空间面临全部耗尽的威胁。
  • 为此,因特网工程任务组ETF又提出了采用无分类编址的方法来解决P地址紧张的问题,同时还专门成立PV6工作组负责研究新版本P以彻底解决P地址耗尽问题。
  • 1993年,IETF发布了无分类域间路由选择CIDR(Classless Inter-.Domain Routing)的RFC文档:RFC1517~1519和1520。
  • CIDR消除了传统的A类、B类和C类地址,以及划分子网的概念;
  • CIDR可以更加有效地分配IPv4的地址空间,并且可以在新的1PV6使用之前允许因特网
    的规模继续增长。

定义

  1. CIDR使用“斜线记法”,或称CIDR记法。即在IPV4地址后面加上斜线“/”,在斜线后面写上网络前缀所占的比特数量。
  2. CIDR实际上是将网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。
  3. 我们只要知道CDR地址块中的任何一个地址,就可以知道该地址块的全部细节:
    • 地址块的最小地址
    • 地址块的最大地址
    • 地址块中的地址数量
    • 地址块聚合某类网络(A类、B类或C类)的数量
    • 地址掩码(也可继续称为子网掩码)

路由聚合

  1. 网络前缀越长,地址块越小,路由越具体;
  2. 若路由器查表转发分组时发现有多条路由可选,则选择网络前缀最长的那条,这称为最长前缀匹配,因为这样的路由更具体。
  3. 网络地址=网络前缀+主机号全0
  4. 广播地址=网络前缀+主机号全1

IP数据报的发送和转发过程

IP数据报的发送和转发过程包含以下两部分:

  • 主机发送IP数据报
  • 路由器转发P数据报

为了将重点放在TCP/八P协议栈的网际层发送和转发IP数据报的过程上,在之后的举例中,我们忽略使用ARP协议来获取目的主机或路由器接口的MAC地址的过程以及以太网交换机自学习和转发帧的过程。

直接交付

同一个网络中的主机间可以直接通信

间接交付

不同网络中的主机通信,通过路由器进行中转

默认网关

当本网络中的主机要和其他网络中的主机进行通信时,会将IP数据报传输给默认网关,由默认网关帮主机将IP数据报转发出去

路由转发

路由器收到IP数据报后如何转发?

  1. 检查IP数据报首部是否出错:

    • 若出错,则直接丢弃该P数据报并通告源主机
    • 若没有出错,则进行转发
  2. 根据P数据报的目的地址在路由表中查找匹配的条目:

    • 若找到匹配的条目,则转发给条目中指示的下一跳

    • 若找不到,则丢弃该P数据报并通告源主机

静态路由配置及其可能产生的路由环路问题

  1. 静态路由配置是指用户或网络管理员使用路由器的相关命令给路由器人工配置路由表。
    • 这种人工配置方式简单、开销小。但不能及时适应网络状态(流量、拓扑等)的变化。
    • 一般只在小规模网络中采用。
  2. 使用静态路由配置可能出现以下导致产生路由环路的错误
    • 配置错误
    • 聚合了不存在的网络
    • 网络故障

计算机网络微课堂

因特网概述

网络、互联网和因特网

  • 网络(Network)由若干结点(Node)和连接这些结点的链路(Link)组成,
  • 多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网)。因此,互联网是“网铬的网络“(Netwrok of Networks)”。
  • 因特网(Internet)是世界上最大的互连网络(用户数以亿计,互连的网络数以百万计),

internet和Internet的区别

  • internet(互联网回或互连网)是一个通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的。
  • Internet(因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCPP协议族作为通信的规则,其前身是美国的ARPANET。

因特网服务提供者ISP

因特网上的主机都必须有IP地址才能进行通信,通过ISP接入到因特网。ISP可以从因特网管理机构申请到成块的IP地址,同时拥有通信线路以及路由器等连网设备,任何机构和个人只要向ISP交纳规定的费用,就可以从ISP得到所需要的IP地址。我国主要的ISP是中国电信、中国联通和中国移动这三大电信运营商。

因特网的组成

  • 边缘部分

    由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享

  • 核心部分

    大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)

三种交换方式

电路交换

  • 电话交换机接通电话线的方式称为电路交换:
  • 从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源;
  • 电路交换的三个步骤:
    1. 建立连接(分配通信资源)
    2. 通话(一直占用通信资源)
    3. 释放连接(归还通信资源)
  • 当使用电路交换来传送计算机数据时,其线路的传输效率往往很低。
优点
  1. 通信时延小
  2. 有序传输
  3. 没有冲突
  4. 适用范围广
  5. 实时性强
  6. 控制简单
缺点
  1. 建立连接时间长
  2. 线路独占,使用效率低
  3. 灵活性差
  4. 难以规格化

报文交换

优点
  1. 无需建立连接
  2. 动态分配线路
  3. 提高线路可靠性
  4. 提高线路利用率
  5. 提供多目标服务
缺点
  1. 引起了转发时延
  2. 需要较大存储缓存空间
  3. 需要传输额外的信息量

分组交换

优点
  1. 无需建立连接
  2. 线路利用率高
  3. 简化了存储管理
  4. 加速传输
  5. 减少出错概率和重发数据量
缺点
  1. 引起了转发时延
  2. 需要传输额外的信息量
  3. 对于数据报服务,存在失序、丢失或者重复分组的问题。对于虚电路服务,存在呼叫建立、数据传输和虚电路释放三个过程

计算机网络的定义与分类

定义

  • 计算机网络的精确定义并未统一
  • 计算机网络的最简单的定义是:一些接的、自治的计算机的集合
    • 互连 是指计算机之间可以通过有线或无线的方式进行数据通信:
    • 自治 是指独立的计算机,它有自己的硬件和软件,可以单独运行使用:
    • 集合 是指至少需要两台计算机:
  • 计算机网络的较好的定义是:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用
    • 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机等智能硬件。
    • 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)。

分类

按交换技术分类
  • 电路交换网络
  • 报文交换网络
  • 分组交换网络
按使用者分类
  • 公用网
  • 专用网
按传输介质分类
  • 有线网络
  • 无线网络
按覆盖范围分类
  • 广域网WAN
  • 城域网MAN
  • 局域网LAN
  • 个域网PAN
按拓扑结构分类
  • 总线型网络
  • 星型网络
  • 环型网络
  • 网状型网络

计算机网络的性能指标

速率
  • 连接在计算机网络上的主机在数字信道上传送比特的速率,也称为比特率数据率

  • 常用的数据率单位

    bit/s(b/s,bps)

    kb/s=10^3b/s(bps)

带宽
  • 用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”;

  • 单位与速率单位相同

  • 一条通信线路的“频带宽度”越宽,其所传输数据的“最高数据率”也越高。

吞吐量
  • 吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量
  • 吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
  • 吞吐量受网络的带宽可或额定速率的限制
时延
  • 网络时延包括发送时延、传播时延、处理时延
  • 发送时延=分组长度(d)/发送速率(b/s)
  • 网卡的发送速率、信道带宽、交换机的接口速率,它们共同决定着主机的发送速率。
  • 传播时延=信道长度(m)/电磁波传播速率(m/s)
    • 自由空间:3×10^8 m/s
    • 铜线:2.3×10^8 m/s
    • 光纤:2×10^8 m/s
  • 处理时延一般不方便计算
时延带宽积
  • 时延带宽积=传播时延×带宽
  • 若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特:
  • 链路的时延带宽积又称为以比特为单位的链路长度
往返时间
  • 在许多情况下,因特网上的信息不仅仅单方向传输,而是双向交互:
  • 我们有时很需要知道双向交互一次所需的时间;
  • 因此,往返时间RTT(Round-Trip Time)也是一个重要的性能指标。
利用率
  • 利用率包含:信道利用率和网络利用率
  • 信道利用率 用来表示某信道有百分之几的时间是被利用的(有数据通过)
  • 网络利用率 全网络的信道利用率的加权平均。
  • 根据排队论,当某信道的利用率增大时,该信道引起的时延也会迅速增加:
  • 因此,信道利用率并非越高越好:
  • 如果令D0表示网络空闲时的时延,D表示网络当前的时延,那么在适当的假定条件下,可以用下面的简单公式来表示D、D0和利用率U之间的关系:
    • D=D0/1-U
    • 当网络的利用率达到50%时,时延就要加倍:
    • 当网络的利用率超过50%时,时延急剧增大:
    • 当网络的利用率接近100%时,时延就趋于无穷大:
    • 因此,一些拥有较大主干网的SP通常会控制它们的信道利用率不超过50%。如果超过了,就要准备扩容,增大线路的带宽。
  • 也不能使信道利用率太低,这会使宝贵的通信资源被白白浪费。应该使用一些机制,可以根据情况动态调整输入到网络中的通信量,使网络利用率保持在一个合理的范围内,
丢包率
  • 丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率。
  • 丢包率具体可分为接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率等。
  • 丢包率是网络运维人员非常关心的一个网络性能指标,但对于普通用户来说往往并不关心这个指标,因为他们通常意识不到网络丢包。
  • 分组丢失主要有两种情况:
    • 分组在传输过程中出现误码,被结点丢弃:
    • 分组到达一台队列已满的分组交换机时被丢弃:在通信量较大时就可能造成网络拥塞
  • 因此,丢包率反映了网络的拥塞情况:
    • 无拥塞时路径丢包率为0
    • 轻度拥塞时路径丢包率为1%~4%
    • 严重拥塞时路径丢包率为5%~15%

计算机网络体系结构

常见的计算机网络体系结构

  • OSI体系结构(法律上的国际标准)

    物理层、数据链路层、网络层、运输层、会话层、表示层、应用层

  • TCP/IP体系结构(事实上的国际标准)

    网络接口层、网际层、运输层、应用层

  • 原理体系层

    物理层、数据链路层、网络层、运输层、应用层

计算机网络体系结构分层的必要性

  • 计算机网络是个非常复杂的系统。早在最初的ARPANET设计时就提出了分层的设计理念。

  • 分层“可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。

  • 下面,我们按照由简单到复杂的顺序,来看看实现计算机网络要面临哪些主要的问题,以及如何将这些问题划分到相应的层次,层层处理。

    1. 物理层

      解决使用何种信号来传输比特的问题

      • 采用怎样的传输媒体(介质)
      • 采用怎样的物理接口
      • 使用怎样的信号表示比特0和1
    2. 数据链路层

      解决分组在一个网络(或一段链路)上传输的问题

      • 如何标识网络中的各主机(主机编址问题,例如MAC地址)
      • 如何从信号所表示的一连串比特流中区分出地址和数据
      • 如何协调各主机争用总线
    3. 网络层

      解决分组在多个网络上传输(路由)的问题

      • 如何标识各网络以及网络中的各主机(网络和主机共同编址的问题,例如IP地址)
      • 路由器如何转发分组,如何进行路由选择
    4. 运输层

      解决进程之间基于网络的通信问题

      • 如何解决进程之间基于网络的通信问题
      • 出现传输错误时,如何处理
    5. 应用层

      解决通过应用进程的交互来实现特定网络应用的问题

      • 通过应用进程间的交互来完成特定的网络应用

    计算机网络体系结构中的专用术语

    实体