简介:
IP(Internet Protocol)协议,又称网际协议,是TCP/IP协议的核心。它负责Internet上网络之间的通信,并规定了将数据报从一个网络传输到另一个网络所应遵循的规则。具体来说,IP协议不但定义了数据传输时的基本单元和格式,还定义了数据报的递交方法和路由选择。此外,在TCP/IP网络中,主机之间进行通信所必需的地址,也是通过IP协议来实现的。
有了这种地址,计算机网络用户之间才能够方便地进行通信。正是因为有了IP协议,因特网才得以迅速发展成为世界上最大的、开放的计算机通信网络。因此,IP协议也称之为“因特网协议”。
IP协议主要用于互联异构型网络,例如将LAN与WAN(使用X.25技术)互联。尽管这两类网络中采用的低层网络协议不同,但通过网关中的IP可使LAN中的LLC帧和WAN中的X.25分组之间互相交换。各种网络的帧格式、地址格式等差别很大,TCP/IP通过IP数据报和IP地址将它们统一起来,向上层(主要是传输层)提供统一的IP数据报,使低层物理帧的差异对上层协议不复存在,达到屏蔽低层、提供一致性的目的。
虽然IP协议保证了计算机之间可以发送和接收数据报,但它不负责解决数据报传达的可靠性等安全问题,这些安全因素主要由TCP协议负责完成。 
特点:
从某种意义上讲,Internet是许多物理网络的抽象,它不是互联技术,不涉及物理网络的细节,只提供与物理网络的接口。以用户观点看,Internet是一个互联所有主机的虚拟网络,但可以提供与所有物理网络同样的功能。
从概念上讲,Internet提供3层服务。最低层,无连接传送,系统提供不可靠、无连接的服务,这是其他服务的基础;第二层提供高可靠、面向连接的服务;第三层提供优质与应用有关的服务。
IP数据报协议非常简单,仅能提供不可靠、无连接的传送服务。不可靠即不保证分组成功传送,对分组丢失、分组无序或重新传送等问题,IP都不作检测,也不通知发送端或接收端。无连接则是指每个分组被独立地处理和传送。其次,IP协议是点到点的。点到点通信的最大问题便是如何进行恰当路由选择。
提供服务:
IP协议是TCP/IP网际层的核心协议,也是整个TCP/IP模型中的核心协议之一。运行IP协议的网际层可以为高层用户提供的服务有如下3个:
(1)不可靠的数据投递服务。这意味着IP不能保证数据报的可靠投递,IP本身没有能力证实发送的报文是否被正确接收。数据报可能在线路延迟、路由错误、数据报分片和重组等过程中受到损坏,但IP不检测这些错误。在错误发生时,IP也没有可靠的机制来通知发送方或接收方。
(2)面向无连接的传输服务。IP协议不维护IP数据报发送后的状态信息。从源节点到目的节点的每个数据报可能经过不同的传输路径,并且每个数据报的处理是相对独立的,数据报在传输过程中数据报有可能丢失,有可能正确到达。
(3)尽最大努力投递服务。尽管IP层提供的是面向非连接的不可靠服务,但是,IP并不随意地丢弃数据报。只有当系统的资源用尽、接收数据错误或网络故障等状态下,IP才被迫丢弃报文。
版本:
1.IPv4
因特网采用的核心协议族是TCP/IP协议族。IP是TCP/IP协议族中网络层的协议,是TCP/IP协议族的核心协议。目前IP协议的版本号是4(IPv4),发展至今已经使用了30多年。
IPv4的地址位数为32位,也就是最多有232台计算机可以连到Internet上。
2.IPv6
IPv6是下一版本的因特网协议,也可以说是下一代因特网的协议,它的提出最初是因为随着因特网的迅速发展,IPv4定义的有限地址空间将被耗尽,地址空间的不足必将妨碍因特网的进一步发展。为了扩大地址空间,拟通过IPv6重新定义地址空间。IPv6采用128位地址长度,几乎可以不受限制地提供地址。按保守方法估算,IPv6实际可分配的地址,整个地球的每平方米面积上仍可分配1000多个地址。和IPv4相比,IPv6的主要改变就是地址的长度为128位,也就是说可以有2128个IP地址,相当于1038。这么庞大的地址空间,足以保证地球上的每个人拥有一个或多个IP地址。考虑到IPv6地址的长度是原来的4倍,RFC1884规定的标准语法建议把IPv6地址的128位(16个字节)写成8个16位的无符号整数,每个整数用4个十六进制位表示,这些数之间用冒号分开,例如841b:e34f:16ca:3e00:80:c8ee:fBed:bf26。在IPv6的设计过程中除了一劳永逸地解决了地址短缺问题以外,还考虑了在IPv4中解决不好的其他问题,主要有端到端IP连接、服务质量、安全性、多播、移动性和即插即用等。
3.IPv4向IPv6的过渡
IPv6是在IPv4的基础上进行改进,一个重要的设计目标是与IPv4兼容,因为不可能要求立即将所有结点都转变到新的协议版本中,这需要有一个过渡时期。IPv6比起IPv4,具有面向高性能的网络(如ATM),同时,也可以在低带宽的网络(如无线网)上有效地运行。
IPv4的网络和业务将会在一段相当长的时间里与IPv6共存,许多业务仍然要在IPv4网络上运行很长时间,特别是IPv6不可能马上提供全球的连接,很多IPv6的通信不得不在IPv4网络上传输,因此过渡机制非常重要,需要业界的特别关注和重视。IPv4向IPv6过渡的过程是渐进的,可控制的,过渡时期会相当长,而且网络/终端设备需要同时支持IPv4和IPv6,最终的目标是使所有的业务功能都运行在IPv6的平台上。

什么是IP协议?的更多相关文章

  1. 门面模式的典型应用 Socket 和 Http(post,get)、TCP/IP 协议的关系总结

    门面模式的一个典型应用:Socket 套接字(Socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元.它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息: 连接使用的 ...

  2. OSI七层模型详解 TCP/IP协议

      总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转 ...

  3. TCP/IP协议(二)tcp/ip基础知识

    今天凌晨时候看书,突然想到一个问题:怎样做到持续学习?然后得出这样一个结论:放弃不必要的社交,控制欲望,克服懒惰... 然后又有了新的问题:学习效率时高时低,状态不好怎么解决?这也是我最近在思考的问题 ...

  4. TCP/IP协议(一)网络基础知识

    参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...

  5. TCP/IP协议详解——邮差与邮局

    信号的传输总要符合一定的协议.比如说长城上放狼烟,是因为人们已经预先设定好狼烟这个物理信号代表了“敌人入侵”这一抽象信号.这样一个“狼烟=敌人入侵”就是一个简单的协议. 信号的传输总要符合一定的协议( ...

  6. TCP/IP协议三次握手与四次握手流程解析

    原文链接地址:http://www.2cto.com/net/201310/251896.html TCP/IP协议三次握手与四次握手流程解析 TCP/IP协议的详细信息参看<TCP/IP协议详 ...

  7. 【原创】技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)

    1.前言 作为应用层开发人员,接触最多的网络协议通常都是传输层的TCP(与之同处一层的另一个重要协议是UDP协议),但对于IP协议,对于应用程序员来说更多的印象还是IP地址这个东西,再往深一点也就很难 ...

  8. TCP/IP协议

    1.为什么有了IP地址还需要MAC地址? 首先,数据或者信息在网络上的传输需要两个地址:目的地址和下一跳地址.其中IP地址就是目的地址,而MAC地址则是下一跳地址.目的地址在经过路由器转发的时候是不会 ...

  9. HTTP协议—— 简单认识TCP/IP协议

    大学没读计算机专业,所以很多的专业知识都不知道.既然已经从事了IT这个行业,就势必要去了解下网络底层,虽然实际工作中这些东西用不到.高楼大厦,起于平川.不积跬步,无以至千里,不积小流,无以成江海.我现 ...

  10. Http TCP/IP 协议的关系

    转自:http://www.cnblogs.com/ymy124/archive/2012/03/18/2404958.html 项目要求Web服务是高安全级别,在选择.net remoting,we ...

随机推荐

  1. [TSG开发]法如扫描仪SDK探幽-1.旧版SDK采集流程、问题解析、常见参数

    做什么 法如扫描仪是一个三维的激光扫描仪,可以通过特定的作业模式将空间以三维激光点云的形式保存下来,并且通过特定的算法得出一些想要的具体参数. 这个SDK探幽日志主要是对目前SDK开发中遇到的一些问题 ...

  2. 【园子资深博主直播】 冰蓝老师《ChatGPT 初探》

    AI对经济增长.经济周期.经济形态.社会就业都有着非常巨大的影响,ChatGPT4.0发布后,燃起了我们每一个开发人的激情和恐惧,但各路自媒体信息杂乱无序,缺少非常系统性的ChatGPT原理解读. 此 ...

  3. go语言编写算法

    1.冒泡排序 // 冒泡排序 a := []uint8{9, 20, 10, 23, 7, 22, 88, 102} for i := 0; i < len(a); i++ { for k := ...

  4. ndk std_thread 获取pid

    本文链接 https://www.cnblogs.com/wanger-sjtu/p/16817532.html 最近在解决tvm绑核问题时,发现android下绑核只有sched_setaffini ...

  5. Java使用数组存储成绩,输出成绩列表,总分,平均分

    代码如下: public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out. ...

  6. 精选Golang高频面试题和答案汇总

    大家好,我是阳哥. 之前写的< GO必知必会面试题汇总>,已经阅读破万,收藏230+. 也欢迎大家收藏.转发本文. 这篇文章给大家整理了17道Go语言高频面试题和答案详解,每道题都给出了代 ...

  7. Linux下日志管理工具Logrotate

    背景: 项目上的Nginx和Tomcat已经跑了大半年了,Nginx的access.log和error.log将近1G大小:Tomcat下的catalina.out日志经常跑到打不出日志然后进行手动移 ...

  8. 多个commit合并为一个

    在进行多个commit合并成一个博客编写的过程中,你可以使用以下代码示例作为参考: # 合并多个commit git rebase -i HEAD~N # N代表需要合并的commit数目,例如合并最 ...

  9. 如何使用Java在Excel中实现一个数据透视表

    摘要:本文由葡萄城技术团队于博客园原创并首发.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前一段时间淘宝出了一个"淘宝人生"的模块, ...

  10. CF961E Tufurama题解

    我们维护一个存储下标数据的树状数组,先将 \(1\sim n\) 插入树状数组. 用 \(a\) 表示原数组,\(b\) 表示按照 \(a_i\) 排序后的数组. 我们从 \(1\) 开始统计,直到 ...