IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络和因特网 -> 正文阅读

[网络协议]计算机网络和因特网

您也可以在我的个人博客阅读这篇文章:http://coldairance.com/artical?id=95

什么是因特网

因特网的具体构成

端系统

  • 所有连接到因特网的设备都称作主机端系统

  • 端系统通过通信链路分组交换机连接在一起,链路的传输速率以 bit/s(或bps) 度量

  • 当一台端系统向另一台端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节(标识),这称为分组

分组交换机

  • 两种最著名的类型是路由器链路层交换机,前者用于网络核心中,后者用于接入网中

英特网服务提供商(ISP)

  • 端系统通过**ISP(Internet Service Provider)**接入因特网,例:住在ISP、大学ISP等

  • 每个ISP自身就是一个由多台分组交换机和多段通信链路组成的网络

  • 每个ISP之间必须互联

  • 较低层的ISP通过叫高层ISP互联起来

协议

  • 端系统、分组交换机和其他因特网部件都要运行一系列协议,这些协议控制因特网中信息的接收和发送
  • TCP(传输控制协议)和IP(网络协议)是因特网中两个最为重要的协议,IP协议定义了在路由器和端系统之间发送和接收的分组格式。

因特网的服务描述

分布式应用程序

  • Web、移动智能手机和平板电脑应用程序,其中包括即时讯息、与事实道路流量信息的映射、来自云的音乐流、电影和电视流、在线社交网络视频会议多人游戏以及基于位置的推荐系统
  • 运行于端系统上

套接字

与英特网相连的端系统提供了一个***套接字接口***,该接口规定了运行在一个端系统上的程序请求因特网基础设施向运行在另一个端系统上的特定目的地程序交付程序的方式(主流编程语言都有对应开发接口)。

什么是协议

  1. 人类行为类比图

    在这里插入图片描述

  2. 网络协议

    **协议(protocol)**定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送和/或接收一条报文或其他事情所采取的动作。

网络边缘

主机(端系统)有时又被进一步划分为两类:客户机服务器

客户通常是桌面PC、移动手机等,服务器通常作为数据中心,用于存储和发布应用程序,例如阿里云、腾讯云、华为云等。

接入网

  • 将端系统物理连接到其***边缘服务器***的网络
  • 边缘路由器是端系统到任何其他远程端系统的第一台路由器

家庭接入

  1. 数字用户线(DSL)

在这里插入图片描述

用户的本地电话公司是它的ISP。

***DSL调制器***使用现有的电话线(双绞铜线)

家庭电话先同时承载了数据和传统的电话信号,它们用不同的频率进行编码

  • 高速下行:50kHz ~ 1mHz
  • 中速上行:4kHz ~ 50kHz
  • 双向电话通道:0 ~ 4kHz
  1. 电缆

在这里插入图片描述

电缆因特网接入需要特殊的调制解调器,这种调制和解调器称为***电缆调制解调器***

电缆因特网接入的一个重要特征是共享广播媒体:由头端发送的分组想下行经每段链路到每个家庭;每个家庭发送的每个分组经上行通道向头部传输。

  1. 光纤到户(FTTH)

    提供更高速的新兴技术,从本地中心局召家庭有几种竞争性的分布方案:

    ? 有源光纤网络与无源光纤网络

    FTTP提供给用户不同的速率选择,当然与价格成正比。

企业(和家庭)接入:以太网和WIFI

在这里插入图片描述

以太网到目前为止是公司、大学和家庭网络中最为流行的接入技术

标准的组成:

  • 一台漫游的便携机和一台有线PC
  • 一个与无线PC和家中其他无线设备通信的基站
  • 一个提供与英特网宽带接入的电缆调制解调器
  • 一台互联了基站机带有电缆调制解调器的固定PC的路由器

广域无线接入:3/4/5G 和 LTE

移动设备应用了无线基础设施(芯片),通过蜂窝网提供商运营的基站来发送和接收分组。与WIFI的不同之处在于有信号的范围仅需要位于基站的数万米之内。

物理媒介

  1. 导引型媒介

    电波沿着固体媒介前进,如光缆双绞铜线同轴电缆

  2. 非导引型媒介

    电波在空气或外层空间中传播

网络核心

分组交换

在各种网络应用中,端系统彼此交换***报文***,报文能够包含协议设计者需要的任何东西

  1. 存储转发传输

    多数分组交换机在链路的输入端使用这种传输方式:

    ? 在交换机能够开始想输出链路传输改分组的第一个比特之前,必须接收到整个分组

    通过由 N 条速率均为R、长度均为L的链路组成的路径(所以在源和目的地之间由 N - 1 台服务器),从源到目的地发送一个分组,则端时延是:
    d = N L R d = N\frac{L}{R} d=NRL?

  2. 排队时延

    如果到达的分组需要传输到某条链路,但发现该链路正忙于传输其他分组,该到达分组必须在输出缓存中等待,这就产生了排队时延。

  3. 路由选择

    在英特网中,每个端系统具有一个称为***IP**地址的地址,当一个分组到达网络中的路由器时,路由器检查该分组的目的地址的IP***,搜索转发表,选择适当的出链路。

电路交换

在电路交换网络中,在端系统间通信会话期间,预留了端系统间沿路径所需要的资源(缓存,链路传输速率)。在分组交换网络中,这些资源不是预留的。因此电路交换网络永远不会阻塞,分组交换网络则可能阻塞,这里引用书中一个生动形象的例子:

? 有两家餐馆,一家需要顾客预定,而另一家不需要预定,但不保证能安排顾客。对于需要预定的那家餐馆,我们在离开家之前必须承受先打电话预定的麻烦,但当我们到达该餐馆时,原则上我们能够立即入座并点菜。对于不需要预定的那家餐馆,我们不必麻烦地预定餐桌,但当我们到达该餐馆时,也许不得不先等待一张餐桌空闲后才能入座。

电路交换的细节这里不做深究。

网络的网络

因特网是由数以亿计的用户构成的,接入的ISP之间必须互联,才能保证信息正常传输。

年复一年,构建因特网的“网络的网络“已经演化成为一个非常复杂的结构,这里仅讨论网络结构五

网络结构五描述如今的因特网

在这里插入图片描述

其中,第一层ISP为全球性的,且大多由国家控制,比较熟悉的有:中国移动、中国联通与中国电信,仔细观察,内容提供商也位于第一层,这样就可以绕过第一层ISP,极大减少了因流量产生而需支付费用。谷歌是当前这样的内容提供商网络的一个突出例子,谷歌专用网络仅承载出入谷歌服务器的流量,由于许多接入的ISP仅能通过第一层ISP的传输到达,因此内容提供商也需连接第一层ISP,并定期向他们支付这些用户产生的流量的费用,总结:

  • 减少了向顶层ISP支付的费用
  • 对其服务最终如何交付给端用户有了更多的控制

分组交换网络

时延

当分组从一个节点(主机或路由器)沿着这条路径到后继节点,该分组在沿途的每个节点经受了几种不同类型的时延。这些时延总体累加起来是***节点总时延***

  1. 处理时延

    检查分组首部和决定将该分组导向何处所需要的时间、检查比特级别的差错等需要的时间。

  2. 排队时延

    在队列中,当分组在链路上等待传输时所需要的时间

  3. 传输时延

    当所有已经到达的分组被传输后,才能传输刚到达的分组。传输时延 是将所有分组的比特推向链路(传输、发射)所需要的时间。

  4. 传播时延

    一旦一个比特被推向链路,该比特需要向路由B传播。从该链路的起点到路由器B传播所需要的时间是传播时延。

  5. 端到端时延

    假定在源主机和目的主机之间有 N-1 台路由器,并且此时网络是无阻塞的,在每台路由器和源主机上的处理时延是d_proc,每台路由器和源主机的输出速率是 R bps,每条链路的传播时延是d_prop。节点时延加起来,得到端到端时延:
    d e n d ? e n d = N ( d p r o c + d t r a n s + d p r o p ) d_{end-end} = N(d_{proc}+d_{trans}+d_{prop}) dend?end?=N(dproc?+dtrans?+dprop?)

  6. 端系统、应用程序和其他时延

    除了处理时延、传输时延和传播时延,端系统中还有其他一些重要时延。

丢包

当到达的分组发现一个满的队列,由于没有地方存储这个分组,路由器将丢弃该分组,这种情况在直播时较容易发生,一般直播平台都会提供给主播监控丢包率的软件。

吞吐量

假设一台主机正在下载一个1080p视频到本地,我们知道这可能有几个G,在任何时间的瞬时吞吐量是主机接收到该文件的速率(bps)。如果该文件由 F 比特组成,主机接收到所有比特用去 T 秒,则文件的平均吞吐量。

协议层次及其服务模型

分层的体系结构

在这里插入图片描述

所有的协议组成了协议栈,越靠近底层对开发者越不透明。

应用层

协议

应用层是网络应用程序及它们的应用层协议留存的地方,包括许多协议:

  • HTTP:它提供了Web文档的请求和传送
  • SMTP:它提供了电子邮件报文的传输
  • FTP:它提供两个端系统之间的文件传送

报文

一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息分组,我们把这种位于应用层的信息分组称为报文

运输层

因特网的运输层在应用程序端点之间传送应用层报文。在因特网中,有两种运输协议:

  • TCP:向它的应用程序提供了面向连接的服务
  • UDP:向它的应用程序提供无连接的服务

他们之间的区别在于是否安全可靠、提供流量控制、提供拥塞控制

利用其中的任何一个都能运输应用层报文,运输层的分组又称为***报文段***

网络层

负责将称为数据报的网络层分组从一台主机移动到另一台主机。

链路层

因特网的网络层通过源和目的地之间的一系列路由器路由数据报。为了将分组从一个节点移动到路径上的下一个节点,网络层必须依靠该链路层的服务。在每个节点,网络层将数据报下传给链路层,链路层沿着路径将数据报传递给下一个节点。在下一个节点,链路层将数据报上传给网络层。

物理层

将一个个比特从一个节点移动到下一个节点

OSI 模型

上面提及的因特网协议栈不是唯一的协议栈

在这里插入图片描述

由OSI模型提出两个新的层次分别为:

  • 会话层:提供了数据交换的定界和同步功能,包括了建立检查点和恢复方案的方法。
  • 表示层:使通信的应用程序能够解释交换数据的含义。这些服务包括数据压缩、数据加密和数据描述(这使得应用程序不必担心在各台计算机中表示存储的内部格式不同的问题)。

这两个层次的服务不是必须的,应用程序开发者决定一个服务是否重要,如果该服务重要,应用程序开发者就应该在应用程序中构建该功能。

封装

在这里插入图片描述

由图可知,各层有条不紊的工作着。

网络攻击

对于今天的许多机构而言,因特网已经成为与其使命密切相关的一部分了,同时也存在大量的不法分子通过各种方式攻击庞大的互联网。

  1. 植入有害程序

    一旦我们点击了不安全的链接,就伴随着潜在的危险,一旦恶意软件感染计算机,就能做各种不正当的事情,我们的电脑也称为了不法分子控制的诸多僵尸网络之一

  2. 攻击服务器和网络基础设施

    • DoS攻击

      拒绝服务攻击,这种攻击是的网络、主机或者其他基础设施部分不能由合法用户使用(这也是大多数网站在你进入时让你滑动解锁、验证是否为机器人的原因)。

    • DDoS攻击

      分布式DoS,不法分子通过控制的僵尸网络对目标发起猛烈DoS攻击,使该服务陷入瘫痪,相比于来自于单一主机的DoS的攻击,DDoS攻击更加难以检测和防范。

  3. 嗅探分组

    在无线传输设备的附近防止一台被动的接收机,该接收机就能得到传输的每个分组的副本!这些分组可能包含各种敏感信息,或许你看过《没有绝对安全的系统》这部电影,主角正是通过这种方式成功侵入了安全级别极高的国际数据中心,成为世界顶级黑客。

  4. 伪装

    将具有虚假源地址的分组注入因特网的能力被称为IP哄骗,而它只是一个用户能够冒充另一个用户的许多方式的一种。

总结:

我只是《计算机网络 自顶向下方法》这本书的搬运者,删去了一些晦涩的公式,运算等,如果你对我的这篇文章满意,相信它一定不会让你失望。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-13 17:51:11  更:2021-07-13 17:52:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 17:57:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码