TCP/IP详解卷一03

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP/IP详解卷一03相关的知识,希望对你有一定的参考价值。

1.IP协议:不可靠(unreliable):不能保证IP数据报能成功到达目的地

      无连接(connectionless):IP并不维护任何关于后续数据报的状态信息,每个数据报的处理是相互独立的。IP数据报可以不按照顺序接收。

2.命令:ifconfig和netstat

3.IP首部(20个字节):

    4位版本(IPv4)---4位首部长度(32bit的数目)---8位服务类型(TOS分别代表:最小时延、最大吞吐量、最高可靠性和最小费用)---总长度字段(整个IP数据报的长度,以字节为单位)---16位标识(标识字段唯一地标识主机发送的每一份数据报,通常每发送一份报文值就会加1 )----3位标志字段(        )---13位片偏移字段(         )----8位生存时间(TTL,生存时间字段设置数据报可以经过的最多路由器数,TTL的初始值由源主机设置(32或64),一旦经过一个处理它的路由器,它的值就会减一,当该字段的值为0时,就会被丢弃,并发送ICMP报文通知源主机)---8位协议字段(根据它可以识别是哪个协议向IP传送协议) ----16位首部检验和字段(根据IP首部计算的检验和码。它不对首部后面的数据进行计算。ICMP、IGMP、UDP和TCP在它们各自的首部中均含有同时覆盖首部和数据检验和码)---32位源IP地址----32位目的IP地址-----任选项

    注意:计算数据报的IP检验和:1。 检验和字段置为0。2。对首部中每个16bit进行二进制反码求和,将结果存在检验和字段中。当收到一份IP数据报后,同样对首部中每个16bit进行二进制反码的求和。由于接收方在计算过程中包含了发送方存在的首部中的检验和,因此,如果首部在传输过程中没有任何差错,那麽接收方计算的结果应该全为1,如果不全为1(即检验和错误),那麽IP就丢弃收到的数据报。但是不生成差错报文,由上层去发现丢失的数据报并进行重传。

4.IP路由选择

  在一般的体制中,IP可以从TCP、UDP、ICMP和IGMP接收数据报并进行发送,或者从一个网络接口接收数据报(待转发的数据报)并进行发送。IP层在内存中有一个路由表。

  工作过程:当收到一份数据报并进行发送时,对该表搜索一次。当数据报来自某个网络接口时,IP会首先检查目的IP地址是否为本机的IP地址之一或者IP广播地址。如果确实是这样,数据报就被送到由IP首部协议字段所指定的协议模块进行处理。如果数据报的目的不是这些地址,那麽,(1)如果IP层被设置为路由表的功能,那麽就对数据报进行转发;否则,就会数据报被丢弃。

  路由表中的每一项包含的信息:

    (1)目的IP地址

    (2)下一站或者下一跳的路由器(next-hop router)

    (3)标志(1。指明目的IP地址是网络地址还是主机地址2。指明下一站路由器是否是真正的路由器的IP地址)

    (4)为数据报的传输指定一个网络接口

IP路由选择是逐跳地(hope-by-hope )进行的。需要完成以下功能:

    (1)搜索路由表,寻找能与目的IP地址完全匹配的表目

    (2)搜索路由表,寻找能与目的网络号相匹配的表目

    (3)搜索路由表,寻找标为‘“默认(default)”的表目

         (4)如果以上操作都没有被执行,就会返回一个“主机不可达”或者“网络不可达”的错误。

  IP路由选择的另一个基本特性:为一个网络指定一个路由器,而不必为每一个主机指定一个路由器,从而极大地缩小了路由表的规模。

  IP路由选择的关键点:

    (1)大多数主机和路由器可以用默认路由来处理任何目的,除非它在本地局域网上

    (2)数据报中的目的IP地址始终不发生任何变化,所有的路由选择决策都是基于这个目的IP地址

    (3)每个链路层可能具备不同的数据帧首部,而且链路层的目的地址始终指向下一站的链路层地址。

5.子网寻址:将主机号再分成一个子网号和一个主机号,可以缩小Interest路由表的规模。

6.子网掩码:

    6.1给定IP地址和子网掩码以后,主机就可以确定IP数据报的目的是:(1)本子网上的主机(2)本网络中其他子网中的主机(3)其他网络上的主机

    6.2在给定两个IP地址和子网掩码后,IP路由选择功能一直进行这样的比较

7.特殊情况的IP地址

技术分享

 0:所有比特位全为0;-1表示所有比特位都为1;netid,subnetid和hostid分别表示不全为0或者全1的对应字段。子网号栏为空表示该地址并没有进行子网划分。

8.ifconfig命令

    ifconfig -a

    ifconfig (interface)

9.netstat命令

    netstat -i(打印出接口信息)

    netstat -n(打印出ip地址,不是主机名称)

    netstat -in(每个接口的MTU,输入分组数,输入错误,输出分组数,输出错误,冲突以及当前输出队列长度) 

  

 

    

 

  

 

 

 

 

 

 

 

 

 

 

 

 

  

以上是关于TCP/IP详解卷一03的主要内容,如果未能解决你的问题,请参考以下文章

TCP/IP详解-卷一:协议

TCP/IP详解卷一06

TCP/IP协议详解 卷一:协议 17章TCP传输控制协议

TCP/IP详解卷一02

TCP/IP详解卷一08

TCP/IP详解卷一01