网站地图
TCP/IP协议

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议。TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。TCP/IP传输协议是严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。

TCP/IP协议是Internet最基本的协议,其中应用层的主要协议有Telnet、FTP、SMTP等,是用来接收来自传输层的数据或者按不同应用要求与方式将数据传输至传输层;传输层的主要协议有UDP、TCP,是使用者使用平台和计算机信息网内部数据结合的通道,可以实现数据传输与数据共享;网络层的主要协议有ICMP、IP、IGMP,主要负责网络中数据包的传送等;而网络访问层,也叫网路接口层或数据链路层,主要协议有ARP、RARP,主要功能是提供链路管理错误检测、对不同通信媒介有关信息细节问题进行有效处理等。

Internet网络的前身ARPANET当时使用的并不是传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol,TCP/IP),而是一种叫网络控制协议(Network Control Protocol,NCP)的网络协议,但随着网络的发展和用户对网络的需求不断提高,设计者们发现,NCP协议存在着很多的缺点以至于不能充分支持ARPANET网络,特别是NCP仅能用于同构环境中(所谓同构环境是网络上的所有计算机都运行相同的操作系统),设计者就认为“同构”这一限制不应被加到一个分布广泛的网络上。1980年,用于“异构”网络环境中的TCP/IP协议研制成功,也就是说,TCP/IP协议可以在各种硬件和操作系统上实现互操作。1982年,ARPANET开始采用TCP/IP协议。

(1)1973年,卡恩与瑟夫开发出了TCP/IP协议中最核心的两个协议:TCP协议和IP协议。

(2)1974年12月,卡恩与瑟夫正式发表了TCP/IP协议并对其进行了详细的说明。同时,为了验证TCP/IP协议的可用性,使一个数据包由一端发出,在经过近10万km的旅程后到达服务端。在这次传输中,数据包没有丢失一个字节,这成分说明了TCP/IP协议的成功。

(3)1983年元旦,TCP/IP协议正式替代NCP,从此以后TCP/IP成为大部分因特网共同遵守的一种网络规则。

(4)1984年,TCP/IP协议得到美国国防部的肯定,成为多数计算机共同遵守的一个标准。

(5)2005年9月9日卡恩和瑟夫由于他们对于美国文化做出的卓越贡献被授予总统自由勋章。

TCP/IP协议在一定程度上参考了OSI的体系结构。OSI模型共有七层,从下到上分别是物理层、数据链路层、网络层、运输层、会话层、表示层和应用层。但是这显然是有些复杂的,所以在TCP/IP协议中,它们被简化为了四个层次。

(1)应用层、表示层、会话层三个层次提供的服务相差不是很大,所以在TCP/IP协议中,它们被合并为应用层一个层次。

(2)由于运输层和网络层在网络协议中的地位十分重要,所以在TCP/IP协议中它们被作为独立的两个层次。

(3)因为数据链路层和物理层的内容相差不多,所以在TCP/IP协议中它们被归并在网络接口层一个层次里。只有四层体系结构的TCP/IP协议,与有七层体系结构的OSI相比要简单了不少,也正是这样,TCP/IP协议在实际的应用中效率更高,成本更低。

分别介绍TCP/IP协议中的四个层次。

应用层:应用层是TCP/IP协议的第一层,是直接为应用进程提供服务的。

(1)对不同种类的应用程序它们会根据自己的需要来使用应用层的不同协议,邮件传输应用使用了SMTP协议、万维网应用使用了HTTP协议、远程登录服务应用使用了有TELNET协议。

(2)应用层还能加密、解密、格式化数据。

(3)应用层可以建立或解除与其他节点的联系,这样可以充分节省网络资源。

运输层:作为TCP/IP协议的第二层,运输层在整个TCP/IP协议中起到了中流砥柱的作用。且在运输层中,TCP和UDP也同样起到了中流砥柱的作用。

网络层:网络层在TCP/IP协议中的位于第三层。在TCP/IP协议中网络层可以进行网络连接的建立和终止以及IP地址的寻找等功能。

网络接口层:在TCP/IP协议中,网络接口层位于第四层。由于网络接口层兼并了物理层和数据链路层所以,网络接口层既是传输数据的物理媒介,也可以为网络层提供一条准确无误的线路。

TCP/IP协议能够迅速发展起来并成为事实上的标准,是它恰好适应了世界范围内数据通信的需要。它有以下特点:

(1)协议标准是完全开放的,可以供用户免费使用,并且独立于特定的计算机硬件与操作系统。

(2)独立于网络硬件系统,可以运行在广域网,更适合于互联网。

(3)网络地址统一分配,网络中每一设备和终端都具有一个唯一地址。

(4)高层协议标准化,可以提供多种多样可靠网络服务。

在网络通信的过程中,将发出数据的主机称为源主机,接收数据的主机称为目的主机。当源主机发出数据时,数据在源主机中从上层向下层传送。源主机中的应用进程先将数据交给应用层,应用层加上必要的控制信息就成了报文流,向下传给传输层。传输层将收到的数据单元加上本层的控制信息,形成报文段、数据报,再交给网际层。网际层加上本层的控制信息,形成IP数据报,传给网络接口层。网络接口层将网际层交下来的IP数据报组装成帧,并以比特流的形式传给网络硬件(即物理层),数据就离开源主机。

以太网协议规定,接入网络的设备都必须安装网络适配器,即网卡,数据包必须是从一块网卡传送到另一块网卡。而网卡地址就是数据包的发送地址和接收地址,有了MAC地址以后,以太网采用广播形式,把数据包发给该子网内所有主机,子网内每台主机在接收到这个包以后,都会读取首部里的目标MAC地址,然后和自己的MAC地址进行对比,如果相同就做下一步处理,如果不同,就丢弃这个包。

所以链路层的主要工作就是对电信号进行分组并形成具有特定意义的数据帧,然后以广播的形式通过物理介质发送给接收方。

IP协议

网络层引入了IP协议,制定了一套新地址,使得我们能够区分两台主机是否同属一个网络,这套地址就是网络地址,也就是所谓的IP地址。IP协议将这个32位的地址分为两部分,前面部分代表网络地址,后面部分表示该主机在局域网中的地址。如果两个IP地址在同一个子网内,则网络地址一定相同。为了判断IP地址中的网络地址,IP协议还引入了子网掩码,IP地址和子网掩码通过按位与运算后就可以得到网络地址。

ARP协议

即地址解析协议,是根据IP地址获取MAC地址的一个网络层协议。其工作原理如下:ARP首先会发起一个请求数据包,数据包的首部包含了目标主机的IP地址,然后这个数据包会在链路层进行再次包装,生成以太网数据包,最终由以太网广播给子网内的所有主机,每一台主机都会接收到这个数据包,并取出标头里的IP地址,然后和自己的IP地址进行比较,如果相同就返回自己的MAC地址,如果不同就丢弃该数据包。ARP接收返回消息,以此确定目标机的MAC地址;与此同时,ARP还会将返回的MAC地址与对应的IP地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

路由协议

首先通过IP协议来判断两台主机是否在同一个子网中,如果在同一个子网,就通过ARP协议查询对应的MAC地址,然后以广播的形式向该子网内的主机发送数据包;如果不在同一个子网,以太网会将该数据包转发给本子网的网关进行路由。网关是互联网上子网与子网之间的桥梁,所以网关会进行多次转发,最终将该数据包转发到目标IP所在的子网中,然后再通过ARP获取目标机MAC,最终也是通过广播形式将数据包发送给接收方。而完成这个路由协议的物理设备就是路由器,路由器扮演着交通枢纽的角色,它会根据信道情况,选择并设定路由,以最佳路径来转发数据包。

所以,网络层的主要工作是定义网络地址、区分网段、子网内MAC寻址、对于不同子网的数据包进行路由。

链路层定义了主机的身份,即MAC地址,而网络层定义了IP地址,明确了主机所在的网段,有了这两个地址,数据包就从可以从一个主机发送到另一台主机。但实际上数据包是从一个主机的某个应用程序发出,然后由对方主机的应用程序接收。而每台电脑都有可能同时运行着很多个应用程序,所以当数据包被发送到主机上以后,是无法确定哪个应用程序要接收这个包。因此传输层引入了UDP协议来解决这个问题,为了给每个应用程序标识身份。

UDP协议

UDP协议定义了端口,同一个主机上的每个应用程序都需要指定唯一的端口号,并且规定网络中传输的数据包必须加上端口信息,当数据包到达主机以后,就可以根据端口号找到对应的应用程序了。UDP协议比较简单,实现容易,但它没有确认机制,数据包一旦发出,无法知道对方是否收到,因此可靠性较差,为了解决这个问题,提高网络可靠性,TCP协议就诞生了。

TCP协议

TCP即传输控制协议,是一种面向连接的、可靠的、基于字节流的通信协议。简单来说TCP就是有确认机制的UDP协议,每发出一个数据包都要求确认,如果有一个数据包丢失,就收不到确认,发送方就必须重发这个数据包。为了保证传输的可靠性,TCP协议在UDP基础之上建立了三次对话的确认机制,即在正式收发数据前,必须和对方建立可靠的连接。TCP数据包和UDP一样,都是由首部和数据两部分组成,唯一不同的是,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。

传输层的主要工作是定义端口,标识应用程序身份,实现端口到端口的通信,TCP协议可以保证数据传输的可靠性。

理论上讲,有了以上三层协议的支持,数据已经可以从一个主机上的应用程序传输到另一台主机的应用程序了,但此时传过来的数据是字节流,不能很好的被程序识别,操作性差,因此,应用层定义了各种各样的协议来规范数据格式,常见的有http,ftp,smtp等,在请求Header中,分别定义了请求数据格式Accept和响应数据格式Content-Type,有了这个规范以后,当对方接收到请求以后就知道该用什么格式来解析,然后对请求进行处理,最后按照请求方要求的格式将数据返回,请求端接收到响应后,就按照规定的格式进行解读。

所以应用层的主要工作就是定义数据格式并按照对应的格式解读数据。

在TCP/IP网络中,链路层这一层次的复杂程度是最高的。其中最常见的攻击方式通常是网络嗅探组成的TCP/IP协议的以太网。当前,我国应用较为广泛的局域网是以太网,且其共享信道利用率非常高。以太网卡有两种主要的工作方式,一种是一般工作方式,另一种是较特殊的混杂方式。这一情况下,很可能由于被攻击的原因而造成信息丢失情况,且攻击者可以通过数据分析来获取账户、密码等多方面的关键数据信息。

ARP欺骗

ARP(地址解析协议)是根据IP地址获取物理地址的一个TCP/IP协议。通常情况下,在IP数据包发送过程中会存在一个子网或者多个子网主机利用网络级别第一层,而ARP则充当源主机第一个查询工具,在未找到IP地址相对应的物理地址时,将主机和IP地址相关的物理地址信息发送给主机。与此同时,源主机将包括自身IP地址和ARP检测的应答发送给目的主机。如果ARP识别链接错误,这样的话ARP直接应用可疑信息,那么可疑信息就会很容易进入目标主机当中。ARP协议没有状态,不管有没有收到请求,主机会将任何受到的ARP相应自动缓存。如果信息中带有病毒,采用ARP欺骗就会导致网络信息安全泄露。因此,在ARP识别环节,应加大保护,建立更多的识别关卡,不能只简单通过IP名进行识别,还需充分参考IP相关性质等。

ICMP欺骗

ICMP协议也是因特网控制报文协议,主要用在主机与路由器之间进行控制信息传递。通过这一协议可对网络是否通畅、主机是否可达、路由是否可用等信息进行控制。一旦出现差错,数据包会利用主机进行即时发送,并自动反回描述错误的信息。该协议在网络安全当中是十分重要的协议。但由于自身特点的原因,其极易受到入侵,通常而言,目标主机在长期发送大量ICMP数据包的情况下,会造成目标主机占用大量CPU资源,最终造成系统瘫痪。

在传输层还存在网络安全问题。如在网络安全领域中,IP欺骗就是隐藏自己的有效手段,主要是通过将自身IP地址进行伪造,并向目标主机发送恶意的请求,攻击主机,而主机却因为IP地址被隐藏而无法准确确认攻击源。或者通过获取目标主机信任而趁机窃取相关的机密信息。在DOS攻击中往往会使用IP欺骗,这是因为数据包地址来源较广泛,无法进行有效过滤,从而使IP基本防御的有效性大幅度下降。此外,在ICMP传输通道,由于ICMP式IP层的组成部分之一,在IP软件中任何端口向ICMP发送一个PING文件,借此用作申请,申请文件传输是否被允许,而ICMP会做出应答,这一命令可检测消息的合法性。所有申请传输的数据基本上传输层都会同意,造成这一情况的原因主要是PING软件编程无法智能识别出恶意信息,一般网络安全防护系统与防火墙会自动默认PING存在,从而忽视其可能带来的安全风险。

对于因特网而言,IP地址与域名均是一一对应的,这两者之间的转换工作,被称为域名解析。而DNS就是域名解析的服务器。DNS欺骗指的是攻击方冒充域名服务器的行为,使用DNS欺骗能将错误DNS信息提供给目标主机。所以说,通过DNS欺骗可误导用户进入非法服务器,让用户相信诈骗IP。另外,PTP网络上接口接受到不属于主机的数据,这也是应用层存在的安全问题,一些木马病毒可趁机入侵,造成数据泄露,从而引发网络安全问题。

防火墙技术的核心是在不安全网络环境中去构建相对安全的子网环境,以保证内部网络安全。可以将其想成为一个阻止输入、允许输入的开关,也就是说防火墙技术可允许有访问权限的资源通过,拒绝其他没有权限的通信数据,在调用过滤器时,会被调到内核当中实现执行,而在服务停止时,会从内核中将过滤规则消除,内核当中所有分组过滤功能运行均在堆栈深层中。同时,还有代理服务型防火墙,其特点是将内网与外网之间的直接通信进行彻底隔离,内网对外网的访问转变为代理防火墙对外网的访问,之后再转发给内网。代理服务器在发现被攻击迹象的时候,会保留攻击痕迹,及时向网络管理员进行示警。

入侵监测系统是近些年兴起的网络安全技术。该技术属于一种动态安全技术,通过对入侵行为特点与入侵过程进行研究,安全系统即刻做出实时响应,在攻击者尚未完成的情况下逐步进行拦截与防护。入侵监测系统也属于网络安全问题研究中的重要内容,借助该技术可实现逻辑补偿防火墙技术,可以实时阻止内部入侵、误操作以及外部入侵,还具有实时报警功能,更是为网络安全防护增添了一道保护网。入侵检测技术有智能化入侵检测、全面安全防御方案与分布式入侵检测三个发展方面。

访问控制是保护与防范网络安全的主要策略。由于每一个系统要访问用户是要有访问权限的,只有拥有方位权限才能允许访问,这样的机制就被称为访问控制。这一安全防范策略并不是通过直接抵御入侵行为来实现的,但是,是实际应用的网络防护的重要策略,也是用户迫切需要的。其主要包括两个方面的功能,一个是对外部方位进行合法性检查,这种功能和防火墙相类似,另一个是对从内到外的访问进行一些目标站点检查,封锁非法站点,在服务器上,可以对那些用户进行访问服务限制。

TCP/IP传输协议的时效性是指,传输的信息在一定的使用情景、时间范围内,数据信息对使用者是有价值的。更宏观的来说,信息的时效性还包括数据信息在传输后引起接受者的兴趣和对社会产生的影响。但随着时间的推移,数据信息的被利用价值就会越来越小。也就是说,针对同一事物的相关数据信息在不同的时间段里有着或大或小的价值差异,这种差异我们叫作数据信息的时效性。TCP/IP传输协议下的数据信息传输,克服了传统信息传输方式的滞后、拖延、效率低下的问题。TCP/IP传输协议往往能及时地将有效信息传输给信息需要者,这就能实现数据信息的价值最大化,保证数据信息的时效性。

随着现代社会的高速运转,人们接收的数据信息数量呈爆炸式增长,但数据信息的质量则是参差不齐。所以,人们对于接收到的信息往往会随着时间的流逝便抛之脑后。一般性的事件信息在很短的时间内就可能失去时效。所以说,具有时效性的数据信息一定有着时新性特点,能够与时俱进。而计算机网络中的TCP/IP传输协议的时效性则恰好具有时新性特点。它能利用高速运转的网络技术,及时捕捉科学有效的数据信息。并且能随着时间的变化,自动淘汰过时的无用信息,做到与时俱进。

数据在传输之后,它最终是要满足使用者的需要。计算机网络中的TCP/IP传输协议除了能保障数据信息的时新性,还能根据使用者的不同需求,提供与实际相符的数据信息,具有充分的灵活性和可扩展性。

数据信息在传输过程中会一般会受传输者、接收者、传输渠道以及外部环境的影响。这些因素会不同程度上影响数据信息输送的及时性。例如由于传输者自身的计算机专业能力的水平有限,没有认识到信息传输的重要性,对数据的收集不够完整和有效,或者是采用了错误的传输方式,都会影响信息传输的时效性。而计算机网络中的TCP/IP传输协议的数据传输,不仅能处理好复杂的信息结构,繁多的数据信息,还能维护数据信息的安全,确保数据信息的科学准确性。

为了满足当今社会对数据信息的需求,计算机网络中的TCP/IP传输协议在对传统的数据传输过程进行了改善,使得网络信息的传输具备时效性特点,更加快速便捷。基于计算机网络的TCP/IP协议,数据传输流程主要是建立TCP/IP连接、数据发送、数据接收这三个主要环节。这三个环节的无缝连接使得数据信息实现了实时性传输。在TCP/IP传输协议的通信中,为保证数据信息到达目的地址,数据的发送端口和数据的接受端口需要向双方发送信息以确认是否能够建立通信连接。建立TCP/IP连接站口是数据信息传输的前提条件。在建立了TCP/IP连接站口后,就可以进行数据信息的发送。数据信息首先进入发送缓冲区传输层,然后一层一层进行传输。在发送的过程中,传输层协议会对数据信息进行相应地封装,以便实现完整准确的传输。数据信息的接收主要就是接收计算机发送的数据传输电路板的控制命令。目的主机在接收到数据信息包后,首先会进行识别,确定该数据包的有效载体是IP、ARP还RARP,然后进行相应地数据解封处理。最后将数据信息发送到需要的应用程序。数据信息传输的过程中三个环节环环相扣,实现了基于计算机网络TCP/IP传输协议的时效性。

能够实现实时性的信息传输,最主要的是离不开网络技术的支持。TCP/IP传输协议能够保证数据信息及时传输,它采用的技术具有先进性,并且容易理解和使用。计算机网络中TCP/IP传输协议主要采用的是先进的数据压缩技术。数据压缩就是文本编码的过程,以便将相同的数据信储存在更少的字节空间。文本占用空间减少、传输速度加快。数据压缩技术允许以最快的操作速度进行实时编码。

像OSl模型一样,TCP/IP模型和协议也有自己的问题。

(1)该模型没有明显地区分服务、接口和协议的概念。因此,对于使用新技术来设计新网络,TCP/IP模型不是一个太好的模板。

(2)TCP/IP模型完全不是通用的,并且不适合描述除TCP/IP模型之外的任何协议栈。

(3)链路层并不是通常意义上的一层。它是一个接口,处于网络层和数据链路层之间。接口和层间的区别是很重要的。

(4)TCP/IP模型不区分物理层和数据链路层。这两层完全不同,物理层必须处理铜缆、光纤和无线通信的传输特征;而数据链路层的工作是确定帧的开始和结束,并且按照所需的可靠程度把帧从一端发送到另一端。


相关文章推荐:
TCP | IP | FTP | SMTP | UDP | Telnet | FTP | SMTP | UDP | RARP | 网络控制协议 | ARPANET | 数据包 | OSI | SMTP | HTTP | TELNET | 物理层 | 数据链路层 | 计算机硬件 | 操作系统 | 广域网 | 互联网 | 网络通信 | 网卡 | 以太网 | 子网 | 网关 | 互联网 | 路由器 | 网段 | UDP | 端口 | http | smtp | Header | 局域网 | CPU | DOS | DNS | PTP | 木马 | 防火墙 | 堆栈 | 服务器 | 缓冲区 | 数据包 | ARP | RARP | 数据压缩 | 协议栈 |
相关词汇词典