TCP/IP协议

TCP/IP协议

目录导航

内容简介

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

为了减少网络设计的复杂性,大多数网络都采用分层结构。对于不同的网络,层的数量、名字、内容和功能都不尽相同。在相同的网络中,一台机器上的第N层与另一台机器上的第N层可利用第N层协议进行通信,协议基本上是双方关于如何进行通信所达成的一致。

不同机器中包含的对应层的实体叫做对等进程。在对等进程利用协议进行通信时,实际上并不是直接将数据从一台机器的第N层传送到另一台机器的第N层,而是每一层都把数据连同该层的控制信息打包交给它的下一层,它的下一层把这些内容看做数据,再加上它这一层的控制信息一起交给更下一层,依此类推,直到最下层。最下层是物理介质,它进行实际的通信。相邻层之间有接口,接口定义下层向上层提供的原语操作和服务。相邻层之间要交换信息,对等接口必须有一致同意的规则。层和协议的集合被称为网络体系结构。

每一层中的活动元素通常称为实体,实体既可以是软件实体,也可以是硬件实体。第N层实体实现的服务被第N+1层所使用。在这种情况下,第N层称为服务提供者,第N+1层称为服务用户。

服务是在服务接入点提供给上层使用的。服务可分为面向连接的服务和面向无连接的服务,它在形式上是由一组原语来描述的。这些原语可供访问该服务的用户及其他实体使用。

名词定义

IP

TCP/IP协议TCP/IP协议  IP层接收由更低层(网络接口层例如 以太网设备驱动程序)发来的 数据包,并把该数据包发送到更高层---TCP或 UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是否按顺序发送的或者有没有被破坏,IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。

高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说, IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫作IP source routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好像是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。那么,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。

TCP

TCP/IP协议TCP/IP协议(3)TCP是面向连接的通信协议,通过 三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。

TCP提供的是一种可靠的 数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。

如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。

TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。

面向连接的服务(例如 Telnet、 FTP、rlogin、 X Windows和 SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收 域名数据库),但使用UDP传送有关单个主机的信息。

UDP

UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。

UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象,实际应用中要求程序员编程验证。

UDP与 TCP位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网络时间协议)和DNS(DNS也使用TCP)。

欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。

ICMP

ICMP与IP位于同一层,它被用来传送IP的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的‘Redirect’信息通知主机通向其他系统的更准确的路径,而‘Unreachable’信息则指出路径有问题。另外,如果路径不可用了,ICMP可以使TCP连接‘体面地’终止。PING是最常用的基于ICMP的服务。

通讯端口

TCP和UDP服务通常有一个客户/ 服务器的关系,例如,一个Telnet服务进程开始在系统上处于空闲状态,等待着连接。用户使用Telnet客户程序与服务进程建立一个连接。客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。因而,这个连接是双工的,可以用来进行读写。

两个系统间的多重Telnet连接是如何相互确认并协调一致呢?TCP或UDP连接唯一地使用每个信息中的如下四项进行确认:

源IP地址 发送包的IP地址。

目的 IP地址 接收包的IP地址。

源端口 源系统上的连接的端口。

目的端口 目的系统上的连接的端口。

端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。一个端口对应一个16比特的数。服务进程通常使用一个固定的端口,例如, SMTP使用25、Xwindows使用6000。这些 端口号是‘广为人知’的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯。

数据格式

数据帧:帧头+IP数据包+帧尾 (帧头包括源和目标主机MAC初步地址及类型,帧尾是校验字)

IP数据包:IP头部+TCP数据信息(IP头包括源和目标主机IP地址、类型、生存期等)

TCP数据信息:TCP头部+实际数据 (TCP头包括源和目标主机 端口号、顺序号、确认号、校验字等)

IP地址

在Internet上连接的所有计算机,从大型机到微型计算机都是以独立的身份出现,人们称它为主机。为了实现各主机间的通信,每台主机都必须有一个唯一的 网络地址。就好像每一个住宅都有唯一的门牌一样,才不至于在传输资料时出现混乱。

Internet的网络地址是指连入Internet网络的计算机的地址编号。所以,在Internet网络中,网络地址唯一地标识一台计算机。

我们都已经知道,Internet是由几千万台计算机互相连接而成的。而我们要确认网络上的每一台计算机,靠的就是能唯一标识该计算机的网络地址,这个地址就叫做IP(Internet Protocol的简写)地址,即用Internet协议语言表示的地址。

在Internet里,IP地址是一个32位的二进制地址,为了便于记忆,将它们分为4组,每组8位,由小数点分开,用四个字节来表示,而且,用点分开的每个字节的数值范围是0~255,如202.116.0.1,这种书写方法叫做点数表示法。

历史沿革

产生背景

TCP/IP协议TCP/IP协议  在阿帕网(ARPA)产生运作之初,通过接口信号处理机实现互联的电脑并不多,大部分电脑相互之间不兼容。在一台电脑上完成的工作,很难拿到另一台电脑上去用,想让硬件和软件都不一样的电脑联网,也有很多困难。当时美国的状况是,陆军用的电脑是DEC系列产品,海军用的电脑是Honeywell中标机器,空军用的是 IBM公司中标的电脑,每一个军种的电脑在各自的系里都运行良好,但却有一个大弊病:不能共享资源。

当时科学家们提出这样一个理念:“所有电脑生来都是平等的。”为了让这些“生来平等”的电脑能够实现“资源共享”就得在这些系统的标准之上,建立一种大家共同都必须遵守的标准,这样才能让不同的电脑按照一定的规则进行“谈判”,并且在谈判之后能“握手”。

在确定今天 因特网各个电脑之间“谈判规则”过程中,最重要的人物当数瑟夫(Vinton G.Cerf)。正是他的努力,才使今天各种不同的电脑能按照协议上网互联。瑟夫也因此获得了与克莱因罗克(“因特网之父”)一样的美称“ 互联网之父”。

瑟夫从小喜欢标新立异,坚强而又热情。中学读书时,就被允许使用加州大学洛杉矶分校的电脑,他认为“为电脑编程序是个非常激动人心的事,…只要把程序编好,就可以让电脑做任何事情。”1965年,瑟夫从斯坦福大学毕业到IBM的一家公司当系统 工程师,工作没多久,瑟夫就觉得知识不够用,于是到加州大学洛杉矶分校攻读博士,那时,正逢阿帕网的建立,“接口信号处理机”(IMP)的研试及网络测评中心的建立,瑟夫也成了著名科学家克莱因罗克手下的一位学生。瑟夫与另外三位年轻人(温菲尔德、克罗克、布雷登)参与了阿帕网的第一个节点的联接。此后不久,BBN公司对工作中各种情况发展有很强判断能力、被公认阿帕网建成作出巨大贡献的鲍伯·卡恩(Bob Kahn)也来到了加州大学洛杉矶分校。在那段日子里,往往是卡恩提出需要什么软件,而瑟夫则通宵达旦地把符合要求的软件给编出来,然后他们一起测试这些软件,直至能正常运行。

TCP/IP协议TCP/IP协议(3)当时的主要格局是这样的,罗伯茨提出网络思想设计网络布局,卡恩设计阿帕网总体结构,克莱因罗克负责网络测评系统,还有众多的科学家、研究生参与研究、试验。69年9月阿帕网诞生、运行后,才发现各个IMP连接的时候,需要考虑用各种电脑都认可的信号来打开通信管道,数据通过后还要关闭通道。否则这些IMP不会知道什么时候应该接收信号,什么时候该结束,这就是我们所说的通信“协议”的概念。1970年12月制定出来了最初的通信协议由卡恩开发、瑟夫参与的“网络控制协议”(NCP),但要真正建立一个共同的标准很不容易,72年10月国际电脑通信大会结束后,科学家们都在为此而努力。

“包切换”理论为网络之间的联接方式提供了理论基础。卡恩在自己研究的基础上,认识到只有深入理解各种操作系统的细节才能建立一种对各种操作系统普适的协议,73年卡恩请瑟夫一起考虑这个协议的各个细节,他们这次合作的结果产生了在开放系统下的所有网民和网管人员都在使用的“传输控制协议”(TCP,Transmission-Control Protocol)和“因特网协议”(IP,Internet Protocol)即TCP/IP协议。

通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。1974年12月,卡恩、瑟夫的第一份TCP协议详细说明正式发表。当时美国国防部与三个科学家小组签定了完成TCP/IP的协议,结果由瑟夫领衔的小组捷足先登,首先制定出了通过详细定义的TCP/IP协议标准。当时作了一个试验,将信息包通过点对点的卫星网络,再通过陆地电缆,再通过卫星网络,再由地面传输,贯串欧洲和美国,经过各种电脑系统,全程9.4万公里竟然没有丢失一个数据位,远距离的可靠数据传输证明了TCP/IP协议的成功。

1983年1月1日,运行较长时期曾被人们习惯了的NCP被停止使用,TCP/IP协议作为因特网上所有主机间的共同协议,从此以后被作为一种必须遵守的规则被肯定和应用。

开发过程

在构建了 阿帕网先驱之后,DARPA开始了其他数据传输技术的研究。NCP诞生后两年,1972年,罗伯特·卡恩(Robert E. Kahn)被DARPA的信息技术处理办公室雇佣,在那里他研究卫星数据包网络和地面无线数据包网络,并且意识到能够在它们之间沟通的价值。在1973年春天,已有的ARPANET网络控制程序(NCP)协议的开发者 文顿·瑟夫(Vinton Cerf)加入到卡恩为ARPANET设计下一代协议而开发开放互连模型的工作中。

到了 1973年夏天,卡恩和瑟夫很快就开发出了一个基本的改进形式,其中 网络协议之间的不同通过使用一个公用互联网络协议而隐藏起来,并且可靠性由主机保证而不是像ARPANET那样由网络保证。(瑟夫称赞Hubert Zimmerman和Louis Pouzin(CYCLADES网络的设计者)在这个设计上发挥了重要影响。)

由于网络的作用减少到最小的程度,就有可能将任何网络连接到一起,而不用管它们不同的特点,这样就解决了卡恩最初的问题。(一个流行的说法提到瑟夫和卡恩工作的最终产品 TCP/IP将在运行“两个罐子和一根弦”上,实际上它已经用在信鸽上。一个称为网关(后来改为 路由器以免与 网关混淆)的计算机为每个网络提供一个接口并且在它们之间来回传输 数据包。

这个设计思想更细的形式由瑟夫在斯坦福的网络研究组的 1973年– 1974年期间开发出来。(处于同一时期的诞生了PARC通用包协议组的施乐PARC早期网络研究工作也有重要的技术影响;人们在两者之间摇摆不定。)

DARPA于是与BBN、斯坦福和伦敦大学签署了协议开发不同硬件平台上协议的运行版本。有四个版本被开发出来——TCP v1、TCP v2、在1978年春天分成TCP v3和IP v3的版本,后来就是稳定的TCP/IP v4——因特网仍然使用的标准协议。

1975年,两个网络之间的TCP/IP通信在斯坦福和 伦敦大学学院(UCL)之间进行了测试。 1977年11月,三个网络之间的TCP/IP测试在美国、英国和挪威之间进行。在 1978年到1983年间,其他一些TCP/IP原型在多个研究中心之间开发出来。ARPANET完全转换到TCP/IP在1983年1月1日发生。[1]

1984年,美国国防部将TCP/IP作为所有 计算机网络的标准。1985年,因特网架构理事会举行了一个三天有250家厂商代表参加的关于计算产业使用TCP/IP的工作会议,帮助协议的推广并且引领它日渐增长的商业应用。

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

IPV4

IPv4,是 互联网协议(Internet Protocol,IP)的第四版,也是第一个被广泛使用,构成现今 互联网技术的基石的协议。1981年Jon Postel 在RFC791中定义了IP,Ipv4可以运行在各种各样的底层网络上,比如端对端的串行数据链路(PPP协议和 SLIP协议) ,卫星链路等等。局域网中最常用的是以太网。

传统的TCP/IP协议基于 IPV4属于 第二代互联网技术,核心技术属于美国。它的最大问题是网络地址资源有限,从理论上讲,编址1600万个网络、40亿台主机。但采用A、B、C三类编址方式后,可用的网络地址和主机地址的数目大打折扣,以至IP地址已经枯竭。其中 北美占有3/4,约30亿个,而人口最多的亚洲只有不到4亿个, 中国截止2010年6月IPv4地址数量达到2.5亿,落后于4.2亿网民的需求。虽然用 动态IP及Nat地址转换等技术实现了一些缓冲,但IPV4地址枯竭已经成为不争的事实。在此,专家提出IPV6的互联网技术,也正在推行,但IPV4的使用过过渡到IPV6需要很长的一段过渡期。中国主要用的就是ip4,在win7中已经有了ipv6的协议不过对于中国的用户们来说可能很久以后才会用到吧。

传统的TCP/IP协议基于电话宽带以及 以太网的电器特性而制定的,其分包原则与检验占用了数据包很大的一部分比例造成了传输效率低,网络正向着全 光纤网络高速以太网方向发展,TCP/IP协议不能满足其发展需要。

1983年TCP/IP协议被 ARPAnet采用,直至发展到后来的互联网。那时只有几百台计算机互相联网。到1989年联网计算机数量突破10万台,并且同年出现了1.5Mbit/s的 骨干网。因为 IANA把大片的 地址空间分配给了一些公司和研究机构, 90年代初就有人担心10年内IP地址空间就会不够用,并由此导致了IPv6 的开发。

IPv6

IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“ 互联网协议”。IPv6是 IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。

与IPV4相比,IPV6具有以下几个优势:

一、IPv6具有更大的地址空间。IPv4中规定IP地址长度为32,即有2^32-1(符号^表示升幂,下同)个地址;而IPv6中IP地址的长度为128,即有2^128-1个地址。

二、IPv6使用更小的 路由表。IPv6的地址分配一开始就遵循聚类(Aggregation)的原则,这使得路由器能在路由表中用一条记录(Entry)表示一片子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。

三、IPv6增加了增强的组播(Multicast)支持以及对流的控制(Flow Control),这使得网络上的多媒体应用有了长足发展的机会,为 服务质量(QoS,Quality of Service)控制提供了良好的网络平台。

四、IPv6加入了对自动 配置(Auto Configuration)的支持。这是对 DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。

五、IPv6具有更高的安全性。在使用IPv6网络中用户可以对网络层的数据进行加密并对IP报文进行校验,极大的增强了网络的安全性。

参考模型

OSI参考模型

OSI参考模型是ISO的建议,它是为了使各层上的协议国际标准化而发展起来的。OSI参考模型全称是开放系统互连参考模型(Open System Interconnection Reference Model)。这一参考模型共分为七层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,如图1所示。TCP/IP协议TCP/IP协议

物理层(Physical Layer)主要是处理机械的、电气的和过程的接口,以及物理层下的物理传输介质等。

数据链路层(Data Link Layer)的任务是加强物理层的功能,使其对网络层显示为一条无错的线路。

网络层(Network Layer)确定分组从源端到目的端的路由选择。路由可以选用网络中固定的静态路由表,也可以在每一次会话时决定,还可以根据当前的网络负载状况,灵活地为每一个分组分别决定。

传输层(Transport Layer)从会话层接收数据,并传输给网络层,同时确保到达目的端的各段信息正确无误,而且使会话层不受硬件变化的影响。通常,会话层每请求建立一个传输连接,传输层就会为其创建一个独立的网络连接。但如果传输连接需要一个较高的吞吐量,传输层也可以为其创建多个网络连接,让数据在这些网络连接上分流,以提高吞吐量。而另一方面,如果创建或维持一个独立的网络连接不合算,传输层也可将几个传输连接复用到同一个网络连接上,以降低费用。除了多路复用,传输层还需要解决跨网络连接的建立和拆除,并具有流量控制机制。

会话层(Session Layer)允许不同机器上的用户之间建立会话关系,既可以进行类似传输层的普通数据传输,也可以被用于远程登录到分时系统或在两台机器间传递文件。

表示层(Presentation Layer)用于完成一些特定的功能,这些功能由于经常被请求,因此人们希望有通用的解决办法,而不是由每个用户各自实现。

应用层(Application Layer)中包含了大量人们普遍需要的协议。不同的文件系统有不同的文件命名原则和不同的文本行表示方法等,不同的系统之间传输文件还有各种不兼容问题,这些都将由应用层来处理。此外,应用层还有虚拟终端、电子邮件和新闻组等各种通用和专用的功能。

参考模型

TCP/IP参考模型是首先由ARPANET所使用的网络体系结构。这个体系结构在它的两个主要协议出现以后被称为TCP/IP参考模型(TCP/IP Reference Model)。这一网络协议共分为四层:网络访问层、互联网层、传输层和应用层,如图2所示。TCP/IP协议TCP/IP协议

网络访问层(Network Access Layer)在TCP/IP参考模型中并没有详细描述,只是指出主机必须使用某种协议与网络相连。

互联网层(Internet Layer)是整个体系结构的关键部分,其功能是使主机可以把分组发往任何网络,并使分组独立地传向目标。这些分组可能经由不同的网络,到达的顺序和发送的顺序也可能不同。高层如果需要顺序收发,那么就必须自行处理对分组的排序。互联网层使用因特网协议(IP,Internet Protocol)。TCP/IP参考模型的互联网层和OSI参考模型的网络层在功能上非常相似。

传输层(Tramsport Layer)使源端和目的端机器上的对等实体可以进行会话。在这一层定义了两个端到端的协议:传输控制协议(TCP,Transmission Control Protocol)和用户数据报协议(UDP,User Datagram Protocol)。TCP是面向连接的协议,它提供可靠的报文传输和对上层应用的连接服务。为此,除了基本的数据传输外,它还有可靠性保证、流量控制、多路复用、优先权和安全性控制等功能。UDP是面向无连接的不可靠传输的协议,主要用于不需要TCP的排序和流量控制等功能的应用程序。

应用层(Application Layer)包含所有的高层协议,包括:虚拟终端协议(TELNET,TELecommunications NETwork)、文件传输协议(FTP,File Transfer Protocol)、电子邮件传输协议(SMTP,Simple Mail Transfer Protocol)、域名服务(DNS,Domain Name Service)、网上新闻传输协议(NNTP,Net News Transfer Protocol)和超文本传送协议(HTTP,HyperText Transfer Protocol)等。TELNET允许一台机器上的用户登录到远程机器上,并进行工作;FTP提供有效地将文件从一台机器上移到另一台机器上的方法;SMTP用于电子邮件的收发;DNS用于把主机名映射到网络地址;NNTP用于新闻的发布、检索和获取;HTTP用于在WWW上获取主页。

协议层次

TCP/IP协议不是 TCP和 IP这两个协议的合称,而是指因特网整个TCP/IP协议族。

TCP/IP协议TCP/IP协议

从协议 分层模型方面来讲,TCP/IP由四个层次组成: 网络接口层、 网络层、 传输层、 应用层。

TCP/IP 协议并不完全符合 OSI的七层参考模型,OSI(Open System Interconnect)是传统的 开放式系统互连参考模型,是一种 通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是: 物理层、 数据链路层(网络接口层)、 网络层(网络层)、 传输层(传输层)、 会话层、 表示层和 应用层(应用层)。而TCP/IP 通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。由于 ARPANET的设计者注重的是 网络互联,允许 通信子网( 网络接口层)采用已有的或是将来有的各种协议,所以这个层次中没有提供专门的协议。实际上,TCP/IP协议可以通过 网络接口层连接到任何网络上,例如X.25交换网或 IEEE802局域网。

注意tcp本身不具有数据传输中噪音导致的错误检测功能,但是有实现超时的错误重传功能;

TCP/IP结构对应OSI

TCP/IP

OSI

应用层

应用层

表示层

会话层

主机到主机层(TCP)(又称传输层)

传输层

网络层(IP)(又称互联层)

网络层

网络接口层(又称链路层)

数据链路层

物理层

网络接口层

TCP/IP结构对应OSI

TCP/IP

OSI

应用层

应用层

表示层

会话层

主机到主机层(TCP)(又称传输层)

传输层

网络层(IP)(又称互联层)

网络层

网络接口层(又称链路层)

数据链路层

物理层

网络层

物理层是定义物理介质的各种特性:

1、 机械特性;

2、电子特性;

3、 功能特性;

4、规程特性。

数据链路层是负责接收IP数据包并通过网络发送,或者从网络上接收物理 帧,抽出IP 数据包,交给IP层。

ARP是正向 地址解析协议,通过已知的IP,寻找对应主机的 MAC地址。

RARP是反向地址解析协议,通过MAC地址确定IP地址。比如 无盘工作站还有DHCP服务。

常见的接口层协议有:

Ethernet 802.3、Token Ring 802.5、 X.25、Frame relay、 HDLC、PPP ATM等。

传输层

负责相邻 计算机之间的通信。其功能包括三方面。

  1. 处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。

  2. 处理输入数据报:首先检查其合法性,然后进行寻径--假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。

  3. 处理路径、流控、拥塞等问题。

网络层包括: IP(Internet Protocol)协议、 ICMP(Internet Control Message Protocol)

控制报文协议、 ARP(Address Resolution Protocol)地址转换协议、RARP(Reverse ARP)反向地址转换协议。

IP是网络层的核心,通过路由选择将下一条IP封装后交给接口层。IP数据报是无连接服务。

ICMP是网络层的补充,可以回送 报文。用来检测网络是否通畅。

Ping命令就是发送ICMP的 echo包,通过回送的echo relay进行网络测试。

应用层

提供 应用程序间的通信。其功能包括:一、格式化信息流;二、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送,即耳熟能详的“三次握手”过程,从而提供可靠的数据传输。

传输层协议主要是:传输控制协议TCP(Transmission Control Protocol)和用户数据报协议 UDP(User Datagram protocol)。

协议特点

向用户提供一组常用的应用程序,比如 电子邮件、文件传输访问、 远程登录等。远程登录 TELNET使用TELNET协议提供在网络其它主机上注册的接口。TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用 FTP协议来提供网络内机器间的文件拷贝功能。

应用层协议主要包括如下几个:FTP、TELNET、DNS、SMTP、NFS、HTTP。

FTP(File Transfer Protocol)是文件传输协议,一般上传下载用FTP服务,数据端口是20H,控制端口是21H。

Telnet服务是用户远程登录服务,使用23H端口,使用明码传送,保密性差、简单方便。

DNS(Domain Name Service)是域名解析服务,提供域名到IP地址之间的转换,使用端口53。

SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,用来控制信件的发送、中转,使用端口25。

NFS(Network File System)是网络文件系统,用于网络中不同主机间的文件共享。

HTTP(Hypertext Transfer Protocol)是超文本传输协议,用于实现互联网中的WWW服务,使用端口80。

总结

OSI中的层

功能

TCP/IP协议族

应用层

文件传输,电子邮件,文件服务,虚拟终端

TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等

表示层

数据格式化,代码转换,数据加密

没有协议

会话层

解除或建立与别的接点的联系

没有协议

传输层

提供 端对端的接口

TCP,UDP

网络层

为 数据包选择路由

IP,ICMP,OSPF,EIGRP,IGMP

数据链路层

传输有地址的帧以及错误检测功能

SLIP,CSLIP,PPP,MTU

物理层

以二进制数据形式在物理媒体上传输数据

ISO2110,IEEE802,IEEE802.2

网络层中的协议主要有IP,ICMP,IGMP等,由于它包含了IP协议模块,所以它是所有基于TCP/IP协议网络的核心。在网络层中,IP模块完成大部分功能。ICMP和IGMP以及其他支持IP的协议帮助IP完成特定的任务,如传输差错控制信息以及主机/路由器之间的控制电文等。网络层掌管着网络中主机间的信息传输。

传输层上的主要协议是TCP和UDP。正如网络层控制着主机之间的数据传递,传输层控制着那些将要进入网络层的数据。两个协议就是它管理这些数据的两种方式:TCP是一个基于连接的协议; UDP则是面向无连接服务的管理方式的协议。

主要特点

总结

OSI中的层

功能

TCP/IP协议族

应用层

文件传输,电子邮件,文件服务,虚拟终端

TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等

表示层

数据格式化,代码转换,数据加密

没有协议

会话层

解除或建立与别的接点的联系

没有协议

传输层

提供 端对端的接口

TCP,UDP

网络层

为 数据包选择路由

IP,ICMP,OSPF,EIGRP,IGMP

数据链路层

传输有地址的帧以及错误检测功能

SLIP,CSLIP,PPP,MTU

物理层

以二进制数据形式在物理媒体上传输数据

ISO2110,IEEE802,IEEE802.2

协议优势

主要缺点

(1)TCP/IP协议不依赖于任何特定的计算机硬件或操作系统,提供开放的协议标准,即使不考虑Internet,TCP/IP协议也获得了广泛的支持。所以TCP/IP协议成为一种联合各种硬件和软件的实用系统。

TCP/IP协议TCP/IP协议  (2)TCP/IP协议并不依赖于特定的网络传输硬件,所以TCP/IP协议能够集成各种各样的网络。用户能够使用以太网(Ethernet)、 令牌环网(Token Ring Network)、拨号线路(Dial-up line)、 X.25网以及所有的网络传输硬件。

(3)统一的网络地址分配方案,使得整个TCP/IP设备在网中都具有惟一的地址

(4)标准化的高层协议,可以提供多种可靠的用户服务。

相关应用

在长期的发展过程中, IP逐渐取代其他网络。这里是一个简单的解释。IP传输通用数据。数据能够用于任何目的,并且能够很轻易地取代以前由专有数据网络传输的数据。下面是一个普通的过程:

一个专有的网络开发出来用于特定目的。如果它工作很好,用户将接受它。

为了便利提供IP服务,经常用于访问电子邮件或者聊天,通常以某种方式通过专有网络隧道实现。隧道方式最初可能非常没有效率,因为 电子邮件和聊天只需要很低的带宽。

通过一点点的投资IP 基础设施逐渐在专有数据网络周边出现。

用IP取代专有服务的需求出现,经常是一个用户要求。

IP替代品过程遍布整个因特网,这使IP替代品比最初的专有网络更加有价值(由于网络效应)。

专有网络受到压制。许多用户开始维护使用IP替代品的复制品。

IP包的间接开销很小,少于1%,这样在成本上非常有竞争性。人们开发了一种能够将IP带到专有网络上的大部分用户的不昂贵的传输媒介。

大多数用户为了削减开销,专有网络被取消。

协议测试

第一,它在服务、 接口与协议的区别上就不是很清楚。一个好的软件工程应该将功能与实现方法区分开来,TCP/IP恰恰没有很好地做到这点,就使得TCP/IP参考模型对于使用新的技术的指导意义是不够的。TCP/IP参考模型不适合于其他非TCP/IP协议簇。

第二,主机-网络层本身并不是实际的一层,它定义了网络层与数据链路层的接口。物理层与数据链路层的划分是必要和合理的,一个好的参考模型应该将它们区分开,而TCP/IP参考模型却没有做到这点。

协议重置

安全隐患

TCP/IP协议TCP/IP协议  全面的测试应包括局域网和互联网两个方面,因此应从局域网和互联网两个方面测试,以下是在实际工作中利用命令行测试TCP/IP配置步骤:

1. 单击“开始”/“运行”,输入CMD按回车,打开命令提示符窗口。

2.首先检查IP地址、子网掩码、 默认网关、DNS服务器地址是否正确,输入命令ipconfig /all,按回车。此时显示了你的网络配置,观查是否正确。

3.输入ping 127.0.0.1,观查网卡是否能转发数据,如果出现“Request timed out”(请求超时),表明配置出错或网络有问题。

4.Ping一个互联网地址,看是否有数据包传回,以验证与互联网的连接性。

5. Ping 一个局域网地址,观查与它的连通性。

6.用nslookup测试DNS解析是否正确,输入如nslookup ,查看是否能解析。

如果你的计算机通过了全部测试,则说明网络正常,否则网络可能有不同程度的问题。在此不展开详述。不过,要注意,在使用 ping命令时,有些公司会在其主机设置丢弃ICMP数据包,造成你的ping命令无法正常返回数据包,不防换个网站试试。

链路层上的攻击

如果需要重新安装 TCP/IP 以使TCP/IP 堆栈恢复为原始状态。可以使用NetShell 实用程序重置TCP/IP 堆栈,使其恢复到初次安装操作系统时的状态。具体操作如下:

1.单击 开始--> 运行,输入"CMD" 后单击"确定";

2.在命令行模式输入命令

netsh int ip reset C:\resetlog.txt

(其中,Resetlog.txt记录命令结果的日志文件,一定要指定,这里指定了Resetlog.txt 日志文件及完整路径。)

运行结果可以查看C:\resetlog.txt

运行此命令的结果与删除并重新安装TCP/IP 协议的效果相同。

注意

本操作具有一定的风险性,请在操作前备份重要数据,并根据操作熟练度酌情使用。

网络层上的攻击

传输层上的攻击

在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网络上接口接受到不属于主机的数据,这也是应用层存在的安全问题,一些木马病毒可趁机入侵,造成数据泄露,从而引发网络安全问题。[4]

入侵检测系统

访问控制策略

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

时效性研究

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

数据的时新性

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

数据的灵活性

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

数据的安全准确性

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

数据传输过程的流畅性

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

传输技术的先进易用性

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

缺陷

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

词条图册

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

相关百科
返回顶部
产品求购 求购