计算机网络笔记----概述

参考计算机网络自顶向下第七版和计算机网络谢希仁第七版

  • 计算机网络和Internet
    • 什么是互联网?
      • 具体构成描述
        • 互联网服务提供商(ISP)
      • 服务描述
      • 什么是协议?
        • 协议分层
          • 应用层(最高层)
          • 传输层(运输层)
          • 网络层:
          • 数据链路层和局域网
          • 物理层
    • 网络边缘
      • 接入网
        • 家庭接入互联网方式
        • 企业(和家庭)接入互联网方式
        • 广域无线接入
      • 物理媒体
        • 导引型媒体
          • 双绞铜线
          • 同轴电缆
          • 光纤(光缆)
        • 非导引型媒体
          • 陆地无线电信道
          • 卫星无线电信道
      • 网络核心
        • 电路交换
        • 分组交换
          • 排队时延和分组丢失
      • 计算机网络的性能指标
        • 速率
        • 带宽
        • 吞吐量
        • 时延
  • 应用层

计算机网络和Internet

Internet的中文译名有两个:因特网或互联网,现在国内都采用互联网的叫法。

什么是互联网?

Internet(互联网或因特网)是一个专有名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定互连网。

注意:internet(互连网)是一个通用名词,泛指由多个计算机网络互连而成的计算机网络。
可以从两个角度来描述互联网:

  • 1.从因特网具体构成的基本硬件和软件组件来描述。
  • 2.根据为分布式应用提供服务的联网基础设施来描述。

具体构成描述

互联网是一个互连了遍及全世界数十亿计算设备的网络。设备包括电脑、服务器、Linux工作站、手机等,所有的这些设备统一称为主机(host)或者端系统(end system)。

端系统通过通信链路分组交换机连接到一起。
当一台端系统向另一台端系统发送数据时,我们将要发送的整块数据称为一个报文(message)。在发送报文之前,发送端系统将数据(报文)分成若干个等长的数据段,并为每段加上首部字节。每个加上首部字节的数据段就称为分组(packet)。这些分组通过网络发送到目的端系统,在那里被装配成初始数据。
分组交换机从它的一条入通信链路接收到达的分组,并从它的一条出通信链路转发该分组。从发送端系统到接收端系统,一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径(route或path)。

下面以卡车的例子解释端系统与端系统之间的通信:

一个工厂需要将大量货物搬运到数千公里以外的某个目的地仓库。在工厂中,货物要分开并装上卡车车队。然后,每辆卡车独立地通过高速公路、公路和立交桥组成的网络向仓库运送货物。在目的地仓库,卸下这些货物,并且与一起装载的同一批货物的其余部分堆放在一起。
因此,在许多方面,分组类似于卡车,通信链路类似于高速公路和公路,分组交换机类似于交叉口,而端系统类似于建筑物。就像卡车选取运输网络的一条路径前行一样,分组则选取计算机网络的一条路径前行。

互联网服务提供商(ISP)

端系统通过**互联网服务提供商(ISP)**接入互联网。ISP是一个进行商业活动的公司,例如:中国电信、中国联通和中国移动等公司。ISP可以从互联网管理机构申请到很多IP地址(互联网上的端系统必须有IP地址才能上网),同时拥有通信线路以及路由器等连网设备,因此只要向某个ISP交纳规定的费用,就可从该ISP获取所需IP地址的使用权,并可通过该ISP接入到互联网。

根据提供服务的覆盖面积大小以及所拥有的 IP 地址数目的不同,ISP 也分为不同层次的 ISP∶ 主干ISP、地区 ISP 和本地 ISP。

  • 主干 ISP 由几个专门的公司创建和维持,服务面积最大(一般都能够覆盖国家范围),并且还拥有高速主干网(例如 10 Gbit/s 或更高)。有一些地区 ISP 网络也可直接与主干 ISP相连。
  • 地区 ISP是一些较小的 ISP。这些地区 ISP 通过一个或多个主干ISP连接起来。它们位于等级中的第二层,数据率也低一些。
  • 本地 ISP 给用户提供直接的服务。本地 ISP 可以连接到地区 ISP,也可直接连接到主干 ISP。绝大多数的用户都是连接到本地 ISP 的。本地 ISP 可以是一个仅仅提供互联网服务的公司,也可以是一个拥有网络并向自己的雇员提供服务的企业,或者是一个运行自己的网络的非营利机构(如学院或大学)。本地 ISP 可以与地区 ISP 或主干 ISP 连接。

服务描述

假如你在研发一种分布式互联网应用程序,运行在不同端系统上的软件将需要互相发送数据,此时将互联网描述为应用程序的平台。与互联网相连的端系统提供了一个套接字接口( socket interface),该接口规定了运行在一个端系统上的程序请求因特网基础设施向运行在另一个端系统上的特定目的地程序交付数据的方式。因特网套接字接口是一套发送程序必须遵循的规则集合,因此因特网能够将数据交付给目的地。

下面以邮政服务的例子来讲解:
假定Alice使用邮政服务向Bob发一封信。当然,Alice不能只是写了这封信(相关数据)然后把该信丢出窗外。相反,邮政服务要 求Alice将信放入一个信封中;在信封的中间写上Bob的全名、地址和邮政编码;封上信封;在信封的右上角贴上邮票;最后将该信封丢进一个邮局的邮政服务信箱中。
因此,该邮政服务有自己的“邮政服务接口”或一套规则,这是Alice必须遵循的,这样邮政服务 才能将她的信件交付给Bob。同理,互联网也有一个发送数据的程序必须遵循的套接字接口,使互联网向接收数据的程序交付数据。当然,邮政服务向顾客提供了多种服务,如特快专递、挂号、普通服务等。同样,互联网向应用程序提供了多种服务。

什么是协议?

为进行网络中的数据交换而建立的规则、标准或约定称为网络协议,简称为协议
协议主要由三个要素组成:

  • 语法,即数据与控制信息的结构或格式。
  • 语义,即需要发出何种控制信息,完成何种动作以及做出何种响应。
  • 同步,即事件实现顺序的详细说明。

协议分层

协议按照层次不同可以分为物理层协议、链路层协议、网络层协议、传输层协议和应用层协议。各层的所有协议被称为协议栈。每一层为上一层提供服务,无论是哪一层传送的数据单元都可以笼统地用分组来表示。

应用层(最高层)

应用层协议:指远程的应用进程之间相互通讯的过程当中应当遵守的规则和协议。
我们把应用层交互的数据单位称为报文。

HTTP协议:支持万维网,提供Web文档的请求和发送。
SMTP协议:支持电子邮件报文的传输。
FTP协议:提供两个端系统之间的文件传送。

传输层(运输层)

为应用进程之间的通信提供数据传输服务。

  • TCP协议
    传输控制协议(Transmission Control Protocol),提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段。可靠的代价是耗时间和空间。把网络层不可靠的传输变成了可靠的传输。具有流量控制,拥塞控制的特性。传输单位是报文段。
    应用有:HTTP(Web),FTP(文件传送),Telnet(远程登录),SMTP(email)。

  • UDP协议
    用户数据报协议(User Datagram Protocol),提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),其传输的单位是用户数据报。虽然不可靠,但是实时。传输单位是用户数据报。
    应用有:流媒体、远程会议、DNS、Internet电话、域名到IP的解析查询。

网络层:

为主机到主机间(也就是端到端End-to-End,E2E)的通信提供服务。尽力而为地服务,不可靠的服务没有保障。传输的分组称为IP数据报。
网络层传统方法:
IP协议来提供服务,尽力而为地服务,不可靠的服务没有保障。
控制平面–路由由路由协议来交换信息,由路由算法来算出路由表。
数据平面–IP协议使用路由表,根据到来的分组与路由表相匹配来进行转发处理(该怎么走到目标IP)。

SDN方法,软件定义网络,比传统方法灵活,可以部署新功能。
控制平面(SDN网络操作系统):通过网络操作系统上的应用计算流表(包括各种信息,如原IP,目标IP,原mac,目标mac等)
数据平面(SDN交换机):根据控制平面计算的流表,将到来的分组(字段)与流表进行匹配,根据流表描述的行为来操作这些分组,操作可以是转发,阻止,泛洪,改字段等。

路由器:实现分组交换的关键构建,其任务是转发收到的分组。

路由器工作在网络层,交换机工作在链路层。

数据链路层和局域网

该层将网络层交下来的IP数据报组装成帧。提供的是点到点的通信服务(Point-to-Point,P2P),也就是相邻的网络交接设备(如网卡)到相邻的网络交换设备的服务,传递以帧为单位的数据。

链路包括接入网链路和主干链路。
接入网链路:主机连接到互联网的链路。(包含主机的链路)
主干链路:路由器间的链路。

通信链路主要包括光纤、同轴电缆、无线电、卫星等,有个重要指标表示传输速率=带宽(bps)。

物理层

把点到点之间通信的数字信号(比特流0或1)与物理信号(如电信号光信号)之间的转换,通过网线、电缆、光纤、电话线等传输媒体来传递物理信号。传输数据的单位是比特。
传输媒体所在的层次为第0层,在物理层之下。

网络边缘

由所有连接在互联网上的端系统(主机)组成。端系统包括了桌面计算机(例如,桌面PC、Mac和Linux设备)、服务器(例如,Web和电子邮件服务器)和移动计算机(例如,便携机、智能手机和平板电脑)。

网络边缘的应用进程通讯的模式分为两种:

  • 1.客户/服务器模式(CS模式)
    web浏览器是web应用的客户端,web服务器是web应用的服务器,例如发送电子邮件,服务器先启动一直运行着,等待客户端请求自己的资源,比如硬件资源(计算能力),软件资源(处理能力),数据资源。客户端主动向远程服务器发起通信请求服务,服务器接受请求将结果反馈给客户端。这是典型的主从模式,主是指所有的资源都在服务器,从是指请求服务的客户端。

    缺点:可扩展性比较弱,随着请求服务的客户端增加,能力会下降,达到一定的阈值后能力出现断崖式的下降。 比如很多人访问一个网站,网速会慢,访问的人多到一个程度,网站就直接进不去了。

  • 2.对等(peer-peer,p2p)模式
    没有专门的服务器,两个主机不区分哪个是服务请求方哪个是服务提供方,只要两台主机都运行了对等连接软件,就可以进行平等的、对等连接通信。请求资源的结点多,提供服务的结点多,而且通信是分布式的,所以避免了客户/服务器模式服务器满足不了客户的缺点。例如QQ,迅雷。

接入网

指将端系统物理连接到其边缘路由器的网络。边缘路由器是端系统到任何
其他远程端系统的路径上的第一台路由器。

家庭接入互联网方式

一般通过DSL、电缆、FTTH、拨号和卫星接入。

企业(和家庭)接入互联网方式

一般采用以太网和WiFi。

广域无线接入

一般采用2G,3G,4G,5G和LTE。

关于接入网方式的详细细节见博客:计算机网络–接入互联网方式

物理媒体

物理层下面的传输媒体,可以称为第零层。物理媒体可以分为导引型媒体和非导引型媒体。

导引型媒体

对于导引型媒体, 电波沿着固体媒体前行,如光缆、双绞铜线或同轴电缆。

双绞铜线

最便宜并且最常用的导引型传输媒体是双绞铜线。一百多年来,它一直用于电话网。 事实上,从电话机到本地电话交换机的连线超过99%使用的是双绞铜线。
双绞线可以分为屏蔽双绞线(STP)和无屏蔽双绞线(UTP)。屏蔽双绞线在双绞线外面加上了一层金属丝编织成的隐蔽层,提高了抗电磁波干扰的能力。UTP常用于局域网中。

同轴电缆

同轴电缆在电缆电视系统中相当普遍。

光纤(光缆)

光纤是一种细而柔软的、能够导引光脉冲的媒体,每个脉冲表示一个比特。一根光纤能够支持极高的比特速率,高达数十甚至数百Gbpso它们不受电磁干扰,长达100km的光缆信号衰减极低,并且很难窃听。这些特征使得光纤成为长途导引型传输媒体,特 别是跨海链路。

非导引型媒体

对于非导引型媒体,电波在空气或外层空间中传播,例如在无线局域网或数字卫星频道中。

陆地无线电信道

无线电信道承载电磁频谱中的信号。它不需要安装物理线路,并具有穿透墙壁、提供与移动用户的连接以及长距离承载信号的能力,因而成为一种有吸引力的媒体。
大致分为三类:

  • 运行在很短距离的(无线头戴式耳机等)
  • 局域无线电信道(跨越数十到几百米)
  • 广域无线电信道
卫星无线电信道

一颗通信卫星连接地球上的两个或多个微波发射器/接收器,它们被称为地面站。该卫星在一个频段上接收传输,使用一个转发器再生信号,并在另一个频率上发射信号。通信中常使用两类卫星:同步卫星和近地轨道卫星。

网络核心

在今天的电信网络中都是普遍采用的方式分组交换电路交换,但趋势无疑是朝着分组交换方向发展。甚至许多今天的电路交换电话网正在缓慢地向分组交换迁移。特别是,电话网经常在昂贵的海外电话部分使用分组交换。

电路交换

电路交换主要应用在以前的打电话上。经过建立连接(占用通信资源)、通话(一直占用通信资源)、释放连接(归还通信资源)这三个步骤的交换方式称为电路交换。
特点:在通话的全部时间内,通话的两个用户始终占用端到端的通信资源,并且是一条专用的物理通路。
使用电路交换来传送计算机数据时,其线路的传输效率往往很低,因为计算机数据是突发式地出现在传输线路上的,这样就导致通信线路的资源在绝大部分时间里都是空闲的,例如用户一直阅读某个网页时宝贵的通信线路资源并未被利用而是白白浪费了。
所以电路交换不适合计算机数据的传输。

分组交换

分组交换采用存储转发技术。传输数据(报文)时,将报文分成若干个数据段,在每个数据段签名加上首部形成一个个分组,每个分组通过通信链路分组交换机传送。
交换机主要有两类:路由器链路层交换机。路由器是实现分组交换的关键构件,其任务是转发收到的分组。分组的首部包含了目的地的IP地址,当某分组到达一台路由器时,路由器检查该地址,并用这个目的地址搜索其转发表,以发现适当的出链路。路由器则将分组导向该出链路。
每台路由器具有一个转发表,用于将目的地址(或目的地址的一部分)映射成为输岀链路。
在各路由器中运行的路由选择协议用于自动地设置转发表,能够自动找到转发分组最合适的路径。

存储转发传输是指交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。

排队时延和分组丢失

每台分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机具有一个输出缓存,也称为输出队列,它用于存储路由器准备发往那条链路的分组。该输出缓存在分组交换中起着重要的作用。如果到达的分组需要传输到某条链路,但发现该链路正忙于传输其他分组,该到达分组必须在输出缓存中等待。
因此,除了存储转发时延以外,分组还要承受输岀缓存的排队时延。这些时延是变化的,变化的程度取决于网络的拥塞程度。因为缓存空间的大小是有限的,一个到达的分组可能发现该缓存已被其他等待传输的分组完全充满了。在此情况下,将出现分组 丢失(丢包),到达的分组或已经排队的分组之一将被丢弃。

计算机网络的性能指标

速率

网络技术中的速率指的是数据的传送速率,也被称为数据率或比特率。单位是bit/s(比特每秒)或者写成bps。
当提到网络的速率时,往往指的是额定速率或标称速率,而并非网络实际上运行的速率。

带宽

带宽有两种意义:
1.带宽本来是指某个信号具有的频带宽度。信号的带宽是指该信号所包含的各种不同频率成分所占据的频率范围。比如在传统的通信线路上传送的电话信号的标准带宽是3.1kHz(从300Hz到3.4kHz,话音的主要成分的频率范围),这种带宽的单位是Hz(赫)
2.在计算机网络中,带宽表示网络中某通道传送数据的能力,因此网络带宽表示在单位时间内网络中的某信道所能通过的最高数据率。单位就是数据率的单位bit/s。
其中信道指通信的通道,是信号传输的媒介。

吞吐量

表示在单位时间内通过某个网络(或信道、接口)的实际的数据量。有时候还可以用每秒传送的字节数或帧数来表示。

时延

时延是指数据从网络的一端传送到另一端所需的时间。
时延由以下几个部分组成:

  • 发送时延
    是主机或路由器发送数据帧所需要的时间。
  • 传播时延
    传播时延是电磁波在信道中传播一定的举例需要花费的时间。
  • 处理时延
    主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组的首部,查找适当的路由等,花在这上面的时间就叫处理时延。
  • 排队时延
    在队列中,当分组在链路上等待传输时,就会产生排队时延。

应用层

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

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

相关文章

prima evb_用Priam设置Cassandra

prima evb前面已经解释了如何在AWS中设置Cassandra 。 所描述的设置有效,但在某些情况下可能还不够。 例如,它不能为您提供制作和还原备份的简便方法,添加新节点依赖于自定义python脚本,该脚本会随机选择一个种子。 因此&#xf…

Java 9:Process API的增强

Java 9对Process API进行了各种改进,用于控制和管理操作系统进程。 获取有关流程的信息 有一个新的ProcessHandle类,提供了进程的pid,父级和后代,以及有关开始时间和累积CPU时间的信息。 jshell> Process p new ProcessBui…

HTTP的操作过程

HTTP的操作过程 HTTP协议定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。HTTP是面向事务(一系列的信息交换,不可分割的整体)的应用层协议,它是万维网上能够可靠…

什么是绝对值?

绝对值是指一个数在数轴上所对应点到原点的距离,用 | | 来表示。|b-a| 或 |a-b| 表示数轴上“表示a的点”和“表示b的点”的距离。 正数 x 的绝对值表达式:| x | x,负数 x 的绝对值表达式:| x | -x,0 绝对值表达式&…

viewer vue 文档_vue中使用viewerjs

项目创建vue init webpack mytest001安装viewerjsnpm install viewerjs删掉生成的项目里面的helloWord.vue 修改路由 创建一个index.vueindex.vue代码:import Viewer from viewerjs;import viewerjs/dist/viewer.css;export default {name: HelloWorld,data() {return {imgArr:…

junit junit_JSON的JUnit Hamcrest Matcher

junit junit这篇文章展示了如何编写JUnit测试来检查对象是否与JSON字符串匹配。 如果您要实现REST服务并想测试您的服务是否产生了预期的JSON响应,那么这非常重要。 JSONassert是比较JSON对象的有用库。 首先,您必须将Java对象转换为JSON字符串&#xf…

HTTP报文格式

HTTP报文格式 HTTP规范[RFC 1945;RFC 26167;RFC 7540:包含了对HTTP 报文格式的定义。HTTP 报文有两种:请求报文和响应报文。 HTTP请求报文 从客户向服务器发送请求报文。 结构如图: 开始行 第一行为开始行也叫做…

什么是公倍数

公倍数(common multiple)是指在两个或两个以上的自然数中,如果它们有相同的倍数,这些倍数就是它们的公倍数。公倍数中最小的,就称为这些整数的最小公倍数(lowest common multiple)。 A和B,A/BC&#xff0c…

代理服务器

代理服务器 是一种网络实体,又称万维网高速缓存。代理服务器把最近的一些请求和响应暂存在本地磁盘中。 当新请求到达时, 若代理服务器发现这个请求与暂时存放的请求相同, 就返回暂存的响应, 而不需要按URL的地址再次去互联网访问…

json解析对象时指定解析_不解析,使用解析对象

json解析对象时指定解析将面向对象的后端与外部系统集成的传统方式是通过数据传输对象 ,这些对象在外出之前先序列化为JSON,然后在返回时反序列化。 这种方法很流行,而且是错误的。 序列化部分应该由打印机代替,我在前面已经解释过…

centos7设置键盘类型_CentOS 7 系统区域(语言)和键盘设置

即使是在window中,平常说的语言设置这一项也是归类为系统区域,CentOS可以通过修改/etc/locale.conf配置文件或使用localectl命令来进行设置,一般在安装时设置为默认选择(英文、美式键盘)即可。 修改locale.conf [root@localhost ~]#vim /etc/locale.conf LANG="en_US.U…

什么是公约数/公因数

公约数,亦称“公因数”。它是指能同时整除几个整数的数。如果一个整数同时是几个整数的约数,称这个整数为它们的“公约数”;公约数中最大的称为最大公约数。对任意的若干个正整数,1总是它们的公因数。 例如: 12 和 15…

vue对象拼接_vue 俩个数组对象合并成一个

情况是这样的后端给了几个接口数据 我合成一个 前端小白 勿喷 data(){return{list:[{date:20201, mc : 1 }, {date:20202, mc : 2 }, {date:20203, mc : 3 }, {date:20204, mc : 4, } ], newlist:[ {date:20201, mc : 6, age:12 }, {date:20202, mc : 3, age:12 }, {date:20203…

jdk8 获取上一个月时间_JDK 10:FutureTask获取一个toString()

jdk8 获取上一个月时间我已经很长时间了,对于大多数具有独特属性的Java类,开发人员应该花些时间重写Object.toString() ,即使它仅是由IDE生成的实现或使用诸如Apache之类的库类来实现Commons Lang的ToStringBuilder 。…

什么是质数

质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。…

计算机网络笔记----应用层

应用层应用层协议原理网络应用程序的体系结构客户-服务器体系结构P2P体系结构进程通信进程与计算机网络之间的接口进程寻址可供应用程序使用的运输服务可靠数据传输吞吐量定时安全性因特网提供的运输服务TCP服务面向连接的服务可靠的数据传送服务拥塞控制TCP安全UDP服务应用层协…

js 导出pdf上传至oss_js实现oss文件上传及一些问题

关于兼容性问题,ie8以下的可以使用4.x的版本一、引入sdk和jq二、基本配置var client newOSS.Wrapper({region:,accessKeyId:‘,accessKeySecret:,bucket:})region:阿里云服务器地址accessKeyId:您的keyaccessKeySecret:您的密码&a…

缓冲池java_了解Java缓冲池

缓冲池java了解Java缓冲池 缓冲池空间位于垃圾收集器管理的内存之外。 这是分配本地堆外内存的一种方法。 使用缓冲池有什么好处? 为了回答这个问题,让我们首先了解什么是字节缓冲区。 字节缓冲区 非直接缓冲区 ByteBuffer类附带了java.nio包。 它允许我…

什么是合数

合数指自然数中除了能被1和本身整除外,还能被其他数(0除外)整除的数。 合数是指在大于1的整数中除了能被1和本身整除外,还能被其他数(0除外)整除的数。与之相对的是质数,而1既不属于质数也不属…

计算机网络应用层笔记--域名系统DNS

域名系统DNS标识因特网上主机的方式主机名IP地址域名系统(DNS)工作过程互联网的域名结构顶级域名国家顶级域名nTLD通用顶级域名gTLD基础结构域名二级域名类别域名行政区域名域名树DNS规定域名服务器域名服务器的层次根域名服务器顶级域名服务器(TLD服务器)权限域名服务器本地域…