10-网络层,IP协议

1.关于ip协议
IP:Internet protocol 因特网协议
0
 
2.IP报文结构
0
 
 
1)版本version:标明IP报文的版本( v4 或 v6),目前主要使用的是ipv4
 
2)头部长度header length:头部长度,也就是ip协议头部总共20个字节,5个字乘以每个字4个字节等于20个字节;
 
3)总长度total length:ip头长度和上层数据长度之和
ip协议的上层是传输层、应用层,上层数据就是这些层的各种协议数据;
ip下层的数据链路层的以太网协议中有个MTU概念:最大传输单元,每次发送数据的最大值,默认值为1500B;
也就是说:一帧数据默认最大值为1500B;
因此总长度通常不会大于1500,如果需要传输超过1500个字节的数据时会涉及到分片机制;
 
4)标识、分段标志、分段偏移
这三个字段和分片机制有关(ipv6没有这几个字段)
 
分片:当数据包的大小超过数据链路层的MTU就需要分成多份数据包传输
1】分片机制:
    例如:要发送的数据有1000B,路由器的MTU为400B;
    需要将1000B切割成三个包:两个400B和一个200B;
    这三个包在到达目的地后需要拼接起来;
    在传输过程中,这三个包的到达顺序、是否连续(中间有其它包)都是不确定的;  
    在目标主机收到数据包后如何拼接就需要用到(标识、分段标志、分段偏移)这三个字段;  
0
 
2】分片之后重组
依靠:标志 identification
    标识符 flags 
    片偏移 fragment offset
0
标志:用来标识同一个数据包(标志相同的分片会组成一个完整的数据包)
标识符:
    保留 :未使用
    分段:分段位如果置1,表示不能分片 (遇到超过MTU的直接丢弃)
        例如:当ping -f 时,分段位会置1,如果发送超过MTU的数据时,因为无法分片导致无法发出去,数据会直接丢弃;
    更多分段:更多分段位如果置1,表示后面还有分片(未置1表示这是最后一个分片)
片偏移:说明该数据包在重组后的位置
 
5)TTL:time to live 生存时间 (生命值)
  • 防止数据包在网络中无休止的传递(防环)
  • 每经过一次路由(路由转发)TTL值就会减1
  • 当TTL值=0,丢弃数据包,并告诉源地址
 
可以用ping命令看到ttl;
常见的默认ttl值:255、64、128;由操作系统决定的;
 
1】ttl的机制
例如:
    主机A发送数据到主机B,ttl设置为255;经过了2个路由器;
    数据包每经过一次路由,ttl会减去1;
    到主机B时ttl会变成253;
0
 
如果ttl在发送过程中为0,则不会发送数据,并且报告ttl为0时的设备ip地址;
例如:
    A的ttl=2,经过路由器R1,ttl-1,此时ttl=1;
    继续经过路由器R2,ttl-1,ttl=0;
    R2发现ttl=0后,不会再继续发送数据包了;同时会将信息回复给源头A,告诉A,你的数据不会再继续发送了;
0
2】ttl的作用
ttl可以用来防止环路:
    例如:由于网络设配安装错误,导致路由器R1发送给R2,而R2发送给R1;
    导致的结果时,数据包无限制的在R1和R2两个路由器之间发送;浪费资源;
    有ttl之后,即使有环路,当ttl归0后数据将不再发送;
 
利用TTL特性,可以实现路由跟踪技术,排错的重要方法之一
相关命令:ping -i 或 tracert -d
 
ping -i 命令可以指定ping命令发送的数据包的ttl的值;
例如:ttl为1
ping -i 1
利用ttl归0时,路由器会返回自己的ip地址,当ttl设为1时,会得到一个ip地址,这个ip地址通常是网关的ip地址;
同理:得到第二个路由设备的ip地址;
 
用ping一次次改ttl来追踪路由太麻烦;
tracert命令能直接显示所有路由;
tracert每一次发送3个icmp包,因此每条回复前有3个延时毫秒数;
例如:第一次发送3个ttl=1的ping,第二次发送3个ttl=2的ping,以此类推;
有时会出现*和请求超时,是因为有些设备有ping的保护机制,ping太频繁了不做回应,或开了ping防火墙;
             
6)Protocol 协议:用来标识上层使用的协议
0
 
0
 
常见的协议号:
协议号
1.ICMP       因特网控制报文协议
2.IGMP        因特网组报文协议
6.TCP           传输控制协议
17.UDP        用户数据报协议
41.IPV6         因特网v6
47.GRE         通用路由封装协议
89.OSPF       开放式最短路径优先
103.PIM        协议无关报文
112.VRRP     虚拟路由冗余协议
 
 
 
posted @ 2020-12-07 20:47  L丶银甲闪闪  阅读(325)  评论(0编辑  收藏  举报