我是靠谱客的博主 儒雅花卷,最近开发中收集的这篇文章主要介绍中科大郑烇、杨坚老师《计算机网络-自顶向下方法》课程 第1章 计算机网络和因特网笔记1 前言2 正文3 最后,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

  • 1 前言
  • 2 正文
    • 2.1 什么是因特网?
    • 2.2 网络边缘
    • 2.3 网络核心
    • 2.4 接入网和物理媒体
    • 2.5 Internet 结构和 ISP
    • 2.6 分组交换网中的时延、丢包和吞吐量
    • 2.7 协议层次及其服务模型
    • 2.8 计算机网络和因特网的历史
  • 3 最后

1 前言

本章包括很多概念和术语,一些框架性原理的介绍,以及互联网的历史。这是非常重要的一章。

2 正文

2.1 什么是因特网?

  • 具体构成描述

    因特网是把端系统通过通信链路和分组交换机按照一系列协议连接在一起构成的网络。其中,端系统,通信链路和分组交换机是硬件,而一系列协议是软件。

    • 节点

      主机节点:是数据的源和目标,用方形表示

      数据交换节点:中继器,交换机(工作在链路层,二层设备), 路由器(工作在网络层,三层设备),负载均衡设备,用于数据中转,用圆形表示

    • 边:通信链路

      接入网链路:access,主机连接到互联网的链路,连接方形设备和圆形设备

      主干链路:backbone,路由器间的链路,连接圆形设备和圆形设备

    • 端系统(end system)

      也叫主机(host),包括传统的桌面PC、Linux 工作站以及所谓的服务器,也包括非传统的因特网“物品”(如手机、平板、电视、家用电器、穿戴设备、汽车、共享单车),还包括在设备上运行的网络应用程序(如电脑上的微信程序,手机上运行的微信 app等)。

    • 通信链路(communication link)

      由不同类型的物理媒体组成,包括可见的物理媒体(如同轴电缆、铜线、光纤等)和不可见的物理媒体(如无线电频谱)。

      链路的传输速率(transmission rate)是以比特/秒(bit/s,或 bps)来度量的。

    • 分组(packet)

      发送端系统将初始数据分段,并为每段加上首部字节,这样形成的信息包称为分组。这些分组经过网络发送到目的端系统后,在那里会被装配成初始数据。

    • 分组交换机(packet switch)

      作用是从一条入通信链路接收到达的分组,并向一条出通信链路转发该分组。

      路由器(router)和链路层交换机(link-layer switch)是两种最著名的分组交换机,它们的区别:前者通常用于网络核心中,后者通常用于接入网中。

    • 路径(path)

      从发送端系统到接收端系统,一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径。

    • 因特网服务提供商(Internet Service Provider,ISP)

      每个 ISP 都是一个由多台分组交换机和多段通信链路组成的网络,作用是将端系统(包括内容提供者)接入因特网。

      从类型上看,分为通过本地电缆或电话公司提供接入的住宅区 ISP、公司 ISP、大学 ISP;提供 Wifi 接入的 ISP、提供移动接入的蜂窝数据 ISP。

      从层级上看,分为较低层的 ISP 和较高层的 ISP。较低层的 ISP 通过较高层的 ISP 互联起来。

    • 协议(protocol)

      端系统、分组交换机和其他因特网部件都要遵守一系列协议,这些协议控制因特网中信息的发送和接收。

      按层级不同,可以分为物理层协议,链路层协议,网络层协议,传输层协议和应用层协议。

      每层的协议,又可以分为若干种,如传输层协议有 TCP,UDP;网络层协议有 IP,一些路由选择协议。

      因特网中两个最为重要的协议是 TCP(Transmission Control Protocol,传输控制协议) 和 IP(Internet Protocol,网际协议)。

      因特网的主要协议统称为 TCP/IP。计算机网络的主要协议不一定是TCP/IP,所以计算机网络是一个更大范围的概念。

    • 请求评论(Request For Comment,RFC)

      因特网标准由因特网工程任务组(Internent Engineering Task Force,IETF)研发。IETF 的标准文档称为请求评论。

      协议和标准是不同的,取得一致认识的,利于人们创造协同工作的系统和产品的协议才是标准。

  • 服务描述

    从为应用程序提供服务的基础设施角度来看,因特网被描述为应用程序的平台,应用程序是使用通信设施进行通信的分布式应用程序。

    分布式应用程序是网络存在的理由。

    通信基础设施向应用程序提供服务的形式是编程接口,通过该接口把发送和接收数据的应用程序与互联网连接起来。分为无连接不可靠的服务和面向连接的可靠服务。

  • 什么是协议?

    协议是对等层实体在通信过程中应该遵守的规则的集合,包括语法,语义和时序,以及在报文传输和接收或其他事件出现时所采取的动作。

2.2 网络边缘

网络结构分为网络边缘(edge),网络核心(core)和接入网(access)。

  • 主机、端系统

    与因特网相连的计算机和其他设备,它们都位于因特网的边缘,所以被称为端系统。

    端系统也称为主机(host),因为它们容纳(即运行)应用程序。主机可以进一步划分为两类:客户端(client)和服务器(server)。客户端是发起请求的一方,服务器是接收请求的一方。大部分提供搜索结果、电子邮件、Web 页面和视频的服务器都属于大型数据中心(data center)。

  • 应用进程通信的模式

    应用进程通信的模式分为客户/服务器模式(主从模式)和对等(peer-peer)模式。

    客户端/服务器模式的缺点:可扩展性差。

    对等模式:很少(甚至没有)专门的服务器,可扩展性好,如分布式文件分发应用程序迅雷。每一个应用程序既可以作为客户端,也可以作为服务端。

  • 基础设施为网络应用提供的服务

    • 面向连接服务:在数据传输之前两个主机先要握手,建立连接(准备好相应的资源(缓存区,重置控制变量,设置超时定时器),做好标记)。TCP 在 Internet 上提供面向连接的服务,特点是可靠(不出错,不丢失,不重复,不冗余,也叫 RDT Reliable Data Transfer)、有序、有流量控制和拥塞控制。

      注意面向连接和有连接是不同的:面向连接,通信的状态只是在端系统中维护,而不在数据交换节点中维护;有连接,通信的状态不仅要在端系统中维护,也要在数据交换节点中维护。

      使用 TCP 的应用:Http应用、FTP(文件传输)。

    • 无连接服务:UDP 在 Internet 上提供无连接的服务,特点是不可靠,没有流量控制和拥塞控制。

      使用 UDP 的应用:流媒体应用、远程会议。

2.3 网络核心

网络核心是由分组交换机和链路构成的网状网络,主要作用是数据交换。

通过网络链路和交换机移动数据的有两种基本方法:电路交换(circuit switching)和分组交换(packet switching)。

  • 电路交换

    在端系统间通信会话期间,预留了端系统间沿路径通信所需要的资源(缓存、链路传输速率)。

    在发送方发送信息之前,电路交换方式必须在发送方和接收方之间建立一条连接,被称为电路;同时,建立这条电路,需要消耗一定的时间。

    沿着发送方和接收方之间路径上的交换机都将为建立的连接维护连接状态,这导致了电路交换方式可靠性不高的问题(因为只要有一个交换机出问题了,连接就被打破了)。

    在连接期间,电路在该网络链路上预留了恒定的传输速率,这保证了通信的性能。

    给这条电路分配的资源是这条电路独享的资源,这样如果这条电路上没有数据发送,这些资源就会被浪费。

    电路一般不会占用全部的链路,如果把一条链路(1Mbps)分配给一条电路(100Kbps),这是一种浪费。所以,要将链路分成片,分片方式有:频分复用(Frequency-Division Mutliplexing,FDM),时分复用(Time-Division Mutliplexing,TDM),波分复用(Wave-Division Mutliplexing,WDM)

  • 分组交换

    在端系统间通信会话期间,不会预留端系统间沿路径通信所需要的资源(缓存、链路传输速率)。

    链路带宽资源不再分片,而是把全部带宽都用于通信。

    多数分组交换机在链路的输入端使用存储转发传输(store-and-forward transmission)机制。存储转发传输机制是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。

    存储转发传输机制会带来存储转发时延。

    分组交换机具有一个输出缓存(output buffer,也称为输出队列(output queue)),用于存储转发到某条链路的分组。如果到达的分组需要到某条链路,但是该链路正在传输其他分组,那么这个到达的分组就必须在输出缓存中等待,这就带来了排队时延。

    当一个分组已到达需要排队,但是输出缓存已满,这时就会出现分组丢失(丢包)(packet loss)。

    路由器决定分组转发到哪条链路的原理:分组的首部包含了目的地的IP地址。每台路由器都有一个转发表(forwarding table),用于将目的地址(或目的地址的一部分)映射成输出链路。当某分组到达一台路由器时,路由器检查该地址,并用这个目的地址搜索它的转发表,找到对应的输出链路。路由器将分组导向查到的那条输出链路。

    分组交换是时分复用使用链路资源,但是没有固定的划分模式,所以称为统计多路复用。

    分组交换网络按照有无网络层的连接,分成:数据报(datagram)网络和虚电路(virtual circuit)网络。

比较项电路交换分组交换
资源独享资源(空闲时存在资源浪费)共享资源(按需使用资源,不存在资源浪费)
性能可以保证不可以保证
连接需要花费较长时间(秒级)建立连接和维持连接快速建立连接
链路是否需要分片需要分片不需要分片
延时不存在存储转发延时,排队延时存在存储转发延时,排队延时
支持用户支持固定数量的用户支持更多用户
应用传统电话网络应用计算机网络应用

电话交换的特点都是由独享资源而来的,分组交换的特点都是由共享资源而来的。

2.4 接入网和物理媒体

  • 接入网

    接入网是指将端系统物理连接到其边缘路由器(edge router)的网络。

    边缘路由器是端系统到任何其他远程端系统的路径上的第一台路由器。

  • 接入环境

    • 住宅接入

      数字用户线(digital subscriber line,DSL)

      采用现有的住宅到电话公司的电话线(即双绞铜线)来传输数据;实际上是住宅的DSL调制解调器(俗称为“猫”)使用现有的电话线与位于电话公司的本地中心局(center office,CO)中的数字用户线接入复用器(DSLAM)交换数据;电话线同时承载了数据和传统的电话信号。DSLAM 把数据和电话信号分隔开,将数据送往因特网。“猫”将数据调制为高频模拟信号在电话线上传输,将来自电话线的高频模拟信号解调为数据供用户主机使用。

      调频方式用不同的频率进行编码: •高速下行信道,位于50kHz到1 MHz频段; •中速上行信道,位于4kHz到50kHz频段; •普通的双向电话信道,位于0到4kHz频段。

      参考:什么是调制、为什么要调制、调制有哪些?

      线缆网络

      采用现有的住宅到有线电视信号线缆(即同轴电缆)来传输数据;需要把有线电视信号线缆双向改造(原有的是只能下行的);在这个系统中应用了光纤和同轴电缆,所以它经常被称为混合光纤同轴(Hybrid Fiber Coax, HFC)系统;电缆因特网需要电缆调制解调器(cable modem);在电缆头端,电缆调制解调器端接系统(Cable Modem Termination System, CMTS)将模拟信号转换回数字形式,发往互联网。

      电缆因特网接入的一个重要特征是共享广播媒体。

      家里的无线路由器其实是包含路由器,交换机(实现局部交换),调制解调器,防火墙,无限接入点的集合。

      光纤到户

      Fiber To The Home, FTTH,有潜力提供每秒千兆比特范围的因特网接入速率

    • 企业、单位接入

      使用局域网(LAN)将端系统连接到边缘路由器。以太网用户使用双绞铜线与一台以太网交换机相连。以太网交换机或者这样相连的交换机再与更大的互联网相连。

      使用以太网接入,用户通常以100Mbps或 lGbps速率接入以太网交换机,而服务器可能具有lGbps甚至10Gbps的接入速率。

    • 无线接入

      无线LAN:Wifi,距离短

      广域无线接入:基站,距离长

  • 物理媒体

    导引型媒体:同轴电缆,光纤,双绞线

    非导引型媒体:地面微波,LAN,wide-area,卫星

2.5 Internet 结构和 ISP

端系统通过接入ISP 连接到互联网。

ISP 有很多:住宅的 ISP,学校的 ISP,机构的 ISP。

ISP 之间必须是互联的,这样才能保证不同的端系统可以互相访问。

多个全局 ISP 把接入 ISP 连接在一起,全局 ISP 之间通过 IXP(Internet exchange point) 连接在一起。

区域 ISP 接入一定区域的端系统通过 POP(Point of presence)接入,全局 ISP 通过 IXP 连接区域 ISP。

ICP(Internet Content Provider),互联网内容提供商,如百度,微信,会构建专用的网络,为用户提供更好的服务。ICP 也会和 ISP 互联。

POP:高层 ISP 面向客户网络的接入点,涉及费用结算

IXP:多个对等 ISP 互联互通之处,通常不涉及费用结算

2.6 分组交换网中的时延、丢包和吞吐量

  • 分组丢失的原因

    输出队列是有限的,排满时就会发生分组丢失了。输出队列不可以设计为无限的,因为无限的队列意味着无限的等待,用户不会接收无限的等待。

  • 分组延时

    节点处理(nodal proceeding)延时:检查bit级差错,检查分组首部和决定该分组导向何处的时间,在微秒或更低的数量级。

    排队(queuing)延时:分组等待传输的时间,取决于拥塞情况,实际的排队延时可以在毫秒到微秒量级。

    传输(transmission)延时:把一个分组的所有比特全部推向链路所需要的时间。分组长度为 L 比特,从路由器 A 到路由器 B 的链路传输速率是 R bps,那么传输延时 = L / R。实际的传输延时可以在毫秒到微秒量级。

    传播(propagation)延时:分组在链路上传播的时间,取决于两个路由器之间的距离 d,和该链路的传播速率,传播延时 = d / s。

    注意区分传输延时和传播延时,传输延时是路由器推出整个分组所需要的时间,是分组长度和链路传输速率(是主机或路由器向链路发送数据的速率)的函数,与两台路由器之间的距离无关;传播延时是一个比特从一个路由器传播到另一台路由器所需要的时间,它是两台路由器之间距离的函数,而与分组长度或链路传输速率无关。

    TraceRoute 程序是使用了 ICMP 协议的。

  • 流量强度用于估计排队延时

    a 表示分组到达队列的平均速率(a 的单位是分组/秒,即pkt/s);

    R 表示链路传输速率,即主机或路由器向链路发送数据的速率,从队列中推出比特的速率,单位:bps,即 b/s;

    L 表示分组长度(假定所有分组都是 L 比特组成的),单位是比特。

    假定该队列无限大,比率 La / R 被称为流量强度。L/R 表示从队列中推出一个分组的速率,单位是s/pkt,而 a 表示分组到达队列的速率,La/R > 1,则表示分组到达队列的平均速率超过从该队列传输岀去的速率,这样会导致队列无限增加,排队延时也将无限增加。因此,流量工程中的一条金科玉律是:设计系统时流量强度不能大于1。

  • 吞吐量

    时延,丢包,吞吐量都是计算机网络中重要的性能测度。

    吞吐量:在发送端和目的端之间数据传输的速率(bps)。

    瞬时吞吐量(instantaneous throughput):在一个时间点的速率

    平均吞吐量(average throughput):在一段时间内的平均速率

    吞吐量取决于瓶颈链路(bottleneck link)的传输速率。

2.7 协议层次及其服务模型

  • 因特网的复杂性

    因特网有大量的应用程序和协议、各种类型的端系统、分组交换机以及各种类型的链路级媒体。因此,必须组织网络体系结构。

  • 分层的网络体系结构

    模块化:把复杂的功能分成子功能,每个模块完成一个特定的子功能,各模块组合起来成为整体,完成整个系统所要求的功能。

    而分层是特殊的模块化,只有上下层模块之间才可以相互沟通,不允许跨层调用。

    将网络复杂的功能分成功能明确的层次,每一层实现其中一个或一组功能,提供给上层使用的那些功能被称为服务;

    本层协议实体相互交互执行本层的协议动作,目的是实现本层功能,通过接口为上层提供更好的服务;

    在实现本层协议的时候,直接利用了下层提供的所有服务:本层要和对等层通信,需要使用下层提供的服务来实现;

    本层的服务:借助于下层提供的服务实现新的功能,也包括下层提供的服务。

    改变服务的实现不会影响该系统其他组件,这是因为该层对上面提供相同的服务(相同的层间接口),并且使用来自下面层次的相同服务,当这一层的实现变化时,该系统的其他部分保持不变。

    分层的缺点:效率低一些。

  • 服务和服务访问点

    服务:低层实体向高层实体提供它们之间通信的能力。低层实体是服务提供者(service provider),高层实体是服务用户(service user)。

    服务访问点SAP(service access point):上层使用下层提供的服务通过层间的接口(地点)。服务提供者用来区分不同的上层服务用户的穿过层间的信息,标记不同上层实体的信息。

    原语(primitive):提供服务的形式。

  • 服务的类型

    面向连接的服务(connection-oriented service):两个通信实体为进行通信而握手(准备好相应的资源(缓存区,重置控制变量,设置超时定时器)),称为建立一个连接。

    无连接的服务(connectionless service):两个通信实体在通信前不需要建立一个连接(不需要预留资源),不需要通信双方都是活跃的。

  • 服务和协议

    服务是低层实体向高层实体提供的功能,是垂直的关系;

    协议是对等层实体之间在通信的过程中,需要遵守的规则的集合,是水平的关系。

    本层协议的实现需要依赖下层提供的服务;本层实体通过协议为上层提供更高级的服务。

  • 数据单元(DU)

    SDU:service data unit 服务数据单元,上层交给下层传输的数据

    ICI:interface control information 接口控制信息

    IDU (interface data unit)= ICI + SDU

    PDU:protocol data unit 协议数据单元,包括上层叫下来的数据和本层的头部信息

  • Internet 协议栈

    应用层:在传输层进程到进程数据传输基础之上,完成应用报文的交换。如FTP,HTTP,SMTP,DNS 协议。

    传输层:在端到端的数据传输基础之上,区分进程到进程之间数据,把IP层的不可靠的服务变为TCP可靠的服务。如TCP协议,UDP协议

    网络层:在源主机和目的主机之间以分组为单位的端到端的数据传输(路由和转发),不可靠的传输。如 IP 协议,路由协议。

    链路层:在相邻两点之间传输以帧为单位的数据,识别帧头和帧尾之间的帧。如 PPP, Ethernet。

    物理层:发送方把帧(frame)中的比特变为物理信号在链路中传播,接收方把物理信号还原为比特。

  • ISO/OSI 参考模型

    互联网协议栈里面没有表示层和会话层。如果需要这两层,就必须在应用层实现。

  • 各层次的协议数据单元

    应用层:报文(message)

    传输层:报文段(message segment)

    网络层:分组 packet,无连接方式:数据报 datagram

    数据链路层:帧 frame

    物理层:位 bit

  • 封装与解封装

    主机实现了所有 5 个层次,链路层交换机实现了第一层和第二层,所以不能识别IP地址,只能识别以太网地址,路由器实现了第一层到第三层,所以能够识别IP地址。

    发送端的封装:在发送端,一个应用层报文(M)被传送给传输层;传输层收到报文并附加传输层首部信息(Ht),共同构成传输层报文段(segment),这里 segment 就封装了 message,即 segment = Ht + message;网络层收到传输层报文段后,会附加网络层首部信息(Hn),生成了网络层数据报(datagram),这里 datagram 就封装了 segment,即 datagram = Hn + segment = Hn + Ht + message;链路层收到网络层数据报后,会增加链路层首部信息(Hl),生成链路层帧(frame),这里 frame 就封装了 datagram,即 frame = Hl + datagram = Hl + Hn + Ht + message;物理层把帧中的bit转为物理信号传播出去。

    接收端的解封装:在接收端,物理层把物理信号转为bit;链路层在一系列比特中识别出帧头和帧尾,生成帧,解封装为链路层首部信息和网络层数据报;网络层收到数据报后,解封装为网络层首部信息和传输层报文段;传输层收到报文段后,解封装为传输层首部信息和应用层报文;应用层收到报文后,供应用程序使用。

    参考:交换机和路由器的区别是什么,它们有什么不同?

2.8 计算机网络和因特网的历史

  • 1960以前,线路交换网络的时代

  • 1961~1964,分组交换理论建立

  • 1961~1972,分组交换实验网络 ARPAnet(是互联网的前身)

  • 1972~1980,专用网络和网络互联

    1974: 网际互联的Cerf and Kahn 体系结构

  • 1980~1990,体系结构变化, 网络数量激增,应用丰富

    1983 TCP/IP 部署,标记日

  • 1990, 2000’s,商业化, Web, 新的应用

    1990年初 Web 出现

  • 2005~现在

    移动互联网的时代

    物联网的时代

3 最后

本文是学习中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程的笔记。希望感兴趣的同学一起学习这套优秀的课程。

最后

以上就是儒雅花卷为你收集整理的中科大郑烇、杨坚老师《计算机网络-自顶向下方法》课程 第1章 计算机网络和因特网笔记1 前言2 正文3 最后的全部内容,希望文章能够帮你解决中科大郑烇、杨坚老师《计算机网络-自顶向下方法》课程 第1章 计算机网络和因特网笔记1 前言2 正文3 最后所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部