internet协议的作用_路由协议配置

internet协议的作用_路由协议配置计算机网络:Internet基本原理(上)缘起有很多像我一样毕业后转行的程序员,在大学里可能没有系统地学习过计算机的专业课程。短时间内看,这些东西在工作中也不会接触到。但是作为一个程序员,计算机网络是必备的知识,在排查复杂问题的时候也

计算机网络:Internet基本原理(上)   缘起   有很多像我一样毕业后转行的程序员,在大学里可能没有系统地学习过计算机的专业课程。   短时间内看,这些东西在工作中也不会接触到。但是作为一个程序员,计算机网络是必备的知识,在排查复杂问题的时候也会用到。   借用耗子叔的话来说:   
internet协议的作用_路由协议配置
internet协议的作用_路由协议配置   打个比方,就像《笑傲江湖》里提到的「气宗和剑宗」。剑宗功夫易于速成,见效极快。大家都练十年,定是剑宗占上风;各练二十年,那是各擅胜场,难分上下;要到二十年之后,练气宗功夫的才渐渐的越来越强;到得三十年时,练剑宗功夫的便再也不能望气宗之项背了。   剑宗功夫可以速成,但是后劲不足。如果从长远看,还是气宗更为厉害。   而在编程领域,平常学习的框架就是剑宗,见效很快,马上可以上手工作。而基础知识就是气宗,从长远来看很重要。   所以,现在我决定系统地学习计算机基础知识,用博客记录下来。   首先来看计算机网络,我们的教材是 《计算机网络-自顶向下方法(第7版)》,视频是 中科大郑烇、杨坚全套《计算机网络》 https://www.bilibili.com/video/BV1JV411t7ow?p=1   下面我将带你从0到1,快速过一遍计算机网络的基础知识。现在我们来到第一章 Internet,let‘s go!   概论   目标   主要介绍了什么是计算机。在这一章我们会了解到计算机网络主要的概念和术语,为后面的章节打下一个框架性的一个基础,方便我们后面理解特定的技术术语。   计算机网络的这门课程的第一章,跟其他的的课程太一样。第一章是最重要的一章,都是框架的知识。希望大家要耗费一些时间精力把他熬过去,这一章有很多的新的概念,你可能觉得很痛苦。但是第一章学好之后,后面章节的学习相对来说比较简单一些。   提纲   什么是Internet?在介绍什么是互联网之前,我们会介绍什么是网络,什么是计算机网络,什么是互联网,它的组成是什么。   什么是协议?我们会介绍什么是协议。   网络边缘 / 接入网、物理媒体网络可以分为三个部分。边上、中间、边上和中间结在一起的接入网。我们会分别看一下三个部分的组成作用和它的工作原理。先从边上讲网络的边缘,然后是把边缘接到网络核心的接入网,以及支撑接入网的的媒体和媒介。   网络核心:分组交换、线路交换核心的工作方式有两种,第一种叫项目交换,另外一种叫分组交换。我们会介绍一下,什么是线路交换,什么是分组交换。   他们的工作原理分别是什么,有什么优点缺点。   Internet / ISP结构这一节中,我们会介绍互联网是一堆的网络构成的,它不是一个平面一个网络。它是由一堆的网络,通过网络互联设备,也就是路由器连在一起的的网络。我们把它称为互联网。   性能:丢包、延时、吞吐量衡量分组交换网络非常重要的一个指标,还有吞吐量,一些性能指标,它具体的定义是什么?   协议层次、服务模型在这一小节当中,我们会了解到网络的复杂性。网络不是一个平面就能够构建的,它是一层一层构建的,每一层实现一组特定的功能。然后向上一层,又借助于下层所提供的服务,通过的跟对等层的协议,实体相互交换协议的报文来实现的。实现的目的是什么呢?为了向上层提供更好、更优质的服务,所以一层一层地建立。我们会了解到互联网它的层次结构是怎么样的。每一个层次结构的主要作用。   什么是网络?   首先来看一下什么是互联网。   从具体构成角度   电话网,蜘蛛网,社交网络当中的人人之间的朋友关系,都是网。这些网络有什么共同特点呢?和大小形状无关,他们都包括节点和边。我们可以认为,只要包括节点和边的东西,就是网络。   那什么是计算机网络呢?计算机网络是联网的计算机,所构成的系统。   从构成的角度来看,计算机的节点和边节点包括主机节点和数据交换节点。   数据交换节点根据工作的层次不同,又分为交换机、路由器,和高层的负载均衡设备。   而链路,可以按照连接内容的不同来分类,分为 access 和 backbone 接入链路和骨干。   节点   在计算机网络当中,节点又分为主机节点和数据交换节点。   主机节点:主机及其上运行的应用程序;   数据交换节点:路由器、交换机等网络交换设备;   主机节点   主机节点,又叫端节点。它既是数据的源,也是数据的目标。   我们从构成的角度来看计算机网络的一种网络 —— 互联网,它有哪些端节点呢?   PC 、笔记本、 iPad 、智能手机,还有 web 服务器,都是一个主机节点,都是端系统。事实上,大几十亿的端节点都连接在互联网当中。   端系统包括什么呢?包括你计算机本身的硬件、能够把硬件管理起来的操作系统。   但是,光有这操作系统能够支持通信吗?所以,在操作系统之上还有应用进程,驻留的网络应用。比如浏览器,比如手机上的 APP ,类似美团、淘宝之类的网络应用程序。   所以说端系统包括哪些呢?设备本身,能够通讯的网络操作系统,还有在操作系统上面驻留的网络应用程序,这些构成了端系统。   有时候我们把它称之为 end system 端系统,或者我们把它叫 host 主机。   数据交换节点   另外一种节点叫做数据交换节点。他跟主机节点有什么区别呢?它既不是源,也不是目标。   来了分组从一个端口进来,按照一定的工作方式,转发出去。通过这些中转节点的相互配合,最后完成从源节点传到目标节点。   
internet协议的作用_路由协议配置
internet协议的作用_路由协议配置   节点有两种类型,在上图中,方的叫主机节点,圆圈的叫数据交换节点。从图中,我们可以看出中转节点的主要作用就是转发。   交换机、路由器   数据交换节点按照工作的层次不同,可以分为中继器,交换机、路由器三层。   如果是交换机,按照目标 MAC 地址决定向哪里转发;如果是一个路由器,通过路由器网卡接收分组,之后,再查路由表决定从哪个方向转发。   比如我们刚刚介绍的路由器和交换机,他们只是工作层次和作用不同。路由器是工作在网络层,而交换机是工作在链路层。当然还有更高层的网络交换设备,比如的第四层、第五层的负载均衡设备等等。   路由器是公开网络承载网络交换设备,交换机是工作在链路层的网络转化设备。还有一些负载均衡设备是工作在更高层的网络设备,它的主要作用也是来了一个数据把它转走,只不过他工作的层次不一样,支撑它运行的协议的层次不一样。   这些设备有什么共同特点吗?   他们也是节点,但它既不是数据的源,也不是数据的目标,它只是数据的中转节点。   边:通信链路   把节点连在一起的,叫什么?链路。   「链路」把主机跟交换节点连在一起,把交换节点跟交换节点连在一起。最后大家构成一个网,然后之间才能够相互的通讯。   然后边也分为两类。第一类是什么呢?   接入网链路:主机连接到互联网   我的主机通过以太网的网线,接到最近的一个交换机,这叫接入网链路。   然后跟另外一个交换节点能够连在一起,你是把主机连在一起的,就是接入链路。   只要跟方的(主机)有关,他就是接入链路。   用方的表示主机节点,圆的表示数据交换节点   如果你不方,两个圆接在一起,那就是主干链路。   主干链路:路由器之间   路由器和路由器之间,交换机和路由器之间的连接,我们把它叫 backbone,就是交换节点之间的主干链路。   所以说联网的计算机系统是由节点和边构成的的系统,我们把它叫计算机网络。   通信链路   除了节点之外,还有链路。把节点间连在一起的,叫做通信链路。链路不仅仅是网线本身,还有在网线光纤之上支持他们运转的链路层的协议。   带宽   链路 link ,非常重要的一个指标,就是带宽。   bps = bit per second 每秒钟传输的字节, 作为它的单位。   协议   互联网的构成,除了硬的节点和边之外,还有一个软的组成,就是协议。   协议的是什么呢?它是支撑互联网工作最重要的一些标准。各个厂商按照协议来制作、生产网络设备和网络软件产品,它们之间就能够有一个互操作性,就可以互相操作。换句话说,我的网卡和你的网卡,虽然它们的出生地不同,它们来自于不同的厂商,但是只要遵守同样的标准,就可以互相通信。比如说,苹果生产的爱苹果,华为生产的安卓,还有 linux 操作系统上运行的一个网络服务,他们遵守相同的协议,才可以互相通信。   只有遵守同样协议的这种网络实体才能够相互通讯。类比到人类,如果一个人说德语,另一个说东北话,他们无法形成有效的交流 ️。协议的标准定义是什么呢?对等层实体,在通信过程当中,应该遵守的规则的集合,包括了语法、语义和时序。   协议可以按照它的层次不同,分为不同层的协议,比如物理层、链路层、网络层、传输层实体和应用层协议,而且每一层的协议他要分成若干种。比如 tcp、udp,网络层的 IP,还有一些路由选择协议等等。什么是对等实体? 不同开放系统上同一层中的实体。比如,操作系统运行中的一个 TCP 的实体和另一个操作系统中的 TCP 实体;一个服务器的 IP 和另一个服务器的 IP;网卡跟另外一个相邻的网络当中的另外一个网卡,它们都叫对等实体。   从角度看,互联网是什么呢?以 TCP 协议和 IP 为主的一族协议,由这些协议来支撑其工作的网络就叫互联网。而且互联网也是目前我们在用的世界上,用户最多、覆盖最广的网络。   Internet:“网络的网络“   公共 Internet vs 专用 intranet   不要以为互联网就是唯一的网络哦,我们还有很多其他的网络。比如银行的专用网络,军用的专用网络,很早之前各种各样的网络都有,互联网仅仅是网络的一种。只不过互联网是最普及的网络,它只是几十亿台的设备、几百万个网络所构成的一个复杂网络。互联网是一堆的网络连在一起的,有哪些网络呢?比如教育、科研网,还有中国电信、移动的网络这些运营商的网络,他们构成了移动互联的网络,他们通过一些或者是一系列网络交换节点,能够互联互通。   松散的层次结构,互连的 ISP   互联网服务提供商(Internet Service Provider),简称ISP,指的是面向公众提供下列信息服务的经营者:一是接入服务,即帮助用户接入Internet;二是导航服务,即帮助用户在Internet上找到所需要的信息;三是信息服务,即建立数据服务系统,收集、加工、存储信息,定期维护更新,并通过网络向用户提供信息内容服务。   互联网是一堆网络,通过网络互联的设备连在一起的。而且这一堆网络里面有包括很多小网络,这些小网络可以互相连接。   而互联网上的联网设备网络一共有多少几十万,甚至上百万的,几百万的网络连在一起。构成的角度来看,互联网是一堆的网络,通过网络互连设备。   Internet 标准   RFC: Request for commentsIETF: Internet Engineering Task Force   互联网的标准是以 IETF 发布的 RFC 的文档的形式, RFC 是请求评述, IETF 是互联网工程任务组。关于互联网的演化和进步,你有任何新的想法,都可以向 IETF 提交文档, 组织是一个非盈利的一个组织。他们收到文档之后,会内部讨论一下,如果文档是靠谱的,给他编个号,放在他的网站上。让全球的科学家和工程师对她请求评述。互联网所有的这些标准都是以 RFC 文档的形式在 IETF 的网站上发布的,包括 TCP、 UDP、IP ,所有的协议都是这么做的。大家共同建设互联网,共同促进互联网的发展,群策群力地构建一个互联网。所以说互联网的构建方式,和某个标准化机构主导制定的一些标准是不一样。   什么是协议   等层实体在通信过程当中应该遵守的规则的集合,它是一个规范。   下面,我们来对比人类的协议和网络协议,看看有什么相同之处。   
internet协议的作用_路由协议配置
internet协议的作用_路由协议配置   人类协议 vs 网络协议   协议,就是人和人之间的通信,也要遵守相应的协议。举个 你碰到一个陌生人,你想请求她问你办件事,然后,你嗨过去(请求连接),对方对你冷眼相待,或者默默拒绝了你的招呼,一般来说你就不会请求他的帮忙。   只有对方回应还不错(连接响应),我们才会请求他办具体的事(发送特定的消息),也会接受他给的信息(文件)   互联网当中的所有通讯行为,都受到协议的规范。计算机和计算机的通信更要遵守相应的规范。   都包含哪些规范呢?   格式、次序和动作。   协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和/或接收或其他事件方面所采取的动作
internet协议的作用_路由协议配置
internet协议的作用_路由协议配置   例如一个 web 的浏览器,运行在 PC 机上,web 的服务器运行在这台机器上,它们之间要首先建立起一个 TCP 的连接。   格式   我是浏览器,你是服务器。现在我们之间要通信,我向你发一个 pdu (协议数据单)。pdu ,到底是什么格式?有多长?前几个字段是什么字段?每个字段,代表什么样含义?比如发送了 00011,代表了我收到你的东西了,我要跟你确认等等。而你这边要解释 00011,只要你的解释跟我的解释是一样的,我们就可以互操作。例如你发了是 011 给我,或者是前面 00011 给我。然后你是一个意思,我理解成另外一个意思,那就完蛋了。两者无法互操作   所以说,格式包括语法和语义。   次序 & 动作   另外还包括次序和动作。计算机之间的通信不能想发就发,在特定的动作之后,才可以发送。我是一个 web 服务器,我收到了来自 web 浏览器的请求之后,我才会向它发送 HTTP 的报文响应。对方建立起 TCP 的连接之后,就能够收到报文。收到报文之后,再按照协议的规范解析报文,判断一下,你请求什么样的一个对象,然后我才从本地文件系统当中,这就是另一个动作了。什么是 Internet:从服务角度   
internet协议的作用_路由协议配置
internet协议的作用_路由协议配置   从服务的角度来看,互联网是什么呢?互联网是分布式的应用进程,以及为分布式应用进程提供通信服务的基础设施。   分布式应用   分布式应用是网络存在的理由对吗?如果没有分布式的应用,要不要网络?所以说,分布式的应用是网络存在的理由。   互联网的应用是什么呢?应用是为人类,或者是提供服务的一个各种各样的网络应用,包括电子商务,包括打游戏,包括一些办公系统,这些都是分布式的应用。   应用程序分布在不同计算机上,通过网络来共同完成一项任务。比如Web、VoIP、 email、分布式 游戏、电子商务、社交网络等等。所以说,如果从应用进程的角度来看,互联网是分布式的。从应用层以下所有的这些东西都叫基础设施;应用层之上包括了分布式的应用进程。   通信基础设施为apps提供编程接口(通信服务)   基础设施,向分布式应用提供通信服务。基础设施包括了什么?应用层以下的,所有的协议实体,以及所有的网络。可以认为除了应用,其他都是基础设施。基础设施向应用进程提供服务的方式有两种,一种是面向连接的服务,另外一种叫无连接的服务。   总结   最后,我们来简单的总结一下它是从构成的角度来看节点主机节点和数据交换节点   边包括接入的链路和骨干链路。   把一堆比较关联紧密的节点和边连在一起,会构成一个个的网络协议网络的网络互联网是由一堆网络通过网络,互联设备(路由器),连接在一起的网络的网络。   从服务角度来看互联网互联网就是分布式的应用,以及为分布式应用提供通信服务的基础设施。   基础设施为分布式的应用提供通信服务,它支撑起了各种各样的网络应用,从而构建了互联网。基础设施向上层提供的服务可以分为两种第一种是面向连接的,比如 TCP   另外一种是无连接的服务,比如 UDP   网络结构   以上内容是我们从构成的角度来看互联网,它是一堆的网络,通过互相连接构成的。   我们把互联网拆解开来,从结构的角度分析,可以分为这几个部分:网络边缘:包含主机和应用程序(客户端和服务器)网络核心:互连着的路由器 网络的网络接入网、物理媒体:有线或者无线通信链路   你可以把互联网分为这几个部分,按照组成的类型来把互联网分为一个个的子系统。   那这三个部分到底干吗用?接入网把边缘的主机系统接入到核心,这样构成了一个任意的网,我们才能够把数据发给另外一个主机。   网络边缘   网络边缘可以分为主机,和跑在主机上的应用进程。   端系统(主机)   处在因特网的边缘部分就是在因特网上的所有主机,这些主机又称为端系统(end system)。   我们来看一下应用进程之间通讯的模式,可以分为两种:客户/服务器模式、对等(peer-peer)模式。   CS 模式   客户端向服务器请求、接收服务。比如 Web 浏览器 / 服务器;email 客户端 / 服务器。   第一种模式叫 CS 模式, CS 指的是客户端服务器模式,例如 web 的浏览器和web 的服务器。 比如发送电子邮件,我的电子邮件的应用是客户端,是这种应用的客户端,电子邮件的服务器是服务端。   服务器首先运转,守候在相应的端口,等待客户端请求资源。比如硬件资源,计算能力;软件资源,处理能力;还有数据资源等等。这是一种很典型的主从模式,主是指的服务器,因为所有的资源都在服务器那里,从指的是客户端,它请求的所有的资源都来自于服务器。   问题   这种客户端服务器模式有什么问题呢?我是一个服务器,我运转起来了,我向客户端提供数据库的查询服务和事务的处理的服务。如果客户端比较少,我还能够处理得过来。如果服务器下面挂的客户端非常的多,你让我怎么办?再来几个服务器?那好,我弄了一个服务器农场,就像向日葵一样长在整个的机房里。但是服务器一旦增多,周围相应的链路也要增多。而且服务器的载荷太大,就会宕机,一旦宕机,所有的服务都会挂掉。所以说,它最主要的问题是可扩展性差。可扩展性指的是什么呢?就是说随着请求载荷的增加,它的能力是下降的。而且客户端服务器模式达到一定的阈值的时候,会断崖式地下降。   有没有其他办法,能让客户端和服务器这些应用进程之间产生通讯呢?有的,这就是 p2p 模式。   p2p   p2p 模式不是贷款。   P 是 PEER, 对等体,对等体也是一个分布式应用进程。   我是一个 Peer,我是迅雷的客户端,是一个对等体。在一些会话上,我是服务器。别人可以请求我所具备的资源,我可以向他提供服务。   同时,在另一些会话上,我是客户端。我会向另外一个 PEER 节点请求文件的另外一个片段。   这样,任务就被分布下来了。每个节点既是客户端,又是服务器。随着 peer 节点的增多,请求资源的节点越来越多。同时,提供资源的节点也越来越多,而且它的通信怎么是分布式的。   这样,就解决了客户端服务器模式的可扩展性致命的缺陷。因此,在一些文件分发系统当中,这种模式大行其道。   例如我们用到的迅雷,这些分布式的文件分发系统,他就是一个 p two p 的模式。一开始大家都是通过 FTP 去分发文件,大家把文件上载到 FTP 服务器文件服务器,向 ftb 的客户端提供服务,这是典型的 CS 模式。但是模式存在问题,服务器的扩容总是满足不了用户的请求,所以就产生了 P2P。如果我要下载一个文件,文件共有三个片段。在 P2P 模式中,我是向个 Peer 节点请求文件片段,3 条路径同时下载,这样可以获得一个带宽的聚集。   如果大家都是从某个 web 网站下载文件,大家都在向同一服务器请求,在围攻服务器。服务器可能服务了 100 个用户,这样每个客户端只能享受服务器 1% 的服务能力。,带宽下载的带宽是非常慢的。   通信服务   当然,不管是哪种模式,都要借助于基础设施所提供的通信服务,他们之间才能通信。这种通信服务,也分为两种方式。   采用网络设施的面向连接服务   
internet协议的作用_路由协议配置
internet协议的作用_路由协议配置   第一种方式是面向连接的通讯方式, 例如 TCP 协议实体向应用进程提供的服务。   握手:在数据传输之前做好准备   分布式应用两者之间要通信,首先要打个招呼说你好,对方说你好,然后底层的协议栈为通信,准备好相应的资源准备。之后,两个应用进程才可以通信。   TCP 向上层提供的服务的特性包括什么呢?   可靠地、按顺序地传送数据:确认和重传   什么叫可靠的,这里交下来是什么,对方就能收到什么。包括哪些要素不重复,不失去,不出错、不乱序。归结成一句话,就是原原本本这里发出来的啥,对方就收到啥。   不了解计算机网络的同学可能会觉得很神奇,怎么会出错呢?从逻辑上看是我发给你的报文,但是物理上要交给下层。我要交给 ip ,ip 交给网卡,网卡再把编码,把它处理成物理信号,再一跳一跳的到另外一个网卡,再把它变成信号,信号再变成数字等等。不管怎么样,最终会落实到链路当中的物理信号、电磁波的信号、光信号再传输。人在江湖飘,哪有不挨刀。传输的过程当中,会受到各种各样干扰的影响,总有可能出错。如果你不加控制,你传输过去,可能对方根本就收不到,或者收到一个错的。   所以,要靠 TCP 的实体本身的努力。下层提供的服务不可靠,而我 TCP 要上层提供可靠的服务。那 TCP 怎么努力呢?我们在讲到传输层的时候,会看 TCP 的一系列的机制。比如发送方发送出去要缓存,之后,才可以重新传递。你没缓存,你无法重传,无法检测重传,无法超时重传。   发出去的东西还要编号,因为对方要按照编号排序。。。。   在后面讲到传输层的时候,会给大家做一个详细的介绍。   流量控制:发送方不会淹没接收方   然后还有一个机制叫流量控制。什么叫流量控制?你应用进程非常强悍,是一个强大的服务器,然后内存也很大,网卡是万兆级别的。但是客户端是一个五六年前的某品牌的小手机,运行在一个老版本上。 小手机上的内存也比较小,处理能力也比较弱。如果你发送的太快,对方来不及处理,就会产生问题。所以,如果你发送速度太快,对方的 TCP 协议实体会给你一些反馈,让你慢点。如果对方的缓冲区如果还比较空,说你可以发快一点。会有流量控制,协调发送方发送速度和接收方的接收速度,从而让两者能够有序的通行。   如果两个应用进程采用 TCP 进行通信, TCP 协议实体能够自动的根据协议,来协调发送的速度和接收的速度,以至于不让方发送的速度太快,超过了接收方的处理能力。这就叫流量控制。   拥塞控制:当网络拥塞时,发送方降低发送速率   在发送的信息过程中,你需要经过网络核心当中的所有的交换节点和链路。如果这条链路上的用户比较多,堵塞了,还可以继续发送吗?答案是不行。因为,如果某条链路堵了,交换节点处理不过来,就会直接扔掉部分信息。   那话,发出的东西不就丢了吗?所以,除了考虑到接收方的处理能力之外,还要考虑到网络路径的通行能力。   tcp 就有一个拥塞控制的特性。TCP 实体能够感知到路径当中的一个通断的情况,如果比较通畅,说应用进程你发的快一点儿,咱们 hold 的住。如果这条路径比较堵塞,它会告诉应用进程说你慢点,上面的路都堵了。   所以说采用 TCP 的传输两个应用进程,除了通信之前要握手之外,他还自动具备了几个特性。第一,可靠、保序,第二流量控制。第三拥塞控制。   采用基础设施的无连接服务   当然除了 TCP (传输控制协议)之外,还有 UDP (用户数据报协议)。无连接守护在 UDP 之上的两个应用,他们之间的通信是无连接的。   什么叫无连接?应用进程和在另外一个进程之间通信,不需要握手、不需要互相打招呼,发出去的 UDP 报文只要符合规范,另一个进程收到后,就会马上回答。个我们把它叫无连接的应用无链接的,服务就是网络基础设施需要应用进程,如果应用进程采用的是 UDP 来交互,基础设施向应用进程所提供的服务,叫无连接的服务。交上来就发送对方,那就直接回应。不可靠数据传输   就是说除了无连接之外,还有其他一些特点。比如数据传输是不可靠的,只要数据发出去就行了,丢了就丢了。无流量控制 / 无拥塞控制   这些应用可能不在乎数据是不是丢失了,丢了一个,又何妨我下个周期再传。   是这意思,然后也没有流量控制,我也不管,他就上面来的速度多快,我网络当中注入的速度有多快,也没有拥塞控制,所以说非常简单。   那你说 UDP 向应用进程提供的服务是无连接不可靠,没有流量控制,没有拥塞控制。   要你何用?   那问题是 UDP 有这么多的缺点,要你何用?UDP 是不可靠。 但是,如果你要确保可靠,就需要花费其他的代价。如果你的应用跑在 TCP 上面。一会要考虑对方的感受,一会要考虑到网络的感受。你为别人考虑多。你对别人都很好,你自己要付出很多的努力,要排序,要编号,又要定时重传。这些都要耗费时间的代价,一些应用可接受不了,比如实时多媒体应用。   所以说基本上没有什么好和坏,只有适合不适合。   TCP vs UDP   总结一下对可靠性要求比较高的应用跑在 TCP 之上。还有一些应用是跑在 UDP 之上的。例如我们刚才讲的实时多媒体,实时流媒体的应用。   还有一些事务性的应用,例如域名解析的查询。因为这些应用的事务性很强,一次来回的查询信息传输就结束了,如果采用 TCP 比较浪费资源。   网络核心   
internet协议的作用_路由协议配置
internet协议的作用_路由协议配置   网络核心是数据交换的功能源。主机把数据发出去,并且正确地传达到目标主机。   那问题来了,怎样实现网络核心的功能 —— 数据交换?   有两种方式,电路交换 Circuit switching 和 分组交换 packet switching 。   当然,我们互联网和几乎所有的网络都是采用的分组交换, Circuit switching 起来基本上是用于电话网。   那为什么要把 Circuit switch 做个介绍呢?主要是为了对比,让大家更清楚的了解分组交换的工作原理。   电路交换 Circuit switching   
internet协议的作用_路由协议配置
internet协议的作用_路由协议配置   传统电话网络   当你打一个电话时,端到端的资源被分配给从源端到目标端的呼叫。也就是说,在网络核心中,为你们之间的通讯分配一条独享的线路,靠信令,靠控制信息,也就是拨号,建立起一项独享的线路。   所以说,两个主机在通讯之前,要通过一个连接建立的一个过程,让两个主机在这里,当中的两个电话建立起一个独享的线路之后,双方就可以利用独享的线路来进行一个双向的通信了。就像图里那样。   为呼叫预留端-端资源   
internet协议的作用_路由协议配置
internet协议的作用_路由协议配置   构成一个从源到目标的一个独享的线路。 你把电话拨通了,你们沉默不语,电信公司也会收你的费。为什么呢?因为源主机和目标主机之间他们为你分配了独享的线路。因为是你们独享的线路,所以性能有保障。但事情从来都是有两面性的,这种交换网络通常是被传统的电话网络所使用,比较浪费资源。   在通信之前,要求建立呼叫连接。两个主机要耗费一个线路建立的时间,这对于通话来说是可以忍受的。在国内,建立连接的时间大概是一两秒钟,通话会持续若干分钟,所以通信建立的时间对于整个通话时间占比很小。   但是计算机的通讯如果采用了 2 秒的连接时间,可能 1 秒就搞定了通信,所以不太适合于计算机之间通信的原因。   网络资源(如带宽)被分成片   就是说我跟你就是数据交换节点,咱们俩之间呢有个很宽的链路,把我们连在一起。为了提高资源利用率,网络资源会被分成片。   然后为每个呼叫分配片,如果某个呼叫没有数据,则其资源片就处于空闲状态,不会共享。那采用什么方法把它分解成一个个 piece 呢?可以有这样一些分配的方法,频分( Frequenc division multiplexing) 、时分(Time- division multiplexing)、波分(Wave- division multiplexing)。频分,分频率;时分,分时间;波分,光纤通信,划分光波。   FDM 与 TDM   
internet协议的作用_路由协议配置
internet协议的作用_路由协议配置   FDM:通过频分多路复用的这种方式可以发化解为划分为若干小片,两个主机在通讯之前,在每一条链路上找到空闲的一片频率。TDM:按照时间来分,把他们的通信能力分解为一个个的以时间为单位的周期。然后,每个周期的第一片被第一个用户所使用,每个周期的第二片被第二个用户所使用,依次类推。波分:就是采用光纤通信。他们之间是采用光纤的方法连在一起。把它们之间的可用的波段,可以分为若干个小的波段,每个用户使用其中的一个小波段。   电路交换不适合计算机之间的通信   线路交换是不太适合与计算机之间的通信的,为什么呢?首先,线路交换需要很长的建立连接的时间。 两个主机,通讯建立时间花了 500 毫秒,然后通讯只用了 1 毫秒,当然划不来了。但是秒一级的线路建立时间,对于计算机通讯而言,就是一世纪,非常漫长。   另外一方面,计算机间通信具有很强的突发性。如果我跟你建立起一个线路,线路都是独享的,那只要连接着运营商就会收费。   但是计算机之间的通信具有很强的突发性,我们在上网的时候也不是一直在打字,也不是一直在请求数据。这样的话资源浪费情况比较多,因为我占用的链路,不可以被其他人所使用。可靠性不高因为一个线路连接的交换机,要维护很多 piece 和 piece 之间的映射的关系。通常在核心的网络交换设备当中,会达到 10 万级别以上的一个关系维护,如果它一旦宕机了,那就 10 万对的通讯全都玩完。   所以,采用这种方式来构建计算机网络,最核心的那个节点被损毁,影响的主机对之间的通信范围就会非常的广。   分组交换   
internet协议的作用_路由协议配置
internet协议的作用_路由协议配置   除了采用线路交换的方式,还有哪种方式?可以让主机和主机之间通过网络核心来完成它们之间的通信呢?   分组交换 packet switch主机和主机之间的通信的数据被分成一个个的分组 pocket,以分组为单位存储-转发,分组每次移动一跳(hop)A 和 B 之间的通信,有千言万语要说,十个 G 的文件要传,分组交换的方式会把它打成一个个的分组, 然后再一个个的传递。   不再将节点和节点之间的通信链路分成一个个的 piece,要用就全用。包在越过每一个通信链路的时候,到了每个节点,会把它完全存下来之后再转发。以分组为单位,在每一个节点的时候,要进行一个存储转发的方式,最终由源主机传到目标主机。资源可以共享,按需使用。在每个交换节点当中,耽误的时间延迟比线路交换要多的多,但是换取了共享性的好处。   不用的时候,就不占用网络的资源,有数据的时候,才占用网络资源。   排队延迟和丢失   
internet协议的作用_路由协议配置
internet协议的作用_路由协议配置   如果分组到达的速率 > 链路的输出速率分组将会排队,等待传输。排队延迟。如果路由器的缓存用完了,分组将会被抛弃。分组丢失。   所以,任何事情都有两面性,分组交换的好处是共享,坏处是排队延迟和可能丢失。   
internet协议的作用_路由协议配置
internet协议的作用_路由协议配置   关键功能:转发和路由   对于分组交换网络而言,网络的核心最主要的作用有两个,转发和路由。   路由是一个全局的。转发,是一个局部的。什么意思呢?我是一个分组交换机。从某一条链路端口出来一个分组,我先把它存下来,然后查路由表决定从哪个方向哪个链路转发。存储、转发。路由表哪来的呢?是路由实体算出来。运行中的路由模块跟其他路由器交换路由信息。然后算出来路由表。   靠路由器,局部的转发功能和全局的路由功能相互配合,实现最终一个数据交换的网络。源主机把分组放出去,目标主机瞬间收到层层传输过来的数据。对他们两端而言,好像瞬间的有个切换开关,把它们连接在了一起。   统计多路复用   
internet协议的作用_路由协议配置
internet协议的作用_路由协议配置   分组交换,是一种时分的多路复用。 上图中,A 和 B 两个相邻的节点,把链路上的时间资源分成一个个的周期,每个周期分成若干个小片,每个周期绿色的给 A,蓝色的给 B 用。只不过划分时间片的方式不是固定的,我们把这种多路复用的方式,称之为统计多路复用就 statistical multiplexing。   两种工作方式   在分组交换中,分组的存储转发一段一段从源端传到目标端,可以按照有无网络层的连接,分成两种工作方式—— 数据报网络、虚电路网络。   
internet协议的作用_路由协议配置
internet协议的作用_路由协议配置   数据报( datagram)的工作原理   
internet协议的作用_路由协议配置
internet协议的作用_路由协议配置   源主机发送给目标主机的分组,携带了目标主机的完整地址。交换节点收到分组之后,根据每个分组所携带的有目标主机的完整地址来存储、转发两个主机在通讯之前不需要握手,每个分组的传递都是独立的,交换节点不用维护通讯状态。   我们把这种分组交换的方式称之为数据报 datagram。   是不是有点像寄信呀。每封信都写了接收人的完整的地址,并且寄信公司对每封信都是独立处理的。   上图的例子源主机发送给的数据被封装成一个个的分组,在无连接的网络当中,我们把分组叫数据报。每个数据报都先携带了目标主机的完整地址。每经过一个路径的时候,都要把 IP 分组取出来,然后匹配路由表决定往哪个方向转。一跳一跳地存储转发,每个分组独立传送,最终到达目标主机。但源主机传送给目标主机的一系列分组,有可能走的是不同的路径。 因为路由表有可能变。两个主机之间通信之前,要不要建立一个连接网络层的链接?没有。也就是说路由器当中不维护他们通信的状态,是无状态的路由器。   虚电路( virtual circuit)的工作原理   虚电路指的是什么呢?就像打电话一样。主机和目标主机通讯之前要握个手,握手干什么呢?在交换节点之间,保持它们的通信状态,建立起一条虚拟的线路。虚拟线路建完之后,然后每个分组携带了一个虚电路号,而不是目标主机的一个完整地址。每个分组按照序列符号来标识到每个交换节点的时候,往哪个方向转发。   所以说,虚电路跟数据报有什么差别?数据报是无连接,每个分组独立传送的,交换节点不用维护通讯状态。而虚电路,在每个交换节点当中都有相应的标识。   
internet协议的作用_路由协议配置
internet协议的作用_路由协议配置   在上图中,主机 H1 跟主机 H4 在通讯之前,要建立起虚电路。A 到 B 的虚电路, B 到 C 的虚电路, C 到 D, D 到 H4 的虚线路。虚电路怎么建立起来的?靠信令控制信息的传递。   你看节点 A 这一个个的表项分成两块,输入部分,输出部分。输入部分也分成两块,来自于哪、在第几号虚电路。输出部分也分成两块,往 B 走还是往 E 走、走第几号虚电路。一跳一跳存储转化,最终到达目标主机 H4。在过程当中,虚电路号是有可能变化的。而且,虚电路所经过的交换节点当中,都有标识,维护了他们之间通信的状态。   总结:网络分类   最后我们总结一下,整个通信网络按照电路交换网络和分组交换网络来工作。电路交换网络可以按照划分 piece 的方式,分为 FDM、TDM。   分组交换网络可以分为虚电路网络和数据报网络。虚电路是有连接的,数据报是无连接的。   而且虚电路的连接不仅仅体现在源主机和目标主机之上,而且体现在中间所经过的所有实体节点之上。所以我们把连接称之为网络层的连接。现在回想一下,我们在介绍 TCP 向应用进程提供服务的时候,它是有连接还是面向连接?是面向连接的。因为连接仅仅体现在端系统的 TCP 的实体上,中间的路由器不维护通讯状态,所以称之为面向连接,而不是有连接。   接入网   那么我们前面介绍了边缘和核心,现在来看一下如何边缘接入核心 —— 接入网。   怎样将端系统和边缘路由器连接?   那么接入网起到什么作用呢?把网络边缘的端系统通过接入网接入到网络核心。这样网络核心能够完成数据交换的功能,从而在源主机和目标主机之间能够实现通信。除了这种有线的接入方式之外,还有很多无线接入的方式,无线接入的方式又分为无线局域和无线广域。接入网有两个个非常重要的一个指标带宽 bps,每秒钟到底能传输多少数据。   是共享的,还是专用网络?通过这个中国电信的这个光纤接入到电信的这个网络交换设备,是独享的。如果是通过有线电视公司提供的服务接入网络,那就是共享的。   有些接入公司告诉你,我的网络能够达到数百兆 bps 的接入带宽,但是他没有告诉你跟剩下了好几百个用户共享带宽。那咱们使用的速度能快吗?所以说,共享还是独享是一个重要指标。

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/59361.html

(0)
上一篇 2024年 8月 30日 下午12:08
下一篇 2024年 8月 30日

相关推荐

关注微信