计算机网络B-第5章 运输层_第1页
计算机网络B-第5章 运输层_第2页
计算机网络B-第5章 运输层_第3页
计算机网络B-第5章 运输层_第4页
计算机网络B-第5章 运输层_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章运输层本章重点与学习目标掌握端口的概念与意义;掌握UDP与TCP各自的特点与适用范围;掌握NAT的工作过程。5.1案例需求鲁中学院校园网申请的公开IP地址远远不能满足需求,故用私有IP地址。理论上讲,使用私有IP地址的计算机不能接入因特网。必须设法让校园网内的计算机全部能上网。在一些学校的校园网内,访问因特网的速度较快,可是从校外访问学校网站的速度却很慢。鲁中学院校园网能否防止这种情况呢?5.2运输层概述

5.2.1运输层的任务运输层实体仅存在于计算机中,交换机、路由器等网络设备内没有运输层实体.网络层能使数据从发送计算机到达接收计算机.运输层起什么作用呢?一台计算机中能够同时运行多个程序,这种运行着的程序称为进程。像浏览器、QQ聊天窗口这样的进程,用户直接使用它们,一般位于应用层,所以叫做应用进程。网络通信的实际参与者不是某台计算机,而是这台计算机中运行着的某个应用进程。计算机A中有两个应用进程,分别是进程1与进程2,进程1正在与计算机B中的进程1通信,进程2正在与计算机C中的进程1通信,这样一来,就有两对实体参与通信,可以记为:〔计算机A:进程1,计算机B:进程1〕〔计算机A:进程2,计算机C:进程1〕运输层任务--复用与分用复用指发送计算机的运输层实体收集多个应用进程的数据,再使用网络层实体提供的效劳把数据发送出去;分用指接收计算机的运输层实体收到网络层实体交来的数据后,再正确分配到不同的应用进程中去.运输层任务除复用与分用外,运输层还要完成以下两个任务:〔1〕当数据在传输过程中出错或者丧失,要重新传输一遍,以保证数据的可靠传输。网络层协议、数据链路层协议都不保证数据的可靠传输,可靠传输的任务就落在了运输层身上。〔2〕当网络中数据过多时,就会出现拥塞,这时数据丧失严重,时延急剧增大,要设法降低数据发送速率,以缓解拥塞,这叫做拥塞控制。5.2.2运输层的端口运输层为实现复用与分用功能,必须能够区分不同的应用进程,以便正确分配数据。区分不同应用进程的方法:给每个应用进程设置不同的标识,这个标识就是端口〔port〕号。一个端口号由16位二进制数组成,范围是0~216-1,即0~65535。把网络设备上的物理接口一律叫做接口,端口专指运输层的端口。IP地址标识了一台计算机,端口号那么标识了计算机中的一个应用进程,IP地址与端口号组合在一起,叫做套接字〔socket〕,套接字标识了世界范围内的一个应用进程。IP地址与端口号间通常用冒号隔开,如98:80。一对套接字标识了通信的两个应用进程,例如,计算机中的2000应用进程与计算机中的80应用进程通信,通常记为:〔0:2000,98:80〕为区分不同的应用进程,同一台计算机中的端口号不能相同,由于不同计算机的IP地址不同,所以不同计算机中的端口号可以相同。运输层的协议数据单元叫做报文段〔segment〕,在报文段首部中,有源端口号与目的端口号,源端口号是发送进程的端口号,目的端口号那么是接收进程的端口号。辨清几个概念接口物理层源物理地址与目的物理地址

链路层源IP地址与目的IP地址

网络层源端口号与目的端口号

运输层熟知端口当用浏览器翻开一个网站的网页时,计算机为浏览器临时分配一个端口号,浏览器关闭时就收回这个端口号,可以再分配给其他应用进程,这叫做动态端口号。网站效劳器进程的端口号怎样呢?浏览网页时必须指明效劳器进程的端口号,但我们上网时没有这样做。当用户没有指明网站效劳器进程的端口号时,浏览器就使用一个固定的端口号访问效劳器进程,这个固定的端口号叫做熟知端口〔well-knownport〕号或周知端口号。之所以叫做熟知端口号,是因为这些效劳器进程的端口号是固定分配好的,大家都知道。常见的熟知端口号所有的熟知端口号都在0~1023之间,由因特网名称与号码分配公司〔ICANN〕分配。熟知端口号根据应用层协议分配,不同的应用层协议效劳器进程分配不同的熟知端口号。应用层协议协议用处熟知端口号FTP传输文件21telnet远程终端接入23SMTP传输电子邮件25DNS域名转换53HTTP浏览网页80不用熟知端口号效劳器进程也可以不使用熟知端口号,这在效劳器上通过设置就可以做到,但这时要设法把新的端口号通知用户。如果网站://把效劳器进程端口号由80改为8000,就必须通知用户。用户在浏览器地址栏上输入://:8000就可以翻开网页。输入://那么打不开网页。让所有用户都知道新的端口号非常麻烦,一般不要修改效劳器进程的熟知端口号。熟知端口号仅分配给效劳器进程,客户进程〔如浏览器进程〕由计算机临时分配端口号。浏览器与效劳器进程间的IP数据报的首部中有源IP地址与目的IP地址,IP数据报装载了运输层的报文段,报文段首部中那么有源端口号与目的端口号。从

到源IP地址目的IP地址源端口号目的端口号浏览器

服务器进程120080服务器进程

浏览器8012005.3用户数据报协议传输控制协议〔TransmissionControlProtocol,TCP〕。对于运输层的复用与分用、可靠传输与拥塞控制这3个任务,UDP仅完成复用与分用的任务,TCP那么完成全部3个任务。对于UDP与TCP,应用层协议如何选择使用呢?应用层协议要根据自己的情况来确定使用UDP还是TCP。应用层协议选用UDP与TCP的情况不需要可靠传输的应用层协议应该选用UDP,如多媒体数据,在音频与视频中出现少量过失完全可以接受。数据量特别少的应用层协议也应该选用UDP,如DNS的一次通信过程只有一来一去两个报文,也应该选用UDP。假设使用TCP,那么TCP的控制用数据比DNS本身的数据还要多,效率太低。其他情况应该选用TCP,如传输文件。应用层协议协议用处UDP/TCPFTP传输文件TCPTelnet远程终端接入TCPSMTP传输电子邮件TCPHTTP浏览网页TCPDNS域名转换UDPDHCP自动配置IP协议UDPSNMP网络管理UDPRTP传输多媒体数据UDPUDP的报文段格式5.4传输控制协议TCP与UDP的比较如表。传输控制协议〔TransmissionControlProtocol,TCP〕。与UDP不同,TCP除具有复用与分用功能外,还具有可靠传输与拥塞控制的功能。UDP是无连接的,TCP那么是面向连接的,发送TCP报文段前需要先建立连接,发送完毕后需要撤除连接。TCP的连接是全双工的,也就是说,发送数据与接收数据使用同一条连接。协议复用与分用可靠传输拥塞控制连接TCP是是是面向连接UDP是否否无连接5.4.1可靠传输的方法TCP最重要的功能是可靠传输,以太网与网络层的IP协议都是不保证可靠传输的,所以TCP极端重要。TCP使用了很多复杂的方法来实现可靠传输。发送方发送一个报文段后立即停止,接收方正确收到报文段后返回一个确认〔Acknowledgement,ACK〕,发送方收到ACK后再发送第2个报文段,如此直到数据全部发送完毕。停止-等待协议〔a〕是正常情况,A发送报文段0后停止,B收到后返回一个ACK,A收到ACK后再发送新的报文段1。因为每发送一个报文段就要停下等待确认,所以这个协议叫做停止-等待协议。停止-等待协议非正常情况〔b〕表示B发现报文段0出错,B要返回一个否认确认NAK,A收到NAK后重传报文段0;〔c〕表示报文段0在传输过程中丧失,B收不到,自然也不会返回ACK。A每发送完一个报文段,就开始计时,超时后仍没有收到ACK,就重传该报文段;〔d〕表示ACK丧失,A超时后重传报文段0。考虑问题现在可靠传输问题得到了初步解决,但是以下细节问题仍要仔细考虑:1.错误检测:接收方为了发现出错,必须使用某种检错技术。2.确认停止-等待协议中使用了确认ACK与否认确认NAK。发送方A每发送完一个报文段,就开始计时,如果接收方B发现报文段出错时不发送NAK,A在超时后仍会重传这个报文段。比照〔b〕与〔c〕,能够发现没有NAK也是可以的。3.超时重传在超时重传中,需要确定一个合理的超时时间。超时时间过长,报文段可能早已丧失或出错,发送方却还在等待,浪费许多时间;超时时间过短,可能刚刚重传后就收到了确认,无谓地重传了一次。合理的超时时间应该比往返时延RTT〔从发出报文段到收到确认的时间〕略大.但网络状况不断变化,往返时延也是不断变化的,确定合理的超时时间是一个比较麻烦的事情。4.序号在图〔d〕中,因为丧失确认发送方A重新发送了报文段0,但之前接收方B已经收到了报文段0,这样B就收到了重复的两个报文段,这也是一个错误。B应该丢弃重复的报文段,但是B需要确定报文段是不是重复的。报文段的内容相同就认为是重复的?不可行,因为应用层协议有可能重复发送同一数据。解决方法是给报文段添加序号,每个报文段的序号各不相同,接收方根据序号来判断报文段是否重复。图5.4中报文段0与报文段1中的0与1就是序号。改进的停止-等待协议停止-等待协议效率太低。每发送完一个报文段,发送方就要等待ACK,浪费时间。改进措施是在收到ACK之前不等待,连续发送报文段,图5.5〔a〕是停止-等待协议,图5.5〔b〕是对停止-等待协议的改进。在图5.5〔a〕中,A发送完一个报文段就停止发送,收到的ACK确认的自然是上一个报文段.在图5.5〔b〕中,A发送了3个报文段才收到一个ACK,ACK确认的是哪一个报文段呢?确认号解决方法:ACK也带上序号,这个序号就叫做确认号。确认号可以有几种含义,只介绍TCP中使用的含义。在TCP中,确认号的含义是这个确认号之前〔不包括确认号本身〕的数据都已正确收到,希望再接收从这个确认号开始的数据.例如,接收方B向发送方A发送了确认号500,意思是:B已正确收到A发送的序号在500之前〔不包括500〕的所有数据,希望A再发送序号从500开始的数据。改进后的协议在收到ACK之前可以发送很多数据,有必要对数量加以限制。已发送未确认的数据量到达一个限制值时,要停止发送,等待ACK到来,收到ACK后,已发送未确认的数据量减少到了限制值以下,就可以继续发送数据了,这个限制值叫做窗口。窗口假设窗口是100字节,发送方A向接收方B发送了100字节数据后,如果没有收到ACK,这100字节数据就是已发送未确认的数据,已经到达了窗口大小,A就要停止发送。之后A收到一个ACK,指出B已经正确接收了70字节的数据,已发送未确认的数据量就变成了100-70=30字节.这时A可以再发送70字节数据,已发送未确认的数据量又变成了30+70=100字节,又到达了窗口大小,A再次停止发送,直到收到新的ACK。5.4.2TCP的可靠传输机制改进的停止-等待协议实现了可靠传输,TCP实现可靠传输的机制与此根本相同。发送方发送假设干数据,到达窗口大小后停止,接收方正确收到后返回一个ACK。当数据、ACK丧失或出错后,发送方会超时重传。可靠传输使用了错误检测、序号、确认与确认号、窗口、超时重传等技术,下面介绍TCP如何具体使用这些技术。1.错误检测与UDP一样,TCP也使用检验和方法来检测过失。2.序号TCP使用32位的序号,序号是针对字节的,也就是说,TCP报文段中每一个字节的数据都有一个序号。32位的序号足够长。TCP是全双工的双向通信,两个方向的数据流使用各自的序号,由A到B的数据流从小到大顺序编号,由B到A的数据流也是从小到大顺序编号。3.确认与确认号TCP是全双工双向通信,因此ACK没有必要单独发送,接收方把ACK与数据放在同一个报文段中发给发送方,这叫做捎带确认。TCP确实认号同序号一样,也是32位,含义是序号在这个确认号之前〔不包括确认号本身〕的数据都已正确收到,希望再接收序号以这个确认号为开始的数据。4.窗口在TCP中,窗口大小由接收方根据情况决定,而且还可以变化。在TCP首部中有一个16位的接收窗口字段,接收方利用该字段通知发送方窗口大小。当接收方没有内存接收数据时,可以把接收窗口置为0,发送方就停止发送了;当有空闲内存时,再把接收窗口置为非0,发送方又可以发送了。发送方的发送速率是由接收方根据自己的接收能力控制的。5.超时重传TCP每发送一个报文段,就启动一个计时器开始计时,在超时后如果没有收到ACK,就重传这一报文段,在超时重传中,关键是超时时间如何确定。合理的超时时间应该比往返时延RTT略大,但网络状况不断变化,往返时延也是不断变化的。TCP采用了随时测量往返时延,再加权平均的方法,较好地解决了这一难题。平均往返时延ARTTTCP选择一个报文段,发送后计时,收到它的ACK后就得到了往返时延,这是一个样本值,记为SRTT。采用统计学的思路,屡次测量后加权平均,为此,引入平均往返时延ARTT。ARTT=(1–α)ARTT+αSRTT,α=1/8〔5.1〕ARTT也不能作为超时时间,原因是如果网络状况突然恶化,SRTT突然增大,那么ARTT的变化会跟不上,为此引入DRTT,反映SRTT的变化程度。DRTT=(1–β)DRTT+β︱SRTT–ARTT︱,β=1/4(5.2〕SRTT变化越快,DRTT越大;SRTT变化越慢,DRTT越小。Timeout=ARTT+4DRTT〔5.3〕重传测量被测量的报文段如果重传了,重传后收到的ACK是对第1次发送确实认,还是对第2次发送确实认?不测量重传报文段?不测量重传报文段的SRTT又带来新的问题,如果网络状况突然恶化,往返时延突然增大,使用旧的超时时间必然导致重传.假设不测量重传报文段的SRTT,超时时间无法更新,将会一直进行重传。解决策略:每重传一次就把超时时间加倍,这样超时时间将很快变大,能够反映出网络的真实状况。5.4.3TCP报文段格式TCP报文段的格式能够很好地说明TCP协议的功能,每行长度32位,4字节。TCP报文段的固定首部长度20字节,还可以有不定长度的首部选项,其后是数据局部。整个TCP报文段装入到IP数据报中去。1.源端口号源端口号字段16位,是发送进程的端口号。2.目的端口号目的端口号字段16位,是接收进程的端口号。3.序号序号字段32位,是针对字节的,TCP报文段中每一个字节的数据都有一个序号。一个报文段的数据局部有很多字节的数据,本字段中的值是哪一个字节的序号呢?TCP规定,它是数据局部第1个字节的序号。TCP是全双工的双向通信,两个方向的数据流使用各自的序号。从

到数据长度序号确认号A

B4001012001B

A6002001501A

B--50126014.确认号确认号字段32位,含义是序号在这个确认号之前〔不包括确认号本身〕的数据都已正确收到,希望再接收序号以这个确认号为开始的数据。5.首部长度〔默认是5〕首部长度字段4位,首部中可以有一些不定长的选项字段。该字段的表示范围是0~15〔0~24-1〕,长度的单位是4字节,所以首部最长可以是4×15=60字节。6.保存保存字段6位,最初没有使用,用于以后扩展。8.接收窗口接收窗口字段16位,单位为字节。发送方已发送未确认的数据量不得超过本字段设定的值。当接收方没有内存接收数据时,可以把接收窗口置为0,发送方就停止发送了;当有空闲内存时,再把接收窗口置为非0,发送方又可以发送了。7.标志标志字段6位,每一位都含义,置0时表示无效,置1时表示有效。这6位分别是ACK、SYN、FIN、RST、URG与PSH。ACK置1时表示确认号字段有效,置0时表示确认号字段无效,这说明并不是每个报文段都确认收到的数据,只有ACK置1时才确认收到的数据。SYN建立连接时使用,FIN撤除连接时使用。RST、URG与PSH较少使用。9.检验和检验和字段16位,用于检测TCP报文段是否出错,计算方法与IP数据报和UDP报文段中的相同。发送方对整个TCP报文段计算生成检验和,接收方用该字段检测TCP报文段是否出错。如果发现出错,就丢弃该报文段,不交给应用进程,同时也不发送确认,等待发送方超时后重传这个报文段,这就实现了数据的可靠传输。10.紧急数据指针紧急数据指针字段16位,用于指出报文段数据局部中哪些数据是紧急数据,要求应用进程尽快处理。11.首部选项RFC中定义了多个首部选项字段,实际用的并不多。12.数据局部数据局部一般是应用层的协议数据单元。TCP首部没有总长度字段,但这并不意味着TCP报文段的长度不受限制。为了不发生低效率的分片,TCP会把应用层实体交来的过长的数据划分为一个个的报文段,每个报文段最长1480字节〔数据局部是1460字节〕,加上IP数据报的固定首部是1500字节〔不考虑首部选项字段〕,正好装入到一个以太网帧中去。5.4.4TCP的连接管理TCP是面向连接的,在收发数据之前需要建立连接,收发完毕后需要撤除连接,步骤是:建立连接→收发数据→撤除连接。TCP的连接与电路交换中的连接不同:电路交换中的连接是一条真实存在的物理线路;TCP的连接那么是逻辑上的连接。1.连接的建立建立一个TCP连接需要来回3个报文段,所以叫做三次握手〔three-wayhandshake〕。TCP连接在两个应用进程间建立,主动发起建立连接的应用进程叫做客户,被动等待建立连接的应用进程叫做效劳器。初始序号的选择初始序号应该随机地选择,不应该是0或其他固定值,也不应有规律可循,有以下两个原因:〔1〕连接建立后极短时间内撤除,并且立刻用同一端口号又建立了另一个连接,在这种特殊的情况下,两次连接的初始序号如果相同,接收方可能会收到重复序号的报文段。〔2〕黑客的某些攻击需要知道TCP的初始序号,初始序号如果有规律,黑客很容易猜到;初始序号如果随机选择,黑客就无法猜到,平安性好。2.连接的撤除

当数据收发完毕后,就可以撤除连接了,撤除连接需要4个报文段。客户向效劳器发送第1个报文段,FIN标志位要置为1,说明这是用于撤除连接的报文段。两个方向5.4.5TCP的拥塞控制当网络中数据过多时就会出现拥塞现象,这时网络设备会不堪重负,很多数据会被丢弃,时延会明显增大。当数据被丢弃时,为可靠传输必须重传这些数据,于是更多的数据进入网络,导致更严重的拥塞,形成一个恶性循环。以太网与网络层的IP协议都没有拥塞控制功能,拥塞控制是TCP要解决的另一个重要问题。TCP自己独立发现拥塞拥塞控制的前提是发现拥塞。拥塞发生在交换机与路由器等网络设备中,但网络设备无法把发生拥塞的信息通知TCP实体。这是因为TCP实体仅存在于计算机中,网络设备中没有TCP实体。虽然2001年发布的RFC3168对IP协议与TCP协议都做了改进,使得路由器能够把发生拥塞的信息通知TCP实体,但这仅是一个选项,而且一般默认是不使用的,TCP必须自己独立地去发现拥塞。拥塞窗口拥塞发生时数据会被丢弃。数据被丢弃就收不到ACK,所以当一个报文段需要超时重传时,TCP就认为网络发生了拥塞。报文段超时重传的另一个原因是报文段发生过失被丢弃。拥塞窗口拥塞发生后的对策:就是降低数据发送速率。为此TCP设置了一个拥塞窗口,拥塞窗口的含义与TCP首部中的接收窗口是一样的,即已发送未确认的数据量不能超过拥塞窗口大小。这样就有了两个窗口(拥塞窗口和接受窗口),较小的窗口起作用,即已发送未确认的数据量不能超过两个窗口中较小的一个。接收方使用接收窗口控制发送方的发送速率,发送方那么使用拥塞窗口控制自己的发送速率。当拥塞发生时,TCP就减小拥塞窗口,从而降低数据发送速率。之后拥塞窗口逐渐增大,直到拥塞再次发生,这时拥塞窗口再次变小;或者拥塞窗口一直增大下去,直到超过接收窗口从而不起作用。可以想见,拥塞窗口的大小是不断变化的一条锯齿线。设置拥塞窗口TCP连接刚建立时,需要设置拥塞窗口的初始值。为了不发生拥塞,拥塞窗口的初始值不应该太大〔这种策略叫做慢启动〕。现在一般都是设为一个报文段大小。为了提高效率,只要不发生拥塞,拥塞窗口应该迅速地变大。拥塞控制的核心是如何有效地调整拥塞窗口的大小。除慢启动外,还有其他多种算法,如快速重传、快速恢复、拥塞防止等。5.5网络地址转换NAT

5.5.1NAT工作过程由于IP地址短缺,很多单位的内部网络使用私有IP地址,请读者查看自己的计算机,是不是使用了私有IP地址。私有IP地址不能出现在因特网上,也就是说,使用私有IP地址的计算机不能上网,但实际上并不是这样,这得益于网络地址转换〔NetworkAddressTranslation,NAT〕。NAT的根本原理内部网络的计算机使用私有IP地址,内部网络的出口路由器〔默认网关〕设置假设干个公有IP地址。从内部网络外出的IP数据报经过路由器时,路由器把私有IP地址转换为公有IP地址,再转发出去;进入内部网络的IP数据报经过路由器时,路由器那么把公有IP地址转换为私有IP地址。现在几乎所有路由器都具有NAT功能。NAT的工作过程某内部网络有两台计算机与一台效劳器使用私有IP地址,、与,路由器R的接口1连接在内部网络上,接口2连接在因特网上,并具有两个公有IP地址与。NAT的工作过程(2)现在假设计算机要访问因特网上的网站,它要向路由器R发送一个IP数据报,源IP地址是,目的IP地址是,R收到后把源IP地址转换为,目的IP地址不变,再转发出去。在网站返回的IP数据报中,源IP地址是,目的IP地址自然就是,R收到后把目的IP地址转换为,源IP地址不变,再转发给计算机。NAT的工作过程(3)当计算机也访问网站时,R同样处理,只不过要使用另一个公有地址。R在内存中必须建立一个NAT转换表,记录私有IP地址与公有IP地址的对应关系。当内部网络一台计算机向外发送IP数据报,R进行地址转换时,就自动在NAT转换表中增加一行记录。内部外部这个方案根本没有实用价值,这是因为在与上网之后,已经没有空闲的,所以其他计算机无法上网。公有IP地址和私有IP地址一一对应当然公有IP地址也可以少于计算机数量,因为不上网的计算机并不需要公有IP地址。NAPT转换表解决问题的根本方法是同时使用运输层的端口号。这种NAT也叫做网络地址端口转换〔NetworkAddressPortTranslation,NAPT〕,现在所说的NAT实际上都是指NAPT。现在假设图中路由器R只有一个公有IP地址。两台计算机同时上网时,NAPT转换表如表所示,端口号5000代表计算机,端口号5001那么代表计算机。内部外部:2000:5000:3000:5001NAPT转换情况数据外出与进入内部网络时,不仅要转换IP地址,还要转换端口号。计算机外出与进入数据的转换情况如表所示。可以看出数据外出时,被转换的是源IP地址与源端口号,进入时被转换的那么是目的IP地址与目的端口号。发送

接收源IP地址目的IP地址源端口号目的端口号

R200080R

2.2.2.21.1.1.1500080

R805000R

10.1.1.110.1.1.1802000动态NAT转换带来的问题目前路由器中广泛使用的转换方法,有效地解决了私有IP地址上网的问题。这种NAT叫做动态NAT转换,这是因为NAT转换表是动态添加的,内部网络某台计算机的数据首次外出时,路由器自动为它分配公有IP地址与端口号。动态NAT转换带来一个新问题:外部计算机无法首先访问内部计算机。静态NAT内部网络有一个网站,它只能等待其他计算机首先来访问它,而不会首先向外发送数据,这样路由器就不会在NAT转换表中为它分配公有IP地址与端口号,外部计算机访问它需要静态NAT转换,由管理员手工在NAT转换表中添加数据,如表。外部计算机访问网站时,目的IP地址使用,目的端口号使用熟知端口号80,路由器把它转换为与80,就能够访问内部网络的网站了。内部外部:80:80现在很多单位的网站都是这样做的,内部网络用户使用私有IP地址访问,外部用户那么使用静态NAT访问学校同时接入教育网与公众网在某些学校的校园网内,访问因特网时速度快,可是从校外访问学校网站时却极慢。因为教育网与电信运营商网络〔公众网〕间互访的速率非常低,所以很多学校同时接入教育网和所在地的公众网。图中连接教育网的路由器A是教育网IP地址,连接公众网的路由器B那么是公众网IP地址。学校内一般计算机是私有IP地址或教育网的IP地址,学校网站一般都是教育网的IP地址。从校内访问公众网时,数据从路由器B出入,路由器B进行动态NAT转换,数据往返路径是图中的①,传输速率并不很低。从公众网访问学校网站时,如果没有静态NAT转换,必须使用网站的教育网IP地址访问,数据往返路径只能是图中的②,传输速率就会非常低。解决的方法是在路由器B中为学校网站设置静态NAT转换,从公众网访问学校网站时,可以使用网站的公众网IP地址访问,数据从路由器B出入,数据往返路径是图中的①,传输速率就不会很低了。很多学校的某些网站〔如招生网站〕就是这样做的。至于从教育网访问学校网站,可以直接使用网站的教育网IP地址访问,数据往返路径是图中的③。NAT存在的问题NAT虽然解决了私有IP地址上网,但也带来了很多问题:1IP地址与端口号的转换降低了效率;2在NAT路由器后面的计算机,如果不使用静态NAT转换,外部网络的计算机就无法首先访问它;3很多协议需要源IP地址,但NAT却修改了原始的源IP地址,使得这些协议无法正常工作,不得不进行修改。5.5.2利用NAT实现共享上网个人用户接入因特网时,ISP临时分配给用户一个IP地址,用户只能有一台计算机上网。利用NAT技术,可以方便地实现多台计算机共享上网。用户购置一台路由器,把用户名与口令设置在路由器上,共享上网的多台计算机也连接在路由器上。ISP临时分配的IP地址设置在路由器的接口1上,所有数据经过路由器时,都经过动态NAT转换,这就实现了共享上网。WindowsXP就有这种功能,不需要再安装其他软件。对于ISP来说,自然不愿意用户共享上网,如何检测共享上网呢?有人说ISP可以检测用户发来的数据,查看其中的源物理地址与源IP地址,假设不止一个就是共享上网。对吗?这是错误的。路由器以用户名与口令登录成功后,ISP会分配一个公有IP地址,这个地址就设置在路由器的接口1上。ISP根本看不到其他任何物理地址与IP地址。这实际上也是NAT的另外一个用途:隐藏内部网络状况。实际上ISP使用以下手段检测共享上网:〔1〕数据流量。〔2〕用户在线时间。〔3〕IP数据报首部的TTL字段。WindowsXP发出IP数据报中的TTL字段的初始值为128,Linux那么为64,经过NAT路由器时,TTL字段值会减1,据此可以判断是否使用路由器进行共享上网。〔4〕IP数据报首部的标识字段。ISP发现一个用户有多个连续递增的标识序列,就认为是在共享上网。〔5〕网络管理协议SNMP。ISP通过SNMP协议可以很容易地发现共享上网。〔6〕主动探测。〔7〕客户端软件。〔8〕检测软件与硬件。5.6非TCP/IP体系结构网络因特网的TCP/IP体系结构居于统治地位,其他体系结构的网络越来越少。如X.25网、帧中继〔FrameRelay,FR〕网与ATM〔AsynchronousTransferMode,异步传送模式〕网等。ATM网与银行的自动取款机〔AutomaticTellerMachine,ATM〕的缩写相同,但二者没有任何关系。以上3种网络都是具有完整分层结构的独立网络,不需要TCP协议与IP协议就能运行,与TCP/IP体系结构不同,它们都是虚电路网络。X.25网与帧中继网现在已经见不到了。ATM网可以作为局域网,也可作为广域网,ATM局域网技术复杂、维护困难、价格昂贵,传输速率也比不上现在的以太网,很早就被淘汰了。至于ATM广域网,现在某些地方仍在使用,不过在新建网络时,几乎没有人去选择ATM网,可见ATM广域网的淘汰也是必然的。虚电路网络有缺点以X.25网、帧中继网与ATM网为代表的虚电路网络,与数据报方式的因特网相比。缺点:技术复杂、不够灵活。优点:如管理功能强、转发速度快等。多媒体数据在网络

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论