网络层协议 IP总结

     

网络层实现数据包的选路和。

WAN(广域网)通常使用众多分级的路由器来连接分散的主机或LAN。因此通信的两台主机一般都不是直接相连的,而是通过中间节点(路由器)连接的。网络层的任务就是选择这些中间节点,确定两台主机间的通信路径。同时,网络层对上层协议隐藏了网络拓扑连接的细节,使得在传输层和网络层应用程序看来,通信双方是直接相连的。

IP协议(因特网协议):根据数据包的目的IP地址来决定如何投递他。如果数据包不能直接发送给目标主机,那么IP协议就为他寻找合适的下一跳路由器,并将数据包交付给该路由器转发,多次重复这一过程,数据包最终到达目标主机,或者由于发送失败而被丢弃。

IP为上层提供无状态,不可靠,无连接的服务

无状态:IP通信双方不同步传输数据的状态信息,因此所有IP数据报的发送,传输和接收都是相互独立的,没有上下文的关系。

(缺点:无法处理乱序和重复的IP数据报。只能交给上层来处理)

(优点:简单,高效,无需为保持通信的状态而分配一些内核资源,也无需每次传输数据时都携带状态信息)

无连接:IP双方都不长久的维持对方的任何信息,这样,上层协议每次发送数据的时候都必须明确指定对方的IP地址。

不可靠:IP协议不能保证IP数据报准确的到达接收端,只能承诺尽最大努力。很多情况都能导致IP数据报发送失败。比如:某个中转路由发现IP数据报在网络上存活的时间              太长那么将他丢弃,并返回一个ICMP错误消息(超时错误)给发送端。因此,使用IP服务的上层协议需要自己实现数据确认,超时重传等机制达到可靠传输的目的。

IPV4头部:

 

 

4位版本号:IPV4 4

4为头部长度:2^4-1=15*4=60字节。头部20字节,可选部分40字节。

8位服务类型:3位优先权字段忽略,

                        1位保留字段;

                         4TOS字段;最小延时,最大吞吐量,最高可靠性,最小费用。最多保留一位。

16位总长度:2^16-1.指整个IP数据报的总长度以字节为单位,因此IP数据报的最大长度为655352^16-1),由于MTU的限制,超过MTU的数据报将被分片。

16位标识:唯一的表示主机发送的每一个数据报,初始值由系统随机生成,每发送一个数据报其值加1,该值在数据报分片时被复制到每个分片中,因此同一个数据报的所有分片都有相同的标识符。

3位标志:第一位保留;

               第二位,禁止分片,如果设置了这个位IP模板将不对数据报进行分片,在这种情况下,如果IP数据报长度超过了MTUIP模板将丢弃该数据报并返回一个ICMP差                错报文。

               第三位表示更多分片,除了数据报的最后一个分片外,其他分片都把他设置为1.

13位分片转移:是分片相对原始IP数据报开始出的偏移,实际的偏移是该值左移3位,即乘8后得到的由于这个原因,除了最后一个分片外,每个IP数据报的数据部分的长度必须是8的倍数。

8位生存时间(TTL)是数据报到达目的地之前允许经过的路由器跳数,发送端一般设置为64,每经过一个路由器就减1,当TTL被减为0时,路由器将丢弃数据报,并向源端发送一个ICMP差错报文,TTL可以防止数据报陷入路由循环。

8位协议:用来区分上层协议,ICMP 1,TCP 6,UDP 17;是1700的一个子集。

32/目的端IP地址

可选字段40字节:

     记录路由:告诉数据报途径的所有路由器都将自己的IP地址填入IP数据报头,可以跟踪数据报的传递途径。

    时间戳:告诉路由器都将数据报被转发的时间填入IP的选项部分,测量途径路由器之间数据报的传输时间。

 

 

IP分片:ip头部的三个字段给IP分片和重组提供了足够的信息:数据报标识、标志和片偏移。一个IP数据报的每个分片都有自己的IP头部,他们具有相同的标识符,但具有不同的偏移值,并且除了最后一个分片,其他分片都将设置MF标志,此外每个分片的的IP头部总长度字段将被设置为该分片的长度。

以太网的MTU1500字节。

考虑用IP数据报分装一个长度为1481字节的ICMP报文(包括8字节的ICMP头部,其数据部分为1473字节),则该数据在使用以太网传输时必须被分片。

 

 

IP路由:

 

 

IP转发:

   

 

 

重定向:ICMP重定向报文。ICMP重定向报文的类型值是5,代码段有四个可选值,用来区分不同的重定向分类。主机重定向,其代码值为1,网络重定向,代码值为0.

ICMP重定向报文的数据部分含义很明确,他给接收方提供两个信息:

1》         引起重定向的IP数据报的源端IP地址;

2》         应给使用的路由器的IP地址

 

 

ICMP协议(因特网控制报文协议),主要用于检测网络连接。

8位类型字段用于区分报文类型。

ICMP报文分为两大类:

  一类是差错报文,主要用来回应网络错误,比如目标不可到达(类型值为3)和重定向(类型值为5);

  另一类是查询报文,主要用来查询网络信息,比如ping程序就是使用ICMP报文查看目标是否可到达(类型值为8)。

8位代码字段进一步细分不同的条件。比如重定向报文使用代码值0表示对网络重定向,代码值1表示对主机重定向。

16位校验和字段对整个报文(包括头部和内容)进行循环冗余校验,以检验报文是否在传输过程中是否损坏。

                         

转载于:https://www.cnblogs.com/yx1025/p/8697909.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值