可以在全网范围内提供对处理资源、存储资源、输入输出资源等昂贵设备的共享,使用户节省投资也便于集中管悝和均衡分担负荷。
允许互联网上的用户远程访问各类大弄数据库可以得到网络文件传送服务、远地进程管理服务和远程文件访问服务,从而避免软件研制上的重复劳动以及数据资源的重复存贮也便于集中管理。
计算机网络为分布在各地的用户提供了强有力的通信手段用户可以通过计算机网络传送电子邮件、发布新闻消息和进行电子商务活动。
当计算机网络中某个计算机系统负荷过重时可以将其处悝的某个复杂任务分配给网络中的其他计算机系统,从而利用空闲计算机资源以提高整个系统的利用率
客户-服务器(C/S):客户是服务的请求方服务器是服务的提供方。
对等(P2P):不区分客户和服务器
电路交換:整个报文的比特流从源点连续的直达终点,像在一个管道中传输包括建立连接、传输数据和断开连接三个阶段。最典型的电路交换網络是传统电话网络
报文交换:将整个报文转发到相邻节点,全部存储下来查找转发表,转发到下一个节点是存 储-转发类型的网络。
分组交换:将报文分组转发到相邻节点查找转发表,转发到下一个节点也是存储-转发类型的网络。
本來表示通信线路允许通过的信号频带范围,但在计算机网络中带宽表示网络的通信线路所能传送数据的能力,是数字信道所能传送的“朂高数据率”的同义词单位是比特/秒(b/s)。
总时延 = 排队时延 + 处理时延 + 传输时延 + 传播时延
分组在路由器的输入队列和输出队列中排队等待的時间取决于网络当前的通信量。
主机或路由器收到分组时进行处理所需要的时间例如分析首部、从分组中提取数据、进行差错检验或查找适当的路由等。
(3) 传输时延(发送时延)
结点将分组所有比特推向链路所需的时间
电磁波在信道中传播所需要花费的时间,电磁波传播的速度接近光速
指发送端发送的第一个比特即将到达终点时,发送端已经发送了多少个比特因此又称以比特为单位的链路长度,即时延帶宽积 = 传播时延 * 信道带宽
1、面向连接服务与无连接服务
在面向连接服务中 通信前双方必须先建立連接, 分配相应的资源(如缓冲区) 以保证通信能正常进行, 传输结束后释放连接和所占用的资源因此这种服务可以分为连接建立、數据传输和连接释放三个阶段。例如TCP就是一种面向连接服务的协议
在无连接服务中, 通信前双方不需要先建立连接 需要发送数据时可矗接发送,把每个带有目的地址的包(报文分组) 传送到线路上 由系统选定路线进行传输。这是一种不可靠的服务这种服务常被描述為“尽最大努力交付" (Best-Effort-Delivery), 它并不保证通信的可靠性。例如IP、UDP就是一种无连接服务的协议
2、可靠服务和不可靠服务
可靠服务是指网络具有纠错、检错、应答机制, 能保证数据正确、可靠地传送到目的地不可靠服务是指网络只是尽晕正确、可靠地传送, 而不能保证数据正确、可靠地传送到目的地 是一种尽力而为的服务。
对于提供不可靠服务的网络 其网络的正确性、可靠性要由应用或用户来保障。例如 用户收到信息后要判断信息的正确性, 如果不正确 那么用户要把出错信息报告给信息的发送者,以便发送者采取纠正措施通过用户的这些措施, 可以把不可靠的服务变成可靠的服务
3、有应答服务和无应答服务
有应答服务是指接收方在收到数据后向发送方给出相应的应答,該应答由传输系统内部自动实现 而不由用户实现。所发送的应答既可以是肯定应答 也可以是否定应答, 通常在接收到的数据有错误时發送否定应答例如, 文件传输服务就是一种有应答服务
无应答服务是指接收方收到数据后不自动给出应答。若需要应答 则由高层实現。例如 对 于WWW服务, 客户端收到服务器发送的页面文件后不给出应答
应用层 :为特定应用程序提供数据传输服务,例如 HTTP、DNS 等协议数據单位为报文。
传输层 :为进程提供通用数据传输服务由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的应用层协议运输层包括两种协议:传输控制协议 TCP,提供面向连接、可靠的数据传输服务数据单位为报文段;用户数据报协议 UDP,提供无连接、尽最夶努力的数据传输服务数据单位为用户数据报。TCP 主要提供完整性服务UDP 主要提供及时性服务。(流量控制、差错控制、服务质量、数据傳输管理、端到端)
网络层 :为主机提供数据传输服务而传输层协议是为主机中的进程提供数据传输服务。网络层把传输层传递下来的報文段或者用户数据报封装成分组(流量控制、拥塞控制、差错控制、网际互联)
数据链路层 :网络层针对的还是主机之间的数据传输垺务,而主机之间可以有很多链路链路层协议就是为同一链路的主机提供数据传输服务。数据链路层把网络层传下来的分组封装成帧(封装成帧、差错控制、流量控制、传输管理)
物理层 :考虑的是怎样在传输媒体上传输数据比特流,而不是指具体的传输媒体物理层嘚作用是尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感觉不到这些差异
其中表示层和会话层用途如下:
表示层 :数据压缩、加密以及数据描述,这使得应用程序不必关心在各台主机中数据内部格式不同的问题
会话层 :建立及管理会话。
五层协议没有表示层和會话层而是将这些功能留给应用程序开发者处理。
它只有四层相当于五层协议中数据链路层和物理层合并为网络接口层。
TCP/IP 体系结构不嚴格遵循 OSI 分层概念应用层可能会直接使用 IP 层或者网络接口层。
从本质上说,由物理层、数据链路层和網络层组成的通信子网为网络环境中的主机提供点到点的服务 而传输层为网络中的主机提供端到端的通信。
直接相连的结点之间的通信稱为点到点通信 它只提供一台机器到另一台机器之间的通信,不涉及程序或进程的概念同时,点到点通信并不能保证数据传输的可靠性也不能说明源主机与目的主机之间是哪两个进程在通信,这些工作都是由传输层来完成的
端到端通信建立在点到点通信的基础上,咜是由一段段的点到点通信信道构成的是比点到点通信更高一级的通信方式,以完成应用程序(进程) 之间的通信”端” 是指用户程序的端口,端口号标识了应用层中不同的进程
在计算机网络中,同步(Synchronous)的意思很广泛没有统一的定义。例如协议的三个要素之一就是“ 同步”。在网络编程中常提到的“同步” 则主要指某函数的执行方式 即函数调用鍺需等待函数执行完后才能进入下一步。异步(Asynchronous)可简单地理解为“ 非同步”在数据通信中,同步通信与异步通信区别较大
同步通信的通信双方必须先建立同步, 即双方的时钟要调整到同一个频率收发双方不停地发送和接收连续的同步比特流。主要有两种同步方式: 一种昰全网同步 即用一个非常精确的主时钟对全网所有结点上的时钟进行同步;另一种是准同步, 即各结点的时钟之间允许有微小的误差嘫后采用其他措施实现同步传输。同步通信数据率较高但实现的代价也较高。
异步通信在发送字符时所发送的字符之间的时间间隔可鉯是任意的,但接收端必须时刻做好接收的准备发送端可以在任意时刻开始发送字符, 因此必须在每个字符开始和结束的地方加上标志 即开始位和停止位,以便使接收端能够正确地将每个字符接收下来异步通信也可以帧作为发送的单位。这时帧的首部和尾部必须设囿一些特殊的比特组合,使得接收端能够找出一帧的开始(即帧定界)异步通信的通信设备简单、便宜,但传输效率较低(因为标志的開销所占比例较大)
频分复用:给每个信号分配唯一的载波频率并通过单一媒体来传输多个独立信號的方法。
时分复用:把多个信号复用到单个硬件传输信道它允许每个信号在一个很短的时间使用信道,接着再让下一个信号使用
波汾复用:就是光的频分复用。用一根光纤同时传输多个频率很接近的光载波信号
码分复用:码分复用是用一组包含互相正交的码字的码組携带多路信号。每一个用户可以在同样的时间使用同样的频带进行通信由于各用户使用经过特殊挑选的不同码型,各用户之间不会造荿干扰因此这种系统发送的信号有很强的抗干扰能力。
由于接收发双方各自的工作速率和缓存空间的差异可能絀现发送方的发送能力大于接收方的接收能力的现象,如若此时不适当限制发送方的发送速率(即链路上的信息流量)前而来不及接收嘚帧将会被后面不断发送辈的帧"淹没",造成帧的丢失而出错。
因此流量控制实际上就是限制发送方的数据流量使其发送速率不超过接收方的接收能力。这个过程需要通过某种反馈机制使发送方能够知道接收方是否能跟上自己即需要有一些规则使得发送方知道在什么情况丅可以接着发送下一帧而在什么情况下必须暂停发送,以等待收到某种反馈信息后继续发送
1、停止-等待流量控制方式基本原理(发送窗口大小=1接受窗口大小=1)
发送方每发送一帧,都要等待接收方的应答信号之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号表示可接收下一帧,如果接收方不反馈应答信号那么发送方必须一直等待。每次只允许发送一帧然后就陷叺等待接收方确认信息的过程中,因而传输效率很低
2、滑动窗口流量控制方式基本原理
在任意时刻,发送方都维持一组连续的允许发送嘚帧的序号称为发送窗口;同时接收方也维持一组连续的允许接收帧的序号,称为接收窗口发送窗口用来对发送方进行流量控制,而發送窗口的大小代表在还未收到对方确认信息的情况下发送方最多还可以发送多少个数据帧同理,在接收端设置接收窗口是为了控制可鉯接收哪些数据帧和不可以接收哪些帧在接收方,只有收到的数据帧的序号落入接收窗口内时才允许将该数据帧收下。若接收到的数據帧落在接收窗口之外则一律将其丢弃。
3、后退N帧协议(GBN)(发送窗口大小>1,接收窗口大小=1)
在后退N 帧式ARQ 中发送方无须在收到上一个帧嘚ACK 后才能开始发送下一帧,而是可以连续发送帧当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所囿未被确认的帧;或者当发送方发送了N 个帧后若发现该N 个帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失此时发送方就不得不重传该出错帧及随后的N 个帧。换句话说接收方只允许按顺序接收帧。(接收窗口大小=1则按序接收)
后退N 帧协议一方面因连续发送数据帧而提高了信道的利用率另一方面在重传时又必须把原来已传送正确的数据帧进行重传(仅因这些数据帧的前面有┅个数据帧出了错),这种做法又使传送效率降低由此可见,若信道的传输质量很差导致误码率较大时后退N 帧协议不一定优于停止-等待协议。
4、选择重传协议(SR)(发送窗口大小>1,接收窗口大小>1)
为进一K步提高信道的利用率可设法只重传出现差错的数据帧或计时器超时嘚数据帧,但此时必须加大接收窗口以便先收下发送序号不连续但仍处在接收窗口中的那些数据帧。等到所缺序号的数据帧收到后再一並送交主机这就是选择重传ARQ 协议。
在选择重传协议中每个发送缓冲区对应一个计时器,当计时器超时时缓冲区的帧就会重传。另外该协议使用了比上述其他协议更有效的差错处理策略,即一旦接收方怀疑帧出错就会发一个否定帧NAK给发送方,要求发送方对NAK中指定的幀进行重传
数据链路层的可靠传输通常使用确认和超时重传两种机制来完成
确认是一种无数据的控制帧,这种控制帧使得接收方可以让发送方知道哪些内容被正确接收有些情况下为了提高传输效率,将确认捎带在一个回复帧中称为捎带确认。超时重传是指发送方在发送某个数据帧后就开启一个计时器在一定时间内如果没有得到发送的数据帧的确认帧,那么就重新发送该数据幀直到发送成功为止。
自动重传请求(Auto Repeat reQuest ARQ) 通过接收方请求发送方重传出错的数据帧来恢复出错的帧,是通信中用于处理信道所带来差错的方法之一传统自动重传请求分为三种,即停止-等待(Stop-and-Wait) ARQ 、后退N 帧(Go-Back-N) ARQ 和选择性重传(Selective Repeat)ARQ,后两种协议是滑动窗口技术与请求重发技术的结合由于窗ロ尺寸开到足够大时,帧在线路上可以连续地流动因此又称其为连续ARQ 协议。注意在数据链路层中流量控制机制和可靠传输机制是交织茬一起的。
在随机访问协议中,不采用集中控制方式(信道划分介质访问–时分复用)解决发送信息的次序问题所有用户能根据自己的意愿随机地发送信息,占用信道全部速率在总线形网络中,当有两个或多个用户同时发送信息时就会产生帧的沖突(碰撞,即前面所说的相互干扰)导致所有冲突用户的发送均以失败告终。为了解决随机接入发生的碰撞每个用户需要按照一定嘚规则反复地重传它的帧,直到该帧无碰撞地通过A/这些规则就是随机访问介质访问控制协议,常用的协议有ALOHA 协议、CSMA协议、CSMA/CD 协议和CSMA/CA 协议等它们的核心思想都是:胜利者通过争用获得信道,从而获得信息的发送权
ALOHA协议的思想很简单,只要用户有数据要发送就尽管让他们發送。当然这样会产生冲突从而造成帧的破坏。但是由于广播信道具有反馈性,因此发送方可以在发送数据的过程中进行冲突检测將接收到的数据与缓冲区的数据进行比较,就可以知道数据帧是否遭到破坏同样的道理,其他用户也是按照此过程工作如果发送方知噵数据帧遭到破坏(即检测到冲突),那么它可以等待一段随机长的时间后重发该帧
经侦听,如果介质空闲开始发送
如果介质忙,则等待一个随机分布的时间然后重复步骤1
优点:等待一个随机时间可以减少再次碰撞冲突的可能性
缺点:如果在这个随机时间内介质上没囿数据传送,则会发生浪费
经侦听如介质空闲,开始发送
如介质忙持续侦听,一旦空闲立即发送
如果发生冲突等待一个随机分布的時间再重复步骤1
优点:持续式的延迟时间要少于非持续式
缺点:如果两个以上的站等待发送,一旦介质空闲就一定会发生冲突
经侦听如介质空闲,那么以p的概率发送以(1–p)的概率延迟一个时间单元发送
如介质忙,持续侦听一旦空闲重复步骤1
如果发送已推迟一个时间单元,再重复步骤1
协议是CSMA 协议的改进方案”载波帧听”就是发送前先侦听,即每个站在发送数据之前先要检测一下总线上是否有其他站点正茬发送数据若有则暂时不发送数据,等待信道变为空闲时再发送”碰撞检测”就是边发送边侦听,即适配器边发送数据边检测信道上信号电压的变化情况以便判断自己在发送数据时其他站点是否也在发送数据。工作流程可简单概括为“先听后发边听边发(区别于CSMA 协議),冲突停发随机重发”。
CSMA/CD 协议已成功应用千使用有线连接的局域网但在无线局域网环境下,却不能简单地搬用CSMA/CD 协议特别是碰撞检测部分。主要有两个原因:
点到点协议(Point to Point Protocol,PPP)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议这种链路提供全双工操莋,并按照顺序传递数据包设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间簡单连接的一种共通的解决方案PPP具有以下功能:
(1)PPP具有动态分配IP地址的能力,允许在连接时刻协商IP地址;
(3)PPP具有错误检测能力但鈈具备纠错能力,所以ppp是不可靠传输协议;
(4)无重传的机制网络开销小,速度快
(5)PPP具有身份验证功能。
(6) PPP可以用于多种类型的粅理介质上包括串口线、电话线、移动电话和光纤(例如SDH),PPP也用于Internet接入
HDLC协议使用统一的帧格式,运用方便;采用零比特插入法易於硬件实现,且支持任意的位流传输实现信息的透明传输;全双工通信,吞吐率高在未收到应答帧的情况下,可连续发送信息帧提高数据链路传输的效率;采用CRC帧校验序列,可防止漏帧提高信息传输的可靠性。
(1)对于任何一种比特流都可透明传输
(2)较高的数據链路传输效率。
(3)所有的帧都有帧校验序列(FCS)传输可靠性高。
(4)用统一的帧格式来实现传输
这四种设备都是用于互联、扩展局域网的连接设备但它们工作的层次和实现的功能不同。
中繼器工作在物理层用来连接两个速率相同且数据链路层协议也相同的网段,其功能是消除数字信号在基带传输中由于经过一长段电缆而慥成的失真和衰减使信号的波形和强度达到所需的要求;其原理是信号再生。
集线器(Hub) 也工作在物理层相当于一个多接口的中继器,它鈳将多个结点连接成一个共享式的局域网但任何时刻都只能有一个结点通过公共信道发送数据。
网桥工作在数据链路层可以互联不同嘚物理层、不同的MAC 子层及不同速率的以太网。网桥具有过滤帧及存储转发帧的功能可以隔离冲突域,但不能隔离广播域
交换机工作在數据链路层,相当于一个多端口的网桥是交换式局域网的核心设备。它允许端口之间建立多个并发连接实现多个结点之间的并发传输。因此交换机的每个端口结点所占用的带宽不会因为端口结点数目的增加而减少,且整个交换机的总带宽会随着端口结点的增加而增加交换机一般工作在全双工方式,有的局域网交换机采用存储转发方式进行转发也有的交换机采用直通交换方式(即在收到帧的同时立即按帧的目的MAC 地址决定该帧的转发端口,而不必先缓存再处理)
快速唤起记忆知识框架:
路由器主要完成两个功能:一是路由选择(确定哪一条路径)二是分组转发(当一个分组到达时所采取的动作)。前者是根据特定的路由选择协议构造出路由表同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。后者处理通过路由器的数据流关键操作是转发表查询、转發及相关的队列管理和任务调度等。
路由选择指按照复杂的分布式算法,根据从各相邻路由器所得到的关于整个网络拓扑的变化情况動态地改变所选择的路由。
分组转发指路由器根据转发表将用户的IP 数据报从合适的端口转发出去。路由表是根据路由选择算法得出的洏转发表是从路由表得出的。转发表的结构应当使查找过程最优化路由表则需要对网络拓扑变化的计算最优化。在讨论路由选择的原理時往往不去区分转发表和路由表,而是笼统地使用路由表一词
1、距离-向量路由算法(例如RIP算法)
在距离-向量路由算法中,所有结点嘟定期地将它们的整个路由选择表传送给所有与之直接相邻的结点这种路由选择表包含:1.每条路径的目的地(另一结点)。2.路径的代价(也称距离)
在这种算法中,所有结点都必须参与距离向量交换以保证路由的有效性和一致性,也就是说所有的结点都监听从其他結点传来的路由选择更新信息,并在下列情况下更新它们的路由选择表:
2、链路状态路由算法(例如OSPF算法)
鏈路状态路由算法要求每个参与该算法的结点都具有完全的网络拓扑信息它们执行下述两项任务。第一主动测试所有邻接结点的状态。两个共享一条链接的结点是相邻结点它们连接到同一条链路,或者连接到同一广播型物理网络第二,定期地将链路状态传播给所有其他结点(或称路由结点)
距离-向量路由算法与链路状态路由算法的比较:在距离-向量路由算法中每个结点仅与它的直接邻居交谈,它为它的邻居提供从自已到网络中所有其他结点的最低费用估计在链路状态路由算法中,每个结点通过广播的方式与所有其他结点交談但它仅告诉它们与它直接相连的链路的费用。相较之下距离~向量路由算法有可能遇到路由环路等问题。
3、一个自治系统内部所使鼡的路由选择协议称为内部网关协议(IGP), 也称域内路由选择具体的协议有RIP 和OSPF 等。
路由信息协议(Routing Information Protocol, RIP) 是内部网关协议IGP中最先得到广泛应用的协议RIP 昰一种分布式的基于距离向量的路由选择协议,其最大优点是简单
开放最短路径优先(OSPF) 协议是使用分布式链路状态路由算法的典型代表,也是内部网关协议(IGP) 的一种OSPF 與RIP 相比有以下4 点主要区别:
除以上区别外, OSPF 还有以下特点:
4、 自治系统之间所使用的路由选择协议称为外部网关协议(EGP), 也称域间路由选择,用在不同自治系统的路由器之间交换路由信息並负责为分组在不同自治系统之间选择最优的路径。具体的协议有BGP
边界网关协议(Border Gateway Protocol, BGP) 是不同自治系统的路由器之间交换路由信息的协议,是┅种外部网关协议边界网关协议常用于互联网的网关之间。路由表包含已知路由器的列表、路由器能够达到的地址及到达每个路由器的蕗径的跳数内部网关协议主要设法使数据报在一个AS 中尽可能有效地从源站传送到目的站。在一个AS内部不需要考其他方面的策略然而BGP 使鼡的环境却不同,主要原因如下:
边界网关协议(BGP) 只能力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非寻找一条最佳路由BGP 采用的是路径向量路由选择协议,它与距离向量协议和链路状态协议有很大的区别BGP 是应用层协議,它是基于TCP 的
BGP 的工作原理如下:每个自治系统的管理员要选择至少一个路由器(可以有多个)作为该自治系统的"BGP 发言人“。一个BGP 发言囚与其他自治系统中的BGP 发言人要交换路由信息就要先建立TCP 连接(可见BGP 报文是通过TCP 传送的,也就是说BGP 报文是TCP 报文的数据部分)然后在此連接上交换BGP 报文以建立BGP 会话,再利用BGP 会话交换路由信息当所有BGP 发言人都相互交换网络可达性的信息后,各BGP 发言人就可找出到达各个自治系统的较好路由
注意:得到下一跳路由器的IP 地址后并不是直接将该地址填叺待发送的数据报而是将该IP 地址转换成MAC 地址(通过ARP),将其放到MAC 帧首部中然后根据这个MAC 地址找到下一跳路由器。在不同网络中传送时 MAC 帧中的源地址和目的地址要发生变化,但是网桥在转发帧时不改变帧的源地址,请注意区分
IP 地址是网络层使用的地址,它是分层次等级的MAC地址是数据链路层使用的地址,它是平面式的在网络层及网络层之上使用IP 地址, IP 地址放在IP 数据报的首部而MAC 地址放在MAC帧的首部。通过数据封装把IP 数据报分组封装为MAC 帧后,数据链路层看不见数据报分组中的IP地址
由于路由器的隔离,IP 网络中无法通过广播方式依靠MAC 哋址来完成跨网络的寻址因此在IP网络的网络层只使用IP 地址来完成寻址。寻址时IP每个路由器依据其路由表(依靠静态路由或动态路由协議生成)选择到目标网络(即主机号全为0 的网络地址)需要转发到的下一跳(路由器的物理端口号或下一网络地址),而IP 分组通过多次路甴转发到达目标网络后改为在目标LAN 中通过数据链路层的MAC 地址以广播方式寻址。这样可以提高路由选择的效率
注意:路由器由于互联多個网络,因此它不仅有多个IP 地址也有多个硬件地址。
无论网络层使用什么协议,在实际网络的链路上传送数据帧时最終必须使用硬件地址。所以需要一种方法来完成IP 地址到MAC 地址的映射这就是地址解析协议(Address ResolutionProtocol)。每台主机都设有一个ARP 高速缓存用来存放本局域网上各主机和路由器的IP地址到MAC 地址的映射表,称ARP 表使用ARP 来动态维护此ARP 表。
ARP 工作在网络层其工作原理如下:主机A 欲向本局域网上的某台主机B 发送IP 数据报时,先在其ARP 高速缓存中查看有无主机B 的IP 地址如有,就可查出其对应的硬件地址再将此硬件地址写入MAC 帧,然后通过局域网将该MAC 帧发往此硬件地址如果没有,那么就通过使用目的MAC 地址为FF-FF-FF-FF-FF-FF 的帧来封装并广播ARP 请求分组使同一个局域网里的所有主机收到ARP 请求。主机B 收到该ARP 请求后向主机A 发出响应ARP 分组,分组中包含主机B 的IP与MAC 地址的映射关系主机A 在收到后将此映射写入ARP 缓存,然后按查询到的硬件地址发送MAC 帧ARP 由于“看到了"IP 地址,所以它工作在网络层而NAT路由器由于“看到了“端口,所以它工作在传输层
注意: ARP 用于解决同一個局域网上的主机或路由器的IP 地址和硬件地址的映射问题。如果所要找的主机和源主机不在同一个局域网上那么就要通过ARP 找到一个位于夲局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网絡来做尽管ARP 请求分组是广播发送的,但ARP 响应分组是普通的单播即从一个源地址发送到一个目的地址。
动态主机配置协议(Dynamic Host Configuration Protocol, DHCP) 常用于给主机动态地分配IP 地址,它提供了即插即用联网的机制这种机制允许一台计算机加入新的网络和获取IP 地址而不用手工参与。DHCP 是应用层协议它是基于UDP 的。
DHCP 的工作原理如下:使用客户/服务器方式需要IP 地址的主机在启动时就向DHCP 服务器广播发送发现报文,这时該主机就成为DHCP 客户本地网络上所有主机都能收到此广播报文,但只有DHCP 服务器才回答此广播报文DHCP 服务器先在其数据库中查找该计算机的配置信息。若找到则返回找到的信息。若找不到则从服务器的IP 地址池中取一个地址分配给该计算机。DHCP 服务器的回答报文称为提供报文
DHCP 服务器聚合DHCP 客户端的交换过程如下:
DHCP 允许网络上配置多台DHCP 服务器当DHCP 愙户机发出DHCP 请求时,有可能收到多个应答消息这时,DHCP 客户机只会挑选其中的一个通常挑选最先到达的。DHCP 服务器分配给DHCP 客户的IP 地址是临時的因此DHCP 客户只能在一段有限的时间内使用这个分配到的IP 地址。DHCP 称这段时间为租用期租用期的数值应由DHCP 服务器自己决定, DHCP 客户也可在洎已发送的报文中提出对租用期的要求
为了提高IP 数据报交付成功的机会在网络层使用了网际控制报文协议(Internet ControlMessage Protocol, ICMP) 来让主機或路由器报告差错和异常情况。ICMP 报文作为IP 层数据报的数据加上数据报的首部,组成IP 数据报发送出去ICMP 是IP 层协议。ICMP 报文的种类有两种即ICMP 差错报告报文和ICMP 询问报文。ICMP 差错报告报文用于目标主机或到目标主机路径上的路由器向源主机报告差错和异常情况共有以下5种类型:
快速唤起记忆知识框架:
从通信和信息处理的角度看传输层向它上面的应用层提供通信服务,它属千面向通信部分嘚最高层同时也是用户功能中的最低层。传输层位于网络层之上它为运行在不同主机上的进程之间提供了逻辑通信,而网络层提供主機之间的逻辑通信显然,即使网络层协议不可靠(网络层协议使分组丢失、混乱或重复)传输层同样能为应用程序提供可靠的服务。
傳输层提供应用进程之间的逻辑通信(即端到端的通信)与网络层的区别是,网络层提供的是主机之间的逻辑通信从网络层来说,通信的双方是两台主机IP 数据报的首部给出了这两台主机的IP地址。但“两台主机之间的通信”实际上是两台主机中的应用进程之间的通信應用进程之间的通信又称端到端的逻辑通信。
复用和分用复用是指发送方不同的应用进程都可使用同一个传输层协议传送数据;分用是指接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程。
传输层还要对收到的报文进行差错检测(首部和数据部汾)而网络层只检查IP 数据报的首 部,不检验数据部分是否出错
提供两种不同的传输协议,即面向连接的TCP 和无连接的UDP 而网络层无法同時实现两种协议(即在网络层要么只提供面向连接的服务,如虚电路;要么只提供无连接服务如数据报,而 不可能在网络层同时存在这兩种方式)
RFC 768 定义的UDP 只是做了传输协议能够做的最少工作,它仅在IP 的数据报服务之上增加了两个最基本的服务:复用和分用以及差错检测如果应用程序开发者选择UDP 而非TCP,那么应用程序几乎直接与IP 打交道。为什么应用开发人员宁愿在UDP 之上构建应用也不选择TCP? 既然TCP提供可靠的服務,而UDP 不提供那么TCP 总是首选吗?答案是否定的因为有很多应用更适合用UDP,主要是因为UDP 具有如下优点:
TCP 是在不可靠的IP 层之上实现的可靠的数据传输协议它主要解决传输的可靠、有序、无丢失和不重复问题。TCP 是TCP/IP 体系中非常复杂的一个协议主要特点如下:
在TCP 连接建立的过程中要解决以下三个问题:
第一步:客户机的TCP 首先向服务器的TCP 发送一个连接请求报文段这个特殊的报文段中不含应用层数據,其首部中的SYN标志位被置为1 另外,客户机会随机选择一个起始序号seq =x(连接请求报文不携带数据但要消耗一个序号)。
第二步:服务器的TCP 收到连接请求报文段后如同意建立连接,就向客户机发回确认并为该TCP 连接分配TCP 缓存和变量。在确认报文段中 SYN 和ACK 位都被置为1, 确认號字段的值为x+ 1, 并且服务器随机产生起始序号seq= y( 确认报文不携带数据,但也要消耗一个序号)确认报文段同样不包含应用层数据。
第三步:當客户机收到确认报文段后还要向服务器给出确认,并且也要给该连接分配缓存和变量这个报文段的ACK 标志位被置1, 序号字段为x+ 1, 确认号字段ack=y+ 1 。该报文段可以携带数据若不携带数据则不消耗序号。
成功进行以上三步后就建立了TCP 连接,接下来就可以传送应用层数据TCP 提供的昰全双工通信,因此通信双方的应用进程在任何时候都能发送数据另外,值得注意的是服务器端的资源是在完成第二次握手时分配的,而客户端的资源是在完成第三次握手时分配的这就使得服务器易于受到SYN 洪泛攻击。
第一步:客户机打算关闭连接时向其TCP 发送一个连接释放报文段,并停止发送数据主动关闭TCP 连接,该报文段的FIN 标志位被置1, seq= u, 它等于前面已传送过的数据的最后一个字节的序号加1 (FIN 报文段即使鈈携带数据也要消耗一个序号)。TCP 是全双工的即可以想象为一条TCP 连接上有两条数据通路。发送FIN 报文时发送FIN 的一端不能再发送数据,即关闭了其中一条数据通路但对方还可以发送数据。
第二步:服务器收到连接释放报文段后即发出确认确认号是ack = u + 1, 而这个报文段自己的序号是V, 等于它前面已传送过的数据的最后一个字节的序号加1 。此时从客户机到服务器这个方向的连接就释放了, TCP 连接处于半关闭状态泹服务器若发送数据,客户机仍要接收即从服务器到客户机这个方向的连接并未关闭。
第三步:若服务器已经没有要向客户机发送的数據就通知TCP 释放连接,此时其发出FIN= 1 的连接释放报文段
第四步:客户机收到连接释放报文段后,必须发出确认在确认报文段中, ACK 字段被置为1, 确认号ack= w + 1, 序号seq= u + 1 此时TCP 连接还未释放,必须经过时间等待计时器设置的时间2MSL 后 A 才进入连接关闭状态。
对上述TCP 连接建立和释放的总结如下:
所谓拥塞控制,是指防止过多的数据注入网络保证网络中的路由器或链路小致过载。出现拥塞时端点并不了解到拥塞发生的细节,对通信连接的端点来说拥塞往往表现为通信时延的增加。当然拥塞控制和流量控制也有相似的地方,即它们都通过控制发送方发送数据的速率来达到控制效果
拥塞控制与流量控制的区别:拥塞控制是让网络能够承受现有的网络负荷,是一个全局性的过程涉及所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素相反,流量控制往往是指点对点的通信量的控制即接收端控制发送端,它所要做的是抑制发送端发送数据的速率以便使接收端来得及接收。
1、慢开始算法(接收窗口rwnd拥塞窗口cwnd)
在TCP 剛刚连接好并开始发送TCP 报文段时,先令拥塞窗口cwnd = 1, 即一个最大报文段长度MSS 每收到一个对新报文段的确认后,将cwnd 加1, 即增大一个MSS 用这样的方法逐步增大发送方的拥塞窗口cwnd, 可使分组注入网络的速率更加合理。使用慢开始算法后每经过一个传输轮次(即往返时延RTT), 拥塞窗口cwnd 就会加倍,即cwnd 的大小指数式增长这样,慢开始一直把拥塞窗口cwnd 增大到一个规定的慢开始门限ssthresh(阔值)然后改用拥塞避免算法。
拥寒避免算法嘚做法如下:发送端的拥塞窗口cwnd 每经过一个往返时延RTT 就增加一个MSS的大小而不是加倍,使cwnd 按线性规律缓慢增长(即加法增大)而当出现┅次超时(网络拥塞)时,令慢开始门限ssthresh 等于当前cwnd 的一半(即乘法减小)
快重传技术使用了冗余ACK 来检测丢包的发生。同样冗余ACK 也用千網络拥塞的检测(丢了包当然意味着网络可能出现了拥塞)。快重传并非取消重传计时器而是在某些情况下可更早地重传丢失的报文段。当发送方连续收到三个重复的ACK 报文时直接重传对方尚未收到的报文段,而不必等待那个报文段设置的重传计时器超时
快恢复算法的原理如下:发送端收到连续三个冗余ACK (即重复确认)时,执行“乘法减小”算法把慢开始门限ssthresh 设置为出现拥塞时发送方cwnd 的一半。与慢开始(慢开始算法将拥塞窗口cwnd 设置为1) 的不同之处是它把cwnd 的值设置为慢开始门限ssthresh 改变后的数值,然后开始执行拥塞避免算法(“加法增大”)'使拥塞窗口缓慢地线性增大由于跳过了cwnd 从1 起始的慢开始过程,所以被称为快恢复
服务器结束TCP 连接的时间要比客户机早一些,因为客户机最后要等待2MSL 后才可进入CLOSED状态
这主要是为了防止两次握手情况下已失效的连接请求报文段突然又传送到服务器而产生错误考虑下面這种情况。客户A 向服务器B 发出TCP 连接请求第一个连接请求报文在网络的某个结点长时间滞留, A 超时后认为报文丢失千是再重传一次连接請求, B 收到后建立连接数据传输完毕后双方断开连接。而此时前一个滞留在网络中的连接请求到达服务器B, 而B 认为A 又发来连接请求,此時若使用“三次握手”则B 向A 返回确认报文段,由于是一个失效的请求因此A 不予理睬,建立连接失败若采用的是“两次握手”,则这種情况下B 认为传输连接已经建立并一直等待A 传输数据,而A 此时并无连接请求因此不予理睬,这样就造成了B的资源白白浪费
快速唤起記忆知识框架:
域名解析是指把域名映射成为IP 地址或把IP 地址映射成域名的过程前者称为正向解析,后者称为反向解析當客户端需要域名解析时,通过本机的DNS 客户端构造一个DNS 请求报文以UDP数据报方式发往本地域名服务器。域名解析有两种方式:递归查询和遞归与迭代相结合的查询
文件传输协议(file Transfer Protocol, FTP) 是因特网上使用得最广泛的文件传输协议FTP提供交互式的访问,允许客户指明攵件的类型与格式并允许文件具有存取权限。它屏蔽了各计算机系统的细节因而适合于在异构网络中的任意计算机之间传送文件。FTP 提供以下功能:
(1)提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力
(2)以用户权限管理的方式提供用户对远程FTP 服务器上的文件管理能力。
(3)以匿名FTP 的方式提供公用文件共享的能力
FTP 采用客户/服务器的工作方式,它使用TCP 可靠的传输服务一个FTP 垺务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程负责接收新的请求;另外有若干从属进程,负責处理单个请求其工作步骤如下:
(1)打开熟知端口21 (控制端口),使客户进程能够连接上
(2)等待客户进程发连接请求。
(3)启动从屬进程来处理客户进程发来的请求主进程与从属进程并发执行,从属进程对客户进程的请求处理完毕后即终止
(4)回到等待状态,继續接收其他客户进程的请求
简单邮件传输协议(Simple Mail Transfer Protocol, SMTP) 是一种提供可靠且有效的电子邮件传输的协议它控制两个相互通信嘚SMTP 进程交换信息。由于SMTP 使用客户/服务器方式因此负责发送邮件的SMTP 进程就是SMTP 客户,而负责接收邮件的SMTP 进程就是SMTP 服务器SMTP 用的是TCP 连接,端ロ号为25 SMTP 通信有以下三个阶段:(1) 连接建立(2) 邮件传送(3)连接释放。
邮局协议(Post Office Protocol, POP) 是一个非常简单但功能有限的邮件读取协议现在使用的是它的第3 個版本POP3 。POP3 采用的是“拉" (Pull) 的通信方式当用户读取邮件时,用户代理向邮件服务器发出请求“拉”取用户邮箱中的邮件。POP 也使用客户/服務器的工作方式在传输层使用TCP, 端口号为110 。接收方的用户代理上必须运行POP 客户程序而接收方的邮件服务器上则运行POP 服务器程序。POP 有两种笁作方式:“下载并保留”和“下载并删除"在“下载并保留”方式下,用户从邮件服务器上读取邮件后邮件依然会保存在邮件服务器上,用户可再次从服务器上读取该邮件;而使用“下载并删除“方式时邮件一旦被读取,就被从邮件服务器上删除用户不能再次从垺务器上读取。
随着万维网的流行目前出现了很多基于万维网的电子邮件,如Hotmail 、Gmail 等这种电子邮件的特点是,用户浏览器与Hotmail 或Gmail 的邮件服務器之间的邮件发送或接收使用的是HTTP, 而仅在不同邮件服务器之间传送邮件时才使用SMTP
HTTP 定义了浏览器(万维网客户进程)怎樣向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器从层次的角度看, HTTP 是面向事务的(Transaction-oriented) 应用层协议它规定了在浏览器和服务器之间的请求和响应的格式与规则,是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础
鼡户单击鼠标后所发生的事件按顺序如下(以访问清华大学的网站为例):
年硕士生网络远程复试考生须知忣平台操作指南
年全国硕士研究生招生工作管理规定》
《国家教育考试违规处理办法》
中华人民共和国刑法修正案
《普通高等学校招生违規行为处理暂行办法》
在法律规定的国家考试中
弊提供作弊器材或者其他帮助的行为;
非法出售或者提供考试的试题、
替自己参加考试嘚行为都将触犯刑法。
在复试过程中有违规行为的考
生一经查实,即按照规定严肃处理取消录取资格,记入《考生考
个月内我校将按照《普通高等学校学生管理规定》有
关要求,对所有考生进行全面复查特别是考生的身份信息。复查不
合格的取消学籍;情节严重嘚,移交有关部门调查处理
研究生复试是国家教育考试的重要组成部分。复试过程中禁
止考生录音、录像和录屏禁止将相关信息泄露戓公布。
复试前按要求安装调试好设备复试笔记本电脑摄像头对准
考生本人,考生本人保持坐姿端正双手和头部完全呈现在复试专
家鈳见画面中。手机摄像头从考生后方成
考生提前测试设备和网络