什么是TCP/IP协议

2009年02月19号 14:51  |  分类:协议基础

 1.TCP/IP协议中的”协议”二字是什么意思?

        刚学TCP/IP协议的时候,小弟对”协议”二字深表不解。所以,现在花一定文字对此加以解释,以帮助那些同样表示不解的朋友。这里所谓的”协议”,小弟的理解是”协议=规则”。为了使网络中的终端能够互相通信,双方都必须遵守的一套规则。这里,强调一套,是因为还有其他规则(协议)可以用来实现网络通信,我们这里要研究的只是TCP/IP这一套规则而已!

 2.为什么TCP/IP协议叫TCP/IP协议?

       TCP/IP协议是一系列协议的统称,其中还包含了很多其他的协议,例如:UDP、ARP、RARP、ICMP、IGMP、PPP等等。为什么这个协议体系不叫ARP/ICMP或者UDP/PPP呢?大家,先明确一个概念:所有协议都是为了”用户数据”(这里用引号的意义是为了让大家死死记住这个术语)能够正确到达目的地而服务的!不同的协议,有其自身的功能,只有他们协同工作,才能使这个传输用户数据的任务能”尽可能”可靠的执行!在这个传输用户数据的任务中TCP和IP协议是使用最频繁的,因此把它们融合到一起,作为这个协议体系的名称!

 3. OSI参考模型与TCP/IP协议的区别

        小弟以前搞不清楚这二者的区别所在,哈哈,用了不少的时间去弄明白(悟性啊。。。)!先说OSI,这个东东只是一个理论建议!建议的什么呢?简单的说,就是,要想实现网络通信,可以这么去做,当然也可以不用这种方式,只是一个建议而已!这种建议,是非常科学的!为什么呢?首先,这种建议,把实现网络通信所要用到的一系列行为层次化了,因此,下面这张图片就诞生了:

OSI参考模型 

 那什么叫”一系列行为的层次化”?层次化与不层次化有什么区别呢?想把用户数据,通过网络顺利的传送到目的地,期间,这堆用户数据在传向网络之前需要经过数次加工(专业术语叫:封装,也叫数据打包),而且,在传送这些数据之前,也许,还需做一些辅助工作(这一系列工作,我们以后慢慢分析)。通过小弟所讲的,大家都能很容易的知道,这是一个很复杂的过程,要经历的工序非常之多。如果,OSI模型不把这些工序按照一定的规则分层,不管是对于OSI的学习者,还是借助OSI模型理论开发一套具体协议的程序员而言,都是十分困难的!这就是层次化和不层次化的最大区别!以后,小弟对这个问题,将做更深入的讲解,今天,我们只要求”点到为止”!

         那么,TCP/IP协议与OSI模型的区别在哪儿呢?上面我们提到,分层的好处之一就是降低了程序员的编码难度也缩短了开发周期!已经非常明显,TCP/IP协议就是对OSI参考模型的一种代码化!TCP/IP协议同样分为四层,这个层次只是虚拟化的,也是为了便于人们的学习和扩展开发。实物看来,就是海量的计算机代码的集合。OSI不是计算机代码的集合,他只是文字叙述的集合。TCP/IP可以控制计算机,OSI不能控制计算机,他只是用来让人看的!

Pages: Prev 1 2 3 ...4 5 6 7 8 9 10 11 12