第一章
计算机网络在信息时代的作用
计算机网络已由一种通信基础设施发展成一种重要的信息服务基础设施
CNNIC 中国互联网网络信息中心
因特网概述
网络、互联网和因特网
网络(Network)由若干结点(Node)和连接这些结点的链路(Link)组成
多个网络还可以通过路由器(router)互联起来,这样就构成了一个覆盖范围更大的网络,即互联网。因此互联网是网络的网络(Network of Network)
因特网(Internet)是世界上最大户互联网络(用户数以亿计,互连的网络数以百万计)
Internet(互联网)是一个通用名词,它泛指由多个计算机网络连接而成的网络。在这些网络之间的通信协议可以是任意的
Internet(因特网)则是一个专有名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET
因特网发展的三个阶段
因特网服务提供者ISP(Internet Service Provider)
基于ISP的三层结构的因特网
第一层ISP(主干网,覆盖国际性区域范围,并拥有高速链路和交换设备),第一层ISP之间直接互联
第二层ISP和一些大公司都是第一层ISP的用户,通常具有区域性或国家性覆盖规模,与少数第一层ISP相连接
第三层ISP,又称本地ISP,它们是第二层ISP的用户,且只拥有本地范围的网络,一般的校园网或企业网,以及住宅用户和无线移动用户都是第三层ISP的用户
相隔较远的两台主机间的通信可能需要经过多个ISP
一旦某个用户能够接入到因特网,那么他也可以成为一个ISP,所需要做的是购买一些如调制器或路由器这样的设备,让其他用户能够和他相连
一个ISP可以很方便地在因特网拓扑上增添新的层析和分支
因特网的标准化工作
注意:不是所有的RFC文档都是因特网标准,只有一小部分RFC文档最后才能变为因特网标准
因特网的组成
边缘部分:由所有连接在因特网上的主机组成,这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享
核心部分:由大量的网络和连接这些网络的路由器组成,这部分是为边缘部分提供服务的(提供连连通性和交换)
在网络核心部分起特殊作用的是路由器,是一种专用计算机,但我们不称它为主机。路由器是实现分组交换的关键构件,其任务是转发接收到的分组。
三种交换方式
电路交换(Circuit Switching)
电话交换机接通电话线的方式称为电路交换;
从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源;
电路交换的三个步骤:
(1)建立连接(分配通信资源)
例如,在使用电路交换机打电话之前,必须先拨号请求建立连接。当被叫用户听到电话交换机送来的拨号音并摘机后,从主叫端到被叫端建立了一条连接(也就是一条专用的物理通路),这条连接保证了双方通话时所需的通信资源,而这些资源在双方通信时不会被其他用户占用。
(2)通话(一直占用通信资源)
在整个通话期间,第一步建立连接所分配的通信资源始终被占用
(3)释放连接(归还通信资源)
也就是通话完毕后挂机后,电话交换机释放刚才使用的这条专用物理通路,是把刚才占用的所有通信资源归还给电信网。
思考:如果使用电路交换来传送计算机数据,是否可行?
尽管采用电路交换可以实现计算机之间的数据传送,但是线路的传送效率往往很低(计算机数据是突发式地出现在传输线路上的)
用户正在输入和编辑一份待传输的文件时,用户所占用的通信资源暂时未被利用,该通信资源也不能被其他用户利用,宝贵的通信线路资源白白地被浪费了
因此,计算机网络通常采用分组交换,而不是电路交换
分组交换(Packet Switching)
假设主机H6的用户要给主机H2的用户发送一条消息,(通常把该消息的整块数据称为一个报文),在发送报文之前,先把较长的报文划分成一个个更小的等长数据段。在每一个数据段前面,加上一些由必要的控制信息组成的首部(也可称为“包头”)后,就构成了一个分组(也可简称为“包”)
添加首部的作用?首部中肯定包含了分组的目的地址,否则分组传输路径中的各分组交换机(也就是各路由器)就不知道如何转发分组了。
分组交换机收到一个分组后,先将分组暂时存储下来,再检查其首部,按照首部中的目的地址进行查表转发,找到合适的转发接口,通过该接口将分组转发给下一个分组交换机,
主机H6将所构造出的各分组依次发送出去,各分组经过交换机的存储转发,最终到达主机H2,主机H2收到这些分组后,去掉它们的首部,将各数据段组合还原出原始报文。
只给出两种情况:一种是各分组从源站到达目的站可以走不同的路径(不同的路由);
另一种是分组乱序,分组到达目的站的顺序不一定与分组在源站的发送顺序相同。
可能出现的分组丢失、误码、重复等
报文交换(Message Switching)
交换结点也采用存储转发方式,但报文交换对报文的大小没有限制,这就要求交换结点需要有较大的缓存空间。
主要用于早期的电报通信网,现在较少使用,通常被较先进的分组交换方式所取代
分组交换,相比于报文交换,减少了转发时延,避免过长的报文长时间占用链路,同时有利于进行差错控制。
计算机网络的定义和分类
计算机网络的定义
计算机网络的精确定义并未统一
计算机网络的简单定义是:一些互相连接的、自治的计算机的集合
互连:是指计算机之间可以通过有线或无线的方式进行数据通信;
自治:是指独立的计算机,它有自己的硬件和软件,可以单独运行使用;
集合:是指至少需要两台计算机;
计算机网络的较好的定义:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能欧用来传递多种不同类型的数据,并能支持广泛的和日益增长的应用。
计算机网络所连接的硬件,并不限于一般的计算机,还包括智能手机、具有网络功能的传感器以及智能硬件。
计算机网络并非只用来传送数据,而是能够基于数据传送而实现各种各样的应用,包括在今后可能出现的各种应用。
计算机网络的分类
计算机网络的性能指标
性能指标可以从不同的方面来度量计算机网络的性能
常用的计算机网络的性能指标有以下8个:
速率
D
带宽
吞吐量
时延
时延带宽积
往返时间
往返时间(Round-Trip,RTT)是指从发送端发送数据分组开始,到发送端收到接收端发来的相应确认分组为止,总共消耗的时间
利用率
利用率有链路(信道)利用率和网络利用率
丢包率
丢包率是指在一定时间范围内,传输过程中丢失的分组数量与总分组数量的比例
计算机网络体系结构
1.常见的计算机网络体系结构
OSI体系结构
TCP/IP体系结构
TCP/IP在网络层使用的核心协议是IP协议,IP协议的中文意思是网络协议(Internet Protocol。IP),因此TCP/IP体系结构的网络层也常称为网际层。
?
(1)TCP/IP协议体系结构的网络接口层并没有规定什么具体的内容,这样做的目的是可以互连全世界各种不同的网络接口,例如有线的以太网接口、无线局域网的Wi-Fi接口,而不是限定仅使用一种或几种网络接口。因此,TCP/IP体系结构在本质上只有上面的三层。
(2)网际协议IP是TCP/IP体系结构网络层的核心协议。
(3)传输控制协议(Transmission Control Protocol,TCP)和用户数据报协议(User Datagram Protocol,UDP)是TCP/IP体系结构运输层的两个重要协议。
(4)TCP/IP体系结构的应用层包含了大量的应用协议,例如超文本传送协议(HyperText Transfer Protocol,HTTP)、简单右键传送协议(Simple Mail Transfer Protocol,SMTP)、域名系统(Domain Name System,DNS)以及实时运输协议(Real-time Transport Protocol,RTP)等
IP协议可以将不同的网络接口进行互连,并向其上的TCP协议和UDP协议提供网络互连服务。TCP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的某些协议提供可靠传输的服务。UDP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的某些协议提供不可靠传输的服务。IP协议作为TCP/IP体系结构中的核心协议,一方面负责互连不同的网络接口,也就是IP over everything;另一方面为各种网络应用提供服务,也就是Everything over IP。
由于TCP/IP协议体系结构中包含大量的协议,而IP协议和TCP协议是其中非常重要的两个协议,因此用TCP和IP这两个协议来表示整个协议大家族,常称为TCP/IP协议族。
在嵌入式系统开发领域,TCP/IP协议族也常称为TCP/IP协议栈。这是因为TCP/IP协议体系的分层结构与数据结构中的栈在图形画法上是类似的。
2.计算机网络体系结构分层的必要性
物理层(physical layer)
1)采用什么传输媒体(介质)
2)采用什么物理接口
3)采用什么信号表示bite0和1
严格来说传输媒体并不属于物理层范畴,它并不包含在计算机网络体系结构之中。另外,计算机网络中传输的信号,并不是我们举例的简单的数字基带信号(为了容易理解)
数据链路层(data link layer)
1)如何标识网络中的各主机
假设主机A要给主机B发送数据,表示数据的信号会通过总线传播到总线上的每一个主机。那么主机B是如何知道该数据并不是发送给自己的,应该丢弃该数据呢?这就需要解决如何标识网络中各主机的问题,即主机编址问题。网卡上固化的MAC地址,其是MAC地址就是主机在网络中的地址。
2)如何区分出地址和数据
主机在发送数据时应该给数据附上源地址和目的地址。当其他主机收到后,根据目的地址和自身地址是否匹配,来决定是否接受该数据,还可以通过源地址知道是哪个主机发来的数据
要将源地址和目的地址附加到数据上,这就需要收发双方约定好数据的封装格式。发送方将待发送的数据按照事先约定好的格式进行封装(即在数据前面添加包含源地址、目的地址和其他一些控制信息的首部),然后减封装好的数据包发送出去。接收方收到数据包后,按照事先约定好的格式对其进行解封。
3)如何协调各主机争用总线
对于多个主机争用总线时发生碰撞的问题,以太网交换机又是如何实现的呢?
网络层(network layer)
1)如何标识互联网中的各网络以及网络中的各主机
由于互联网是由多个网络通过多个路由器互连起来的,因此我们还需要对互联网中的各网络进行标识,IP地址----网络和主机共同编址的问题
网络N1中主机H3、主机H4以及路由器R1连接网络N1的接口,它们都处于同一个网络,因此它们的IP地址的网络号相同,在上图中为192.168.0,而它们的主机号分别为1、2以及254,各不相同,用于在网络N1中唯一标识它们自己。
2)路由器如何转发分组和进行路由选择
运输层(transport layer)
1)如何标识主机中与网络通信相关的应用进程
当用户主机中同时运行着的、与网络通信相关的应用进程往往不止一个。当主机通过网络接收到数据包后,应将数据包交付给哪一个应用进程就成为一个待解决的问题。
主机H3中运行着与网络通信相关的Web服务器进程Nginx,主机H1中运行着网络通信相关的浏览器进程和QQ进程。当主机H1收到主机H3中Nginx进程发来的数据包时,应将数据包交付给浏览器进程还是QQ进程呢?如果数据包中含有与进程相关的标志信息,主机H1就可以根据标志信息将数据包交付给相应的应用进程。
2)如何处理传输差错
分组由于误码被路由器或用户主机丢弃,又或是由于路由器繁忙而主动丢弃正常分组,这些都属于传输差错。
应用层(application layer)
解决了物理数据链路层、网络层以及运输层各自的问题后,就可以实现进程之间基于网络的通信了。在进程基于网络通信的基础上,可以指定各种应用协议,并按协议编写相应的应用程序,通过应用进程之间的交互来实现特定的网络应用。例如支持万维网的HTTP协议、支持电子邮件的SMTP协议以及支持文件传送的FTP协议等。另外,在制定应用协议时,还需要考虑应用进程基于网络通信时的会话管理问题和数据表示问题(采用何种编码、是否加密和压缩数据)
3.计算机网络体系结构分层思想举例
1.6 计算机网络体系结构(3)—分层思想举例_哔哩哔哩_bilibili
主机属于网络N1,Web服务器属于网络N2,N1和N2通过路由器互连。使用主机中的浏览器来访问Web服务器,当输入网址后,主机会向Web服务器发送请求。Web服务器收到请求后会发回相应的响应。主机的浏览器收到响应后,将其解析为具体的网页内容显示出来。
主机和Web服务器之间基于网络的通信,实际上是主机中的浏览器应用进程与Web服务器中的Web服务器应用进程之间基于网络的通信。
主机对数据包的处理过程
从主机端按体系结构自顶向下的顺序来看,应用层按HTTP协议规定,构建一个HTTP请求报文,应用层将HTTP请求报文交付给运输层处理。
运输层给HTTP请求报文添加一个TCP首部,使之成为TCP报文段。
TCP报文段的首部格式(如图中蓝表),该首部的作用主要是为了区分应用进程以及实现可靠传输。
运输层将TCP报文段交付给网络层处理。
网络层给TCP报文段添加一个IP首部,使之成为IP数据报。
IP数据报的首部格式(如图中橙表),该首部的作用主要是为了使IP数据报可以在互联网上传输,也就是被路由器转发。
网络层将IP数据报交付给数据链路层处理。
数据链路层给IP数据报添加一个首部和一个尾部,使之成为帧。
假设网络N1为以太网。以太网的首部格式(如图中所示),该首部的作用主要是为了让帧能够在一段链路上或一个网络上传输,能够被相应的目的主机接受。以太网帧尾部的格式(如图中所示),其作用是为了让目的主机检查所接收到的帧是否有误码。
数据链路层将帧交付给物理层。
物理层将帧看作是比特流
由于网络N1是以太网,因此物理层还会给该比特流前面添加前导码
前导码的作用是让目的主机做好接收帧的准备。
物理层将添加有前导码的比特流变换成相应的信号发送到传输媒体。
信号通过传输媒体到达路由器。
路由器对数据包的处理过程
物理层将信号变换为比特流。
去掉前导码后,将其交付给数据链路层。(这实际上交付的是帧)
数据链路层将帧的首部和尾部去掉后,将其交付给网络层(这实际上交付的是IP数据报)
网络层解析IP数据报的首部,从中提取出目的网络地址,然后查找自身的路由表,确定转发端口,以便进行转发。
网络层将IP数据报交付给数据链路层。
数据链路层给IP数据报添加一个首部和一个尾部,使之成为帧。
数据链路层将帧交付给物理层。
物理层将帧看作是比特流。
由于网络N2是以太网,因此物理层还会给该比特流前面添加前导码。
物理层将添加有前导码的比特流变换成相应的信号发送到传输媒体。
Web服务器的处理过程
物理层将信号变换为比特流。
然后去掉前导码,将其交付给数据链路层。(这实际上交付的是帧)
数据链路层将帧的首部和尾部去掉后,将其交付给网络层。(这实际上交付的是IP数据报)
网络层将IP数据报的首部去掉后,将其交付给运输层。(这实际上交付的是TCP报文段)
运输层将TCP报文段的首部去掉后,将其交付给应用层。(这实际上交付的是HTTP请求报文)
应用层对HTTP请求报文进行解析,,然后给主机发回HTTP响应报文。
与之前的过程类似,HTTP响应报文需要在Web服务器层层封装,然后通过物理层变换成相应的信号,再通过传输媒体传输到路由器。路由器转发该响应报文给主机。主机通过物理层将收到的信号转换为比特流。之后逐层解封,最终取出HTTP响应报文。
主机对数据包的处理过程
(1)应用层:根据HTTP协议的规定,构建一个HTTP请求报文,用来请求Web服务器执行相应的操作。应用层将构建好的HTTP请求报文向下交付给运输层。
(2)运输层:给HTTP请求报文添加一个TCP首部,将其封装成TCP报文段。TCP首部的主要作用是区分应用进程和实现可靠传输。运输层将封装好的TCP报文段向下交付给网络层。
(3)网络层:为TCP报文段添加一个IP首部,将其封装成IP数据报。IP首部的主要作用是IP寻址和路由。网络层将封装好的IP数据报向下交付给数据链路层。
(4)数据链路层:为IP数据报添加一个首部和尾部,将其封装成帧。帧首部和尾部的主要作用是MAC寻址和帧校验。数据链路层将封装好的帧向下交付给物理层。
(5)物理层:并不认识帧的结构,仅仅将其看作比特流,以便将比特流转换成相应的电信号进行发送。对于以太网,物理层还会在比特流前添加导码,目的是使接收方的时钟同步,并做好接收准备。
路由器对包的处理过程
(1)(接收口的)物理层:将收到的电信号转换成比特流,并去掉前导码,然后将帧向上交付给数据链路层。
(2)(接收口的)数据链路层:去掉帧的首部和尾部后,将IP数据报向上交付给网络层。
(3)网络层:网络层从IP数据报的首部中提取出目的IP地址,根据目的IP地址查找自己的转发表,以便决定从哪个接口转发该IP数据报。与此同时,还要对首部中的某些字段值(例如生存时间TTL字段的值)进行相应的修改,然后将该IP数据报向下交付给数据链路层。
(4)(转发口的)数据链路层:为IP数据报添加一个首部和一个尾部,将其封装成帧,然后将帧向下交付给物理层。
(5)(转发口的)物理层:将帧看作比特流,给其添加前导码后转变成相应的电信号发送出去。
Web服务器对数据包的处理过程
Web服务器收到数据包后,按网络体系结构自上而下的顺序对其进行逐层解封,解封出HTTP请求报文。
Web服务器给主机发送HTTP响应报文的过程
Web服务器的应用层收到HTTP请求报文后执行相应的操作,然后给主机发送含有浏览器请求内容的HTTP响应报文。与浏览器发送HTTP请求报文的过程类似,HTTP响应报文需要在Web服务器层层封装后才能发送。数据包经过路由器的转发到达主机。主机对收到的数据包按网络体系结构自下而上的顺序逐层解封,解封出HTTP响应报文。
4.计算机网络体系结构的专用术语
实体和对等实体
实体是指任何可发送或接收信息的硬件或软件进程
对等实体是指通信双方相同层次中的实体。
属于收发双方物理层和数据链路层的网卡互为对等实体:网卡是可以发送或接收信息的硬件,它包括物理层和数据链路层。
属于收发双方应用层的浏览器进程和Web服务器进程互为对等实体:位于收发双方应用层的浏览器进程和Web服务器进程,是可以发送或接收信息的软件进程。
协议
协议是控制两个对等实体在“水平方向”进行“逻辑通信”的规则的集合。
物理层对等实体使用物理层协议进行逻辑通信,例如传统以太网使用曼彻斯特编码
数据链路层对等实体使用数据链路层协议进行逻辑通信,例如传统以太网使用CSMA/CD协议
网络层对等实体使用网络层协议进行逻辑通信,例如IP协议
运输层对等实体使用运输层协议进行逻辑通信,例如TCP协议或UDP协议
应用层对等实体使用应用层协议进行逻辑通信,例如HTTP协议、FTP协议以及SMTP协议等
计算机网络协议有三个要素:语法、语义以及同步。
语法用来定义通信双方所交换信息的格式。例如IPv4数据报格式,其中的每个小格子称为字段或域,数字表示子算的长度,单位是位(也就是比特)。语法就定义了这些小格子的长度和先后顺序。
能看懂数据报的格式就可以了
语义用来定义通信双方所要完成的操作。例如下图所示的主机访问Web服务器的简单示意图:
(1)主机给Web服务器发送一个HTTP的GET请求报文。
(2)Web服务器收到GET请求报文后对其进行解析,就知道这是一个HTTP的GET请求报文。
(3)Web服务器就在自身内部查找主机所请求的内容,并将所找到的内容封装在HTTP的响应报文中发送给主机。
(4)主机收到HTTP响应报文后对其进行解析和渲染显示。
同步用来定义通信双方的时序关系。必须由主机首先发送HTTP的GET请求报文给Web服务器;Web服务器收到主机发来的GET请求报文后,才可能给主机发送相应的HTTP响应报文。这是HTTP协议的同步所定义的。
例如,这是TCP采用“三报文握手”建立连接的过程
服务
在协议的控制下,两个对等实体在水平方向的逻辑通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下一层所提供的服务。
物理层对等实体在物理层协议的控制下进行逻辑通信,进而向数据链路层提供服务。
数据链路层对等实体“享受”物理层提供的服务,并在数据链路层协议的控制下进行逻辑通信,进而向网络层提供服务。
网络层对等实体“享受”数据链路层提供的服务,并在网络层协议的控制下进行逻辑通信,,进而向运输层提供服务。
运输层对等实体“享受”网络层提供的服务,并在运输层协议的控制下进行逻辑通信,进而面向应用层提供服务。
应用层对等实体“享受”运输层提供的服务,并在应用层协议的控制下进行逻辑通信,给其上层(也就是用户)提供服务。
协议是“水平”的,服务是“垂直的”。实体看得见下层提供的服务,但并不知道实现该服务的具体协议。(下层的协议对上层的实体是“透明”的)
在同一系统中相邻两层的实体交换信息的逻辑接口称为服务访问点。服务访问点用于区分不同的服务类型。例如,数据链路层的服务访问点为帧的“类型”字段,网络层的服务点为IP数据报的“协议”字段,运输层的服务访问点为“端口号”字段。上层要使用下层所提供的服务,必须通过与下层交换一些命令,这些命令称为服务原语。
对等层析之间传送的数据包称为该层的协议数据单元(Protocol Data Unit,PDU)
物理层对等实体间逻辑通信的数据包称为比特流(bit stream)
数据链路层对等实体间逻辑通信的数据包称为帧(frame)
网络层对等实体间逻辑通信的数据包称为分组(packet),如果使用IP协议,也称为IP数据段
运输层对等实体间逻辑通信的数据包一般根据协议而定,若使用TCP协议,则称为TCP报文段(segment),若使用UDP协议,则称为UDP用户数据报(datagram)
应用层对等实体间逻辑通信的数据包一般称为应用报文(message)
总结
体系结构相关习题
【2009年 题33】在OSI参考模型中,自下而上第一个提供端到端服务的层次是
A.数据链路层
B.传输层
C.会话层
D.应用层
选B
【2010年 题33】下列选项中,不属于网络体系结构所描述的内容是
A.网络的层次
B.每一层使用的协议
C.协议内部实现细节
D.每一层必须完成的功能
选C
【2011年 题33】TCP/IP参考模型的网络层提供的是
A.无连接不可靠的数据报服务
B.无连接可靠的数据报服务
C.有连接不可靠的虚电路服务
D.有连接可靠的虚电路服务
选A
【2012年 题33】在TCP/IP体系结构中,直接为ICMP提供服务的协议是
A.PPP
B.IP
C.UDP
D.TCP
选B
网际控制报文协议ICMP
点对点协议PPP
使用ICMP协议封装的协议数据单元,还需要使用IP协议封装成IP数据报,之后才能发送。
也就是说,IP协议直接为ICMP协议提供服务。
而PPP协议属于TCP/IP体系结构网络接口层,它可以直接为IP协议提供服务,而不是直接为ICMP协议提供服务。
【2013年 题33】在OSI参考模型中,下列功能需由应用层的相邻层实现的是
A.对话管理
B.数据格式转换
C.路由选择
D.可靠数据传输
选B
【2014年 题33】在OSI参考模型中,直接为会话层提供服务的是
A.应用层
B.表示层
C.传输层
D.网络层
选C
【2015年 题33】通过POP3协议接收邮件时,使用的传输层服务类型是
A.无连接不可靠的数据传输服务
B.无连接可靠的数据传输服务
C.有连接不可靠的数据传输服务
D.有连接可靠的数据传输服务
选D
【2016年 题33】在OSI参考模型中,R1、Switch、Hub实现的最高功能层分别是
A.2、2、1
B.2、2、2
C.3、2、1
D.3、2、2
选C
路由器的最高层是网络层,层编号为3
交换机的最高层是数据链路层,层编号为2
集线层的最高层是物理层,层编号为1
【2017年 题33】假设OSI参考模型的应用层欲发送400B的数据(无拆分),除物理层和应用层之外,其他各层在封装PDU时均引入20B的额外开销,则应用层数据传输的效率约为
A.80%
B.83%
C.87%
D.91%
选A
应用层欲发送400B数据,也可成为应用层协议数据单元,简称应用层PDU
应用层将其交付给表示层,表示层给应用层PDU添加一个20字节的首部,,使之成为表示层PDU,并将其交付给会话层
会话层给表示层PDU添加一个20字节的首部,使之成为会话层PDU,并将其交付给运输层
运输层给会话层PDU添加一个20字节的首部,使之成为运输层PDU,并将其交付给网络层
网络层给运输层PDU添加一个20字节的首部,使之成为网络层PDU,并将其交付给数据链路层
数据链路层给网络层PDU添加一个20字节的首部,使之成为数据链路层PDU,并将其交付给物理层
应用层本来想发送的是400B的数据,但是经过其下面五层的逐层封装,每层引入20B的额外开销,实际上需要发送的数据量为400加上额外的5个20B
【2018年 题33】下列TCP/IP应用层协议中,可以使用传输层无连接服务的是
A.FTP
B.DNS
C.SMTP
D.HTTP
选B
在TCP/IP的运输层协议中,UDP协议提供的是无连接服务。选项中只有域名解析协议DNS需要享受运输层UDP协议所提供的无连接服务。
时延相关习题
发送时延=分组长度/发送速率
发送速率应该从网卡速率、信道带宽以及对端的接口速率中取小者
传播时延=信道长度/电磁波传播速率
电磁波在不同的传输介质中传播速率略有不同
(1b)/(1Mb/s)=1us
该比特的信号的前端已经传播出去多远了?
(1us)*(2*10的8次方 m/s)=200m
【习题1】两主机间的链路长度为60m,链路带宽为10Mb/s,信号传播速率为2.0*10的8次方 m/s,其中一台主机给另一台主机发送1b信息,当主机接收完该信息是共耗费多长时间?
发送时延=(1b)/(10Mb/s)=0.1us
(0.1us)*(2.0*10的8次方 m/s)=20m
传播时延=60/2*10的8次方=0.3us
0.4us
左侧错误在于:重复包含了(n-1)个传播时延
比特信号是一个跟着一个向前同时传播的,因此,无论有多少个比特,在总时延中质保函一个传播时延,增加比特数量,只是增大了发送时延,而传播时延数量不变。
可以看出:只要是在一段链路上,不管有多少个比特,总时延为所有比特的发送时延加上信号在这一段链路上的传播时延。
由于比特单位太小,常常使用分组,一个分组由若干比特构成。因此,若主机在一段链路上连续发送分组,则总时延为所有分组的发送时延加上信号在这一段链路上的传播时延。
分组在分组交换网(也就是多段链路)上的传输情况
横坐标是时间,纵坐标表示两台主机间有两台路由器,由三段链路构成
第一个示意图用来表示1个分组在3段链路上传输所耗费的总时间
第一个示意图用来表示2个分组在3段链路上传输所耗费的总时间
第一个示意图用来表示3个分组在3段链路上传输所耗费的总时间
(m-1)其实是转发次数,m段链路就有(m-1)次转发
【习题2】试在下列条件下比较电路交换和分组交换
要传送的报文共x(bit)。从源点到终点共经过k段链路,每段链路的传播时延为d(s),带宽为b(bit/s)。在电路交换时,电路的建立时间为s(s)。在分组交换时,报文可被划分为若干个长度为p(bit)的数据段,添加首部后即可构成分组,假设分组首部的长度以及分组在各结点的排队等待时间忽略不计。
问在怎样的条件下,电路交换的时延比分组交换的要大?
(p bit)/(b bit/s)=p/b s
x/p个分组,k段链路
分组交换的时延=(x/p)*(p/b)+(p/b)*(k-1)+d*k
电路交换的时延=s+(x bit)/(b bit/s)+kd
第二章
物理层的基本概念
常见的传输媒体有双绞线、同轴电缆、光缆以及各种波段的无线信道等。物理层要实现的功能是在公众传输媒体上传输比特0和1,进而给其上面的数据链路层提供透明传输比特流的服务(“透明传输比特流”--数据链路层“看不见”(也无需看见)物理层究竟使用的是什么方法来传输比特流,数据链路层只管“享受”物理层提供的比特流传输服务即可)
物理层下面的传输媒体
导引型传输媒体
同轴电缆
同轴电缆由内导体、绝缘层、外屏蔽层以及外部保护层组成。由于外屏蔽层的作用,同轴电缆具有很好的抗干扰性
双绞线
把两根相互绝缘的铜导线按一定密度互相绞合起来
光纤
光纤通信是利用光脉冲在光纤中的传递来进行通信的。有光脉冲相当于比特1,而没有光脉冲相当于比特0。由于可见光的频率非常高(约为10的8次方MHz量级),因此一个光纤通信系统的传输带宽远远大于目前其他各种传输媒体的带宽
电力线
非导引型传输媒体
使用导引型传输媒体进行通信前,必须进行通信线路的铺设。当通信线路要通过一些难以施工的高山或岛屿,并且通信距离很远时,铺设通信线路既费时又昂贵。利用无线电波在自由空间的传播,可以方便、快速和灵活地实现多种无线通信。自由空间就是无线通信所使用的非导向型传输媒体。