1. 网络,互联网和因特网

1
2
3
4
1. 网络由若干结点和连接这些结点的链路组成
2. 多个网络可以通过路由器连接起来,形成互联网
3. 因特网是世界上最大的互联网络
+ ISP 互联网服务提供者

2. 三种交换方式

  • 电路交换

    1
    建立连接,通信时延小
  • 报文交换

    1
    先存储到结点交换机,不需要建立连接,需要较大存储缓存空间
  • 分组交换

    1
    2
    将报文划分成若干个等长的数据段,然后给各数据段添加首部构成分组
    无需建立连接,减少出错概率,加速传输

3. 计算机网络的定义和分类

  • 定义

    1
    互连,自治(独立计算机),集合(至少两台)
  • 分类

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

4. 计算机网络的性能指标

  • 速率

    1
    2
    3
    4
    5
    比特:计算机中数据量的单位
    8bit=1Byte
    bit/s
    kb/s=10**3 b/s
    KB=2**10B

    eg:image-20241004143914352

    image-20241004144050603

  • 带宽

    1
    2
    3
    4
    5
    6
    7
    1. 在模拟信号系统中的意义
    信号所包含的各种不同频率成分所占据的频率范围
    单位: Hz
    2. 带宽在计算机网络中的意义
    用来表示网络的通信线路所能传送数据的能力
    网络带宽:表示单位时间内从网络的某一点到另一点所能通过的最高数据率
    单位:b/s
  • 吞吐量

    1
    2
    表示在单位时间内通过某个网络的数据量
    吞吐量受网络的宽带或额定速率的限制
  • 时延

    1
    2
    3
    4
    5
    6
    7
    8
    网络时延:
    1. 发送时延: 分组长度(b)/发送速率(b/s) (网卡)
    2. 传播时延: 信道长度(m)/电磁波传播速率(m/s)
    电磁波传播速率:
    自由空间: 3*10**8 m/s
    铜线: 2.3*10**8 m/s
    光纤: 2.0*10**8 m/s
    3. 处理时延

    eg:

    image-20241004145206025

    1
    发送时延=分组长度(b)/发送速率(b/s)=100*2**20*8/10**6=838.8608s
    1
    传播时延=信道长度/电磁波传播速率=1000*10**3/2*10**8=0.005
  • 时延带宽积

    1
    传播时延*带宽
  • 往返时间

    1
    RTT
  • 利用率

    1
    2
    3
    4
    5
    1. 信道利用率:某信道由百分之几时间是被利用的
    2. 网络利用率:全网络的信道利用率加权平均
    信道利用率并非越高越好
    控制信道利用率不超过50%
    也不能太低,会白白浪费
  • 丢包率

    1
    2
    3
    4
    5
    6
    7
    8
    分组丢失率,指在一定时间范围内,传输过程中丢失的分组数量与总分组数量的比率
    两种情况:
    1. 分组在传输过程中出现误码,被结点丢弃
    2. 分组到达队列已满的分组交换机被丢弃(网络拥塞)
    拥塞情况
    1. 无 : 0%
    2. 轻度: 1%-4%
    3. 严重: 5%-15%

5. 计算机网络体系结构

5.1.常见的的计算机体系结构

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

    1
    2
    3
    4
    5
    6
    7
    7.应用层
    6.表示层
    5.会话层
    4.运输层
    3.网络层
    2.数据链路层
    1.物理层
  • TCP/IP体系结构(实际上的国际标准)

    1
    2
    3
    4
    4.应用层    HTTP..SMTP DNS..RTP
    3.运输层 TCP UDP
    2.网际层 IP
    1.网络接口层 网络接口
  • 原理体系结构

    1
    2
    3
    4
    5
    5.应用层   
    4.运输层
    3.网络层
    2.数据链路层
    1.物理层

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

1
2
3
4
5
应用层将http报文交付给---->运输层
运输层给http请求报文添加一个tcp首部,使之成为tcp报文段,交付给--->网络层
网络层给tcp报文段加一个IP首部,使之成为ip数据报,交付给---->数据链路层
数据链路层给ip数据报添加尾部和首部使之成为帧,交付给--->物理层
物理层将帧看做比特流并添加前导码

5.3.计算机网络体系结构中的专业术语

1.实体

  • 指任何可发送或接收信息的硬件或软件进程

  • 对等实体:收发双方相同层次中的实体

2.协议

  • 指控制两个对等实体进行逻辑通信的规则的集合

image-20241005111305736

  • 三要素: 语法 语义 同步

    1
    2
    3
    语法:定义所交换信息的格式
    语义:定义收发双方所要完成的操作
    同步:定义收发双方的时序关系

3.服务

  • 在协议的控制下,两个对等实体的逻辑通信使得本层能够向上一层提供服务
  • 要实现本层协议,还需要使用下面一层所提供的服务

image-20241005111815298

1
协议是'水平的',服务是'垂直的'

image-20241005111937099

image-20241005112102419

6.物理层

  • 导引型传输媒体: 双绞线 同轴电缆 光纤 电力线\

    双绞线:
    无屏蔽双绞线 屏蔽双绞线

    光纤:
    多模光纤 单模光纤

  • 物理层考虑的是怎样才能在连接各种计算机的传输媒体上,传输比特流

  • 物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么

  • 主要任务:

    1
    2
    3
    4
    1. 机械特性:接口所用接线器形状,尺寸,引脚数目和排列,固定和锁定装置
    2. 电气特性:指明在接口电缆的各条线上出现的电压的范围
    3. 功能特性:指明某条线上出现的某一电平的电压表示何种意义
    4. 过程特性:指明对于不同功能的各种可能事件的出现顺序

image-20241008213014456

6.1 传输方式

1
2
3
4
1. 串行传输: 一次发送一个比特
2. 并行传输: 一次发送n个比特,需要有n条传输线路,成本高速度快
~ 计算机内部的传输常采用并行传输
~ 远距离传输常采用串行传输
1
2
3
4
5
6
7
8
1. 同步传输: 
(1)外同步:在收发双方之间添加一条单独时钟信号线
(2)内同步:发送端将时钟同步信号编码到发送数据中一起传输

2. 异步传输:
以字节为独立的传输单位,在字节前后加上起始位和结束位
(1)字节之间异步
(2)字节中的每个比特依然要同步
1
2
3
1. 单向通信(单工):无线电广播
2. 双向交替通信(半双工):不能同时进行,对讲机
3. 双向同时通信(全双工):可以同时进行,电话

6.2 编码与调制

image-20241010161140007

image-20241010162201455

6.3 信道的极限容量

1
速率 距离 噪声 信道质量

image-20241010164347204

image-20241010164724160

image-20241010171649406

6.4 宽带接入技术

ADSL技术

频分复用技术

双绞线,电话线

光线同轴混合网HFC网

频分复用

FTTx技术

光调制解调器

小区lan接入

7.数据链路层

7.1 封装成帧

  • 指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧

    1. 帧头和帧尾中包含有重要的控制信息
    2. 帧头和帧尾的作用之一就是帧定界
  • 透明传输指数据链路层对上层交付的传输数据没有任何限制,好像数据链路层不存在一样

    1. 面向字节的物理链路使用字节填充的方法实现透明传输

      image-20241012142807257

    2. 面向比特的物理链路使用比特填充的方法实现透明传输

      image-20241012142932416

  • 例题:

    image-20241012143044038

    1
    零比特填充法,每五个1后面填一个0,故选A
  • 为了提高帧的传输效率,应使帧的数据部分长度尽可能大些

  • 最大传输单元MTU,帧的数据部分长度上限

7.2 差错检测

  • 实际的通信链路都不是理想的,比特在传输过程中可能会产生差错:

    1
    1可能会变成0,0也可能变成1,这称为比特差错
    1
    在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(BIT ERROR RATE)
  • 使用差错检测码来检测数据在传输过程中是否产生了比特差错,是数据链路层要解决的重要问题之一

    1. 奇偶校验:

      1
      2
      3
      4
      + 在待发送的数据后面添加一位奇偶校验位,使整个数据(包括添加的)中"1"的个数为奇数(奇校验)或偶数(偶校验)
      + 如果有奇数个位发生误码,则奇偶性发生变化,可以检查出误码
      + 如果有偶数个位发生误码,则奇偶性不发生变化,没法检查出误码
      + 漏检率太高,一般不采用这种方法
    2. 循环冗余校验CRC:

      1
      2
      3
      + 收发双方约定好一个生成多项式G(x)
      + 发送方基于待发送的数据和生成多项式计算出差错检测码(冗余码),将其添加到待传输数据的后面
      + 接收方通过G(x)来计算收到的数据是否产生了误码
      • eg:

        image-20241012150015893

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        1. 构造被除数: 
        在待发送信息后面添加生成多项式最高次数个0
        101001 生成多项式最高次数为3
        ---->101001 000

        2. 构造除数:
        生成多项式各项系数构成的比特串
        1101 1*x**3+1*x**2+0*x**1+1*x**0

        3. 做除法
        101001000/1101
        运用模2运算 圈里带+是异或得意思

        4. 检查余数:
        余数的位数应与生成多项式最高次数相同,如果位数不够,则在余数前补0来凑足位数:
        00 1
        把余数放在待发送信息后就可以发送了:
        四位开头是一就够除
        101001 001

        3.除法图片:

        image-20241012152034771

        image-20241012150544024

      • eg2:

        image-20241012152219103

    3. 特点:

    1
    2
    3
    1. 检错码只能检测出帧在传输过程中出现了差错,但并不能定位错误,因此无法纠正
    2. 想要纠正传输中的差错,可以使用冗余信息更多的纠错码进行前向纠错,但纠错码开销比较大,在计算机网络中较少使用
    3. 循环冗余校验CRC有很好的检错能力(漏检率非常低),计算比较复杂,但易于用硬件实现,因此广泛应用于数据链路层

    image-20241012152715619

7.3 可靠传输

基本概念

  1. 数据链路层向上层提供的服务类型:

    1
    2
    + 不可靠传输服务: 仅仅丢弃有误码的帧
    + 可靠传输服务: 发送端发送什么,接收端就收到什么
  2. 传输差错

    1
    2
    3
    4
    5
    1. 比特差错
    2. 分组丢失
    3. 分组失序
    4. 分组重复
    2,3,4一般不会出现在数据链路层 而是出现在其上层
  3. 可靠传输服务并不仅局限于数据链路层,其他各层均可选择实现可靠传输

    1
    2
    3
    4
    1. TCP向其上层提供 面向连接 的 可靠 传输服务
    2. UDP向其上层提供 无连接 不可靠 传输服务
    3. 802.11无线局域网要求数据链路层实现可靠传输
    4. 以太网不要求数据链路层实现可靠传输

停止-等待协议SW

  1. 确认与否认

    1
    发送方的数据发送到接收方,必须等接收方发送确认信息才能继续传输下一个,出现误码则要等接收方丢弃并发送否认信息发送方进行重新传输,最后等所有确认完发送方才能丢弃缓存

    image-20241015204413155

  2. 超时重传

    1
    当发送方发送的数据丢失时,接收方永远也不能返回信息,因此我们要设置超时重传,略大于平均接收时间,发送方感觉到超时后自动重新传输数据

    image-20241015204545959

  3. 确认丢失

    1
    当接收方传回的确认信息丢失时,发送方会进行超时重传,这样的话发送信息就重复了,因此我们需要给每个发送数据加一个编号,只需一个比特,0和1

    image-20241015204910273

  4. 确认迟到

    1
    当确认迟到时,会引发超时重传并导致一系列的问题,因此我们需要给接受方的确认信息也编个号

    image-20241015205227182

  5. 注意事项:

    image-20241015205901139

  6. 信道利用率
    image-20241015210312468

  7. 例题

    image-20241015211226603

回退N帧协议GBN

image-20241021143339173

相当于多对1的停止等待协议

eg: image-20241021143506080

收到了3说明3之前都正确了

选择重传协议

多对多

image-20241021145842423

image-20241021150003860

7.4 点对点协议PPP

MTU不超过1500字节

image-20241021150830421

image-20241021150956766

image-20241021151133320

image-20241021151250920

MAC帧: 目的地址 源地址 类型 数据部分 FCS

​ 0806—-ARP

7.5 媒体接入

7.5.1 基本概念

​ + 共享信道要着重考虑的一个问题就是如何协调发送和接受站点对一个共享传输媒体的占用,即媒体介入控制MAC

7.5.2静态划分信道

(1) 信道复用

image-20241021152343767

  • 频分复用FDM

    image-20241021152549679

  • 时分复用

    image-20241021152701511

  • 波分复用–光的频分复用

  • 码分复用

    1
    码分复用CDM是另一种共享信道的方法,主要用于多址接入,常用名词码分多址CDMA

    image-20241021153409298

    image-20241022083633523

eg:

image-20241022083834403

image-20241022084124412

(2) 随机接入

  1. CSMA/CD

    总线型局域网使用的媒体接入控制

image-20241022084921721

eg:

image-20241023081134358

image-20241023081753715

image-20241023081807429

  1. CSMA/CA

    无线局域网使用的协议

    • 在无线局域网中,仍然可以使用载波监听多址接入CSMA

    • 在无线局域网中,不能使用碰撞检测CD

      image-20241023082316465

      image-20241023082430079

    • 802.11无线局域网在CSMA上增加了一个碰撞避免CA功能

    • 不可能避免所有的碰撞,无线信道误码率较高,802.11还是用了数据链路层确认机制(停止-等待协议)

    • 802.11的MAC层标准定义了两种不同的媒体接入控制方式:

      1. 分布式协调功能DCF

        image-20241023082747161

      2. 点协调功能PCF

        image-20241023082809967

    • 帧间间隔IFS

      1. 802.11规定所有站点必须在持续检测到信道空闲一段指定时间后才能发送帧,这段时间称为IFS

        image-20241023082944695

      2. 常用两种帧间间隔

        image-20241023083022622

        image-20241023083059707

    • CSMA/CA工作原理

      image-20241023083512009

      image-20241023090134026

      image-20241023090309196

  • 例题:

    1.

    image-20241023090424255

    ABC都不进行确认

    2.

    image-20241023090631560

    image-20241023090738791

    3.image-20241023090921408

7.6 MAC地址 IP地址以及 ARP协议

基本概念

  • MAC地址是以太网的MAC子层所 使用的地址 —–>数据链路层
  • IP地址是TCP/IP体系结构网际层所使用的地址 —–>网际层
  • ARP协议属于TCP/IP体系结构的网际层,作用是通过IP地址获取到设备的MAC地址—–>网际层

MAC地址

image-20241023091721273

  • MAC地址一般被固化在网卡的电可擦可编程只读存储器EEPROM中,因此MAC地址也可被称为硬件地址

  • 单播MAC—->前六个字节的最后一位为0,1为多播

  • 混杂模式接受所有帧,可做监听

  • MAC地址有时也被称为物理地址 !!! 不属于物理层

  • 例题:

    image-20241023092029155

IP地址

image-20241024164653410

image-20241024165707867

ARP协议

0x0806

因为MAC地址不明的需要,因此有了ARP协议

每个主机都有一个ARP高速缓存,当前面传送来我需要发给哪个IP地址时,先在缓存中查找,找不到的话就开始广播,发给广播地址FF-FF-FF-FF,沿着总线发给所有路径上的主机

因为ARP协议存在MAC帧中,因此需要目的地址的mac地址才能传输,但是不知道,因此只能广播

各主机接收到先判断是不是找自己的,是的话就把自己的IP地址和MAC地址单播传送给发广播的主机,单播的判断是用广播主机的MAC地址,其他人收到会判断到MAC地址不匹配,直接丢弃

最后会向缓存中添加新记录

7.7 集线器和交换机的区别

image-20241025103011710

  • 集线器:从一个主机收到数据,往其他主机转发
  • 广播域 and 碰撞域
  • 在一个交换机连接的网络中,一条线为一个碰撞域

7.8 以太网交换机

自学习和转发帧的流程

1
2
3
一句话就是 开始 接受学习 泛洪发送 之后,接受 明确发送,一段时间后会删除记录,因为MAC地址与交换机接口的对应关系并不是永久性的

就例如当时ARP协议的高速缓存,他的IP地址和MAC地址的对应关系也会定期删除,ip地址和mac地址对应关系不是永久性的

下面这张图用于理解

image-20241025110847058

生成树协议STP

1
2
3
提高网络可靠性----->增加冗余链路------>产生一系列问题------>使用生成树协议STP

通过阻塞某结点让网络没有环路

image-20241025112823191

image-20241025112731026

7.9 虚拟局域网VLAN

(1) 概述

image-20241025163011335

image-20241025163140027

(2) 实现

image-20241025163421858

  • 交换机的端口类型有以下三种

    1
    2
    3
    Access
    Trunk
    Hybrid

    image-20241025163837434

  1. Access端口

    1
    2
    3
    4
    5
    6
    7
    8
    + 一般用于连接用户计算机

    + 端口只能属于一个VLAN

    + PVID值与端口所属VLAN的ID相同

    + 一般只接受"未打标签"的普通以太网MAC帧,之后根据接受帧的端口的PVID给帧"打标签"
    也就是插入4字节VLAN标记字段,字段中的VID取值与端口的PVID取值相等
  2. Trunk端口

    1
    2
    3
    + 一般用于交换机之间或交换机与路由器之间的互连
    + Trunk端口可以属于多个VLAN
    + 用户可以设置Trunk端口的PVID值,默认下 Trunk端口的PVID值为1

    image-20241025165917093

  3. Hybrid端口

image-20241025170436899

8. 网络层

8.1 网络层概述

image-20241025171542323

8.2 网络层提供的两种服务

  1. 面向连接的虚电路服务(过时)

image-20241025171833164

  1. 无连接的数据报服务

image-20241025172025708

8.3 IPv4地址

概述

image-20241028081055403

image-20241028080808190

分类编址的IPv4地址

image-20241028083256600

image-20241028082500848

image-20241028082646147

image-20241028082707860

还有169.254也不能用

image-20241028083235837

划分子网的IPv4地址

1
2
3
子网掩码:就看最后的,例如C类10000000   就是借一位作为子网号
11000000 就是借两位
B类10000000 00000000 就是借一位

image-20241028093316944

image-20241028140200955

image-20241028140705863

无分类编址的IPv4地址

(1) CIDR

image-20241028141323846

image-20241028141408195

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
128.14.35.7/20
也就是前20个bit为网络前缀,剩余12bit为主机号
------>
128.14.0010 0011.00000111
因此最小地址:
-----> 128.14.0010 0000.00000000
-----> 129.14.32.0
最大地址:
-----> 128.14.0010 1111.11111111
-----> 128.14.47.255
地址数量:
-----> 2**(32-20)
聚合C类网的数量:
-----> 2**(32-20) / 2**8
地址掩码:
-----> 11111111.11111111.1111 0000.000000000

image-20241028142151933

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
206.0.64.8/18
也就是前18个bit为网络前缀,剩余14bit为主机号
----->
206.0.01 000000.00001000
最小地址:
-----> 204.0.01 000000.00000000
-----> 204.0.64.0
最大地址:
-----> 204.0.01 111111.11111111
-----> 204.0.127.255
地址数量:
-----> 2**(32-18)
聚合C类网数量:
-----> 2**(32-18)/2**8
地址掩码:
-----> 11111111.11111111.11 000000.00000000

(2) 路由聚合(构造超网)

image-20241028143238251

image-20241028143545335

1
2
3
4
192.168.4.000000    00

192.168.4.000000 11
广播地址---->所有主机都能收到,只有.1和.2能收到,故选c

image-20241028143717676

image-20241028143819444

1
2
3
4
5
6
7
8
9
35.230.00100 000.00000000
35.230.00101 000.00000000
35.230.00110 000.00000000
35.230.00111 000.00000000
因此聚合后的网络地址:
35.230.001 00000.00000000
--->
35.230.32.0/19
选C

IPv4地址的应用规划

(1) 定长的子网掩码FLSM

image-20241028144732423

image-20241028144851881

image-20241028145126543

(2) 变长的子网掩码VLSM

image-20241028145419241

image-20241028145812670

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

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

    1
    2
    1. 主机发送IP数据报
    2. 路由器转发IP数据报
  • 直接交付:在本网络中的传播

  • 间接交付:在不同网络的传播

  • 如何判断在不在同一个网络:将源地址和目的地址和源地址的地址掩码相与,相同就在同一个

image-20241028151626273

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

    1. C 直连路由 初始配置接口IP,自动进入路由表

    2. S 静态路由 ip route 人工配置

      1
      R1(config)#ip route 目的IP 目的子网掩码 下一跳
    3. R/O 动态路由 路由协议

image-20241028194423503

image-20241028194606691

1
2
3
4
5
6
7
8
9
10
1. 配置错误导致的路由环路:
下一跳错误,变成了指向前面指向他的---->就会无限循环导致路由环路

2. 聚合了不存在的网络:
当出现多个特定主机IP时,为方便将他们的聚合网络填写进路由表,但是当出现不存在的网络也在这个聚合网络中时,路由器找不到这个网络,会发送给默认路由,假如默认路由在前面发送给这个路由的路由时,就会造成循环 导致路由环路

3. 网络故障:
就是会导致某条路径断开,使得路由表某个网络删除,导致发送给默认路由,跟2一个结局

要解决这几个问题,只需要将这些会出错的路径指向null0 也就是黑洞路由就不会造成死循环

image-20241028201404463

8.6 路由选择协议

(1) 概述

自治系统AS:同一个组织机构管理的路由器构成的网络,也称为域

image-20241028201643096

image-20241028202624473

(2) 路由信息协议RIP

  • RIP要求自治系统AS内的每一个路由器都要维护从它自己到AS内其他每一个网络的距离记录.这是一组距离称为距离向量

  • RIP使用跳数作为度量,来衡量到达目的网络的距离

    1
    2
    3
    4
    + 路由器到直连网络的距离定义为1(思科为0)
    + 到非直连网络的距离定义为所经过的路由器数+1
    + 一条路径最多只能包含15个路由器,距离等于16时相当于不可达
    + 因此RIP只适用于小型互联网
  • RIP认为好的路由就是’’距离短’’的路由,也就是所通过路由器数量最少的路由

    image-20241029143419275
  • 当到达同一目的网络有多条”距离相等”的路由时,可以进行等价负载均衡,也就是将通信量均衡的分配到多条等价的路由上

    image-20241029143843949
  • RIP包含以下三个要点

    1. 和谁交换信息 : 仅和相邻路由器交换信息
    2. 交换什么信息 : 自己的路由表
    3. 何时交换信息 : 周期性交换
    1
    2
    3
    1. 路由器刚开始工作时,只知道自己到直连网络的距离为1
    2. 每个路由器仅和相邻路由器周期性地交换并更新路由信息
    3. 若干次交换和更新后,每个路由器都知道到达本AS内各网络的最短距离和下一跳地址,称为收敛

    开始:image-20241029144746816

    后来:image-20241029144816138

  • RIP的路由条目的更新规则

    开始:

    image-20241029145457680

    距离+1 下一条改c

    image-20241029145429930

    改造D表

    image-20241029145612230
  • 例题1:

    image-20241029145724652
    1
    2
    在RIP协议中,距离16表明目的网络不可达
    因此R1 R2互相不可达
  • 坏消息传播的慢,会造成一系列问题

    image-20241029150224050

    image-20241029150139121

    解决方法:

    1. 限制最大路径距离为15
    2. 当路由表发生变化时就立即发送更新报文 (即触发更新),而不是周期性发送
    3. 让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口向反方向传送(即水平分割)
  • 例题2:

    image-20241029150515133
    1
    感觉就题目没讲清楚,答案是B    但是前提要是R3不给R1发,并且R1给R2发后的R2更新后

other: 一个rip报文可以装25个路由信息—–装UDP里

1
R 3.0.0.0/8[120/1] via 2.0.0.2,00:00:00,F0/0

管理距离: S:1 RIP:120 OSPF:110

(3) 开放最短路径优先OSPF的基本工作原理

  • OSPF是为了克服RIP缺点发布的

    1. 开放—->公开发表

    2. 最短路径优先——>使用Dijkstra提出的最短路径算法SPF

    3. 基于链路状态

    4. 从算法上保证不会产生路由环路

    5. 不限制网络规模,更新效率高,收敛速度快

    6. 链路状态是指本路由器都和那些路由器相邻,以及相应链路的”代价”

      • 代价:

        image-20241029151623008
      • OSPF相邻路由器之间通过交互问候分组,建立和维护邻居关系

        image-20241029151944005
      • 使用OSPF的每个路由器都会产生链路状态通告LSA

        image-20241029152223612
      • 使用OSPF的每个路由器都有一个链路状态数据库LSDB,用于存储LSA

      • 通过各路由器洪泛发送封装有自己LSA的LSU分组,各路由器的LSDB最终将达到一致

    7. 使用OSPF的各路由器基于LSDB进行最短路径优先SPF计算,构建出各自到达其他各路由器的最短路径,即构建各自的路由表

    8. OSPF五种分组

      image-20241029152703758

    9. 基本工作过程

      image-20241029152848574

    10. 邻居关系的建立

      image-20241029153128407

    11. 大规模

      image-20241029153450586

特点:

    1. 向所有路由器发送信息
    2. 交换链路状态信息
    3. 更新或周期发送

(4) 边界网关协议BGP的基本工作原理

  • 适用于多级结构的因特网

image-20241030002804199

  • BGP发言人—–>交换路由信息——->先建立TCP连接——->在此TCP连接上交换BGP报文伊建立BGP会话——>利用BGP会话交换路由信息——->(用TCP连接的两个BGP发言人彼此称为对方的邻站和对等站)
image-20241030003034664 image-20241030003542215
  • BGP-4有四种报文

    image-20241030003646958

  • EG1:

    image-20241030003851843

    image-20241030003909099

8.7 IPv4数据报的首部格式

每一行占4个字节,一个十六进制==一个字节,一个数字半个

image-20241030094632718
  • 区分服务:一般不使用,vip包

  • 总长度:

    占16比特,表示IP数据报的总长度(首部+数据载荷),最大取值为十进制的65535,以字节为单位

  • 总长度和首部长度的区别—-单位不同!

    image-20241030095305550

  • 标识,标志,片偏移:这三个字段共同用于IP数据报分片

  • 标识:

    ​ 占16比特,属于同一个数据报的各分片数据报应该具有相同的标识

    ​ IP软件维持一个计数器每产生一个数据报,计数器值+1,并将此值赋给标识字段

    标志:

    ​ 占3比特,各比特含义如下:

    ​ DF位: 1表示不允许分片,0表示允许分片

    ​ MF位: 1表示后面还有分片,0表示这是最后一个分片

    ​ 保留位: 必须为0

    片偏移:

    ​ 占13比特,指出分片数据报的数据载荷部分偏移在原数据报的位置有多少个单位,片偏移以八个字节为单位

  • 对IPv4数据报进行分片:

    image-20241030101751025

  • 生存时间TTL:—–>防止IP数据报在网络中永久兜圈

    ​ 占8比特

  • 协议:

    比较帧里: 0x0800—IP包

    ​ 0x0806—ARP包

    在ip数据报里:

    image-20241030102337128

  • 首部检验和

    image-20241030102453484

  • 源IP地址和目的IP地址

    image-20241030102530572

  • eg:

    image-20241030102930065

8.8 网际控制报文协议ICMP

  • 主机或路由器使用ICMP来发送差错报告报文询问保文

  • ICMP报文被封装在IP数据报中发送

  • 错误类型再ICMP首部,ICMP数据包括了错误IP的首部和前八位

  • ICMP差错报告报文共有以下五种

    1. 终点不可达:

      image-20241030104136546

    2. 源点抑制

      image-20241030104241072

    3. 时间超过:

      image-20241030104531373

    4. 参数问题

      image-20241030104732054

    5. 改变路由(重定向):

      image-20241030104914233

  • 不应发送ICMP:

    image-20241030105008781

  • 常见的ICMP询问报文:

    1. 回送请求和回答

      image-20241030105444480

    2. 时间戳请求和回答

      image-20241030105521434

  • ICMP应用举例:

    1. 分组网间探测PING

      用来测试主机或路由器间的连通性

      应用层直接使用网际层的ICMP

      使用ICMP回送请求和回答报文

    2. 跟踪路由

      用来测试IP数据报从源主机到达目的主机要经过那些路由器

      windows版本:

      ​ tracert命令

      ​ 应用层直接使用网际层ICMP

      ​ 使用ICMP回送请求和回答报文以及差错报告报文

      Unix版本:

      ​ traceroute命令

      ​ 在运输层使用UDP协议

      ​ 仅使用ICMP差错报告报文

8.9 虚拟专用网VPN与网络地址转换NAT

image-20241030110411218

image-20241030111800321

8.10 IPv6

  • 表示方式

    1. 冒号十六进制记法

    2. 零压缩表示法

    3. CIDR表示法

    4. URLs

  • 地址类型

    没有广播

    1. 多播地址 FF00::/8
    2. 单播地址
    3. 任播地址
  • 配置方法

    1. 手工配置
    2. DHCPv6
    3. 无状态地址自动配置
  • 如何和IPv4交流

    1. 双协议栈:换头
    2. 隧道技术:包在v4里

8.11 IP多播

D类IP 范围(224.0.0.0~239.255.255.255)

  • 主机接受三种类型帧

    1. 目的地址为本机MAC地址的帧
    2. 广播帧
    3. 目的地址为本机加入的多播MAC地址
  • 多播MAC地址

    1. 前八个比特的最后一个为1

    2. 前25个比特固定,后23位来自D类IP

    3. 对应关系必考!

      image-20241121104818220

  • 协议

    1. IGMP 网际组管理协议,在最后一个路由器使用的,加入或退出多播组时使用以及周期性探寻成员变化

    2. 多播路由选择协议,PIM-DM密集模式,适合接收者众多

      ​ PIM-SM稀疏模式,适合接收者较少

8.12 SDN体系结构

  • 路由器不需要自己生成路由表,直接由远程控制器来分发转发表,SDN里面的交换机就是去掉一些功能的路由器,转发表叫做流表,不匹配就丢弃或者转发给远程控制器

  • 控制层面和数据层面分离

  • 基于流的转发

    ​ 转发丢弃负载均衡防火墙

  • 可编程的网络

9. 运输层

9.1 概述

  • 前面学习的物理层,数据链路层以及网络层,他们实现了主机到主机的通信
  • 但实际上在计算机网络中进行通信的真正实体是位于通信两端主机中的进程
  • 如何为在不同主机上的应用进程提供直接的通信服务,是运输层的任务,运输层协议又称为端到端协议
  • 根据需求的不同,提供两种不同的运输协议:面向连接的TCP 无连接的UDP

9.2 运输层端口号,复用与分用的概念

  • 运行在计算机上的进程使用进程标识符PID来标志

image-20241030214122154

服务器使用前两个端口号,客户端使用后面那个

  • 发送方的复用和接收方的分用

    image-20241030214543086

    image-20241030215358805

80 443 53 25 21/20 67/68 必须要记

9.3 UDP和TCP的对比

image-20241030215636302

UDP是无连接的 TCP是面向连接的

image-20241030220047439

image-20241030220351702

image-20241030220525599

9.4 TCP的流量控制

  • 我们希望数据传输的快—->接收方可能来不及接收—–>造成数据的丢失

  • 所谓流量控制就是让发送方的发送速率不要太快,让接收方来得及接收

  • 利用滑动窗口机制可以很方便的在TCP连接上实现对发送方的流量控制

    ​ TCP接收方利用自己的接收窗口的大小来限制发送方发送窗口大小

    ​ TCP发送方收到接收方的零窗口通知后,应启动持续计时器,持续计时器超时后,向接收方发送零窗口探测报文

eg:

image-20241030222336589

9.5 TCP的拥塞控制

  • 在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏,这种情况就叫做拥塞

  • 若出现拥塞而不进行控制,整个网络的吞吐量将随输入负荷的增大而下降

  • TCP的四种拥塞控制算法

    1. 慢开始
    2. 拥塞避免
    3. 快重传
    4. 快恢复
  • 举例:

    1
    2
    3
    4
    5
    6
    7
    8
    + 发送方维护一个叫做拥塞窗口cwnd的状态变量,其值取决于网络的拥塞程度并且动态变化
    1. 拥塞窗口cwnd的维护原则: 只要网络没有出现拥塞,拥塞窗口就在增大一些,只要网络出现拥塞,拥塞窗口就减小一些
    2. 判断出现网络拥塞的依据: 没有按时收到应当到达的确认报文(即发生超时重传)
    + 发送方将拥塞窗口作为发送窗口swnd 即 swnd=cwnd
    + 维护一个慢开始门限ssthresh状态变量
    1. 当cwnd<ssthresh时,使用慢开始算法
    2. 当cwnd>ssthresh时,停止使用慢开始算法而改用拥塞避免算法;
    3. 当cwnd=ssthresh,都可以用
  • 慢开始:

    1
    2
    ---->*2增长   --->2~4~8~16
    慢开始是指一开始向网络注入的报文段少,并不是指拥塞窗口值增长速度慢
    image-20241030224628203
  • 拥塞避免

    1
    2
    ----> +1增长
    并非指完全避免拥塞,而是将拥塞窗口控制为线性增长
    image-20241030224919518
  • 快重传

    image-20241030225411310

    image-20241030225634207

  • 快恢复

    image-20241030225810058

9.6 TCP可靠传输的实现

  • TCP基于以字节为单位的滑动窗口来实现可靠传输

image-20241031190738603

image-20241031191713466

9.7 TCP的运输连接管理

三报文握手

image-20241104162634161

四报文挥手

image-20241104172119899

10. 应用层

10.1 客户/服务器方式和对等方式

image-20241105092305671

image-20241105092543725

10.2 动态主机配置协议DHCP

image-20241105094212853

10.3 域名系统DNS

image-20241105164748342

image-20241105170245098

image-20241105170750573

同时有高速缓存,下次就不需要在查询了,但是不是永久的

10.4 文件传送协议FTP

image-20241105171325445

image-20241105171942366

10.5 万维网

image-20241105174109240

image-20241105174129511

image-20241105174252533

image-20241105174409590

image-20241105174632580

参考视频:计算机网络微课堂(有字幕无背景音乐版)_哔哩哔哩_bilibili