1、计算机网络自顶向下知识点总结1端系统和网络核心、协议处在因特网边缘的部分就是连接在因特网上的所有的主机。这些主机又称为端系统(end system)网络核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据)。在网络核心部分起特殊作用的是路由器(router)。路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。 注:分组交换主要有两类,一类叫做路由器,一类叫作链路层交换机。两者的作用类似,都是转发分组,不同点在于转发分组所依据的信息不同。路由器根据分组中的IP
2、地址转发分组,链路层交换机根据分组中的目的MAC地址转发分组。用于网络核心的交换技术主要有两种:电路交换(circuit switching),分组交换(packet switching) 协议(protocol)是通信双方共同遵守的规则,主要用于指定分组格式以及接收到每个分组后执行的动作。2两种基本的服务(1)面向连接的服务保证从发送端发送到接收端的数据最终将按顺序、完整地到达接收端面向连接服务的过程包括连接建立、数据传输和连接释放3个阶段。在数据交换之前,必须先建立连接;数据交换结束后,必须终止这个连接。传送数据时是按序传送的。有握手信号,由tcp提供,提供可靠的流量控制和拥塞控制(2)无
3、连接服务对于传输不提供任何保证在无连接服务的情况下,两个实体之间的通信不需要先建立好一个连接,因此其下层的有关资源不需要事先进行预定保留。这些资源将在数据传输时动态地进行分配。无连接服务的特点是无握手信号,由udp提供,不提供可靠的流量控制和拥塞控制,因而是一种不可靠的服务,称为“尽最大努力交付”。面向连接服务并不等同于可靠的服务,面向连接服务时可靠服务的一个必要条件,但不充分,还要加上一些措施才能实现可靠服务。目前Internet只提供一种服务模型,”尽力而为”,无服务质量功能3复用技术概念:是指能在同一传输媒质中同时传输多路信号的技术,目的提高通信线路的利用率。频分复用(FDM)的所有用户
4、在同样的时间占用不同的带宽资源。时分复用(TDM)则是将时间划分为一段段等长的时分复用帧(TDM 帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙。利用不同的时隙传送不同的信号。统计时分复用(STDM)在时分复用的基础上根据实际情况“按需分配”。4交换技术“交换”(switching)就是按照某种方式动态地分配传输线路的资源。 1、电路交换: 在通信进行过程中,网络为数据传输在传输路径上预留资源,这些资源只能被这次通信双方所使用;2、分组交换:数据被分成一个一个的分组,每个分组均携带目的地址,网络并不为packet传输在沿途packet switches上预留资源,packe
5、t switches为每个packet独立确定转发方向.与电路交换不同,链路、交换机/路由器等资源被多个用户所共享,交换机在转发一个分组时的速度为其输出链路的full速度。注:分组交换一般采用存储转发技术,分组在分组交换机中会经历一个排队(queuing)延迟。排队延迟与交换机的忙闲有关,大小可变。 如果分组到达时缓存已满,则交换机会丢掉一个分组。分组交换网络有两大类1、Datagram(数据报)网络2、Virtual Circuit虚电路网络3、报文交换将形成的报文发送给结点交换机,结点交换机把收到的报文存储并送输入队列等待处理。结点交换机再依次对输入队列中报文做适当处理,然后根据报文头中的
6、目的地址选择适当的输出链路。若链路空闲,便将报文发送下一个结点交换机;若输出链路正忙,则将报文送该链路的输出队列等待发送。这样,通过多次转发直至报文到达指定目标。5通讯介质及特点导向传输媒体:双绞线、同轴电缆、光纤非导向传输媒体:无线电通讯1.双绞线(Twisted-Pair Copper Wire) 抗电磁干扰,模拟传输和数字传输都可以用2.同轴电缆(Coaxial Cable)广泛用于闭路电视中,容易安装、造价较低、网络抗干扰能力强、 网络维护和扩展比较困难、电缆系统的断点较多,影响网络系统的可靠性。3.光纤(Fiber Optics)传输损耗小,抗雷电和电磁干扰性好,保密性好,体积小,质
7、量轻。4.无线电通讯(Radio)用无线电传输,优点:通讯信道容量大,微波传输质量高可靠性高,与电缆载波相比,投资少见效快。缺点:在传播中受反射、阻挡、干涉的影响。6、常见网络接入技术接入网络指连接Host到边界路由器的物理链路(last mile),分为家庭接入、单位接入和无线接入三类。早期家庭上网通常使用拨号网络,利用调制解调器在普通电话线最多以56kbps的速率传输数据,此时在边界路由器处也需要一MODEM。因此,此时的接入网络是包括一对MODEM和一条点对点的电话线。由于速率较低,打电话和上网不能同时进行。目前许多家庭使用宽带接入技术,如xDSL和HFC。 xDSL也是在模拟电话线路上
8、传输数字信号,它使用了一种新的调制解调技术并且限定了最大传输距离,因此可以以更高速率进行数据传输。利用ADSL,打电话和上网可以同时进行,两者互不影响。ADSL之上行速率和下行速率不同。上行链路速率可达1Mbps,下行链路速率可达10Mbps。DSL使用频分多路复用技术,将通信链路分为三个频率互不覆盖的信道,分别为: 1、04KHz 的双向语音信道 2、4KHz 50KHz的上行数据信道 3、50KHz1MHz的下行数据信道另外一种宽带家庭接入网络技术是HFC。HFC与DSL技术不同,HFC在现有的广播有线电视系统基础上发展而来。在有线电视系统中,位于线缆头部的电视台向所有用户广播电视信号,电
9、视信号沿电视台-用户方向进行传输和放大。HFC(混合光纤同轴电缆网 )中,Host需要使用叫做线缆Modem的设备接入网络, Cable Modem将link分成上行和下行两个信道。由于信道是在多个用户之间所共享,因此存在拥塞和网络规模问题。与ADSL类似,HFC的上行信道速率要低于下行信道速率,并且整个信道被所有用户所共享。而ADSL使用的是Point to Point信道,是专用信道。无线局域网(WLAN)技术是通过基站传输的网络接入技术,基站与有线网相连的。目前该系列包含三种标准:802.11a(2Mbps)、802.11b (11Mbps)以及 802.11g (54Mbps)。7、延
10、时分类1、传输时延(发送时延 ) 发送数据时,数据块从结点进入到传输媒体所需要的时间。也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。 2、传播时延 电磁波在信道中需要传播一定的距离而花费的时间。 信号传输速率(即发送速率)和信号在信道上的传播速率是完全不同的概念。 3、处理时延 :交换结点为存储转发而进行一些必要的处理所花费的时间。 4、排队时延 :结点缓存队列中分组排队所经历的时延。排队时延的长短往往取决于网络中当时的通信量。注:排队延迟是节点延迟中最复杂、也是最有趣的部分。之所以最有趣,指目前或多研究工作就是针对排队延迟来进行的,包括调度算法、缓存策略等。 排
11、队延迟与网络设备的负载状况密切相关,不同分组所经历的排队延迟会随着负载的变化而变化关于发送延迟和传播延迟,容易弄混。需要记住,传输延迟指将一个分组所有bit发送到link上所需的时间,与分组长度和发送速率有关,与两点之间的距离没有任何关系。而传播延迟指一位从链路的一端传播到另一端所需的时间,与link的长度和信号的传播速度有关。8、TCP/IP的体系结构1)层次、功能、层次之间的关系 2)每层数据包的名称3)每层地址 4)接口、协议、服务至上而下分为:应用层:包含大量应用普遍需要的协议(如HTTP FTP SMTP DNS等);应用传递的数据包叫做报文。传输层:负责从应用层接收消息,并传输应用
12、层的message,到达目的后将消息上交给应用。传输层的数据包叫做segment(段)此层协议有TCP UDP。网络层:源Host的传输层协议负责将segment交给网络层,网络层负责将segment传输到目的host的传输层,网络层的数据包叫做datagram(数据报)此层协议有IP。链路层:网络层负责在源和目的之间传递数据,链路层负责将packet从一个节点传输到下一个节点。链路层传输数据的单位叫做Frame(帧)此层协议有Ethernet、WiFi、PPP协议。物理层:Link层负责将一个Frame从一个Node传递到下一个Node,物理层负责将Frame中的每一位(bit)从链路的一端
13、传输到另一端,物理层传输数据的单位叫做bit(比特)。数据报的名称功能层次之间的关系每层地址5应用层Message报文支持网络应用一层嵌到另一层(每一层次都从上层的导数据,加上首部信息形成新的数据单元,将新的数据单元传递给下一层)不同的应用有不同的地址4传输层Segment报文段负责应用进程间的通讯端口号3网络层Datagram数据段从源到目的地数据报的路由Ip地址2数据链路层Frames帧相邻节点之帧转发网卡地址1物理层无数据包比特转发无互联网是个异常复杂的系统,包括硬件软件,包括应用、协议、端系统、不同种类的通信介质、路由器/交换机等。Internet的体系结构也采用的分层结构, Inte
14、rnet的每一层也是利用本层或下层功能为上层提供一种或多种服务。应用层的地址不止有IP地址还有端口号,传输层、网络层为IP地址,链路层、物理层的地址为MAC地址。接口在两层之间,协议是同层之间的,服务是下层为上层提供的。9应用结构:client/server、P2P、Hybrid of C/S和P2P客户服务器方式所描述的是进程之间的服务和被服务的关系。客户是服务的请求方,服务器是服务的提供方。Client/Server的好处是系统管理容易,问题是Server容易成为系统的bottleneck瓶颈.P2P中,没有在C/S中处于中心地位的Server,所有Host的地位平等,叫做Peers,因此
15、这种系统也叫Peer to Peer.P2P中没有必须always on的服务器,并且peer可以随时更换自己的IP。Gnutella是Pure P2P的一个很好的例子。P2P的最大好处是系统可扩展性(scalability)强。由于每个peer既是Server又是Client, 随着系统中Peer的数量增多,系统的处理能力越强。P2P的问题是可管理性,由于系统是完全分散的、无中心的,管理起来极其困难。Hybrid of C/S和P2P即以上两种方式的结合。10常见的应用、服务要求和底层协议部分网络应用的要求 应用数据丢失宽带时间敏感文件传输不能丢失弹性不电子邮件不能丢失弹性不Web文档不能丢
16、失弹性(几kb/s)不实时音频/视频容忍丢失音频(几kb/s)视频(10kb/s5mb/s)是,100ms存储音频/视频容忍丢失同上是,几秒交互游戏容忍丢失(几kb/s10kb/s)是,100ms即时讯息不能丢失弹性是和不是流行的因特网应用及其应用层协议和下面的运输协议应用应用层协议下面的运输协议/底层协议电子邮件Smtptcp远程终端访问telnettcpWebhttptcp文件传输ftptcp远程文件服务器NfsUdp或tcp流媒体通常专用,如real networkUdp或tcp因特网电话通常专用,如dlalpad典型udp11HTTP通讯 超文本传输协议HTTP主要规定了message
17、的结构和client和server交换message的方式。1)B/S的通讯过程、无状态 2)流水线协议和非流水线协议3)持续和非持续方式 4)代理服务器、cookie一)1) Browser首先建立与Server的TCP连接 2) 连接建立起来后,browser和server就向/从Socket发送/接收HTTP的消息。借助TCP的reliable data transfer,HTTP知道消息肯定会到达对方,这就是协议分层的好处。 HTTP是一种stateless(无状态)协议,server不保存任何client的任何状态信息。如果server在很短的时间内从browser接收到对某个obj
18、ect的两次请求,server就会发送两次response。2)非流水线方式:客户在收到前一个响应后才能发出下一个请求。这比非持续连接的两倍 RTT 的开销节省了建立 TCP 连接所需的一个 RTT 时间。但服务器在发送完一个对象后,其 TCP 连接就处于空闲状态,浪费了服务器资源。流水线方式:客户在收到 HTTP 的响应报文之前就能够接着发送新的请求报文。一个接一个的请求报文到达服务器后,服务器就可连续发回响应报文。使用流水线方式时,客户访问所有的对象只需花费一个 RTT时间,使 TCP 连接中的空闲时间减少,提高了下载文档效率。 3)1、非持续连接:建立一次TCP连接,browser和se
19、rver通过此连接只传输一个request消息和一个respond消息 2、持续连接:建立一次TCP连接,browser和server通过此连接可以传输多个request消息和多个respond消息4)代理服务器(proxy server)又称为万维网高速缓存(Web cache),它代表浏览器发出 HTTP 请求。万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中。当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按 URL 的地址再去因特网访问该资源。Cookie定义如下:Cookie是Web服务器保存在用户硬盘上的一段文本,Cookie允许一个Web站
20、点在用户的电脑上保存信息并且随后再取回它。信息的片断以名/值对(name-value pairs)的形式储存。注:Web Cache比Server更靠近Client,即使只从延迟上将也会减小服务响应时间;利用Cache可以减小响应延迟,但Web Cache引入了一个新问题:即Web Cache中保存的对象可能与原始服务器中保存的对象不同。 12.DNS的作用以及两种查询方式DNS 是域名解析系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的。用于便于人们使用的机器名字转换为IP地址两种查询方式:1、主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询
21、问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。2、本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。13.传输层的作用传输层位于网络层和应用层之间,是网络分层模型的核心。传输层负责运行在不同Host上应用进程之间的通信。14. UDP的服务特点UDP是一种无连接的、轻量级传输层协议,提供了最最健的服务模型。没有连接,
22、直观上就应该比TCP更高效。 1、不可靠的数据传输:发送端将数据Push入UDP Socket后,UDP并不保证数据最终会到达接收端,即使到达也不保证是按序到达; 2、没有congestion control机制:发送方可以以任意的速率向网络中发送数据,不管网络的拥塞状况。但发送的数据可能最终到达不了接收方,产生丢包。优点:1、应用可更好控制何时发送何种数据:无须建立连接,UDP可尽快将消息发给网络层;TCP可能需要重传在规定时间内没有到达的Segment。UDP没有建立连接所引入的延迟,这可能是DNS选择UDP而不是TCP的最主要原因。2、实现简单:UDP因为是无连接的,Host因而无须维护
23、连接状态,实现简单;3、头部开销小:UDP的Segment头部字段共8个字节;而TCP的头部共包括20个字节.15.可靠性传输原理可靠性传输原理是由rdt1.0 rdt2.0 rdt2.1 rdt2.2 rdt3.0一步步累加而来的。rdt1.0:接收方无返回确认信息 rdt2.0:接收方进行检错,并发送ACK 或NAK反馈给发送方rdt2.1:加入序列号0和1 rdt2.2:接收方不再发NAK而将ACK中加入序列号rdt3.0:发送方引入定时器以上都是停等式(stop-and-wait)协议为了解决stop-and-wait协议低效问题的方法非常简单,就是允许发送方可以在等待Receiver
24、的ACK之前连续发送多个分组。这种技术叫做流水线。流水线技术对可靠数据传输协议的影响: 1、更大的序列号范围。连续发送的并且是还没有得到ACK的多个分组必须要有唯一的序列号,否则引起混乱。 2、Sender和Receiver方需要存储空间来缓存分组。对于Sender来说,需要缓存已经发送出去但还没有得到ACK的分组;为了实现按序递交,接收方一般也需要存储空间。序列号的范围和Buffer的大小取决于传输层协议如何相应分组丢失、差错以及过度延迟分组的方式。 解决流水线的差错恢复有两种基本方法:回退N步(Go-Back-N)和选择性重传(Selective Repeat) GBN(Go-Back-N
25、)允许发送方发送N个分组而无需确认,流水线中最多有N个等待确认消息的分组,允许使用的序列号范围可以看作是长度为N的一个窗口。随着协议的运行,这个窗口在序列号空间内向前滑动,因此这种协议也叫滑动窗口协议(sliding-window protocol) 在此系统中,一个分组或其ACK的丢失可能造成GBN重传太多的分组。当信道差错率逐渐变大,信道会被不必要的重传分组所塞满。 SR(Selective Repeat)选择性重传就是Sender只重传那些出现错误的分组,而不是窗口中的所有分组。16.TCP的流量控制原理流量控制(flow control)就是让发送方的发送速率不要太快,既要让接收方来得
26、及接收,也不要使网络发生拥塞。实现方式:利用滑动窗口机制可以很方便地在 TCP 连接上实现流量控制。 定义:主要是为避免低速端系统不至于被对端发送的数据所淹没。基本机制是缓冲。流量控制的基本思想比较简单,即TCP的Sender维护一个叫做接收窗口Receiver windows的变量,指示接收方空闲的缓存大小,发送方最多背靠背发送RcvWindow个字节,以免淹没接收方。连接建立时接收方开辟大小为RcvBuffer的缓存,应用进程不断从Buffer中读取数据,利用LastByteRead和LastByteRcvd分别Las记录最后读取的字节和最后收到字节的序列号,则LastByteRcvd-L
27、astByteRead就是在Buffer中应用还未读取的数据。则RcvWindow = RcvBuffer (LastByteRcvd - tByteRead)为空闲的Buffer大小。TCP Segment的头部中包含叫做Receive Window的头部字段,通知发送方自己的空闲Buffer大小。发送方限制自己已经发送的但还未收到ACK的数据不超过接收方的空闲Buffer尺寸。这样,加上那些已经发送了ACK但还未被应用读取的数据后的总量便可小于总的Buffer大小。 17TCP的服务特点、流的概念TCP (Transmission Control Protocol,传输控制协议) 是一种面
28、向连接的协议,即数据传输之前要经过三次握手建立一条全双工连接,然后才能进行真正的数据传输。 TCP除了是一种面向连接的协议外,还提供可靠的、按需到达的字节流数据传输、流控和拥塞控制。无头无尾,连续不断。面向字节流。 (TCP不采用停等式的传输,而用流水线的方式,且序列号是根据数据段的第一个字节填写的) 18TCP的拥塞控制原理TCP拥塞控制的基本思想:避免网络进入一种叫做Gridlock的状态,即检测到网络出现拥塞状况时降低自己的发送速度。具体实现时需要考虑三个问题: 1、如何降低发送速率?2、如何检测网络拥塞?3、利用什么样的算法来减低发送速度?1、如何降低发送速率?CongWin是限制发送
29、速率的主要因素 发送速率 rate CongWin/RTT (bytes/Sec)。因此,通过调整CongWin可以控制发送端的发送速率2、如何检测网络拥塞?超时/收到对某个分组的三次重复确认消息ACK,则认为网络出现拥塞。此时,TCP降低自己的发送速率3、利用什么样的算法来减低发送速度? TCP的拥塞控制算法主要包括三部分: 1) 加性增-乘性减(Additive Increase, Multiplicative Decrease, AIMD)2) 慢启动3) 对超时事件的反应19TCP连接建立和拆除的过程TCP的连接建立过程是:首先由Client进程发起、服务器确认、客户再确认,其中前两次
30、segment中没有数据,而第三次中可以携带数据。TCP的连接建立过程也叫三次握手。TCP的连接拆除过程是:首先由Client进程发FIN给服务器、服务器确认、服务器再发FIN给Client,Client确认。四次握手。在发送完最后的ACK后,发起连接拆除方需要等待一段时间,以便在ACK丢失时,拆除方可以重新发送ACK。一般等待30s。20TCP段结构中各单元表示的意义与作用源端口和目的端口字段各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。 序号字段占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所
31、发送的数据的第一个字节的序号。 确认号字段占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。 数据偏移(即首部长度)占 4 位,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位是 32 位字(以 4 字节为计算单位)。 保留字段占 6 位,保留为今后使用,但目前应置为 0。 紧急 URG 当 URG = 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。 确认 ACK 只有当 ACK = 1 时确认号字段才有效。当 ACK = 0 时,确认号无效。 推送 PSH (PuSH) 接收 TCP 收到 PSH = 1 的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。 复位 RST (ReSeT) 当 RST = 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1