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