日常生活中IP的概念

互联网上的每个接口必须有一个唯一的Internet地址(也称为IP地址),IPV4的地址长度为32 bit。关于IPv4, 有两个点可以记录一下:

  1. 一般使用的是点分十进制,8.8.8.8
  2. A,,B,C,D,E类,五类,记住没有什么意义,暂时没有动作

IPV6的地址长度为128bit ,16 bytes,一般使用十六进制表示

IP协议

IP是TCP/IP协议族中核心的概念,所用的TCP, UDP, ICMP,IGMP数据都是以IP数据报的格式传输,但是IP协议是不可靠的。

不可靠(unreliable)的意思就是它不能保证IP数据报能成功地到达目的地,IP只是提供尽力而为的传输服务。如果某路由器暂时用完来缓冲区,IP有一个简单的错误处理算法,丢弃该报文,然后发送ICMP消息报给消息源。 任何要求的可靠性徐碧由上层来提供(TCP)。

无连接(conntionless)的意思是IP并不维护任何关于关于后续数据报状态信息的,每个数据报文的处理都是相互独立的。这也就是说明,IP数据报可以不按照发送的顺序接收,如果一个信源向相同的信宿发送两个连续的数据报(先是A,然后是B), 每个数据报都是独立地进行路由选择,可能选择不同的路线,因此B可能在A之前到达。

IP首部

普通的IP首部长度为20字节,除非含有选项字段: image.png
在图示的首部中,最高位在左边,记为0 bit,最低位在右边,记为31 bit。四个字节的32bit值按一下的次序传输:首先是0~7bit,其次是8~15 bit,然后是16~23 bit,最后是24~31 bit。这种传输次序又被称作big endian字节序。由于TCP/IP首部中所有的二进制整数在网络中传输时候都是要求以这种次序,因此它又被称为网络字节序。以其他形式存储二进制整数的机器,如little endian格式,则必须在传输数据之前将首部格式转换为网络字节序。

首部校验和字段:这个字段是根据IP首部计算校验和码,它不对首部后面的数据进行计算。具体的校验和计算方法, 有需要的时候再详细了解

TTL(time-to-live) 生存时间字段设置了数据报可以经过的最多路由器数,它指定了数据报的生存时间。TTL的初始值由源主机设置(一般为32或者64)。一旦经过一个处理它的路由器,它的值就会减1.,当该字段的值为0的时,数据包就被丢弃,并发送ICMP报文通知源主机。后面我们来讨论这个几个报文