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

news2024/11/17 17:30:52

目录

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欺骗: 发送虚假地址的数据包。
        ​​​​​​​        
重放攻击: 嗅探敏感信息(比如,某用户的口令),之后重新注入网络(以假冒该用户)。
        ​​​​​​​         ​​​​​​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1025526.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3 封装公共弹窗函数

前言: 博主封装了一个公共弹窗函数接收四个参数,(title:弹窗标题, ContentComponent:弹窗中显示的组件内容, opt:接收弹窗本身的属性和props, beforeSure:点击确定做的操作(请求后端…

《动手学深度学习 Pytorch版》 7.3 网络中的网络(NiN)

LeNet、AlexNet和VGG的设计模式都是先用卷积层与汇聚层提取特征,然后用全连接层对特征进行处理。 AlexNet和VGG对LeNet的改进主要在于扩大和加深这两个模块。网络中的网络(NiN)则是在每个像素的通道上分别使用多层感知机。 import torch fr…

JumpServer开源堡垒机与爱可生云树数据库完成兼容性认证

近日,中国领先的开源软件提供商FIT2CLOUD飞致云宣布,JumpServer开源堡垒机已经完成与爱可生云树数据库软件的兼容性认证。经过双方联合测试,云树数据库软件(简称:ActionDB)V1.0与杭州飞致云信息科技有限公司…

前端提高代码质量-提升代码的可维护性

代码质量是一个非常重要的概念,它决定了代码的可读性、可维护性、可扩展性和稳定性。在前端开发中,提升代码质量可以帮助我们减少错误、提高开发效率、降低维护成本,甚至可以提高用户体验。 在必要的地方加注释 良好的注释可以帮助开发人员理…

使用RKDevTool将update.img完整镜像进行解包,得到单独分区的镜像

(1)使用开发工具高级功能的解包 导入xx.img,然后点击解包(2)在Output/Android/Image得到想要的image

zotero通过DOI快速导入文献

之前我经常采用两种方式导入文献: (1)下载PDF,然后拖入zotero 这种方法比较费时间,有些文献无法下载pdf (2)通过google scholar检索文献,然后点击引用——EndNote,chorme…

HCQ1-1300-D故障笔记

常用查错网址: SMC_ERROR (ENUM) 删除 Web

socket套接字——TCP协议

目录 一、TCP协议相关函数 1.socket、bind函数 2.listen函数 3.accept函数 4.connect函数 二、实现TCP通信 1.服务端实现 (1)服务端类 (2)日志小组件 (3)初始化服务端 (4&#xff09…

etcd的安装和使用

安装及启动 在Mac上,推荐使用brew安装 brew install etcd 可以使用etcd启动服务,但更推荐使用 brew services 来管理使用brew安装的应用~ # 启动某个应用,这里用 etcd 做演示brew services start etcd# 停止某个应用brew services stop etcd#…

Hive的分区和分桶

目录 ​编辑 一、Hive分区 1.1 分区产生的背景 1.2 动态分区 1.2.1 hive的动态分区介绍 1.2.2 动态分区配置 1.2.2.1 动态分区开启 1.2.2.2 动态分区模式 1.2.2.3 一个mr节点上,设置动态分区的最大数量 1.2.2.4 所有mr节点上,设置所有动态分区…

linux安装redis超级详细教程

redis源码安装 安装gcc redis是C语言编写的,所以我们需要先在Linux上安装和升级,C语言的编译环境。 #安装gcc yum install -y gcc-c autoconf automake#centos7 默认的 gcc 默认是4.8.5,版本小于 5.3 无法编译,需要先安装gcc新版才能编译 gcc -v#升级…

rv1126-rv1109-环境搭建-全部编译的方法

主要参考:Rockchip_Developer_Guide_Linux_Software_CN.pdf / SDK-Rockchip_RV1126_RV1109_Quick_Start_Linux_CN.pdf 找对文档事半功倍!为什么这么说,因为没找对绕了路!别笑! //解压源码,基础略过 tar xvf rv1126_rv1109_linux_v3.0.2_20230724.tgz -C rv1126_rv1109 cd rv1…

【Axure高保真原型】动态控制不透明度

今天和大家分享动态控制不透明度的原型模板,我们可以滑块左右拖动或者点击滑条的某个位置,从而控制图片上方遮罩的不透明度……具体效果可以打开下方原型地址体验或者点击下方视频观看 【原型效果】 【Axure高保真原型】动态控制不透明度 【原型预览及下…

No thread-bound request found 错误以及解决方案

异常信息: cause: java.lang.IllegalStateException: No thread-bound request found: Are you referring to request attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually o…

一起学数据结构(7)——树及二叉树的基本概念及存储

前面的关于数据结构的文章中,介绍了顺序表,链表,栈,队列等数据结构。对于以上数据结构,均是一对一的关系。本篇文章将对于一对多的数据结构——树进行解析。 目录 1. 树的定义及基本概念: 1.1 树的定义&a…

结合el-tooltip,实现内容过长省略,移上显示全部

在系统中,内容过长需要省略,鼠标移上显示全部,这个是常用的功能,也有很多方案解决这种。 单行内容超出处理 常用的css方案: .ellipsis {overflow: hidden;white-space: nowrap;text-overflow: ellipsis; } 该样式在…

基于Android系统英语学习助手APP设计开发

一、 设计思路 1.1设计目标 1.2设计思路 1.3设计内容 1.3.1界面设计 1.3.2功能模块设计 1.3.3功能流程图 1.3.4数据库设计(如果没有数据库这部分删除) 1.4工具设备要求 1.5技术方案 二、设计过程与说明 2.1技术路线 2.2实现方案 2.3实现原理…

C#复习:面向对象基本概念

C#复习:面向对象基本概念 前言什么是面向对象类,名称空间的介绍 如何导入类库DLL引用(黑盒引用)项目引用(白盒引用)NuGet介绍 依赖关系C#的分装(个人理解) 前言 关于我C#的博客是根据刘铁猛老师的C#入门课程为基础写的,可以配合刘铁猛老师的…

.bat批处理命令处理文件

批处理命令处理文件找到上级目录,并删除文件与文件夹 参考资料: [BAT] 如何获取bat的上一级目录、上两级目录..._bat 上层目录_Risun_Lee的博客-CSDN博客echo offset currPath%~dp0set parentPathset parentparentPath:beginfor /f "tokens1,* de…

solidworks导出文本能打开的stl文件

几种以文本格式(ASCII)导出stl的设置 1.solidworks导出时需要在选项里设置导出格式为ASCII,当选择以二进制格式导出时,打开会乱码; 2.CAD直接导出的是以二进制形式导出的,导出后也无法使用文本打开&#xf…