您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子百科>通信技术>传输网/接入网/交换网>

宽带IP网络技术的连接建立

2010年04月06日 17:22 www.elecfans.com 作者:佚名 用户评论(0

宽带IP网络技术的连接建立

连接是两个或多个需要交换消息和数据的计算机系统之间的链路。在共享网络和互联网络上,连接通常是虚拟的,即连接状态是建立在软件基础上,该软件跟踪似乎是专用电路(对于正使用它的应用程序而言)中的数据交换。这些连接发生在传输层,由因特网协议族中的TCP处理。

TCP的工作主要是建立连接,然后从应用层程序中接收数据并进行传输。TCP采用虚电路连接方式进行工作,在发送数据前它需要在发送方和接收方建立一个连接,数据在发送出去后,发送方会等待接收方给出一个确认性的应答,否则发送方将认为此数据丢失,并重新发送此数据。

连接是可靠数据传递业务的要求。传输服务是通过建立连接的两个传输实体之间所用的传输协议来实现的。在实际数据交换发生之前,建立连接。连接用于确认收到数据分组和重新传输那些丢失的数据分组。与之相反的是尽力传输业务。文件传输是要求保证传递业务的示例。传递的文件必须是原始文件的精确副本。

一个网络系统上的应用程序与另一个网络系统上的应用程序创建端对端连接,以便可靠地交换数据。单个计算机可以在任何时间建立和终止连接。来自这些连接的数据分组通过单个物理链路时被多路处理,如下图所示,因此,它们是虚连接。此外,每个连接是全双工模式,允许双向数据分组交换。

image:bk071155w-1.jpg

建立连接的第一步获取目标主机的网络地址。如果源和目标在同一LAN(或路由的不同LAN)上,假设它的IP地址已知,则ARP(地址解析协议)可以用于获取目标的硬件地址。如果IP地址未知,可以联系DNS服务器获取该地址。在Windows环境下,NetBIOS命名提供一种定位计算机地址的方法。一旦知道这些地址,这两台计算机则可以建立连接。

连接必须首先由发送方请求,并由接收方同意。这样通过确保接收方已准备好接收数据,来提供一级可靠性。它还指出TCP如何管理数据传递。如果应用程序直接将数据传递到IP进行传递,则IP只是简单地开始将数据分组发送到目的地。但是如果目标脱机或者正忙,则会丢失那些数据分组,并且IP本身无法通知应用程序没有传递那些数据分组。TCP通过IP首先传递一个简单的连接请求来管理这种情况。

•实际的连接涉及一个三次握手进程,其中三个数据分组(称为TCP层中的段)通过网络交换。下面是客户机和服务器之间的这一进程的描述。

•客户机使用称为“连接”的“套接字”过程,创建一个包含服务器的IP地址和想要的服务的端口号的TCP段。将SYN位设置为打开,将ACK位设置为关闭,以表示这是个连接请求。此外,客户机生成一个初始序号,并将其置于标题的“序号”字段中。

•当服务器接收该段时,进行检查以确保指定端口可用,并且如果可用,则将确认段返回到客户机。该段将SYN和ACK位设置为打开。为了确认服务器已经接收到客户机的初始序号,服务器将序号加1,并将其插入到返回给客户机的段的“确认”字段。此外,它将自己的序号插入到“序号”字段。服务器就是使用这个序号将段发送给客户机。

•在客户机接收到来自服务器的确认段后,它将一个具有ACK位设置的确认段返回到服务器。同时,它将从服务器接收到的序号加1,并将其插入到“确认”字段,以表明它已收到服务器的初始序号。

注意,SYN(同步)和ACK(确认)是TCP标题中的标志位,可以设置为打开或关闭。该序列绘制在图C-22中的流程图中。

该交换之后,紧接着可以开始数据传输。在传输完成之后,两端终止连接。

在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(sYN=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于SYN_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。用Backlog参数来表示未连接队列的最大容纳数目。

TCP可能要在连接建立阶段处理一些连接参数。其中之一是建立传输延迟参数。假设客户机将一个段发送到服务器并且服务器返回一个确认,但由于某种原因该确认没有在合理的时间内到达客户机。该服务器必须假设客户机没有收到它的确认,于是它重发该段。这期间,“丢失”的确认可能找到了到达客户机的路径并且重发也到达了该服务器,这时服务器要处理两个相同的段。

发送方等待确认的时间长短不是固定值,因为某些链路(如卫星)比其他链路的延迟时间更长。TCP可以协商该值,方法是测量它用于接收响应的时间。然后,它估计一个往返的延迟值,并使用这个值传输和确认连接进行定时。

发送方可以尽量为数据分组找到最佳大小以避免发生分段。发送方以较慢的速度开始传输,以避免拥塞网络。然后,它可能改变它的传输速度,以避免使接收方溢出。

此外,这种连接序列容易遭到猜测序号的攻击,攻击者可以窃取由合法用户建立的会话,并假装成目标系统的该用户。依照RFC1948 (Defending Against Sequence Number Attacks,May1996),看来实际上初始序号易于预测。攻击者连接到服务器,然后等待其他人进行连接。服务器随后将一个确认段发送给请求连接者。同时,攻击者已经猜出下一个序号应该是什么,使用那个序号将确认消息发送回服务器,并假装成请求连接者。服务器接受这个连接,这样攻击者可以开始在服务器上执行命令。

非常好我支持^.^

(0) 0%

不好我反对

(0) 0%

( 发表人:admin )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!