TCP/IP详解卷1 IP:网际协议

    IP协议有哪些字段?

    4位版本号(ipv4、ipv6)、4位首部长度(是指有几个32位,一般是5即20个字节,最大60个字节)、8位服务类型TOS(3位优先权子字段、一位未使用设置为0,剩余四位表示最小时延、最大吞吐量、最高可靠性、最小费用,不同的应用程序对这四个特性的需求不同)、16位总长度(指字节数,支持最大65535个字节,必要性是因为满足链路层最小长度填充后,明确哪些是真正的数据)、16标识(相当于id)、3位标志和13位片偏移(用于分片和重组)、8位生存时间TTL(最多经过多少次路由,通常是32或64,超过之后丢弃数据报,并发送ICMP给源)、8位协议(1表示ICMP、2表示IGMP、6表示TCP、17表示UDP)、16位首部校验和(根据IP首部计算的检验和码)、32位源ip地址、32位目的ip地址、选项(如果有)、数据。

    我们自己琢磨一下这些字段是为啥而设置的。版本号不必说,知道版本号了,才能明确解析细节;首部长度,为了明确首部的起始和结束;服务类型,主要是针对不同应用采取不同的保障策略;总长度是为了明确起始和结束,这跟链路层有最小约束有关,至于链路层为什么要设置最小长度,可能跟数据库的变长类型和定长类型的优劣类似,目前没有在书中看到具体的考量原因;标识就是唯一确定一个数据报的id;标志和片偏移用于分片和重组;生存时间应该是保护措施,防止数据报在链路中无线循环;协议是为了后续分用(即明确后续按照什么规则解析);校验和是为了确定是否出错的;地址就不用说了,得知道从哪儿来到哪儿去。

    IP路由策略是怎么样的?

    IP路由分主机路由和路由器路由,如果目的主机在直连的网络上,那么把数据报直接传给目的主机,否则传给默认路由器。

    在路由决策时,主机和路由器都使用路由表;路由表中有三种类型的路由,其中主机路由优于网络路由优于默认路由。

    IP路由是通过逐跳来实现的,数据报在各站的传输过程中,目的IP使用不变,但是目的链路层地址在每一站都是可以变的,大多数主机和许多路由器对于非本地网络的数据报都使用默认的下一站路由器。

    子网和子网掩码是啥?

简单的说,以B类网络为例,16位网络号、16位主机号,可容纳的主机太多了,一般没有这么多主机在一个网络里,为了更充分的利用,将16位主机号再分为子网号和主机号。子网掩码决定了子网号是多少位。

后面介绍了ifconfig和netstat命令,来查看网络信息。

你可能感兴趣的:(TCP/IP详解卷1 IP:网际协议)