《计算机网络》读书笔记

计算机网络

  • “互联网+”。它的意思就是“互联网+各个传统行业”

  • 计算机网络 (简称为网络 )由若干结点 (node) (2) 和连接这些结点的链路 (link)组成

  • 网络中的结点可以是计算机、集线器、交换机或路由器等

  • 网络之间还可以通过路由器互连起来

  • 分为主干网、地区网 和校园网 (或企业网 )

  • 互联网服务提供者 ISP

  • 例如,中国电信、中国联通和中国移动等公司都是我国最有名的ISP。

  • ISP可以从互联网管理机构申请到很多IP地址

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

  • 互联网交换点 IXP(Internet eXchange Point)就应运而生了

  • IXP常采用工作在数据链路层的网络交换机,这些网络交换机都用局域网互连起来。

  • 到2016年3月,全球已经有226个IXP,分布在172个国家和地区。图1-4是目前IXP在全球的分布图

  • 在网络边缘的端系统之间的通信方式通常可划分为两大类:客户-服务器方式(C/S方式)和对等方式(P2P方式)

  • 上面所说的客户和服务器本来都指的是计算机进程(软件)

  • 对等连接

  • 是指两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方

  • 只要两台主机都运行了对等连接软件(P2P软件),它们就可以进行平等的、对等连接通信。

  • 网络核心部分起特殊作用的是路由器 (router),它是一种专用计算机(但不叫做主机)。路由器是实现分组交换 (packet switching)的关键构件,其任务是转发收到的分组

  • 电路交换的主要特点

  • 这种必须经过“建立连接 (占用通信资源)→通话 (一直占用通信资源)→释放连接 (归还通信资源)”三个步骤的交换方式称为电路交换 (5)

  • 用户线是电话用户到所连接的市话交换机的连接线路,是用户独占的传送模拟信号的专用线路

  • 交换机之间拥有大量话路的中继线(这些传输线路早已都数字化了)则是许多用户共享的,正在通话的用户只占用了中继线里面的一个话路

  • 分组交换的主要特点

  • 存储转发

  • 报文划分为几个分组后再进行传送

  • 在发送报文之前,先把较长的报文划分成为一个个更小的等长数据段,例如,每个数据段为1024bit (7) 。

  • 分组又称为“包 ”

  • 而分组的首部也可称为“包头 ”

  • 分组是在互联网中传送的数据单元

  • 路由器收到一个分组,先暂时存储一下,检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。

  • 这样一步一步地(有时会经过几十个不同的路由器)以存储转发的方式,把分组交付最终的目的主机。

  • 各路由器之间必须经常交换彼此掌握的路由信息,以便创建和动态维护路由器中的转发表,使得转发表能够在整个网络拓扑发生变化时及时更新

  • 路由器暂时存储的是一个个短分组,而不是整个的长报文

  • 短分组是暂存在路由器的存储器(即内存)中而不是存储在磁盘中的。这就保证了较高的交换速率。

  • 分组在传输时就这样一段一段地断续占用通信资源

  • 而且还省去了建立连接和释放连接的开销

  • 因而数据的传输效率更高。

  • 互联网采取了专门的措施,保证了数据的传送具有非常高的可靠性

  • 图中的最下方归纳了三种交换方式在数据传送阶段的主要特点:

  • 按照网络的作用范围进行分类

  • 跨越不同的国家

  • 城域网MAN (Metropolitan Area Network)城域网的作用范围一般是一个城市

  • 目前很多城域网采用的是以太网技术,因此有时也常并入局域网的范围进行讨论

  • 局域网LAN (Local Area Network)

  • 学校或企业大都拥有许多个互连的局域网

  • 公用网 (public network)

  • 专用网 (private network)

  • 接入网 AN

  • 接入网是从某个用户端系统到互联网中的第一个路由器(也称为边缘路由器)之间的一种网络

  • 从覆盖的范围看,很多接入网还属于局域网

  • 在互联网发展初期,用户多用电话线拨号接入互联网,速率很低

  • 因此,表示某信道允许通过的信号频带范围就称为该信道的带宽 (或通频带 )。

  • 在计算机网络中,带宽用来表示网络中某通道 传送数据的能力,

  • 在“带宽”的上述两种表述中,前者为频域 称谓,而后者为时域 称谓,其本质是相同的。也就是说,一条通信链路的“带宽”越宽,其所能传输的“最高数据率”也越高

  • 传播时延 传播时延 (propagation delay)是电磁波在信道中传播一定的距离需要花费的时间

  • 但传播时延则发生在机器外部的传输信道媒体上,而与信号的发送速率无关

  • 得到最广泛应用的不是法律上的国际标准 OSI,而是非国际标准TCP/IP

  • 计算机网络体系结构

  • 通过应用进程间的交互来完成特定网络应用

  • 应用进程间通信和交互的规则

  • 对于不同的网络应用需要有不同的应用层协议。在互联网中的应用层协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议

  • 两台主机中进程之间的通信

  • 供通用的数据传输 服务

  • 传输控制协议 TCP(Transmission Control Protocol)——提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段 (segment)。

  • 用户数据报协议 UDP(User Datagram Protocol)——提供无连接的、尽最大努力 (best-effort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报 。

  • 网络层负责为分组交换网上的不同主机 提供通信服务

  • 在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组 或包 进行传送

  • 网络层的另一个任务就是要选择合适的路由

  • 数据链路层将网络层交下来的IP数据报组装成帧

  • 在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束

  • 在物理层上所传数据的单位是比特

  • 因此物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何识别出发送方所发送的比特。

  • 请注意,传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内而是在物理层协议的下面

  • AP 1 先将其数据交给本主机的第5层(应用层)。第5层加上必要的控制信息H 5 就变成了下一层的数据单元。第4层(运输层)收到这个数据单元后,加上本层的控制信息H 4 ,再交给第3层(网络层),成为第3层的数据单元。 依此类推。不过到了第2层(数据链路层)后,控制信息被分成两部分,分别加到本层数据单元的首部(H 2 )和尾部(T 2 );而第1层(物理层)由于是比特流的传送,所以不再加上控制信息。请注意,传送比特流时应从首部开始传送。

    • image-20220720102112811
  • 当这一串的比特流离开主机1经网络的物理媒体传送到路由器时,就从路由器的第1层依次上升到第3层

  • 当这一串的比特流离开路由器到达目的站主机2时,就从主机2的第1层按照上面讲过的方式,依次上升到第5层。最后,把应用进程AP 1 发送的数据交给目的站的应用进程AP 2 。

  • 可以用一个简单例子来比喻上述过程。有一封信从最高层向下传。每经过一层就包上一个新的信封,写上必要的地址信息。包有多个信封的信件传送到目的站后,从第1层起,每层拆开一个信封后就把信封中的信交给它的上一层。传到最高层后,取出发信人所发的信交给收信人。

  • 其次,协议是“水平的” ,即协议是控制对等实体之间通信的规则。但服务是“垂直的” ,即服务是由下层向上层通过层间接口提供的。

  • 在同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点 SAP(Service Access Point)

  • ADSL

  • 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体

  • 物理层的作用正是要尽可能地屏蔽掉这些传输媒体和通信手段的差异,使物理层上面的数据链路层感觉不到这些差异,这样就可使数据链路层只需要考虑如何完成本层的协议和服务,

  • 模拟信号 ,或连续信

  • 数字信号 ,或离散信号

  • 用户家中的计算机到调制解调器之间,

  • 在许多情况下,我们要使用“信道 (channel)”这一名词。信道和电路并不等同。信道一般都是用来表示向某一个方向传送信息的媒体。

  • 因此,一条通信电路往往包含一条发送信道和一条接收信道。

  • 从通信的双方信息交互的方式来看,可以有以下三种基本方式

  • 单向通信  又称为单工通信 ,即只能有一个方向的通信而没有反方向的交互。

  • 双向交替通信  又称为半双工通信 ,即通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)

  • 双向同时通信  又称为全双工通信 ,即通信的双方可以同时发送和接收信息。

  • 来自信源的信号常称为基带信号 (即基本频带信号)

  • 调制可分为两大类。一类是仅仅对基带信号的波形进行变换,使它能够与信道特性相适应。变换后的信号仍然是基带信号。这类调制称为基带调制 。由于这种基带调制是把数字信号转换为另一种形式的数字信号,因此大家更愿意把这种过程称为编码 (coding)。另一类调制则需要使用载波 (carrier)进行调制,把基带信号的频率范围搬移到较高的频段,并转换为模拟信号,这样就能够更好地在模拟信道中传输。经过载波调制后的信号称为带通信号 (即仅在一段频率范围内能够通过信道),而使用载波的调制称为带通调制 。

  • 调幅 (AM) 即载波的振幅随基带数字信号而变化。例如,0或1分别对应于无载波或有载波输出

  • 调频 (FM) 即载波的频率随基带数字信号而变化。例如,0或1分别对应于频率f 1 或f 2 。

  • 调相 (PM) 即载波的初始相位随基带数字信号而变化。例如,0或1分别对应于相位0度或180度

  • 导引型传输媒体 和非导引型传输媒体

  • 双绞线

  • 绞合可减少对相邻导线的电磁干扰

  • 导线越粗,其通信距离就越远,但导线的价格也越高。

  • 为了提高双绞线抗电磁干扰的能力,可以在双绞线的外面再加上一层用金属丝编织成的屏蔽层。这就是屏蔽双绞线

  • 同轴电缆

  • 同轴电缆由内导体铜质芯线(单股实心线或多股绞合线)、绝缘层、网状编织的外导体屏蔽层(也可以是单股的)以及保护塑料外层所组成(图2-7)

  • 在局域网发展的初期曾广泛地使用同轴电缆作为传输媒体。但随着技术的进步,在局域网领域基本上都采用双绞线作为传输媒体

  • 光纤通信就是利用光导纤维(以下简称为光纤)传递光脉冲来进行通信

  • 在发送端有光源,可以采用发光二极管或半导体激光器,它们在电脉冲的作用下能产生出光脉冲。在接收端利用光电二极管做成光检测器,在检测到光脉冲时可还原出电脉冲

  • 光纤通常由非常透明的石英玻璃拉成细丝,主要由纤芯和包层构成双层通信圆柱体。

  • 传输损耗小,中继距离长,对远距离传输特别经济。

  • 一类是有线宽带接入,而另一类是无线宽带接入

  • ADSL技术

  • ADSL技术把0~4kHz低端频谱留给传统电话使用,而把原来没有被利用的高端频谱留给用户上网使用

  • 由于用户在上网时主要是从互联网下载各种文档,而向互联网发送的信息量一般都不太大,因此ADSL的下行

  • 带宽都远远大于上行(从用户到ISP)带宽。“非对称”这个名词就是这样得出的。

  • ADSL的传输距离取决于数据率和用户线的线径

  • ADSL在用户线(铜线)的两端各安装一个ADSL调制解调器。这种调制解调器的实现方案有许多种

  • ADSL调制解调器又称为接入端接单元 ATU(Access Termination Unit)。由于ADSL调制解调器必须成对使用,因此把在电话端局(或远端站)和用户家中所用的ADSL调制解调器分别记为ATU-C(C代表端局 (Central Office))和ATU-R(R代表远端 (Remote))

  • ADSL最大的好处就是可以利用现有电话网中的用户线(铜线),而不需要重新布线

  • 光纤同轴混合网 (HFC网,HFC是Hybrid Fiber Coax的缩写)是在目前覆盖面很广的有线电视网的基础上开发的一种居民宽带接入网,除可传送电视节目外,还能提供电话、数据和其他宽带交互型业务

  • 数据链路层使用的信道主要有以下两种类型:

(1)点对点信道 。这种信道使用一对一的点对点通信方式。

(2)广播信道 。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。

  • 在本章中我们研究的是在同一个局域网中,分组怎样从一台主机传送到另一台主机,但并不经过路由器转发。从整个互联网来看,局域网仍属于数据链路层的范围

  • 主机H 1 和H 2 都有完整的五层协议栈,但路由器在转发分组时使用的协议栈只有下面的三层 (1) 。

  • 只有首部开始符SOH而没有传输结束符EOT),必须丢弃。而后面收到的数据有明确的帧定界符(SOH和EOT),因此这是一个完整的帧,应当收下。

  • 在数据链路层透明传送数据”表示无论什么样的比特组合的数

  • 局域网具有如下一些主要优点:

(1)具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。

  • 通信适配器

  • 网卡

  • 适配器和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的,而适配器和计算机之间的通信则是通过计算机主板上的I/O总线以并行传输方式进行的

  • 请注意,虽然我们把适配器的内容放在数据链路层中讲授,但适配器所实现的功能却包含了数据链路层及物理层这两个层次的功能。现在的芯片的集成度都很高,以致很难把一个适配器的功能严格按照层次的关系精确划分开。

  • 计算机的硬件地址(在本章的3.3.5节讨论)就在适配器的ROM中,而计算机的软件地址——IP地址(在第4章4.2.3节讨论),则在计算机的存储器中

  • 对有差错帧是否需要重传则由高层来决定

  • 在局域网中,硬件地址 又称为物理地址 或MAC地址

  • 因此现在的局域网适配器实际上使用的都是6字节MAC地址。

    • 也就是说48位
  • 第一,使这个学院不同系的以太网上的计算机能够进行跨系的通信。第二,扩大了以太网覆盖的地理范围。

  • 扩展以太网更常用的方法是在数据链路层进行,最初人们使用的是****网桥 (bridge)。网桥对收到的帧根据其MAC帧的目的地址进行****转发 和****过滤 。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是根据此帧的目的MAC地址,查找网桥中的地址表,然后确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤)

  • 交换机

  • 以太网交换机实质上就是一个多接口的网桥 ,通常都有十几个或更多的接口

  • 以太网交换机的每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式

  • 以太网交换机的接口还有存储器,能在输出端口繁忙时把到来的帧进行缓存

  • 以太网交换机是一种即插即用设备,其内部的帧交换表 (又称为地址表 )是通过自学习算法自动地逐渐建立起来的

  • 以太网交换机的性能远远超过普通的集线器,而且价格并不贵

  • 这就使工作在物理层的集线器逐渐地退出了市场

  • image-20220720102835215

  • 在这种情况下,采用以太网交换机的星形结构又成为以太网的首选拓扑,而传统的总线以太网也很快从市场上消失了

  • 利用以太网交换机可以很方便地实现虚拟局域网 VLAN(Virtual LAN)

  • 虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机属于哪一个VLAN。

  • 虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。

  • 三个虚拟局域网VLAN 1 ,VLAN 2 和VLAN 3 的构成

  • 这样,虚拟局域网限制了接收广播信息的计算机数,使得网络不会因传播过多的广播信息(即所谓的“广播风暴 ”)而引起性能恶化。

  • 虚拟局域网协议允许在以太网的帧格式中插入一个4字节的标识符(见图3-28),称为VLAN标记 (tag),用来指明发送该帧的计算机属于哪一个虚拟局域网

  • 网络层应该向运输层提供怎样的服务(“面向连接”还是“无连接”

  • 如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责(包括差错处理、流量控制等)。采用这种设计思路的好处是:网络造价大大降低,运行方式灵活,能够适应多种应用

  • 网际协议IP及其配套协议

  • 1655272480465

  • 一般的概念来讲,将网络互相连接起来要使用一些中间设备 。根据中间设备所在的层次,可以有以下四种不同的中间设备:

(1)物理层使用的中间设备叫做转发器 (repeater)。

(2)数据链路层使用的中间设备叫做网桥 或桥接器 (bridge)。

(3)网络层使用的中间设备叫做路由器 (router) (3) 。

(4)在网络层以上使用的中间设备叫做网关 (gateway)。用网关连接两个不兼容的系统需要在高层进行协议的转换。

  • 路由器其实就是一台专用计算机,用来在互联网中进行路由选择

  • IP网

  • 1655273002310

  • 每一类地址都由两个固定长度的字段组成,其中第一个字段是网络号 (net-id),它标志主机(或路由器)所连接到的网络。一个网络号在整个互联网范围内必须是唯一的。第二个字段是主机号 (host-id),它标志该主机(或路由器)

  • 这里A类、B类和C类地址都是单播地址 (一对一通信),是最常用的

  • A类、B类和C类地址的网络号字段(在图中这个字段是灰色的)分别为1个、2个和3个字节长, 有的网络拥有很多主机,而有的网络上的主机则很少

  • 1655273048060

  • 当某个单位申请到一个IP地址时,实际上是获得了具有同样网络号的一块地址。其中具体的各台主机号则由该单位自行分配,只要做到在该单位管辖的范围内无重复的主机号即可

  • IP地址都是32位的二进制代码

  • 1655273158185

  • IP地址具有以下一些重要特点

  • 每一个IP地址都由网络号和主机号两部分组成。从这个意义上说,IP地址是一种分等级的地址结构 。分两个等级的好处是:第一,IP地址管理机构在分配IP地址时只分配网络号 (第一级),而剩下的主机号(第二级)则由得到该网络号的单位自行分配。这样就方便了IP地址的管理;第二,路由器仅根据目的主机所连接的网络号来转发分组 (而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间以及查找路由表的时间

  • 实际上IP地址是标志一台主机(或路由器)和一条链路的接口。当一台主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网络号必须是不同的。这种主机称为多归属主机 (multihomed host)。由于一个路由器至少应当连接到两个网络,因此一个路由器至少应当有两个不同的IP地址。这好比一个建筑正好处在北京路和上海路的交叉口上,那么这个建筑就可以拥有两个门牌号码。例如,北京路4号和上海路37号。

  • 一个网络是指具有相同网络号net-id的主机的集合,因此,用转发器或网桥连接起来的若干个局域网仍为一个网络 ,因为这些局域网都具有同样的网络号。具有不同网络号的局域网必须使用路由器进行互连

  • 使用IP地址的IP数据报一旦交给了数据链路层,就被封装成MAC帧了。MAC帧在传送时使用的源地址和目的地址都是硬件地址,这两个硬件地址都 写在MAC帧的首部中。

    • 尾部有啥作用?
    • 1655273695406
  • 总之,IP地址放在IP数据报的首部,而硬件地址则放在MAC帧的首部

    • ip原地址和目标地址, 放在IP数据报的首部
    • MAC原地址和目标地址, 放在MAC帧的首部
  • 1655274241567

  • 1655274269501

  • 1655274293423

  • 主机或路由器怎样知道应当在MAC帧的首部填入什么样的硬件地址?

    • 地址解析协议ARP
  • 地址解析协议ARP

    • ARP是解决同一个局域网上 的主机或路由器的IP地址和硬件地址的 映射问题
    • 每一台主机都设有一个ARP高速缓存(ARP cache) ,里面有本局域网上 的各主机和路由器的IP地址到硬件地址的映射表
  • 路由器中的路由表是怎样得出的?

  • IP地址有32位,而局域网的硬件地址是48位

  • 地址解析协议 ARP解决这个问题的方法是在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表,并且这个映射表还经常动态更新(新增或超时删除

  • 以后,R 1 从转发表找出了下一跳路由器R 2 ,

  • 由于全世界存在着各式各样的网络,它们使用不同的硬件地址 。要使这些异构网络能够互相通信就必须进行非常复杂的硬件地址转换工作 ,因此由用户或用户主机来完成这项工作几乎是不可能的事。但IP编址把这个复杂问题解决了

  • 路由表

  • 1655276527296

  • 目的网络地址,下一跳地址)

  • 这里我们应当强调指出,在IP数据报的首部中没有地方可以用来指明“下一跳路由器的IP地址”。在IP数据报的首部写上的IP地址是源IP地址和目的IP地址,而没有中间经过的路由器的IP地址。既然IP数据报中没有下一跳路由器的IP地址,那么待转发的数据报又怎样能够找到下一跳路由器呢?

  • (1)从数据报的首部提取目的主机的IP地址D ,得出目的网络地址为N 。

  • (2)若N 就是与此路由器直接相连的某个网络地址,则进行直接交付 ,不需要再经过其他的路由器,直接把数据报交付目的主机(这里包括把目的主机地址D转换为具体的硬件地址,把数据报封装为MAC帧,再发送此帧);否则就是间接交付,执行(3)。

    (3)若路由表中有目的地址为D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。

    (4)若路由表中有到达网络N 的路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(5)。

    (5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。

    (6)报告转发分组出错。

  • 我们知道一个路由器路由表只会有相邻路由器的信息, 那么他是如何知道跳转到不相邻的路由器要怎么走的尼, 这就要使用到默认路由了, 默认路由会把路由器慢慢的往高层次的路由指, 然后高层次会在指向底层次, 最后到目的路由

  • 关于默认路由的理解很重要

  • 从两级IP地址到三级IP地址

  • 划分子网的方法是从网络的主机号借用若干位作为子网号(subnet-id),当然主机号也就相应减少了同样的位数。于是两级IP地址在本单位内部 就变为三级 IP地址:网络号、子网号和主机号。也可以用以下记法来表示

  • 1655277545445

  • 为解决上述问题,从1985年起在IP地址中又增加了一个“子网号字段 ”,使两级IP地址变成为三级IP地址,它能够较好地解决上述问题,并且使用起来也很灵活。这种做法叫做划分子网 (subnetting)[RFC 950],或子网寻址 或子网路由选择 。划分子网已成为互联网的正式标准协议。

  • 划分子网的基本思路如下:

(1)一个拥有许多物理网络的单位,可将所属的物理网络划分为若干个子网 (subnet)。划分子网纯属一个单位内部的事情。本单位以外的网络看不见 这个网络是由多少个子网组 成,因为这个单位对外仍然表现为一个网络

  • 总之,当没有划分子网时,IP地址是两级结构。划分子网后IP地址变成了三级结构。划分子网只是把IP地址的主机号这部分进行再划分,而不改变IP地址原来的网络号。

  • 1655278876149

  • 我们知道,从IP数据报的首部无法看出 源主机或目的主机所连接的网络是否进行了子网的划分。这是因为32位的IP地址本身以及数据报的首部都没有包含任何有关子网划分的信息。因此必须另外想办法,这就是使用子网掩码 (subnetmask)(见图4-20)。

  • image-20220720160840670

  • 图4-20(e)表示R 1 把三级IP地址的子网掩码和收到的数据报的目的IP地址145.13.3.10逐位相“与”(AND)得出了所要找的子网的网络地址 145.13.3.0。

  • 归纳一下上述的要点。从网络145.13.0.0外面 看,这就是一个普通的B类网络,其子网掩码为16个连1后面跟上16个连0。但进入 到这个网络后(即到了路由器R 1 ),就看到了还有许 这里还要弄清一个问题,这就是:在不划分子网时,既然没有子网,为什么还要使用子网掩码?这就是为了更便于查找路由表。现在互联网的标准规定:所有的网络都必须使用子网掩码,同时在路由器的路由表中也必须有子网掩码这一栏。如果一个网络不划分子网,那么该网络的子网掩码就使用默认子网掩码 。默认子网掩码中1的位置和IP地址中的网络号字段net-id正好相对应。因此,若用默认子网掩码和某个不划分子网的IP地址逐位相“与”(AND),就应当能够得出该IP地址的网络地址来。这样做可以不用查找该地址的类别位就能知道这是哪一类的IP地址。显然,

A类地址的默认子网掩码是255.0.0.0,或0xFF000000。

B类地址的默认子网掩码是255.255.0.0,或0xFFFF0000。

C类地址的默认子网掩码是255.255.255.0,或0xFFFFFF00。

  • 使用子网划分后,路由表必须包含以下三项内容:目的网络地址、子网掩码和下一跳地址

  • 在划分子网的情况下,路由器转发分组的算法如下:

    • 总结就是, 用路由表中每一行的子网掩码和目的ip地址做&如果结果是目标网络地址, 就找到

    (1)从收到的数据报的首部提取目的IP地址D

    (2)先判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和D 逐位相“ ”(AND操作),看结果是否和相应的网络地址匹配。若匹配,则把分组进行直接交付(当然还需要把D 转换成物理地址,把数据报封装成帧发送出去),转发任务结束。否则就是间接交付,执行(3)。

    (3)若路由表中有目的地址为D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。

    (4)对路由表中的每一行(目的网络地址,子网掩码,下一跳地址),用其中的子网掩码和D 逐位相“与”(AND操作),其结果为N 。若N 与该行的目的网络地址匹配,则把数据报传送给该行指明的下一跳路由器;否则,执行(5)。

    (5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。

    (6)报告转发分组出错

  • 1655279131180

  • 解】 源主机H 1 向目的主机H 2 发送的分组的目的地址是H 2 的IP地址128.30.33.138。

  • 源主机H 1 首先要进行的操作是要判断:发送的这个分组,是在本子网上进行直接交付还是要通过本子网上的路由器进行间接交付?

  • 在互联网范围的多播要靠路由器来实现,这些路由器必须增加一些能够识别多播数据报的软件。能够运行多播协议的路由器称为多播路由器 (

  • 多播IP地址

  • 在多播数据报的目的地址写入的是多播组的标识符,然后设法让加入到这个多播组的主机的IP地址与多播组的标识符关联起来

  • 其实多播组的标识符就是IP地址中的D类地址。D类IP地址的前四位是1110,因此D类地址范围是224.0.0.0到239.255.255.255。我们就用每一个D类地址标志一个多播组。这样,D类地址共可标志2 28 个多播组

  • 虚拟专用网VPN和网络地 址转换NAT

  • 这种地址称为本地地址 ),而不需要向互联网的管理机构申请全球唯一的IP地址(这种地址称为全球地址

  • 为了解决这一问题,RFC 1918指明了一些专用地址 (private address)。这些地址只能用于一个机构的内部通信,而不能用于和互联网上的主机通信。换言之,专用地址只能用做本地地址而不能用作全球地址。在互联网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发

  • 1)10.0.0.0到10.255.255.255 (或记为10.0.0.0/8,它又称为24位块)

(2)172.16.0.0到172.31.255.255 (或记为172.16.0.0/12,它又称为20位块)

(3)192.168.0.0到192.168.255.255 (或记为192.168.0.0/16,它又称为16位块)

  • 有时一个很大的机构的许多部门分布的范围很广(例如,在世界各地)

  • 利用公用的互联网作为本机构各专用网之间的通信载体,这样的专用网又称为虚拟专用网 VPN(Virtual Private Network)

  • 如果专用网不同网点之间的通信必须经过公用的互联网,但又有保密的要求,那么所有通过互联网传送的数据都必须加密

  • 一个机构要构建自己的VPN就必须为它的每一个场所购买专门的硬件和软件,并进行配置,使每一个场所的VPN系统都知道其他场所的地址

  • 1655286146835

  • 显然,每一个场所至少要有一个路由器具有合法的全球IP地址,如图4-59(a)中的路由器R 1 和R 2 。这两个路由器和互联网的接口地址必须是合法的全球IP地址。

  • 路由器R 1 和R 2 在专用网内部网络的接口地址则是专主机X向主机Y发送的IP数据报的源地址是10.1.0.1,而目的地址是10.2.0.3。

  • 加密

  • 其源地址是路由器R 1 的全球地址125.1.2.3,而目的地址是路由器R 2 的全球地址194.4.5.6。

  • 解密

  • 如图4-59(b)所示的、由场所A和B的内部网络所构成的虚拟专用网VPN又称为内联网 (intranet或intranet VPN,即内联网VPN),表示场所A和B都属于同一个机构

  • 有时一个机构的VPN需要有某些外部机构 (通常就是合作伙伴)参加进来

  • 外联网

  • 请注意,内联网和外联网都采用了互联网技术,即都是基于TCP/IP协议的。

  • 还有一种类型的VPN,就是远程接入 VPN(remote access VPN)。我们知道,有的公司可能并没有分布在不同场所的部门,但却有很多流动员工在外地工作。

  • 在外地工作的员工通过拨号接入互联网,而驻留在员工个人电脑中的VPN软件可以在员工的个人电脑和公司的主机之间建立VPN隧道,因而外地员工与公司通信的内容也是保密的,员工们感到好像就是使用公司内部的本地网络

  • 网络地址转换NAT

  • 就是在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和互联网上的主机通信(并不需要加密),那么应当采取什么措施呢?

  • 1655286272442

  • 网络地址转换 NAT(Network Address Translation)方法是在1994年提出的。这种方法需要在专用网连接到互联网的路由器上安装NAT软件

  • 这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和互联网连接

  • 转换为新的源IP地址(即NAT路由器的全球IP地址)172.38.1.5,然后转发出去

  • 当NAT路由器具有n个全球IP地址时,专用网内最多可以同时有n台主机接入到互联网。

  • 这样就可以使专用网内较多数量的主机,轮流使用NAT路由器有限数量的全球IP地址。

  • 我们知道,IP协议能够把源主机A发送出的分组,按照首部中的目的地址,送交到目的主机B,那么,为什么还需要运输层呢?

  • 但“两台主机之间的通信”这种说法还不够清楚。这是因为,真正进行通信的实体是在主机中的进程,是这台主机中的一个进程 和另一台主机中的一个进程 在交换数据(即通信)

  • IP协议虽然能把分组送到目的主机,但是这个分组还停留在主机的网络层而没有交付主机中的应用进程

  • 通信的真正端点并不是主机而是主机中的进程

  • 运输层还要对收到的报文进行差错检测 。

  • UDP在传送数据之前不需要先建立连接 。远地主机的运输层在收到UDP报文后,不需要给出任何确认。虽然UDP不提供可靠交付,但在某些情况下UDP却是一种最有效的工作方式。

  • TCP则提供面向连接的服务 。在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP不提供广播或多播服务。由于TCP要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销,如确认、流量控制、计时器以及连接管理等

  • 使用UDP和TCP协议的各种应用和应用层协议

  • 前面已经提到过运输层的复用和分用功能。

  • 进程

  • 我们知道,在单个计算机中的进程是用进程标识符(一个不大的整数)来标志的。

  • 解决这个问题的方法就是在运输层使用协议端口号 (protocol port number),或通常简称为端口

  • TCP/IP的运输层用一个16位端口号 来标志一个端口。

  • 16位的端口号可允许有65535个不同的端口号

  • 客户在发起通信请求时,必须先知道对方服务器的IP地址和端口号

  • 常用的端口

    • image-20220721100143251
  • UDP的主要特点是

  • UDP支持一对一、一对多、多对一和多对多的交互通信 。

  • 检测UDP用户数据报在传输中是否有错。有错就丢弃

  • 请注意,虽然在UDP之间的通信要用到其端口号,但由于UDP的通信是无连接的,因此不需要使用套接字

  • TCP之间的通信必须要在两个套接字之间建立连接

  • 介绍TCP最主要的特点。

  • endpoint

  • 每一条TCP连接只能是点对点的(一对一)

  • TCP提供可靠交付 的服务。通过TCP连接传送的数据,无差错、不丢失、不重复,并且按序到达

  • TCP提供全双工通信 。TCP允许通信双方的应用进程在任何时候都能发送数据。TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据。

  • 端口号拼接到 (concatenated with)IP地址即构成了套接字

  • 因此,套接字的表示方法是在点分十进制的IP地址后面写上端口号,中间用冒号或逗号隔开。例如

  • 每一条TCP连接唯一地被通信两端的两个端点(即两个套接字)所确定

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e3aWSNKU-1658373093156)(http://image.binbingo.cn//1655286453411.png)]

  • 同一个IP地址可以有多个不同的TCP连接,而同一个端口号也可以出现在多个不同的TCP连接中

  • 当出现差错时让发送方重传出现差错的数据,同时在接收方来不及处理收到的数据时,及时告诉发送方适当降低发送数据的速度

  • 停止等待协议

  • 停止等待”就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。

  • 超时重传

  • 确认 ACK(ACKnowledgment) 仅当ACK=1时确认号字段才有效。当ACK=0时,确认号无效

  • TCP规定,在连接建立后所有传送的报文段都必须把ACK置1

  • 同步 SYN(SYNchronization) 在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文段。

  • 对方若同意建立连

  • 终止 FIN(FINis,意思是“完”、“终”) 用来释放一个连接。当FIN=1时,表明此报文段的发送方的数据已发

  • TCP建立连接的过程叫做握手,握手需要在客户和服务器之间交换三个TCP报文段。(三次握手

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nd51qBIq-1658373093156)(http://image.binbingo.cn//1655286790683.png)]

  • TCP规定,SYN报文段(即SYN=1的报文段)

  • 当B收到A的确认后

  • 为什么A最后还要发送一次确认呢

  • 四次分手

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IznmdjPW-1658373093157)(…/思维导图关联文件/markdownImg/1655286949433.png)]

  • 因而从A到B这个方向的连接就释放了,这时的TCP连接处于半关闭

  • 即A已经没有数据要发送了,但B若发送数据,A仍要接收

  • 等待B发出的连接释放报文段。

  • 用来把便于人们使用的机器名字转换为IP地址

  • 域名系统DNS能够把互联网上的主机名字转换为IP地址

  • 那时使用一个叫做hosts的文件,列出所有主机名字和相应的IP地址。

  • 互联网的域名系统DNS被设计成为一个联机分布式数据库系统,并采用客户服务器方式。DNS使大多数名字都在本地进行解析 (resolve) (1) ,仅少量解析需要在互联网上通信,因此DNS系统的效率很高。

  • 域还可以划分为子域,而子域还可继续划分为子域的子域,这样就形成了顶级域、二级域、三级

  • 也不区分大小写字母

  • 标号中除连字符(-)外不能使用其他的标点符号。

  • DNS既不规定一个域名需要包含多少个下级域名

  • 也不规定每一级的域名代表什么意思

  • 各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由ICANN进行管理

  • 原先的顶级域名共分为三大类:

  • 国家顶级域名 nTLD:采用ISO 3166的规定。如:cn表示中国,us表示美国,uk表示英国,等等

  • 通用顶级域名

  • com(公司企业),net(网络服务机构),org(非营利性组织),int(国际组织),edu

  • 基础结构域名 (infrastructure domain):这种顶级域名只有一个,即arpa,用于反向域名解析,因此又称为反向域名 。

  • 类别域名”共7个,分别为:ac(科研机构),com(工、商、金融等企业),edu(中国的教育机构),gov(中国的政府机构),mil(中国的国防机构),net(提供互联网络服务的机构),org(非营利性的组织)。

  • 图6-1是互联网域名空间的结构,它实际上是一个倒过来的树,在最上面的是根 ,但没有对应的名字

  • 域名树的树叶就是单台计算机的名字,它不能再继续往下划分子域了

  • 因此DNS就采用划分区的办法来解决这个问题

  • 总之,DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位。区是DNS服务器实际管辖的范围。

  • 不难看出,区是“域”的子集。

  • 根据域名服务器所起的作用,可以把域名服务器划分为以下四种不同的类型:

  • 根域名服务器 (root name server):根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。根域名服务器是最重要的域名服务器,因为不管是哪一个本地域名服务器,若要对互联网上任何一个域名进行解析(即转换为IP地址),只要自己无法解析,就首先要求助于根域名服务器

  • 但请注意,虽然互联网的根域名服务器总共只有13个域名,但这不表明根域名服务器是由13台机器 所组成

  • 需要注意的是,在许多情况下,根域名服务器并不直接把待查询的域名直接转换成IP地址(根域名服务器也没有存放这种信息),而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。

  • 顶级域名服务器 (即TLD服务器 ):这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的IP地址

  • 权限域名服务器 :

  • 本地域名服务器 (local name server):本地域名服务器并不属于图6-3所示的域名服务器层次结构,但它对域名系统非常重要。当一台主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。

  • 每一个互联网服务提供者ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器 ,这种域名服务器有时也称为默认域名服务

  • 就可以看见首选DNS服务器和备用DNS服务器的IP地址

  • 本地域名服务器离用户较近,一般不超过几个路由器的距离。

  • 主机向本地域名服务器的查询一般都是采用递归查询 (recursive query)。所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文

  • 而不是让该主机自己进行下一步的查询。

  • 根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询

  • 顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地域名服务器下一步应当向哪一个权限域名服务器进行查询,本地域名服务器就这样进行迭代查询

  • 本地域名服务器采用迭代查询     (b)本地域名服务

  • UDP用户数据报的报文

  • 例如,在图6-5(a)的查询过程中,如果在不久前已经有用户查询过域名为y.abc.com的IP地址,那么本地域名服务器就不必向根域名服务器重新查询y.abc.com的IP地址,而是直接把高速缓存中存放的上次查询结果(即y.abc.com的IP地址)告诉用户。

  • FTP

  • FTP提供交互式的访问

  • FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件

  • 基于TCP的FTP和基于UDP的简单文件传送协议TFTP

  • 它们都是文件共享协议中的一大类,即

  • 复制整个文件

  • 若要存取一个文件,就必须先获得一个本地的文件副本。如果要修改文件,只能对文件的副本进行修改,然后再将修改后的文件副本传回到原节点。

  • 文件共享协议中的另一大类是联机访问 (on-line access)。联机访问意味着允许多个程序同时对一个文件进行存取。

  • 操作系统

  • 属于文件共享协议的有网络文件系统NFS

  • NFS可使本地计算机共享远地的资源,就像这些资源在本地一样

  • 因此目前NFS主要应用在TCP/IP网络上。

  • FTP使用客户服务器方式

  • FTP的服务器进程由两大部分组成:一个主进程 ,负责接受新的请求;另外有若干个从属进程 ,负责处理单个请求

  • 21

  • 启动从属进程处理客户进程发来的请求

  • 20

  • 很大的文件末尾添加一行信息。若使用FTP

  • 则应先将此文件从计算机B传送到计算机A,添加上这一行信息后,再用FTP将此文件传送到计算机B,

  • 然而网络文件系统NFS则采用另一种思路。NFS允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据 。

  • 简单文件传送协议 TFTP(Trivial File Transfer Protocol),它是一个很小且易于实现的文件传送协议

  • 虽然TFTP也使用客户服务器方式,但它使用UDP数据报,因此TFTP需要有自己的差错改正措施。TFTP只支持文件传输而不支持交互。TFTP没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别

  • 优点

  • TFTP可用于UDP环境。例如,当需要将程序或文件同时向许多机器下载时就往往需要使用TFTP

  • 69

  • TELNET是一个简单的远程终端协议

  • 用户用TELNET就可在其所在地通过TCP连接注册(即登录)到远地的另一台主机上(使用主机名或IP地址)。

  • TELNET能将用户的击键传到远地主机,同时也能将远地主机的输出通过TCP连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。因此,TELNET又称为终端仿真协议

  • TELNET也使用客户服务器方式。在本地系统运行TELNET客户进程,而在远地主机则运行TELNET服务器进程。和FTP的情况相似,服务器中的主进程等待新的请求,并产生从属进程来处理每一个连接。

  • 客户软件把用户的击键和命令转换成NVT格式,并送交服务器。服务器软件把收到的数据和命令从NVT格式转换成远地系统所需的格式

  • 万维网是一个大规模的、联机式的信息储藏所

  • 万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点(也就是所谓的“链接到另一个站点 ”)

  • 正是由于万维网的出现,使互联网从仅由少数计算机专家使用变为普通百姓也能利用的信息资源

  • 万维网是一个分布式的超媒体 (hypermedia)系统,它是超文本 (hypertext)系统的扩充

  • 超文本是万维网的基础

  • 超媒体与超文本的区别是文档内容不同。

  • URL

  • 这就是超文本传送协议 HTTP

  • 万维网使用超文本标记语言 HTML

  • 统一资源定位符 URL

  • URL的一般形式由以下四个部分组成:

<协议>://<主机>:<端口>/<路径>

URL的第一部分是最左边的<协议>。这里的<协议>就是指出使用什么协议来获取该万维网文档。现在最常用的协议就是http(超文本传送协议HTTP),其次是ftp(文件传送协议FTP)。

  • 这里的<主机>就是指该主机在互联网上的域名。

  • URL里面的字母不分大小写

  • 万维网的工作过程

  • HTTP使用了面向连接的TCP作为运输层协议,保证了数据的可靠传输

  • 但是,HTTP协议本身是无连接的 。

  • HTTP协议是无状态的

  • 用户在点击鼠标链接某个万维网文档时,HTTP协议首先要和服务器建立TCP连接。这需要使用三报文握手。当建立TCP连接的三报文握手的前两部分完成后(即经过了一个RTT时间后)

  • XML(Extensible Markup Language)是可扩展标记语言 ,它和HTML很相似。但XML的设计宗旨是传输数据,而不是显示数据

  • 是一种允许用户对自己的标记语言进行定义的源语言

  • 另一种语言XHTML(Extensible HTML)是可扩展超文本标记语言 ,它与HTML 4.01几乎是相同的。但XHTML是更严格的HTML版本,也是一个W3C标准(2000年1月制定),是作为一种XML应用被重新定义的HTML,并将逐渐取代HTML。所有新的浏览器都支持XHTML。

  • 对称密钥密码体制

  • 公钥密码体制 (私钥公钥非对称加密)

  • 公钥密码体制的产生主要有两个方面的原因,一是由于对称密钥密码体制的密钥分配 问题,二是由于对数字签名 的需求

  • 若使用高度安全的密钥分配中 心KDC(Key Distribution Center),也会使得网络成本增加

  • RSA体制

  • 加密密钥 PK (public key,即公钥 )是向公众公开的,而解密密钥 SK (secret key,即私钥 或秘钥

  • 加密算法E 和解密算法D 也都是公开的

  • 发送者A用B的公钥PK B 通过E 运算对明文X 加密,得出密文Y ,发送给B。

B用自己的私钥SK B 通过D 运算进行解密,恢复出明文

  • 数字签名实现

    • image-20220721103909883
    • 具有保密性的数字签名实现
      • 1655366278460
  • 数字签名必须保证能够实现以下三点功能:

    • (1)接收者能够核实发送者对报文的签名。也就是说,接收者能够确信该报文的确是发送者发送的。其他人无法伪造对报文的签名。这叫做报文鉴别

      (2)接收者确信所收到的数据和发送者发送的完全一样而没有被篡改过。这叫做报文的完整性

      (3)发送者事后不能抵赖对报文的签名。这叫做不可否认

  • 但采用公钥算法要比采用对称密钥算法更容易实现

  • 下面就来介绍这种数字签名。

  • 请注意,任何人用A的公钥PK A 进行E 运算后

  • 都可以得出A发送的明文。可见图7-4所示的通信方式并非为了保密,而是为了进行签名和核实签名,即确认此明文的确是A发送的。

  • 下面讨论一下数字签名为什么具有上述的三点功能。

  • 密钥分配 (或密钥分发 )是密钥管理中最大的问题

  • 目前常用的密钥分配方式是设立密钥分配中心 KDC(Key Distribution Center)。KDC是大家都信任的机构,其任务就是给需要进行秘密通信的用户临时分配一个会话密钥

  • 设想用户A要欺骗用户B,A可以向B发送一份伪造是C发送的报文,A用自己的私钥进行数字签名,并附上A自己的公钥,谎称这公钥是C的。B如何知道这个公钥不是C的呢?

  • 显然,这需要有一个值得信赖的机构来将公钥与其对应的实体(人或机器)进行绑定 (binding)

  • 公钥

  • 这样的机构就叫做认证中心CA (Certification Authority),它一般由政府出资建立

  • 每个实体都有CA发来的证书(certificate)

  • 此证书被CA进行了数字签名

  • 此公钥用来验证某个公钥是否为某个实体所拥有

  • 像上述这些安全服务,需要使用运输层的安全协议。现在广泛使用的有两个协议:

  • SSL作用在端系统应用层的HTTP和运输层之间,在TCP之上建立起一个安全通道,为通过TCP传输的应用层数据提供安全保障

  • 1995年Netscape公司把SSL转交给IETF,希望能够把SSL进行标准化。于是IETF在SSL 3.0的基础上设计了TLS协议,为所有基于TCP的网络应用提供安全数据传输服务。

  • 为简单起见,我们用SSL表示SSL/TLS。

  • 图7-17(b)所示

  • image-20220721110024753
  • 应用层使用SSL最多的就是HTTP,但SSL并非仅用于HTTP,

  • 当使用普通不加密的浏览器查看网页时,HTTP就直接使用TCP连接,这时SSL不起作用。但使用信用卡进行网上支付,要键入信用卡密码时,就需要使用安全的浏览器。这时,应用程序HTTP就调用SSL对整个网页进行加密**。网页上会提示用户,**同时网址栏原来显示http的地方,现在变成了https。在http后面加上的s代表security,表明现在使用的是提供****安全服务 的HTTP协议(TCP的HTTPS端口号是443,而不是平时使用的端口号80)。这时在发送方,SSL从SSL套接字接收应用层的数据(如HTTP或IMAP报文),对数据进行加密,然后把加密的数据送往TCP套接字;在接收方,SSL从TCP套接字读取数据,解密后,通过SSL套接字把数据交给应用层。

  • TCP的HTTPS端口号是443,而不是平时使用的端口号80

  • 下面以万维网应用为例来说明SSL的工作过程。

    销售商的万维网服务器B使用SSL为顾客A提供安全的在线购物。当顾客点击该网站链接建立TCP连接后,先进行浏览器和服务器之间的握手协议,完成加密算法的协商和会话密钥的传递,然后进行安全数据传输。其简要过程如下(实际步骤要复杂得多):

    (1)**协商加密算法** 。➊浏览器A向服务器B发送浏览器的SSL版本号和一些可选的加密算法。➋B从中选定自己所支持的算法(如RSA),并告知A。
    

    (2)服务器鉴别 。➌服务器B向浏览器A发送包含其RSA公钥的数字证书。➍A使用该证书的认证机构CA公开发布的RSA公钥对该证书进行验证。

    (3)会话密钥计算 。由浏览器A随机产生一个秘密数。➎用服务器B的RSA公钥进行加密后发送给B。➏双方根据协商的算法产生共享的对称会话密钥。

    (4)安全数据传输 。➐双方用会话密钥加密和解密它们之间传送的数据并验证其完整性。

  • 上述的SSL安全会话建立过程如图7-18所示。

    • image-20220721110858871
  • 防火墙 (firewall)作为一种访问控制技术,通过严格控制进出网络边界的分组,禁止任何不必要的通信,从而减少潜在入侵的发生,

  • 它根据过滤规则对进出内部网络的分组执行转发或者丢弃(即过滤)。过滤规则是基于分组的网络层或运输层首部的信息,例如:源/目的IP地址、源/目的端口、协议类型(TCP或UDP)

  • 例如

  • 如果在分组过滤器中将所有目的端口号为23的入分组(incoming packet)都进行阻拦,那么所有外单位用户就不能使用TELNET登录到本单位的主机上。

  • 应用网关 也称为代理服务器 (proxy server),它在应用层通信中扮演报文中继的角色

  • 对称密钥密码体制是加密密钥与解密密钥相同的密码体制(如数据加密标准DES和高级加密标准AES)。这种加密的保密性仅取决于对密钥的保密,而算法是公开的

  • 公钥密码体制(又称为公开密钥密码体制)使用不同的加密密钥与解密密钥。加密密钥(即公钥)是向公众公开的,而解密密钥(即私钥或秘钥)则是需要保密的。加密算法和解密算法也都是公开的

  • 目前最著名的公钥密码体制是RSA体制

  • 报文摘要MD是进行报文鉴别的一种简单方法。目前广泛使用的是SHA-1

  • 目前常用的密钥分配方式是设立密钥分配中心KDC

  • 认证中心CA是一个值得信赖的机构,用来将公钥与其对应的实体(人或机器)进行绑定。每个实体都有CA发来的证书,里面有公钥及其拥有者的标识信息(人名或IP地址)。此证书被CA进行了数字签名。任何用户都可从可信的地方获得认证中心CA的公钥

  • 在传输多媒体数据时,对时延和时延抖动均有较高的要求

  • 我们知道,模拟的多媒体信号只有经过数字化后才能在互联网上传送

  • 每一个分组是独立地传送,因而这些分组在到达接收端时就变成为非等时的 。如果我们在接收端对这些以非恒定速率到达的分组边接收边还原,那么就一定会产生很大的失真

  • 要解决这一问题,可以在接收端设置适当大小的缓存 (2) ,当缓存中的分组数达到一定的数量后再以恒定速率按顺序将这些分组读出进行还原播放。图8-2说明了缓存的作用

  • 首先,播放时延T 应当选为多大?把T 选择得越大,就可以消除更大的时延抖动,但所有分组经受的平均时延也增大了,而这对某些实时应用(如视频会议)是很不利的。当然这对单向传输的视频节目问题并不太大(如从网上下载一段视频节目,只要耐心多等待一段时间用来将分组放入缓存即可)。如果T 选择得太小,那么消除时延抖动的效果就较差。因此播放时延T 的选择必须折中考虑。

  • 其次,在互联网上传输实时数据的分组时有可能会出现差错或甚至丢失。如果利用TCP协议对这些出错或丢失的分组进行重传,那么时延就会大大增加

  • 因此实时数据的传输在运输层就应采用用户数据报协议UDP而不使用TCP协议。这就是说,对于传送实时数据,我们宁可丢失少量分组 (当然不能丢失太多),也不要太晚到达的分组

  • 由于分组的到达可能不按序,但将分组还原和播放时又应当是按序的。因此在发送多媒体分组时还应当给每一个分组加上序号

  • 还有一种情况,就是要使接收端能够将节目中本来就存在的正常的短时间停顿(如话音中的静默期或音乐中出现的几拍停顿)和因某些分组产生的较大迟延造成的“停顿”区分开来。这就需要在每一个分组增加一个时间戳 (timestamp),让接收端知道所收到的每一个分组是在什么时间产生的。

  • 目前互联网提供的音频/视频服务大体上可分为三种类型:

  • 流式存储音频/视频文件的特点是能够边下载边播放

  • 音频/视频节目不是事先录制好和存储在服务器中的,而是在发送方边录制边发送

  • 流式实况音频/视频按理说应当采用多播技术才能提高网络资源的利用率,但目前实际上还是使用多个独立的单播。

  • 交互式音频/视频  这种类型是用户使用互联网和其他人进行实时交互式通信。现在的互联网电话或互联网电视会议就属于这种类型。

  • 如果是观看实况转播,那么最好应当首先考虑使用UDP来传送

更新时间:2022-01-21 08:46:00

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BinBin_Bang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值