• 【计算机网络 - 自顶向下方法】计算机网络和因特网


    1. 什么是Internet

    1.1 因特网的具体构成

    终端:

    • 也称主机(Host)或端系统(End system),运行应用程序(智能网约汽车、智能家电)。

    通信链路:

    • 光纤,铜线,电磁波。主要指标为传输速率也称带宽(Bandwidth),可分为有线链路和无线链路。

    交换设备:

    • 转发分组(Packet),有路由器和交换机。

    Internet Service Provider(ISP):

    • ISP 是由交换设备和通信链路组成的网络,为终端提供因特网接入服务。
    • 不同层次的ISP:本地ISP,地区ISP(Regional ISP),全球ISP(Global ISP)。
    • 每个ISP都是自治的(内网资源外网访问不到)

    协议:

    • 协议规定了设备之间通信需要遵循的规则:

                终端与终端之间
                终端和交换设备之间
                交换设备和交换设备之间

    • 因特网协议标准:

                因特网协议标准由IETF组织统一管理,其中最核心的两个协议为 TCP 和 IP,因特网协议统称为TCP / IP协议族。

    因特网定义一:

    • 由一群遵循TCP/IP协议的 ISP,按照松散的层次结构组织而成的网络的网络

    因特网的几个特点:

    • 因特网是 ''网络的网络''。
    • 因特网不存在严格的层次结构
    • 因特网没有统一的管理机构
    1.2 因特网的功能

    因特网定义二(最早建立因特网的原因):因特网是为分布式应用提供通信服务的基础设施

    传统通信系统的服务接口:

            电话系统:拨号,振铃        

            邮政系统:邮筒,信箱

    因特网提供给应用程序的服务接口:一组用于在因特网上发送和接受数据的应用编程接口的API

    1.3 小结
    因特网定义一: 由一群遵循TCP/IP协 议的ISP,按照松散的 层次结构组织而成的 网络的网络。
    • 对于通信功能的实现有指导作用:
      • ​​​​​​ISP内部组织实现。
      • ISP层级之间互联。
    因特网定义二: 为分布式应用提供通信服务的基础设施(揭示了因特网的本质)。
    • 对于服务接口的定义有指导作用:
      • 有序、可靠的数据交付服务。
      • 不可靠的数据交付服务

    2. 网络核心

    2.1 基本介绍

                                                    

    网络核心:由路由器和链路形成的网状网络。

    任务:将数据包从发送侧的边缘路由器,传送到接收侧的边缘路由器。

    基本问题:数据包如何在网络核心中高效地传递?

    • 分组传输延迟小。
    • 网络吞吐量高。
    通信网络中移动数据的两种基本方法:
            
    • 电路交换(独占信道):电话网使用。
    • 分组交换(复用信道):计算机网络使用。
    网络核心的两个重要功能:
    2.2 分组交换

    分组交换过程要点:

    • 主机将要传输的数据分段,并组装成一系列分组。
    • 交换:在传输路径上,交换设备从一条链路上接收 分组,将其发送到另一条链路上。
    • 存储转发:交换设备在接收到完整的分组后,才可以开始转发。
    2.2.1 序列化时延

    如上图所示,分组长度为L,传输速度为R(忽略传播时延),我们来计算源发送三个分组到目的地所需的时间:

            在 L / R 时刻,路由器开始向目的地转发第一个分组,而在此时源也开始发送第二个分组到路由器,因为他已经完成了第一个分组的完整发送。因此在 2L / R 时刻目的地已经接收到了第一个分组并且路由器接收到第二个分组,以此类推,当在时刻 4L / R 时目的地收到所有的3个分组!

    故有 P 个分组经过 N 条链路序列的时延为:

                                                            \frac{(P-1 + N)*L}{R}       

    可解释为:第一个分组到达目的地需要 N * L / R的时间,此后还剩 P - 1 个分组,每个分组到达目的地的时间都为 L / R,取两者之和可以得到以上公式。

    2.2.2 排队延迟和丢包

    排队延迟:分组在输出链路的缓存中排队,引入延迟。
    丢包:若输出链路的缓存满,溢出的分组被丢弃。
    当大量分组集中到达时,排队延迟和丢包较严重。
    2.2.3 分组交换的优缺点

            优点:资源利用率高,简单(不需要建立连接)。

            缺点:可能产生延迟、丢包,需要设计相应的协议解决。

    2.3 电路交换
    2.3.1 基本概念

    电话网采用的就是电路交换:通话前完成两部电话机之间的电路接续,通话结束后释放整条电路。

    本质:预留资源和独占资源。

    链路和电路的区分:

            链路:物理媒体,也称信道(channel) ,可以通过某种方式划分为若干条独立的子信道。

            电路:物理媒体中的一条子信道(类似于一条公路上的多个车道)。

    2.3.2 电路交换网络中的复用

    频分复用:在连接期间链路为每一条链接专用一个频段。

    时分复用:网络在每个帧中为该链接指定一个时隙,这些时隙专门由该链接单独使用。

    2.3.3 电路交换文件传输时间

    从主机 A 到主机 B 经过一个电路交换网络发送一个 640000 比特的文件需要多长时间:

            假如该网络中所有链路使用具有24时隙的TDM,比特速率为1.536Mbps,端对端电路创建时间为 500ms。则有:

            每条链路具有的传输速率是:1.536Mbps / 24 = 64 kbps

            传输该文件需要:(640kb)/(64kpbs)= 10s.

            再加上创建时间所以总共需要:10.5 s.

    2.3.4 分组交换与电路交换的对比        

    1. 为什么采用分组交换?

    • 同样的链路容量,分组交换允许支持更多的用户
            
            
            假设有35个用户,则有11个或更多并发活跃用户的概率为:
                            ​​​    ​​​                        \sum_{11}^{35}\binom{35}{n}p^{n}(1-p)^{35-n}      
    • 轻负载时,分组交换可以更快地服务用户
    2.3.5 一些问题
            1. 有些应用需要类似电路交换的传输特性,如何提供?
                    音视频应用需要带宽保证,该问题尚未解决。
            2. 为什么因特网采用分组交换?
                    分组交换适合突发流量。
                    传统因特网应用(如电子邮件、文件传输)具有突发通信的特点。
    2.4 网络的网络

    如何将全球的ISP连接在一起?

    Question: Given millions of access ISPs,how to connect them together?
                            
    朴素方法:
                    
    连接到一个全球ISP:
                            
    建立多个全球ISP:

    IXP:互联网交换中心

    多层架构:

                    

    今天的网络:

    3. 丢包、延迟、吞吐量

    衡量网络性能的主要指标:

            延迟:分组从源终端到达目的终端的时间。

            丢包率:未成功交付到目的终端的分组比例。

            吞吐量:单位时间内网络成功交付的数据量。

    3.1 时延的类型

    1. 处理延迟

            检查错误

            确定输出链路

    2. 排队延迟

            在输出缓存等待传输

            时间长短取决于链路负载大小

    3. 传输延迟

            R = link bandwidth (bps)

            L = packet length (bits)

            将分组发送到链路上的时间 = L/R(分组序列化时间)

    4. 传播延迟

            d = length of physical link
            s = propagation speed in medium (~2x108 m/sec)
            propagation delay = d/s
    端到端延迟:

    3.2 排队延迟与流量强度

    3.3 排队与丢包

    丢包的原因:输出队列的容量是有限的,当队列满时,新来的分组被丢弃。

    队列太短:丢包率增大。

    队列太长:排队延迟增大(也会造成间接丢包)

    3.4 端到端吞吐量
    单位时间内向接收端成功交付的数据量:
            瞬时吞吐量 : 给定时刻的传输速率
            
            平均吞吐量 : 较长时间内的传输速率

    瓶颈链路的带宽限制了端到端吞吐量 。

    4. 协议层次、服务模型

    4.1 协议

    网络协议定义了:

    • 通信实体之间交换的报文的格式和次序。
    • 在发送/接收报文、或其它事件后采取的动作。
    4.2 分层

    系统分层:将系统按功能划分一系列水平的层次,每一层实现一个功能(服务)。

    层次间的关系:每一层的功能实现都要依赖其下各层提供的服务(相互独立,相互依赖)。

    分层的好处:易于处理复杂的系统

    • 显式的层次结构易于确定系统的各个部分及其相互关系。
    • 模块化简化了系统的维护和升级,改变某层服务的实现方式,对于其他层次是透明的。

    Internet 协议栈:

    • 应用层(Application:在应用程序之间传输应用特定的报文。FTP、SMTP、HTTP
    • 传输层(Transport):在应用程序的网络接口之间传输报文段。TCP、UDP
    • 网络层(Network):在源主机和目的主机之间传输分组(Packet)。IP、routing protocols
    • 链路层(Link):在相邻设备之间传输帧。PPP、Ethernet
    • 物理层(Physical)在物理媒体上传输比特(bit)。
    网络功能的分布式实现:
    • 某一层上的网络功能,需要该层上的实体(分布在不同的节点)协同完成。

    协同计算要求功能实体之间能够交互信息,需要解决以下问题:

    • 信息交互的载体是什么:各层上的报文
    • 信息交互的约定:报文格式及语义规定
    • 报文的传输方式:封装和解封装
    4.3 封装

    5. 网络安全

    因特网面临的安全威胁:

    • 针对因特网基础设施的攻击:
      • 恶意软件(如病毒、蠕虫)入侵计算机设备。
      • 对主机、网络等实施拒绝服务攻击(Denial of Service),使其中止服务。
    • 针对因特网中信息的攻击:
      • 窃听网络中传输的数据。
      • 在网络中注入虚假的信息欺骗用户。
    5.1 拒绝服务(DOS)攻击
            攻击者通过耗尽主机或网络带宽资源,使得合法用户得不到所需的服务。
                                            
    1. 选择目标。
    2. 利用恶意软件攻陷网络中的主机(称肉鸡、僵尸机器)。
    3. 从僵尸主机向目标发送大量数据包。
    5.2 嗅探
            监听网络中传输的数据包,获取数据包中携带的信息,如密码。
            
                    

    5.3 伪装 
    IP欺骗: 发送虚假地址的数据包。
                    
    重放攻击: 嗅探敏感信息(比如,某用户的口令),之后重新注入网络(以假冒该用户)。
                    
  • 相关阅读:
    Selenium+Python系列 - 开发环境搭建
    【Midjourney入门教程2】Midjourney的基础操作和设置
    什么样的程序员在 35 岁以后依然被公司抢着要?
    走进国产机器人领军品牌华数机器人,共探数字化变革魔力
    Vue路由(Vue Router)记录学习
    全面披露!华为云分布式云原生技术与实践
    史上超级详细:银行外包java面试题目
    RK3568 RTL8821cs适配 WPA3连接 与 WPA3热点配置
    Linux网卡流量测速脚本
    《Linux从练气到飞升》No.27 Linux中的线程互斥
  • 原文地址:https://blog.csdn.net/qq_64585761/article/details/132924321