版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PACS系统—网络技术喻罡副教授中南大学生物医学工程研究所网络技术课程:PACS系统-网络技术学时:6学时教材《计算机网络》(第5版)谢希仁电子工业出版社电子教案见附录光盘本课程涉及到计算机网络的主要内容PACS系统和网络技术(1)PACS系统本身是一个网络通讯系统(2)网络技术构成了PACS的软硬件基础(3)网络技术极大的影响PACS性能了解基本网络技术是PACS开发所必需的。本讲的主要内容(1)概述(2)网络层、运输层(3)应用层(4)网络安全1.1计算机网络
在信息时代的作用21世纪的一些重要特征就是数字化、网络化和信息化,它是一个以网络为核心的信息时代。网络现已成为信息社会的命脉和发展知识经济的重要基础。网络是指“三网”,即电信网络、有线电视网络和计算机网络。发展最快的并起到核心作用的是计算机网络。1.2因特网-网络的网络
起源于美国的因特网现已发展成为世界上最大的国际性计算机互联网网络(network)由若干结点(node)和连接这些结点的链路(link)组成。互联网是“网络的网络”(networkofnetworks)。连接在因特网上的计算机都称为主机(host)。(a)(b)网络互联网(网络的网络)结点链路1.3因特网的组成从因特网的工作方式上看,可以划分为以下的两大块:(1)边缘部分由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。(2)核心部分由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。因特网的核心部分因特网的边缘部分主机网络路由器因特网的边缘部分与核心部分1.4两种网络通信方式在网络边缘的端系统中运行的程序之间的通信方式通常可划分为两大类:客户服务器方式(C/S方式)即Client/Server方式对等方式(P2P方式)即Peer-to-Peer方式
客户服务器方式客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务的请求方,服务器是服务的提供方。PACS系统主要是客户/服务器方式运行客户程序网络边缘网络核心运行服务器程序AB①请求服务②得到服务客户服务器客户A向服务器B发出请求服务,而服务器B向客户A提供服务。对等连接方式对等连接(peer-to-peer,简写为P2P)是指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。只要两个主机都运行了对等连接软件(P2P软件),它们就可以进行平等的、对等连接通信。双方都可以下载对方已经存储在硬盘中的共享文档。网络边缘网络核心运行P2P程序运行P2P程序DCEF运行P2P程序运行P2P程序1.5网络的分组交换技术网络核心部分是因特网中最复杂的部分。网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据)。在网络核心部分起特殊作用的是路由器(router)。路由器是实现分组交换(packetswitching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。报文分组交换的主要特点在发送端,先把较长的报文(数据)划分成较短的、固定长度的数据段。1101000110101010110101011100010011010010假定这个报文较长不便于传输数据数据数据报文添加首部构成分组每一个数据段前面添加上首部构成分组。首部首部首部分组
1分组
2分组
3请注意:现在左边是“前面”分组交换的传输单元分组交换网以“分组”作为数据传输单元。依次把各分组发送到接收端。数据首部分组
1数据首部分组
2数据首部分组
3分组首部的重要性每一个分组的首部都含有地址等控制信息。分组交换网中的结点交换机根据收到的分组的首部中的地址信息,把分组转发到下一个结点交换机。用这样的存储转发方式,最后分组就能到达最终目的地。收到分组后剥去首部接收端收到分组后剥去首部还原成报文。数据首部分组
1数据首部分组
2数据首部分组
3收到的数据数据数据数据最后还原成原来的报文最后,在接收端把收到的数据恢复成为原来的报文。这里我们假定分组在传输过程中没有出现差错,在转发时也没有被丢弃。报文1101000110101010110101011100010011010010因特网的核心部分因特网的核心部分是由许多网络和把它们互连起来的路由器组成,而主机处在因特网的边缘部分。在因特网核心部分的路由器之间一般都用高速链路相连接,而在网络边缘的主机接入到核心部分则通常以相对较低速率的链路相连接。主机的用途是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器的用途则是用来转发分组的,即进行分组交换的。H1H5H2H4H3H6发送的分组路由器AEDBC网络核心部分主机分组交换的优点高效动态分配传输带宽,对通信链路是逐段占用。灵活以分组为传送单位和查找路由。迅速不必先建立连接就能向其他主机发送分组。可靠保证可靠性的网络协议;分布式的路由选择协议使网络有很好的生存性。分组交换带来的问题分组在各结点存储转发时需要排队,这就会造成一定的时延。分组必须携带的首部(里面有必不可少的控制信息)也造成了一定的开销。1.6几种不同类别的网络不同作用范围的网络广域网WAN(WideAreaNetwork)局域网LAN(LocalAreaNetwork)
城域网MAN(MetropolitanAreaNetwork)个人区域网PAN(PersonalAreaNetwork)
1.7计算机网络的性能
计算机网络的性能指标速率比特(bit)是计算机中数据量的单位,也是信息论中使用的信息量的单位。Bit来源于binarydigit,意思是一个“二进制数字”,因此一个比特就是二进制数字中的一个1或0。速率即数据率(datarate)或比特率(bitrate)是计算机网络中最重要的一个性能指标。速率的单位是b/s,或kb/s,Mb/s,Gb/s等速率往往是指额定速率或标称速率。吞吐量吞吐量(throughput)表示在单位时间内通过某个网络(或信道、接口)的数据量。吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。吞吐量受网络的带宽或网络的额定速率的限制。时延(delay或latency)发送时延发送数据时,数据块从结点进入到发送出去所需要的时间。也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。发送时延=数据块长度(比特)信道带宽(比特/秒)时延(delay或latency)传播时延电磁波在信道中需要传播一定的距离而花费的时间。信号传播速率和信号在信道上的传输速率(Mb/s)是完全不同的概念。传播时延=信道长度(米)信号在信道上的传播速率(米/秒)时延(delay或latency)处理时延交换结点为存储转发而进行一些必要的处理所花费的时间。排队时延结点缓存队列中分组排队所经历的时延。排队时延的长短往往取决于网络中当时的通信量。时延(delay或latency)数据经历的总时延就是发送时延、传播时延、处理时延和排队时延之和:总时延=发送时延+传播时延+处理时延+处理时延四种时延所产生的地方1011001…发送器队列在链路上产生传播时延结点
B结点
A在发送器产生传输时延(即发送时延)在结点
A中产生处理时延和排队时延数据从结点A向结点B发送数据链路1.8TCP/IP协议TCP/IP是四层的体系结构:应用层、运输层、网际层和网络接口层。TCP/IP是一组协议。其中,TCP和IP是两个最重要的协议。TCP/IP是互联网通讯的标准。PACS系统采用TCP/IP协议。体系结构应用层(applicationlayer)运输层(transportlayer)网络层(networklayer)数据链路层(datalinklayer)物理层(physicallayer)数据链路层5应用层4运输层3网络层2数据链路层1物理层主机
1
向主机
2
发送数据5432154321主机
1AP2AP1主机
2应用进程数据先传送到应用层加上应用层首部,成为应用层
PDU主机
1
向主机
2
发送数据5432154321主机
1AP2AP1主机
2应用层PDU再传送到运输层加上运输层首部,成为运输层报文主机
1
向主机
2
发送数据5432154321主机
1AP2AP1主机
2运输层报文再传送到网络层加上网络层首部,成为IP数据报(或分组)主机
1
向主机
2
发送数据5432154321主机
1AP2AP1主机
2IP数据报再传送到数据链路层加上链路层首部和尾部,成为数据链路层帧主机
1
向主机
2
发送数据5432154321主机
1AP2AP1主机
2数据链路层帧再传送到物理层最下面的物理层把比特流传送到物理媒体主机
1
向主机
2
发送数据应用层(applicationlayer)5432154321物理传输媒体主机
1AP2AP1电信号(或光信号)在物理媒体中传播从发送端物理层传送到接收端物理层主机
2主机
1
向主机
2
发送数据5432154321主机
1AP2AP1主机
2物理层接收到比特流,上交给数据链路层主机
1
向主机
2
发送数据5432154321主机
1AP2AP1主机
2数据链路层剥去帧首部和帧尾部取出数据部分,上交给网络层主机
1
向主机
2
发送数据5432154321主机
1AP2AP1主机
2网络层剥去首部,取出数据部分上交给运输层主机
1
向主机
2
发送数据5432154321主机
1AP2AP1主机
2运输层剥去首部,取出数据部分上交给应用层主机
1
向主机
2
发送数据5432154321主机
1AP2AP1主机
2应用层剥去首部,取出应用程序数据上交给应用进程主机
1
向主机
2
发送数据5432154321主机
1AP2AP1主机
2我收到了
AP1
发来的应用程序数据!主机
1
向主机
2
发送数据5432154321主机
1AP2AP1主机
2应用程序数据应用层首部H510100110100101比特流110101110101注意观察加入或剥去首部(尾部)的层次应用程序数据H5应用程序数据H4H5应用程序数据H3H4H5应用程序数据H4运输层首部H3网络层首部H2链路层首部T2链路层尾部主机
1
向主机
2
发送数据5432154321主机
1AP2AP1主机
210100110100101比特流110101110101计算机2的物理层收到比特流后交给数据链路层H2T2H3H4H5应用程序数据H3H4H5应用程序数据主机
1
向主机
2
发送数据5432154321主机
1AP2AP1主机
2数据链路层剥去帧首部和帧尾部后把帧的数据部分交给网络层H2T2H3H4H5应用程序数据H4H5应用程序数据H3H4H5应用程序数据主机
1
向主机
2
发送数据5432154321主机
1AP2AP1主机
2网络层剥去分组首部后把分组的数据部分交给运输层H5应用程序数据H4H5应用程序数据主机
1
向主机
2
发送数据5432154321主机
1AP2AP1主机
2运输层剥去报文首部后把报文的数据部分交给应用层应用程序数据H5应用程序数据主机
1
向主机
2
发送数据5432154321主机
1AP2AP1主机
2应用层剥去应用层PDU首部后把应用程序数据交给应用进程主机
1
向主机
2
发送数据5432154321主机
1AP2AP1主机
2我收到了
AP1
发来的应用程序数据!沙漏计时器形状的
TCP/IP协议族HTTPSMTPDNSRTPTCPUDPIP网际层网络接口层运输层应用层………网络接口
1网络接口
2网络接口
3EverythingoverIPIP
可为各式各样的应用程序提供服务IPoverEverythingIP
可应用到各式各样的网络上
TCP/IP的体系结构应用层运输层网际层网络接口层主机A主机B路由器网络
2网络
1应用层运输层网际层网络接口层网际层网络接口层4321路由器在转发分组时最高只用到网络层而没有使用运输层和应用层。客户进程和服务器进程
使用
TCP/IP
协议进行通信数据链路层物理层运输层网络层数据链路层物理层运输层网络层①
客户发起连接建立请求②
服务器接受连接建立请求应用层应用层因特网客户服务器以后就逐级使用下层提供的服务(使用TCP和IP)功能较强的计算机
可同时运行多个服务器进程数据链路层物理层运输层网络层应用层计算机3服务器1服务器2数据链路层物理层运输层网络层应用层计算机1客户1数据链路层物理层运输层网络层应用层计算机2客户2因特网第一部分总结介绍了计算机网络的基本概念分组交换技术性能指标TCP/IP协议基础接下来:我们将简介TCP/IP协议的主要层次2物理层主要描述网络通讯的硬件通道和接口。是所有层次中最底层的,硬件传输的层次,对上层协议来说屏蔽了硬件传输的细节。简单介绍2个基本问题:基本概念,信道的复用技术。2.1物理层的基本概念
物理层的主要任务描述为确定与传输媒体的接口的一些特性,即:机械特性指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等。电气特性指明在接口电缆的各条线上出现的电压的范围。功能特性指明某条线上出现的某一电平的电压表示何种意义。过程特性指明对于不同功能的各种可能事件的出现顺序。
导向传输媒体双绞线屏蔽双绞线STP(ShieldedTwistedPair)无屏蔽双绞线UTP(UnshieldedTwistedPair)
同轴电缆50
同轴电缆75
同轴电缆光缆共享信道2.2信道复用技术
2.2.1频分复用、时分复用和统计时分复用
复用(multiplexing)是通信技术中的基本概念。信道A1A2B1B2C1C2信道信道A1A2B1B2C1C2复用分用(a)不使用复用技术(b)使用复用技术频分复用FDM
(FrequencyDivisionMultiplexing)用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数据的发送速率)。频率时间频率1频率2频率3频率4频率5时分复用TDM
(TimeDivisionMultiplexing)时分复用则是将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙。每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧的长度)。TDM信号也称为等时(isochronous)信号。时分复用的所有用户是在不同的时间占用同样的频带宽度。1550nm01551nm11552nm21553nm31554nm41555nm51556nm61557nm701550nm11551nm21552nm31553nm41554nm51555nm61556nm71557nm波分复用WDM
(WavelengthDivisionMultiplexing)
波分复用就是光的频分复用。82.5Gb/s1310nm20Gb/s复用器分用器EDFA120km光调制器光解调器第二部分物理层总结介绍了物理层的基本概念。介绍了信道复用技术。物理层描述了信道通讯的硬件基础和通信技术。物理层为上一层的数据传输提供支持。3数据链路层
不需要考虑物理层的细节。逻辑上的通信线路,定义了通信的底层数据格式。定义了以太网的帧和传输协议。3使用点对点信道的数据链路层
3.1数据链路和帧
链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分。数据链路(datalink)除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层这两层的功能。
数据链路层的简单模型局域网广域网主机
H1主机
H2路由器
R1路由器
R2路由器
R3电话网局域网主机
H1
向
H2
发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动数据链路层的简单模型(续)局域网广域网主机
H1主机
H2路由器
R1路由器
R2路由器
R3电话网局域网主机
H1
向
H2
发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动IP数据报1010……0110帧取出数据链路层网络层链路结点A结点B物理层数据链路层结点A结点B帧(a)(b)发送帧接收链路IP数据报1010……0110帧装入数据链路层传送的是帧数据链路层像个数字管道常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。结点结点帧帧
封装成帧封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。首部和尾部的一个重要作用就是进行帧定界。
帧结束帧首部IP数据报帧的数据部分帧尾部MTU数据链路层的帧长开始发送帧开始
3.2
广播信道的数据链路层——以太网(局域网)DIXEthernetV2是世界上第一个局域网产品(以太网)的规约。IEEE的802.3标准。DIXEthernetV2标准与IEEE的802.3标准只有很小的差别,因此可以将802.3局域网简称为“以太网”。严格说来,“以太网”应当是指符合DIXEthernetV2标准的局域网适配器的作用网络接口板又称为通信适配器(adapter)或网络接口卡
NIC(NetworkInterfaceCard),或“网卡”。适配器的重要功能:进行串行/并行转换。对数据进行缓存。在计算机的操作系统安装设备驱动程序。实现以太网协议。
计算机通过适配器
和局域网进行通信硬件地址至局域网适配器(网卡)串行通信CPU和存储器生成发送的数据处理收到的数据把帧发送到局域网从局域网接收帧计算机IP地址并行通信最初的以太网是将许多计算机都连接到一根总线上。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。CSMA/CD协议B向
D发送数据CDAE匹配电阻(用来吸收总线上传播的信号)匹配电阻不接受不接受不接受接受B只有D接受B发送的数据以太网的广播方式发送总线上的每一个工作的计算机都能检测到B发送的数据信号。由于只有计算机D的地址与数据帧首部写入的地址一致,因此只有D才接收这个数据帧。其他所有的计算机(A,C和E)都检测到不是发送给它们的数据帧,因此就丢弃这个数据帧而不能够收下来。具有广播特性的总线上实现了一对一的通信。载波监听多点接入/碰撞检测CSMA/CDCSMA/CD表示CarrierSenseMultipleAccesswithCollisionDetection。“多点接入”表示许多计算机以多点接入的方式连接在一根总线上。“载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。总线上并没有什么“载波”。因此,“载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。碰撞检测“碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”。检测到碰撞后在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。3.3使用广播信道的以太网
使用集线器的星形拓扑传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。这种以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器(hub)使用集线器的双绞线以太网集线器两对双绞线站点RJ-45插头集线器的一些特点集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是CSMA/CD
协议,并共享逻辑上的总线。集线器很像一个多接口的转发器,工作在物理层。以太网的
MAC
层
MAC
层的硬件地址
在局域网中,硬件地址又称为物理地址,或MAC地址。802
标准所说的“地址”严格地讲应当是每一个站的“名字”或标识符。但鉴于大家都早已习惯了将这种48位的“名字”称为“地址”,所以本书也采用这种习惯用法,尽管这种说法并不太严格。48位的MAC地址IEEE的注册管理机构
RA负责向厂家分配地址字段的前三个字节(即高位24位)。地址字段中的后三个字节(即低位24位)由厂家自行指派,称为扩展标识符,必须保证生产出的适配器没有重复地址。一个地址块可以生成224个不同的地址。这种48位地址称为MAC-48,它的通用名称是EUI-48。“MAC地址”实际上就是适配器地址或适配器标识符EUI-48。以太网MAC帧物理层MAC层1010101010101010101010101010101011前同步码帧开始定界符7字节1字节…8字节插入IP层目的地址源地址类型数据FCS6624字节46~1500IP数据报MAC帧以太网的MAC
帧格式第三部分数据链路层总结定义了网络通讯的数据格式。封装成帧是局域网通信的形式。载波监听多点接入/碰撞检测协议MAC帧格式数据链路层和物理层工作在具体网络上4网络层如何屏蔽掉具体网络的技术细节,使不同的网络看上去像同一个网络?网络层协议就是解决这个问题,解决了网络的异构性。网络层的基础协议:IP协议4网络层提供的两种服务在计算机网络领域,网络层应该向运输层提供怎样的服务(“面向连接”还是“无连接”)曾引起了长期的争论。争论焦点的实质就是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统?因特网采用的设计思路网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络在发送分组时不需要先建立连接。每一个分组(即IP数据报)独立发送,与其前后的分组无关(不进行编号)。网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。采用这种设计思路的好处是:网络的造价大大降低,运行方式灵活,能够适应多种应用。虚拟互连网络的意义所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用IP协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络。使用IP协议的虚拟互连网络可简称为IP网。使用虚拟互连网络的好处是:当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互连的各具体的网络异构细节。5432154321主机H1
主机H2R1R4R5R2R3R1R2R3H1R5H2R4间接交付间接交付间接交付间接交付间接交付直接交付3221132211322113221132211分组在互联网中的传送从网络层看IP数据报的传送如果我们只从网络层考虑问题,那么IP数据报就可以想象是在网络层中传送。网络层网络层网络层网络层网络层网络层网络层IP数据报H1R1R2R3R4R5H24.2分类的IP地址
IP地址及其表示方法
我们把整个因特网看成为一个单一的、抽象的网络。IP地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的32位的标识符。IP地址现在由因特网名字与号码指派公司ICANN(InternetCorporationforAssignedNamesandNumbers)进行分配分类IP地址每一类地址都由两个固定长度的字段组成,其中一个字段是网络号net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号host-id,它标志该主机(或路由器)。两级的IP地址可以记为:IP地址::={<网络号>,<主机号>}::=代表“定义为”net-id24位host-id24位net-id16位net-id8位IP地址中的网络号字段和主机号字段0A类地址host-id16位B类地址C类地址011host-id8位D类地址1
1
1
0多播地址E类地址保留为今后使用1
1
1
101点分十进制记法10000000000010110000001100011111机器中存放的IP地址是32位二进制代码10000000000010110000001100011111每隔8位插入一个空格能够提高可读性采用点分十进制记法则进一步提高可读性1128
11331将每8位的二进制数转换为十进制数互联网中的IP地址B222.1.1.R1222.1.2.R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。图中的网络号就是IP地址中的net-id互联网中的IP地址B222.1.1.R1222.1.2.R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。图中的网络号就是IP地址中的net-id互联网中的IP地址B222.1.1.R1222.1.2.R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。图中的网络号就是IP地址中的net-id互联网中的IP地址B222.1.1.R1222.1.2.R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。图中的网络号就是IP地址中的net-id互联网中的IP地址B222.1.1.R1222.1.2.R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网路由器总是具有两个或两个以上的IP地址。路由器的每一个接口都有一个不同网络号的IP地址。互联网中的IP地址B222.1.1.R1222.1.2.R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网路由器总是具有两个或两个以上的IP地址。路由器的每一个接口都有一个不同网络号的IP地址。互联网中的IP地址B222.1.1.R1222.1.2.R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网路由器总是具有两个或两个以上的IP地址。路由器的每一个接口都有一个不同网络号的IP地址。互联网中的IP地址B222.1.1.R1222.1.2.R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网两个路由器直接相连的接口处,可指明也可不指明IP地址。如指明IP地址,则这一段连线就构成了一种只包含一段线路的特殊“网络”。现在常不指明IP地址。4.3IP地址与硬件地址TCP报文IP数据报MAC帧应用层数据首部首部尾部首部链路层及以下使用硬件地址硬件地址网络层及以上使用IP地址IP地址HA1HA5HA4HA3HA6主机H1主机H2路由器R1硬件地址路由器R2HA2IP1IP2局域网局域网局域网通信的路径H1→经过R1转发→再经过R2转发→H2查找路由表查找路由表HA1HA5HA4HA3HA6主机H1主机H2路由器R1硬件地址路由器R2HA2IP1IP2局域网局域网局域网IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网MAC帧IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2从HA1
到HA3从HA4
到HA5从HA6
到HA2MAC帧MAC帧IP数据报从协议栈的层次上看数据的流动HA1HA5HA4HA3HA6主机H1主机H2路由器R1硬件地址路由器R2HA2IP1IP2局域网局域网局域网IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网MAC帧IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2从HA1
到HA3从HA4
到HA5从HA6
到HA2MAC帧MAC帧IP数据报从虚拟的
IP
层上看
IP数据报的流动HA1HA5HA4HA3HA6主机H1主机H2路由器R1硬件地址路由器R2HA2IP1IP2局域网局域网局域网IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网MAC帧IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2从HA1
到HA3从HA4
到HA5从HA6
到HA2MAC帧MAC帧IP数据报在链路上看
MAC帧的流动IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网MAC帧IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2从HA1
到HA3从HA4
到HA5从HA6
到HA2MAC帧MAC帧IP数据报在IP层抽象的互联网上只能看到IP数据报图中的IP1→IP2
表示从源地址IP1
到目的地址IP2
两个路由器的IP地址并不出现在IP数据报的首部中IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网MAC帧IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2从HA1
到HA3从HA4
到HA5从HA6
到HA2MAC帧MAC帧IP数据报路由器只根据目的站的IP地址的网络号进行路由选择IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2MAC帧从HA1
到HA3从HA4
到HA5从HA6
到HA2MAC帧MAC帧IP数据报在具体的物理网络的链路层只能看见MAC帧而看不见IP数据报IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2MAC帧从HA1
到HA3从HA4
到HA5从HA6
到HA2MAC帧MAC帧IP数据报IP层抽象的互联网屏蔽了下层很复杂的细节在抽象的网络层上讨论问题,就能够使用统一的、抽象的IP地址研究主机和主机或主机和路由器之间的通信地址解析协议ARP和
逆地址解析协议RARPIP地址物理地址ARP物理地址IP地址RARP4.3IP数据报的格式一个IP数据报由首部和数据两部分组成。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。可变部分首部04816192431版本标志生存时间协议标识区分服务总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分数据部分首部IP数据报固定部分发送在前首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分生存时间(8位)记为TTL(TimeToLive)数据报在网络中可通过的路由器数的最大值。区分服务首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分源地址和目的地址都各占4字节区分服务4.4网际控制报文协议ICMP为了提高IP数据报交付成功的机会,在网际层使用了网际控制报文协议ICMP(InternetControlMessageProtocol)。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP不是高层协议,而是IP层的协议。ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。
ICMP的应用举例
PING(PacketInterNetGroper)PING用来测试两个主机之间的连通性。PING使用了ICMP回送请求与回送回答报文。PING是应用层直接使用网络层ICMP的例子,它没有通过运输层的TCP或UDP。PING的应用举例Traceroute的应用举例第四部分网络层总结虚拟互联网IP地址格式和网段网络层如何传输数据IP数据报的格式5运输层网络层描述了计算机在一个虚拟互联网中通信,即网络本身如何工作。计算机中有很多程序,如何区分它们之间的通信?如何使它们各自独立的和其他计算机的对应程序通信?运输层解决特定程序通信的问题。5运输层协议概述
5.1进程之间的通信从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。当网络的边缘部分中的两个主机使用网络的核心部分的功能进行端到端的通信时,只有位于网络边缘部分的主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时都只用到下三层的功能。运输层为相互通信的应用进程提供了逻辑通信54321运输层提供应用进程间的逻辑通信主机A主机B应用进程应用进程路由器1路由器2AP1LAN2WANAP2AP3AP4IP层LAN1AP1AP2AP4端口端口54321IP协议的作用范围运输层协议TCP和UDP的作用范围AP3应用进程之间的通信两个主机进行通信实际上就是两个主机中的应用进程互相通信。应用进程之间的通信又称为端到端的通信。运输层的一个很重要的功能就是复用和分用。应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务。“运输层提供应用进程间的逻辑通信”。“逻辑通信”的意思是:运输层之间的通信好像是沿水平方向传送数据。但事实上这两个运输层之间并没有一条水平方向的物理连接。运输层的主要功能运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)。运输层还要对收到的报文进行差错检测。运输层需要有两种不同的运输协议,即面向连接的TCP和无连接的UDP。
5.2运输层的端口运行在计算机中的进程是用进程标识符来标志的。运行在应用层的各种应用进程却不应当让计算机操作系统指派它的进程标识符。这是因为在因特网上使用的计算机的操作系统种类很多,而不同的操作系统又使用不同格式的进程标识符。为了使运行不同操作系统的计算机的应用进程能够互相通信,就必须用统一的方法对TCP/IP体系的应用进程进行标志。端口号(protocolportnumber)
简称为端口(port)解决这个问题的方法就是在运输层使用协议端口号(protocolportnumber),或通常简称为端口(port),16位数值表示。虽然通信的终点是应用进程,但我们可以把端口想象是通信的终点,因为我们只要把要传送的报文交到目的主机的某一个合适的目的端口,剩下的工作(即最后交付目的进程)就由TCP来完成。三类端口熟知端口,数值一般为0~1023。登记端口号,数值为1024~49151,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在IANA登记,以防止重复。客户端口号或短暂端口号,数值为49152~65535,留给客户进程选择暂时使用。当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他客户进程以后使用。5.3用户数据报协议UDP
UDP概述
UDP只在IP的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。虽然UDP用户数据报只能提供不可靠的交付,但UDP在某些方面有其特殊的优点。UDP的主要特点UDP是无连接的,即发送数据之前不需要建立连接。UDP使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。UDP是面向报文的。UDP没有拥塞控制,很适合多媒体通信的要求。UDP支持一对一、一对多、多对一和多对多的交互通信。UDP的首部开销小,只有8个字节。面向报文的UDP发送方UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。接收方UDP对IP层交上来的UDP用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。应用程序必须选择合适大小的报文。UDP是面向报文的IP数据报的数据部分IP首部IP层UDP首部UDP用户数据报的数据部分运输层应用层报文应用层
UDP的首部格式伪首部源端口目的端口长度检验和数据首部UDP长度源IP地址目的IP地址017IP数据报字节44112122222字节发送在前数据首部UDP用户数据报伪首部源端口目的端口长度检验和数据首部UDP长度源IP地址目的IP地址017IP数据报字节44112122222字节发送在前数据首部UDP用户数据报用户数据报UDP有两个字段:数据字段和首部字段。首部字段有8个字节,由4个字段组成,每个字段都是两个字节。伪首部源端口目的端口长度检验和数据首部UDP长度源IP地址目的IP地址017IP数据报字节44112122222字节发送在前数据首部UDP用户数据报在计算检验和时,临时把“伪首部”和UDP用户数据报连接在一起。伪首部仅仅是为了计算检验和。UDP基于端口的分用IP层UDP数据报到达端口2端口3端口1UDP分用5.4传输控制协议TCP概述5.4.1TCP最主要的特点
TCP是面向连接的运输层协议。每一条TCP连接只能有两个端点(endpoint),每一条TCP连接只能是点对点的(一对一)。TCP提供可靠交付的服务。
TCP提供全双工通信。面向字节流。768HTCP面向流的概念发送TCP报文段发送方接收方把字节写入发送缓存从接收缓存读取字节应用进程应用进程1230181716151419202145131211H109H加上TCP首部构成TCP报文段TCPTCP字节流字节流H表示TCP报文段的首部x表示序号为x的数据字节TCP连接5.4.2TCP的连接TCP把连接作为最基本的抽象。每一条TCP连接有两个端点。TCP连接的端点不是主机,不是主机的IP地址,不是应用进程,也不是运输层的协议端口。TCP连接的端点叫做套接字(socket)或插口。端口号拼接到(contatenatedwith)IP地址即构成了套接字。套接字(socket)
套接字socket=(IP地址:端口号)(5-1)每一条TCP连接唯一地被通信两端的两个端点(即两个套接字)所确定。即:
TCP连接::={socket1,socket2}={(IP1:port1),(IP2:port2)}(5-2)同一个名词socket
有多种不同的意思应用编程接口
API
称为socketAPI,简称为socket。socketAPI中使用的一个函数名也叫作socket。调用socket函数的端点称为socket。调用socket函数时其返回值称为socket描述符,可简称为socket。在操作系统内核中连网协议的Berkeley实现,称为socket实现。5.4.3可靠传输的工作原理(a)无差错情况A发送M1确认M1B发送M2发送M3确认M2确认M3A发送M1B超时重传M1发送M2确认M1丢弃有差错的报文(b)超时重传tttt请注意在发送完一个分组后,必须暂时保留已发送的分组的副本。分组和确认分组都必须进行编号。超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些。确认丢失和确认迟到A发送M1B超时重传M1发送M2丢弃重复的M1重传确认M1(a)确认丢失确认M1A发送M1B超时重传M1发送M2丢弃重复的M1重传确认M1(b)确认迟到确认M1收下迟到的确认但什么也不做tttt可靠通信的实现使用上述的确认和重传机制,我们就可以在不可靠的传输网络上实现可靠的通信。这种可靠传输协议常称为自动重传请求ARQ(AutomaticRepeatreQuest)。ARQ表明重传的请求是自动进行的。接收方不需要请求发送方重传某个出错的分组。连续ARQ协议123456789101112(a)发送方维持发送窗口(发送窗口是5)发送窗口(b)收到一个确认后发送窗口向前滑动向前123456789101112发送窗口累积确认接收方一般采用累积确认的方式。即不必对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认,这样就表示:到这个分组为止的所有分组都已正确收到了。累积确认有的优点是:容易实现,即使确认丢失也不必重传。缺点是:不能向发送方反映出接收方已经正确收到的所有分组的信息。Go-back-N(回退N)如果发送方发送了前5个分组,而中间的第3个分组丢失了。这时接收方只能对前两个分组发出确认。发送方无法知道后面三个分组的下落,而只好把后面的三个分组都再重传一次。这就叫做Go-back-N(回退N),表示需要再退回来重传已发送过的N个分组。可见当通信线路质量不好时,连续ARQ协议会带来负面的影响。TCP可靠通信的具体实现TCP连接的每一端都必须设有两个窗口——一个发送窗口和一个接收窗口。
TCP的可靠传输机制用字节的序号进行控制。TCP所有的确认都是基于序号而不是基于报文段。
TCP两端的四个窗口经常处于动态变化之中。TCP连接的往返时间RTT也不是固定不变的。需要使用特定的算法估算较为合理的重传时间。TCP首部20字节的固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FIN32位SYNRSTPSHACKURG位08162431填充TCP数据部分TCP首部TCP报文段IP数据部分IP首部发送在前TCP报文段的首部格式TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG位08162431填充源端口和目的端口字段——各占2字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG位08162431填充序号字段——占4字节。TCP连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG位08162431填充确认号字段——占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。5.4.4TCP可靠传输的实现
以字节为单位的滑动窗口前移不允许发送已发送并收到确认A的发送窗口=20允许发送的序号26272829303132333435363738394041424344454647484950515253545556B期望收到的序号前沿后沿前移收缩根据B给出的窗口值A构造出自己的发送窗口TCP标准强烈不赞成发送窗口前沿向后收缩不允许发送已发送并收到确认A的发送窗口位置不变允许发送但尚未发送262728293031323334353637383940414243444546474849505152535455已发送但未收到确认56P1P2P3不允许接收已发送确认并交付主机B的接收窗口允许接收26272829303132333435363738394041424344454647484950515253545556未按序收到可用窗口A发送了11个字节的数据P3–P1=A的发送窗口(又称为通知窗口)P2–P1=已发送但尚未收到确认的字节数P3–P2=允许发送但尚未发送的字节数(又称为可用窗口)允许发送但尚未发送A的发送窗口向前滑动262728293031323334353637383940414243444546474849505152535455已发送并收到确认不允许发送已发送但未收到确认56P1P2P3允许接收B的接收窗口向前滑动262728293031323334353637383940414243444546474849505152535455已发送确认并交付主机不允许接收56未按序收到A收到新的确认号,发送窗口向前滑动先存下,等待缺少的数据的到达不允许发送已发送并收到确认A的发送窗口已满,有效窗口为零262728293031323334353637383940414243444546474849505152535455已发送但未收到确认56P1P2P3A的发送窗口内的序号都已用完,但还没有再收到确认,必须停止发送。发送缓存最后被确认的字节发送应用程序发送缓存最后发送的字节发送窗口已发送TCP序号增大接收缓存接收应用程序已收到接收窗口TCP接收缓存下一个读取的字节序号增大下一个期望收到的字节(确认号)发送缓存与接收缓存的作用发送缓存用来暂时存放:
发送应用程序传送给发送方TCP准备发送的数据;
TCP已发送出但尚未收到确认的数据。接收缓存用来暂时存放:
按序到达的、但尚未被接收应用程序读取的数据;不按序到达的数据。
需要强调三点A的发送窗口并不总是和B的接收窗口一样大(因为有一定的时间滞后)。TCP标准没有规定对不按序到达的数据应如何处理。通常是先临时存放在接收窗口中,等到字节流中所缺少的字节收到后,再按序交付上层的应用进程。TCP要求接收方必须有累积确认的功能,这样可以减小传输开销。第五部分运输层总结端口UDP协议基础TCP协议基础6应用层协议每个应用层协议都是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【教案】部编语文三上10 在牛肚子里旅行【国家级】一
- 《光源知识培训》课件
- 《合众人寿公司介绍》课件
- 医疗行业竞品分析
- 医药代表培训完整教程
- 福建省龙岩市2020-2021学年高二上学期期末考试化学试题(解析版)
- 从职业规划大学生
- 中医护理知识科普
- 乙醇拭浴目的适应证利用乙醇易挥发及具有刺激血管扩张的
- 氧气吸入法一概念
- 《左心室肥厚诊断和治疗临床路径中国专家共识2023》解读
- 老年医学专业技能培训课件
- 管理者的思维模式转变
- 草原租赁合同
- 牛肉拉面创业计划书
- 软件开发成果移交单
- 重庆渝中区2023-2024学年七年级上学期期末数学评估卷(含答案)
- 酸汤火锅推广方案
- 工程招投标与合同管理实训报告
- 智能两轮电动车行业报告
- 《珍惜青春主题班会》课件
评论
0/150
提交评论