赞
踩
一、网络硬件
关于计算机网络,没有一种被普遍接受的分类方法,但有两个因素非常重要:传输技术和距离尺度
目前普遍使用的传输技术有两种:
(1)广播式连接
(2)点到点连接
广播式网络(broadcast networks)只有一个通信信道,网络上所有的机器都共享该信道。机器间传递的是短消息(分组或包),任何一台机器发送的短消息可以被其他所有机器接收到。分组中有一个地址域,指明了该分组的目标接收者。一台机器接收到一个分组后,它检查地址域。如果该分组是发送给他的,那么它就处理,否则,忽略。此外,可以通过地址域实现让所有机器都就收处理,或者让一组机器接受处理。
点到点网络是由许多连接构成,每一个连接对应一对机器。将一个分组传递到目的地可能要经过多台机器,所以最优路径对点到点网络很重要。
一般原则:越小的,地理位置局部化的网络倾向于广播传播模式,而大的网络倾向于点到点传播模式。
分类网络的另一个准则是网络的距离尺度。相应的可以划分为
局域网(local area network,LAN)
城域网(metropolitan area network,MAN)
广域网(wide area network,WAN)
无线网络
二、网络软件
为了降低网络设计的复杂性,绝大多数网络都组织成一队相互叠加的层,每一层都建立在其下一层的基础之上。
数据不是从一台机器的第n层直接传递到另一台机器的第n层。相反,每一层都将数据和控制信息传递给它的下一层,这样一直传递到最低下的层。第一层最下面是物理介质。
层和协议的集合称为网络体系结构。一个特定的系统所使用的的一组协议(每层一个协议)称为协议栈。
各层的实际问题
面向连接与无连接的服务
服务原语:一个服务通常是由一组原语(primitive)操作来描述的,用户进程通过这些原语操作可以访问服务。
OSI参考模型
OSI(Open System Interconnection)
物理层(physical layer):涉及到在通信信道上传输的原始数据位。
数据链路层(data link layer):主要将一个原始的传输设施转变成一条逻辑的传输线路,在这条传输线路上,所有检测出来的传输错误也会反应到网络层。数据链路层的做法是:让发送方将输入的数据拆分,分装到数据帧(data fram,通常几百或几千个字节),然后顺序的传送这些数据帧。如果是可靠的服务,接收方接收到后,给发送方送回一个确认帧(acknowledgement frame)。问题:快速发送方“淹没”掉慢速的接收方。解决:流量调节机制。
网络层(network layer):控制子网的运行过程。网络层应当确定如何将分组从源端路由到目标端。问题:两个网络的编址方案不同,连接的问题。分组太大,另一个网络无法接受。
传输层(transport layer):基本功能是接收来自上一层的数据,并且在必要的时候把这些数据分割成很小的单元,然后把数据单元传递给网络层,并确保这些数据片段都能够的到达另一端。
会话层(session layer):允许不同机器上的用户之间建立回话。
表示层(presentation layer):表示层下面各层中,关注的是如何传递数据位,而表示层关注的是所传递的信息的语法和语义。不同计算机可能会使用不同的数据表示法,为了让这些计算机能够进行通信,它们所交换的数据结构必须以一种抽象的方式来定义,同时,表示层还应该定义一种标准的编码方式,用来表达网络线路上所传递的数据。
应用层(application layer):包含了各种各同样的协议,这些协议往往直接针对用户的需要,一个广泛使用的应用协议是HTTP(HyperText Transfer Protocol),它也是WWW(万维网)的基础。
TCP/IP参考模型
包括四层:应用层,传输层,互联网层,主机至网络。
互联网层(Internet layer):互联网层定义了正式的分组格式和协议,该协议称为IP(Internet Protocol)。互联网层的任务是将IP分组投递到它们该去的地方。分组路由和避免拥塞是最主要的问题。
传输层:它的设计目标是容许源和目标主机上的对等体之间可以进行对话。包括TCP(Transport Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)。
应用层:包括
主机至网络层:TCP/IP参考模型并没有明确规定这里应该有哪些内容,它只是指出,主机必须通过某个协议连接到网络上,以便可以将分组发送到网络上。
三、物理层(简单介绍)
数据通信理论的基础:傅立叶分析
有导向的传输介质
无线传输
电波传输
红外线和毫米波
光波传输
各类通信卫星
移动通信系统及有线电视
四、数据链路层
数据链路层的设计要点
数据链路层要完成的特点的功能
为了实现这些目标,数据链路层从网络层获取到分组,然后将这些分组封装到帧中以便传输。每一帧包括一个帧头、一个有效载荷域(用于存放分组),以及一个帧尾。帧管理构成了数据链路层的工作核心。
数据链路层的功能是为网络层提供服务。最主要的服务是将数据从源机器的网络层传输到目标机器的网络层。
一般情况下,提供三种服务:
成帧:物理层的任务是接收一个原始的位流,并试图将它递交给目标机器,这个位流容易产生错误(位的数量改变,值发生变化等),检测错误和纠正错误的工作是由数据链路层来完成。
由于依靠时间来标识每一帧的起始和结束位置风险太大,所以要设计其他方法。
错误控制:接收方送回一些特殊的控制帧用以确认信息。帧丢失的情况,可以采用定时器来解决(例如,超过定时器限制时间,则重发帧)。
流控制:如果发送方发送的帧的速度超过了接收方能够接受的这些帧的速度,则发送方该如何处理呢?解决办法:
错误检测和纠正
基本的数据链路协议
基本假设:1.多数情况下,物理层和数据链路层进程会在一个特殊的网络I/O电路中的一个处理器上运行;而网络层代码则在主CPU上运行(其他情况也是可能的)。2.机器A希望用一个可靠地、面向连接的服务,向机器B发送一个长的数据流。
一个无限制的单工协议:该协议中,数据只能单向传输,传输方和接收方的网络层总是处于准备就绪的状态。处理的时间可以被忽略。假设缓存空间无限大。数据链路层之间的通信信道永远不会损坏或者丢失帧。
一个单工的停-等协议:需要处理的问题是如何避免发送方用超过接收能力的大量数据来淹没接收方。一般解决方案为,让接收方提供反馈信息给发送方。发送方送出一帧,然后先等待一个确认,再继续发送,这样的协议称为停-等协议(stop-and-wait)。
有噪声信道的单工协议:可能的情况就是有噪声的情况会导致帧信息损坏。确认帧完全丢失就会导致数据源机器不断地向目标机器发送相同的帧数据。解决办法:可以通过在每一帧的头部放上一个序列号用于判断是新帧还是重复帧。
滑动窗口协议(sliding window protocol):
上面的协议中,数据帧只在一个方向上传输。而大多数情况数据传输是双向的。解决办法:全双工数据传输(例如,使用两条独立的通信信道)。但这样会导致逆向信道带宽的浪费。
更好的办法:使用一条线路来传输两个方向上的数据。该模型中,从机器A到机器B的数据帧可以与从机器A到机器B的确认帧混合在一起。接收方只要检查证的头部的kind域,就可以区别该帧是数据还是确认。
更好的改进:当一个数据帧到达的时候,接收方并不是立即发送一个单独的控制帧,而是等待一会,直到网络层传递给它下一个分组,将确认信息(控制帧)和外发数据帧一起发送。这种将确认暂时延迟以便钩到下一个外发数据帧的技术称为捎带确认(piggybacking)。问题:数据链路层应该等待下一个分组多长时间?
滑动窗口协议的本质是:在任何时刻,发送方总是维持着一组序列号,分别对应于允许它发送的帧。我们称这些帧落在发送窗口(sending window)之内。类似的,接收方也维持着一个接收窗口(receiving window),对应于一组允许它接收的帧。发送方的窗口和接收方的窗口不必有同样的上下界,甚至比必有同样的大小。有些协议中,窗口有固定的大小,另一些协议中窗口的大小变化。
发送方必须在内存中保存好所有这些帧,以便可能进行重传。如果最大窗口尺寸为n,则发送方需要n个缓冲区来存放未被确认的帧。
接收方数据链路层窗口对应于它可以接受的帧。任何落在窗口外面的帧都被丢弃,无需任何提示。
1位滑动窗口协议:一个最大窗口尺寸为1的滑动窗口协议。由于发送方在送出一帧以后,在发送下一帧之前要等待前一帧的确认。因此这样的1位滑动窗口协议使用了停-等的办法。
使用回退n帧技术的协议:目前为止,我们默认的假设是,一帧到达接收方所需要的传输时间加上确认帧回来的传输时间可以忽略不计。有时候这种假设是不正确的。
协议的验证(了解)
数据链路层协议示例
SDLC(Synchronous Data Link Control,同步数据链路控制)协议(IBM提出))
Internet中的数据链路层
总结:数据链路层的任务是将物理层提供的原始位流转换成可供网络层使用的帧流。用到的成帧方法包括:字符计数法、字节填充法和位填充法。为了避免快速发送方淹没一个慢速的接收方,数据链路协议需要提供流量控制功能。滑动窗口机制,两个窗口大小都为1,滑动窗口机制变成了停-等协议,当发送窗口大于1,接收方可以除了下一个顺序帧外丢弃其他帧,或将所有乱序的帧缓存起来,一直到需要这些帧的时候。
五、网络层
六、传输层
七、应用层
八、网络安全##计算机网络基础学习笔记
一、网络硬件
关于计算机网络,没有一种被普遍接受的分类方法,但有两个因素非常重要:传输技术和距离尺度
目前普遍使用的传输技术有两种:
(1)广播式连接
(2)点到点连接
广播式网络(broadcast networks)只有一个通信信道,网络上所有的机器都共享该信道。机器间传递的是短消息(分组或包),任何一台机器发送的短消息可以被其他所有机器接收到。分组中有一个地址域,指明了该分组的目标接收者。一台机器接收到一个分组后,它检查地址域。如果该分组是发送给他的,那么它就处理,否则,忽略。此外,可以通过地址域实现让所有机器都就收处理,或者让一组机器接受处理。
点到点网络是由许多连接构成,每一个连接对应一对机器。将一个分组传递到目的地可能要经过多台机器,所以最优路径对点到点网络很重要。
一般原则:越小的,地理位置局部化的网络倾向于广播传播模式,而大的网络倾向于点到点传播模式。
分类网络的另一个准则是网络的距离尺度。相应的可以划分为
局域网(local area network,LAN)
城域网(metropolitan area network,MAN)
广域网(wide area network,WAN)
无线网络
二、网络软件
为了降低网络设计的复杂性,绝大多数网络都组织成一队相互叠加的层,每一层都建立在其下一层的基础之上。
数据不是从一台机器的第n层直接传递到另一台机器的第n层。相反,每一层都将数据和控制信息传递给它的下一层,这样一直传递到最低下的层。第一层最下面是物理介质。
层和协议的集合称为网络体系结构。一个特定的系统所使用的的一组协议(每层一个协议)称为协议栈。
各层的实际问题
面向连接与无连接的服务
服务原语:一个服务通常是由一组原语(primitive)操作来描述的,用户进程通过这些原语操作可以访问服务。
OSI参考模型
OSI(Open System Interconnection)
物理层(physical layer):涉及到在通信信道上传输的原始数据位。
数据链路层(data link layer):主要将一个原始的传输设施转变成一条逻辑的传输线路,在这条传输线路上,所有检测出来的传输错误也会反应到网络层。数据链路层的做法是:让发送方将输入的数据拆分,分装到数据帧(data fram,通常几百或几千个字节),然后顺序的传送这些数据帧。如果是可靠的服务,接收方接收到后,给发送方送回一个确认帧(acknowledgement frame)。问题:快速发送方“淹没”掉慢速的接收方。解决:流量调节机制。
网络层(network layer):控制子网的运行过程。网络层应当确定如何将分组从源端路由到目标端。问题:两个网络的编址方案不同,连接的问题。分组太大,另一个网络无法接受。
传输层(transport layer):基本功能是接收来自上一层的数据,并且在必要的时候把这些数据分割成很小的单元,然后把数据单元传递给网络层,并确保这些数据片段都能够的到达另一端。
会话层(session layer):允许不同机器上的用户之间建立回话。
表示层(presentation layer):表示层下面各层中,关注的是如何传递数据位,而表示层关注的是所传递的信息的语法和语义。不同计算机可能会使用不同的数据表示法,为了让这些计算机能够进行通信,它们所交换的数据结构必须以一种抽象的方式来定义,同时,表示层还应该定义一种标准的编码方式,用来表达网络线路上所传递的数据。
应用层(application layer):包含了各种各同样的协议,这些协议往往直接针对用户的需要,一个广泛使用的应用协议是HTTP(HyperText Transfer Protocol),它也是WWW(万维网)的基础。
TCP/IP参考模型
包括四层:应用层,传输层,互联网层,主机至网络。
互联网层(Internet layer):互联网层定义了正式的分组格式和协议,该协议称为IP(Internet Protocol)。互联网层的任务是将IP分组投递到它们该去的地方。分组路由和避免拥塞是最主要的问题。
传输层:它的设计目标是容许源和目标主机上的对等体之间可以进行对话。包括TCP(Transport Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)。
应用层:包括
主机至网络层:TCP/IP参考模型并没有明确规定这里应该有哪些内容,它只是指出,主机必须通过某个协议连接到网络上,以便可以将分组发送到网络上。
三、物理层(简单介绍)
数据通信理论的基础:傅立叶分析
有导向的传输介质
无线传输
电波传输
红外线和毫米波
光波传输
各类通信卫星
移动通信系统及有线电视
四、数据链路层
数据链路层的设计要点
数据链路层要完成的特点的功能
为了实现这些目标,数据链路层从网络层获取到分组,然后将这些分组封装到帧中以便传输。每一帧包括一个帧头、一个有效载荷域(用于存放分组),以及一个帧尾。帧管理构成了数据链路层的工作核心。
数据链路层的功能是为网络层提供服务。最主要的服务是将数据从源机器的网络层传输到目标机器的网络层。
一般情况下,提供三种服务:
成帧:物理层的任务是接收一个原始的位流,并试图将它递交给目标机器,这个位流容易产生错误(位的数量改变,值发生变化等),检测错误和纠正错误的工作是由数据链路层来完成。
由于依靠时间来标识每一帧的起始和结束位置风险太大,所以要设计其他方法。
错误控制:接收方送回一些特殊的控制帧用以确认信息。帧丢失的情况,可以采用定时器来解决(例如,超过定时器限制时间,则重发帧)。
流控制:如果发送方发送的帧的速度超过了接收方能够接受的这些帧的速度,则发送方该如何处理呢?解决办法:
错误检测和纠正
基本的数据链路协议
基本假设:1.多数情况下,物理层和数据链路层进程会在一个特殊的网络I/O电路中的一个处理器上运行;而网络层代码则在主CPU上运行(其他情况也是可能的)。2.机器A希望用一个可靠地、面向连接的服务,向机器B发送一个长的数据流。
一个无限制的单工协议:该协议中,数据只能单向传输,传输方和接收方的网络层总是处于准备就绪的状态。处理的时间可以被忽略。假设缓存空间无限大。数据链路层之间的通信信道永远不会损坏或者丢失帧。
一个单工的停-等协议:需要处理的问题是如何避免发送方用超过接收能力的大量数据来淹没接收方。一般解决方案为,让接收方提供反馈信息给发送方。发送方送出一帧,然后先等待一个确认,再继续发送,这样的协议称为停-等协议(stop-and-wait)。
有噪声信道的单工协议:可能的情况就是有噪声的情况会导致帧信息损坏。确认帧完全丢失就会导致数据源机器不断地向目标机器发送相同的帧数据。解决办法:可以通过在每一帧的头部放上一个序列号用于判断是新帧还是重复帧。
滑动窗口协议(sliding window protocol):
上面的协议中,数据帧只在一个方向上传输。而大多数情况数据传输是双向的。解决办法:全双工数据传输(例如,使用两条独立的通信信道)。但这样会导致逆向信道带宽的浪费。
更好的办法:使用一条线路来传输两个方向上的数据。该模型中,从机器A到机器B的数据帧可以与从机器A到机器B的确认帧混合在一起。接收方只要检查证的头部的kind域,就可以区别该帧是数据还是确认。
更好的改进:当一个数据帧到达的时候,接收方并不是立即发送一个单独的控制帧,而是等待一会,直到网络层传递给它下一个分组,将确认信息(控制帧)和外发数据帧一起发送。这种将确认暂时延迟以便钩到下一个外发数据帧的技术称为捎带确认(piggybacking)。问题:数据链路层应该等待下一个分组多长时间?
滑动窗口协议的本质是:在任何时刻,发送方总是维持着一组序列号,分别对应于允许它发送的帧。我们称这些帧落在发送窗口(sending window)之内。类似的,接收方也维持着一个接收窗口(receiving window),对应于一组允许它接收的帧。发送方的窗口和接收方的窗口不必有同样的上下界,甚至比必有同样的大小。有些协议中,窗口有固定的大小,另一些协议中窗口的大小变化。
发送方必须在内存中保存好所有这些帧,以便可能进行重传。如果最大窗口尺寸为n,则发送方需要n个缓冲区来存放未被确认的帧。
接收方数据链路层窗口对应于它可以接受的帧。任何落在窗口外面的帧都被丢弃,无需任何提示。
1位滑动窗口协议:一个最大窗口尺寸为1的滑动窗口协议。由于发送方在送出一帧以后,在发送下一帧之前要等待前一帧的确认。因此这样的1位滑动窗口协议使用了停-等的办法。
使用回退n帧技术的协议:目前为止,我们默认的假设是,一帧到达接收方所需要的传输时间加上确认帧回来的传输时间可以忽略不计。有时候这种假设是不正确的。
协议的验证(了解)
数据链路层协议示例
SDLC(Synchronous Data Link Control,同步数据链路控制)协议(IBM提出))
Internet中的数据链路层
总结:数据链路层的任务是将物理层提供的原始位流转换成可供网络层使用的帧流。用到的成帧方法包括:字符计数法、字节填充法和位填充法。为了避免快速发送方淹没一个慢速的接收方,数据链路协议需要提供流量控制功能。滑动窗口机制,两个窗口大小都为1,滑动窗口机制变成了停-等协议,当发送窗口大于1,接收方可以除了下一个顺序帧外丢弃其他帧,或将所有乱序的帧缓存起来,一直到需要这些帧的时候。
五、网络层
六、传输层
七、应用层
八、网络安全
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。