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

2023-09-17 13:53:02

目录

1. What is the Internet?

1.1 因特网的具体构成

1.2 因特网的功能

2. Network core

2.1 基本介绍

2.2 分组交换

2.2.1 序列化时延

2.2.2 排队延迟和丢包

2.2.3 分组交换的优缺点

2.3 电路交换

2.3.1 基本概念

2.3.2 电路交换网络中的复用

2.3.3 电路交换文件传输时间

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

2.3.5 一些问题

2.4 网络的网络

3. Delay, loss and throughput in packet-switched networks

3.1 时延的类型

3.2 排队延迟与流量强度

3.3 排队与丢包

3.4 端到端吞吐量

4. Protocol layers, service models

4.1 分层

4.2 封装

5. Networks under attack: security

5.1 拒绝服务(DOS)攻击

5.2 嗅探

5.3 伪装 


1. What is the Internet?

1.1 因特网的具体构成

终端:
    也称主机(host)或端系统(end system),运行应用程序。


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


交换设备:
    转发分组,有路由器和交换机。


Internet Service Provider(ISP):
    ISP 是由交换设备和通信链路组成的网络,为终端提供因特网接入服务。
    不同层次的ISP:本地ISP,地区ISP,全球IS。每个ISP都是自治的


协议:
    协议规定了设备之间通信需要遵循的规则:
            终端与终端之间
            终端和交换设备之间
            交换设备和交换设备之间
    因特网协议标准:
            因特网协议标准由IETF组织统一管理,其中最核心的两个协议为 TCP 和 IP,因特网协议统称为TCP / IP协议族。

因特网定义一:由一群遵循TCP/IP协议的 ISP,按照松散的层次结构组织而成的网络的网络。
因特网的几个特点:
        因特网是 ''网络的网络''。
        因特网不存在严格的层次结构
        因特网没有统一的管理机构

1.2 因特网的功能

因特网定义二:因特网是为分布式应用提供通信服务的基础设施。

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

        电话系统:拨号,振铃

        邮政系统:邮筒,信箱

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

2. Network core

2.1 基本介绍

                                                

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

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

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

        分组传输延迟小。

        网络吞吐量高。

通信网络中移动数据的两种基本方法:
        
        电路交换(独占信道):电话网使用。
        
        分组交换(复用信道):计算机网络使用。
网络核心的两个重要功能:

2.2 分组交换

分组交换过程要点:

        1. 主机将要传输的数据分段,并组装成一系列分组。

        2. 交换:在传输路径上,交换设备从一条链路上接收 分组,将其发送到另一条链路上。

        3. 存储转发:交换设备在接收到完整的分组后,才可以开始转发。

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. Delay, loss and throughput in packet-switched networks

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

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

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

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

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. Protocol layers, service models

4.1 分层

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

层次间的关系:每一层的功能实现都要依赖其下各层提供的服务。

分层的好处:

        显式的层次结构易于确定系统的各个部分及其相互关系。

        模块化简化了系统的维护和升级,改变某层服务的实现方式,对于其他层次是透明的。

Internet 协议栈:

1. 应用层(application):在应用程序之间传输应用特定的报文。FTP、SMTP、HTTP

2. 传输层(transport):在应用程序的网络接口之间传输报文段。TCP、UDP

3. 网络层(network):在源主机和目的主机之间传输分组。IP、routing protocols

4. 链路层(link):在相邻设备之间传输帧。PPP、Ethernet

5. 物理层(physical):在物理媒体上传输比特(bit)。

4.2 封装

5. Networks under attack: security

因特网面临的安全威胁:

         针对因特网基础设施的攻击:
                恶意软件(如病毒、蠕虫)入侵计算机设备。
                对主机、网络等实施拒绝服务攻击(Denial of Service),使其中止服务。
        针对因特网中信息的攻击:
                窃听网络中传输的数据。
                在网络中注入虚假的信息欺骗用户。

5.1 拒绝服务(DOS)攻击

        攻击者通过耗尽主机或网络带宽资源,使得合法用户得不到所需的服务。
                                        
        1.选择目标。
        2.利用恶意软件攻陷网络中的主机(称肉鸡、僵尸机器)。
        3.从僵尸主机向目标发送大量数据包。

5.2 嗅探

        
        
        监听网络中传输的数据包,获取数据包中携带的信息,如密码。
        
                

5.3 伪装 

IP欺骗: 发送虚假地址的数据包。
        ​​​​​​​        
重放攻击: 嗅探敏感信息(比如,某用户的口令),之后重新注入网络(以假冒该用户)。
        ​​​​​​​         ​​​​​​​
更多推荐

Python基于Flask的高校舆情分析,舆情监控可视化系统

目录一、前言二、使用Python爬取舆情数据1.安装requests库2.分析数据3.爬取数据三、通过代理IP提高数据爬取效率1.获取代理IP2.使用代理IP四、使用Flask框架实现舆情监控可视化系统五、使用MongoDB存储数据六、总结一、前言在当今社会,舆情监控越来越被重视。随着互联网技术的发展,我们从传统媒体渠

系统性能调优:提升服务器响应速度

🌷🍁博主猫头虎(🐅🐾)带您GotoNewWorld✨🍁🦄博客首页——🐅🐾猫头虎的博客🎐🐳《面试题大全专栏》🦕文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺🌊《IDEA开发秘籍专栏》🐾学会IDEA常用操作,工作效率翻倍~💐🌊《100天精通Golang(基础入门篇)》🐅学会Gol

汽车自适应巡航系统控制策略研究

摘要自适应巡航控制系统是高级驾驶辅助系统的重要组成部分,可以有效地减轻驾驶员操作负担,提高汽车的舒适性、燃油经济性以及道路通行率,具有重要的工程应用价值。控制策略是自适应巡航系统研究的核心内容,因此针对自适应巡航系统控制策略的研究具有重要意义。本文首先针对汽车自适应巡航控制系统的功能需求进行了分析,对固定车间时距算法和

中国汽车供应商远赴德国,中国智驾方案能否远渡重洋?

作者|Amy编辑|德新今年的上海车展,中国智能汽车的进步有目共睹,吸引了大批外企高管和研发人员的关注,甚至引发了海外车企一系列的动作和调整。而在刚刚结束的慕尼黑车展,中国车企及汽车供应链把「肌肉」秀到了现代汽车起源地——德国。此次在慕尼黑举办的IAAMOBILITY是世界五大车展之一,也是欧洲规模最大的国际性车展。这里

基于SSM+Vue的汽车售票网站的设计与实现

末尾获取源码开发语言:JavaJava开发工具:JDK1.8后端框架:SSM前端:采用Vue技术开发数据库:MySQL5.7和Navicat管理工具结合服务器:Tomcat8.5开发软件:IDEA/Eclipse是否Maven项目:是目录一、项目简介二、系统设计设计原则三、系统项目截图客运班次管理会员充值管理购票记录管

笔记本、台式机、平板二合一?Mac、Win、Linux?

电脑选型根据日常使用的需求进行选择,笔记本、台式机、平板和二合一电脑我都有尝试过,目前而言,最适合我个人的是笔记本。笔记本如果你犹豫笔记本和台式机,选择笔记本;如果你犹豫笔记本和二合一电脑,选择笔记本。笔记本电脑比较中规中矩,是绝大多数场景下都可以作为第一或者备选方案的选择。在选择笔记本的时候,需要重点考虑如下几个因素

MySQL MHA

目录概述MHAMHA的组成MHA的特点搭建MySQLMHA配置主从复制1.关防火墙,安全机制2.修改Master、Slave1、Slave2节点的主机名3.在Master、Slave1、Slave2添加主机映射关系4.修改Master、Slave1、Slave2节点的Mysql主配置文件/etc/my.cnf5.在Ma

Mac 安装ZooKeeper+kafka基本使用

为什么Kafka依赖ZooKeeper?下面ZooKeeper基本介绍:1、基本功能ZooKeeper为分布式系统提供了一种配置管理的服务:集中管理配置,即将全局配置信息保存在ZooKeeper服务中,方便进行修改和管理,省去了手动拷贝配置的过程,同时还保证了可靠和一致性。2、命名服务在分布式系统中,经常需要对应用或者

大数据驱动业务增长:数据分析和洞察力的新纪元

文章目录引言大数据分析的重要性1.数据驱动的决策2.洞察力和预测3.个性化服务大数据分析的关键组成部分1.数据收集2.数据存储3.数据清洗和预处理4.数据分析和建模5.数据可视化数据驱动业务增长的案例1.亚马逊的个性化推荐2.谷歌的广告优化3.零售业的库存管理数据驱动文化的建立1.数据教育和培训2.数据可访问性3.数据

log4j2原理分析及漏洞复现CVE-2021-44228

文章目录log4j2原理分析及漏洞复现0x01log4j2简介Log4j2特点Log4j2组件的应用0x02CVE-2021-44228漏洞简介:漏洞适用版本漏洞原理lookup功能jndi解析器jndi是什么ldap服务RMI0x03攻击过程0x04漏洞复现漏洞环境1.访问靶机2.dns回显验证3.将bash反弹sh

深入解析:自己实现 MyBatis 底层机制的任务阶段1 - 读取配置文件与建立数据库连接

😀前言.本文将深入探讨如何在自己实现MyBatis底层机制的过程中完成第一个任务阶段,即读取配置文件并建立数据库连接。这一关键步骤是了解MyBatis内部工作原理的第一步,也是自定义MyBatis底层机制的基础。.在任务阶段1中,我们将从头开始创建必要的配置文件和Java类,逐步解析配置文件,获取数据库连接,以为后续

热文推荐