《TC/IP详解:卷I》读书笔记--第三章 IP 网际协议


3.1 引言
(1) IP在传输服务时出现错误(如,路由器的缓冲区用完了),直接丢弃该数据报,然后 通过ICMP消息给信源端
(2) 无连接,意思中IP不维护任何关于后续数据报的状态信息,每个数据报的处理都是独立的。不同的数据报都
      要独立地进行路由选择,可能选择不同的路线。


3.2 IP首部

1. 网络字节序
     4个字节32位按一下顺序传输:先0-7bit,最后24-31bit。这种传输顺序叫做Big endian 字节序,由于
TCP/IP首部的二进制整数也是这种传输顺序,因此也叫做网络字节序。   以其他形式存储二进制整数的机器,
如little endian格式,则必须在传输数据之前把首部转换成网络字节序。

2. IP数据报格式及首部中的各字段
《TC/IP详解:卷I》读书笔记--第三章 IP 网际协议_第1张图片

(1) 目前版本协议号是4,因此IP有时也称作IPv4。
(2) 首部长度指的是首部占32bit字的数目,包括任何选项。由于它是一个4bit字段,因此首部最长为
      60个字节(15*2)。
(3) 服务类型(TOS):
(4) 总字段长度是指整个IP数据报的长度,以字节为单位。所以IP数据报最长可达65535字节。尽管最
     长可传输65535字节的IP数据报,但是大多数的 链路层都会对它进行分片。主机限制用户数据报长度
      为512字节,小于576字节。 总长度字段是IP首部中必要的内容

(5) 标识字段唯一的标识主机发送的每一份数据报。通常每发送一份报文它的值就会加1。
(6)TTL(Time to live):生存时间字段设置了数据报可以经过的最多路由器数。通常为32或64。
(7) 首部检验和字段是根据IP首部计算的校验和码。方法: 对首部中每个16bit进行二进制反码求和。整个
     首部看成是一串 16bit的字组成。
、、、、、、、、、、算法例子

以4bit(计算方便一点,和16bit是一样的)做检验和来验证。

建设原始数据为      1100   ,   1010      ,     0000(校验位)

那么把他们按照4bit一组进行按位取反相加。 1100取反0011 , 1010取反是0101,0011加上0101  是1000,

填入到校验位后

                                           1100   ,   1010      ,  1000

        那么这个就是要发送的数据。收到数据后同样进行按位取反相加。0011+0101+0111 =1111;全为1表示正确

  另外注意,当地一步计算校验和的时候,有可能相加后最高位会有进位,那么不能舍弃,一定要加到低位,才能是结果正确。

、、、、、、、、、、、、、、、、
3.3 IP路由选择

1. IP层在内存中有一个路由表。当收到一份数据报并进行发送时,都要对该表搜索一次。当数据报来自某个网络接口时,
   IP首先检查 目的IP地址是否为本机的IP地址之一或者IP广播地址。如果是,数据报就被送到由IP首部协议字段所指定的
    协议模块进行处理,如果不是,路由或者丢弃。

2. 路由表中的信息
   (1) 目的IP地址;
   (2) 下一站(下一跳)路由器(next-hop-router)的IP地址。
   (3) 标识。其中一个标识指明目的IP地址是网络地址还是主机地址,另一个标识指明下一站路由器是否为真正的下一站
        路由器,还是一个直接相连的接口。
  (4) 为数据报的传输指定一个网络接口。

3. IP路由选择主要完成以下功能
  (1) 搜索路由表,寻找能与目的IP地址完全匹配的表目;
  (2) 搜索路由表,寻找能与目的的网络号相匹配的表目;
  (3) 搜索路由表,寻找默认路由表的表目。

4. 路由时改变数据报注意点
 (1) 数据报中的目的IP地址始终不发生任何变化。
 (2) 数据帧中的目的MAC地址始终指的是下一站结点的MAC地址

3.4 子网寻址

3.5 子网掩码
1. 子网掩码是一个32bit的值,其中值为1的bit留给网络号和子网号,为0的bit留给主机号。
2. 给定IP地址和子网掩码以后,主机就可以确定 IP数据报的目的是:
    (1) 本子网上的主机;
    (2) 本网络中其他子网中的主机;
    (3) 其他网络上的主机。
问题:子网号不参加路由选择???


3.6 特殊情况的IP地址
《TC/IP详解:卷I》读书笔记--第三章 IP 网际协议_第2张图片
(1) 32bit 全部为1,是受限的广播,永远不被转发
(2) 网络号正常值,主机号全为1:以网络为目的向netid广播;
(3) 以子网为目的向netid、subnetid广播;
(4) 以所有子网为目的向netid广播。






你可能感兴趣的:(网络基础)