TCP/IP学习笔记之IP协议
Posted UI视界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP/IP学习笔记之IP协议相关的知识,希望对你有一定的参考价值。
TCP/IP学习笔记之IP协议
一、什么是互连网络
●所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用 IP 协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络。
同一个网络中,如果我们只从网络层考虑问题,那么 IP 数据报就可以想象是在网络层中传送。
●使用IP协议封装的好处就是:当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互连的各具体的网络异构细节。
二、认识IP协议
IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGCP的数据都以IP数据格式传输。要注意的是,IP不是可靠的协议,这是说,IP协议没有提供一种数据未传达以后的处理机制--这被认为是上层协议--TCP或UDP要做的事情。所以这也就出现了TCP是一个可靠的协议,而UDP就没有那么可靠的区别。
1.1.IP协议头
这里介绍八位的TTL字段,还记得这个字段是做什么的么?
这个字段规定该数据包在穿过多少个路由之后才会被抛弃(这里就体现出来IP协议包的不可靠性,它不保证数据被送达),某个ip数据包每穿过一个路由器,该数据包的TTL数值就会减少1,当该数据包的TTL成为零,它就会被自动抛弃。这个字段的最大值也就是255,也就是说一个协议包也就在路由器里面穿行255次就会被抛弃了,根据系统的不同,这个数字也不一样,一般是32或者是64,Tracerouter这个工具就是用这个原理工作的,tranceroute的-m选项要求最大值是255,也就是因为这个TTL在IP协议里面只有8bit。
现在的ip版本号是4,所以也称作IPv4。现在还有IPv6,而且运用也越来越广泛了。
1.2.IP路由选择
当一个IP数据包准备好了的时候,IP数据包(或者说是路由器)是如何将数据包送到目的地的呢?它是怎么选择一个合适的路径来"送货"的呢?
最特殊的情况:目的主机和主机直连,那么主机根本不用寻找路由,直接把数据传递过去就可以了。至于是怎么直接传递的,这就要靠ARP协议了。
一般一点的情况:主机通过若干个路由器(router)和目的主机连接。那么路由器就要通过ip包的信息来为ip包寻找到一个合适的目标来进行传递,比如合适的主机,或者合适的路由。路由器或者主机将会用如下的方式来处理某一个IP数据包
1.如果IP数据包的TTL(生命周期)已到,则该IP数据包就被抛弃。
3.搜索路由表,如果匹配主机失败,则匹配同子网的路由器,这需要“子网掩码(1.3.)”的协助。如果找到路由器,则将该包发向路由器。
4.搜索路由表,如果匹配同子网路由器失败,则匹配同网号(第一章有讲解)路由器,如果找到路由器,则将该包发向路由器。
5.搜索路由表,如果以上都失败了,就搜索默认路由,如果默认路由存在,则发包
6.如果都失败了,就丢掉这个包。
这再一次证明了,ip包是不可靠的。因为它不保证送达。
小结:
IP协议的工作原理比较抽象,难以理解,我们需要知道它只是网络层传输的一项规则而已,收发双发的数据都要按照这个规则才能才网络上进行传输。
以上是关于TCP/IP学习笔记之IP协议的主要内容,如果未能解决你的问题,请参考以下文章