TCP/IP协议
摘要:基于TCP/IP的数据传输技术的分析
关键字:TCP/IP、数据传输
传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。
一、关于TCP/IP协议的数据传输
优势:
在了解这个协议时,了解一下它的优势是必要的。
在长期的发展过程中,IP逐渐取代其他网络。这里是一个简单的解释。IP传输通用数据。数据能够用于任何目的,并且能够很轻易地取代以前由专有数据网络传输的数据。下面是一个普通的过程:
一个专有的网络开发出来用于特定目的。如果它工作很好,用户将接受它。
为了便利提供IP服务,经常用于访问或者聊天,通常以某种方式通过专有网络隧道实现。隧道方式最初可能非常没有效率,因为和聊天只需要很低的带宽。
通过一点点的投资IP 基础设施逐渐在专有数据网络周边出现。
用IP取代专有服务的需求出现,经常是一个用户要求。
IP替代品过程遍布整个因特网,这使IP替代品比最初的专有网络更加有价值(由于网络效应)。
专有网络受到压制。许多用户开始维护使用IP替代品的复制品。
IP包的间接开销很小,少于1%,这样在成本上非常有竞争性。人们开发了一种能够将IP带到专有网络上的大部分用户的不昂贵的传输媒介。
大多数用户为了削减开销,专有网络被取消。
简单的来讲:
使用tcp/ip协议进行数据传输时:
首先要在cs之间通过“3次握手”建立tcp链接。
然后发包传输信息。数据包发送时要打上tcp头部。
发包结束,通过“4次握手”断开链接。
IP是TCP/IP整套协议中的一个协议。
详细说来:
从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层。
TCP/IP协议并不完全符合OSI的七层参考模型。OSI(Open System
Interconnect)是传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己。由于ARPNET的设计者注重的是网络互联,允许通信子网(网络接口层)采用已有的或是将来有的各种协议,所以这个层次中没有提供专门的协议。实际上,TCP/IP协议可以通过网络接口层连接到任何网络上,例如X.25交换网或IEEE802局域网
TCP完成开放系统互连(OSI)模型中传输层,即第四层的功能。它的主要责任是确保端至端之间的可靠连接。IP位于下一层,在OSI的网络层,即第三层,把每个包的发送者和接收者地址告诉一路上各个路由器。路由器和第三层交换器可以读出IP和其他的第三层协议。这些信息与路由表以及其他网络智能结合在一起,能通过TCP/IP在整个房间或围绕地球进行传递。
路由过程始于对发送端站而言是唯一的一个IP地址,端站可以被分配永久的IP地址,或者按需要从动态主机配置协议(DHCP)服务器或其他服务中借用。
每个包携带一个源地址,在目前(IPv4)规范下,包长度是32位。在报头中,每个包也携带最终目的地的IP地址。
如果发送端站确定目的地址不在本地,该包就被送到第一跳路由器,一般来说,该路由器是在附近的,并已被预先分配给发送者。
该路由器检查包的IP地址,查路由表,看看目的端点是否位于本地(物理位置)网络,它通常叫做IP子网,IP子网一般被分配到路由器的每个网络接口上。
如果目的IP地址为本地的,该路由器就搜寻存储着IP地址和本地设备介质访问控制(MAC)地址的内部存储器,这个存储器叫作地址分辨协议(ARP)高速缓存。ARP是把IP地址映射到MAC地址的通用工具。
如果目的地的MAC 地址出现了,该路由器就把这个MAC地址装进包的报头中(取掉自己的MAC 地址,因为不再需要它了),把该包送到目的端站。
万一目的地的MAC地址没有出现在ARP高速缓存中(例如,有可能超时了),路由器必须向与包的目的IP地址有关的子网广播一个ARP请求,拥有此IP地址的端站就作出响应,把MAC地址发送回去,路由器因此更新高速缓存,把新的MAC地址装进包的报头并发送该包。
如果查路由表显示包的目的地不在本地子网,路由器就利用下一跳路由器的MAC地址把包转发给下一跳路由器。路由表由智能发现协议,如路由信息协议或者开放最短路径优先协议,不断地被建立和再建立。每个路由器的路由表显示了到达目的地址的最佳路径,对于要有几跳的地址,它显示出最佳的下一跳路由器。
TCP/IP协议早已是网络的标准语言。随着Internet SCSI、Remote Diret Memory Access这些网络存贮标准的问世和实用化,从某种意义上说,TCP/IP又成了一种存贮协议。
我们知道,用TCP/IP协议处理网络流量,要占用大量服务器资源。为了减轻服务器的压力,一种称为TCP减负引擎(TCP Offload Engine :TOE)的技术应运而生。TCP减负引擎一般由软硬两部分组件构成,将传统的TIP/IP协议栈的功能进行延伸,把网络数据流量的处理工作全部转到网卡上的集成硬件中进行,服务器只承担TCP/IP控制信息的处理任务。这种为服务器减轻负担的技术,
电脑tcpip协议怎么打开得到了大多数厂商的肯定。
普通网卡用软件方式进行一系列TCP/IP相关操作,因此,会在三个方面增加服务器的负担,这三个方面是:数据复制、协议处理和中断处理。
网络上每个应用程序在收发大量数据包时,要引发大量的网络I/O中断,对这些I/O中断信号进行响应,成了服务器的沉重负担。比如,一个典型的64Kbps 的应用程序在向网络发送数据时,为了将这些数据装配成以太网的数据包,并对网络接收确认信号进行响应,要在服务器和网卡间触发60多个中断事件,这么高的中断率和协议分析工作量已经是相当可观的了。虽然某些网络操作系统具有中断捆绑功能,能够有效减少中断信号的产生,但却无法减少服务器和网卡间响应事件的处理总量。
TCP减负引擎网卡的工作原理与普通网卡不同。普通网卡处理每个数据包都要触发一次中断,TCP减负引擎网卡则让每个应用程序完成一次完整的数据处理进程后才触发一次中断,显著减轻服务器对中断的响应负担。还是以64Kbps的应用程序为例,应用程序向网络发送数据全部完成后,才向服务器发送一个数据通道减负事件中断,数据包的处理工作由TCP减负引擎网卡来做,而不是由服务器来做,从而消除了过于频繁的中断事件对服务器的过度干扰。网络应用程序在收发数据时,经常是同一数据要复制多份,在这种情形下,TCP减负引擎网卡发挥的效益最明显。
普通网卡通过采用支持校验功能的硬件和某些软件,能够在一定程度上减少发送数据的复制量,但却无
法减少接收数据的复制量。对大量接收数据进行复制通常要占用大量的机器工作周期。普通网卡先将接收到的数据在服务器的缓冲区中复制一份,经系统处理后分配给其中一个TCP连接,然后,系统再将这些数据与使用它的应用程序相关联,并将这些数据由系统缓冲区复制到应用程序的缓冲区。TCP减负引擎网卡在接收数据时,在网卡内进行协议处理,因此,它不必将数据复制到服务器缓冲区,而是直接复制到应用程序的缓冲区,这种“零拷贝”方式避免了网卡和服务器间的不必要的数据往复拷贝。
TCP减负引擎网卡能显著减轻由数据大量移动造成的服务器过载负担。实测证明,对于文件服务器和以内容服务为主的服务器应用环境来说,如果用TCP 减负引擎网卡代替普通网卡,相当于为服务器增加了一个CPU。
二、关于在学习此协议的体会
首先,课本的知识一定要熟悉掌握,要不断学习,在这个过程中去体会。当然,实践更重要,在实验中遇到的问题会加深理解。记得自己在编程时,按照课本来一点一点的编程,但还是会在最后运行时出现各种错误。然后就是继续查看课本,到网上查资料,问同学。仔细想来,在这个过程中收获的远远大于运行出这个程序本身。记得查阅资料时,有这么一句话:“从协议的基本结构出发,分析具体的数据报,然后再深入到其他应用领域。”其实很对,只有基础知识掌握了,掌握的踏实了,以后才会面对更大的难题时才会仔细思考。这个对自己影响很大,基础打好了,上层建筑才会越盖越高。
还有就是在编程时出现的问题很多都是自己疏忽造成的,巨大的建筑,总是由一木一石叠起来的,有时候不能够容许自己出错,只有这样我们才会更上一层楼。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论