注:最后有面试挑战,看看自己掌握了吗
🌸I could be bounded in a nutshell and count myself a king of infinite space.
特别鸣谢:木芯工作室 、Ivan from Russia
获得IP的方法------静态配置、动态配置-----------DHCP服务器
即插即用联网服务-------允许地址重用----------支持移动用户加入网络-----------支持在用地址续租
主机发送DHCP发现报文----------DHCP服务器广播DHCP提供报文----------------主机广播DHCP请求报文-----------DHCP服务器广播确认报文
要广播------------同时告知其他服务器
traceroute工作原理及详细过程 traceroute是用来侦测主机到目的主机之间所经路由情况的重要工具,也是最便利的工具。尽管ping工具也可以进行侦测,但是,因为ip头的限制,ping不能完全的记录下所经过的路由器,所以traceroute正好就填补了这个缺憾。traceroute的原理是非常非常的有意思,它收到目的主机的IP后,首先给目的主机发送一个TTL=1的UDP数据包,而经过的第一个路由器收到这个数据包以后,就自动把TTL减1,而TTL变为0以后,路由器就把这个包给抛弃了,并同时产生 一个主机不可达的ICMP数据报给主机。主机收到这个数据报以后再发一个TTL=2的UDP数据报给目的主机,然后刺激第二个路由器给主机发ICMP数据报。如此往复直到到达目的主机。这样,traceroute就拿到了所有的路由器ip。从而避开了ip头只能记录有限路由IP的问题。有人要问,我怎么知道UDP到没到达目的主机呢?这就涉及一个技巧的问题,TCP和UDP协议有一个端口号定义,而普通的网络程序只监控少数的几个号码较小的端口,比如说80,比如说23,等等。而traceroute发送的是端口号大于30000(真变态)的UDP报,所以到达目的主机的时候,目的主机只能发送一个端口不可达的ICMP数据报给主机。主机接到这个报告以后就知道,主机到了,所以,说traceroute是一个骗子一点也不为过😃。其详细过程如下: 将传递到目的IP地址的ICMP Echo消息的TTL值被设置为1,该消息报经过第一个路由器时,其TTL值减去1,此时新产生的TTL值为0。 由于TTL值被设置为0,路由器判断此时不应该尝试继续转发数据报,而是直接抛弃该数据报。由于数据报的生存周期(TTL值)已经到期,这个路由器会发送一个一个ICMP时间超时,即TTL值过期信息返回到客户端计算机。 此时,发出traceroute命令的客户端计算机将显示该路由器的名称,之后可以再发送一个ICMP Echo消息并把TTL值设置为2。 第1个路由器仍然对这个TTL值减1,然后,如果可能的话,将这个数据报转发到传输路径上的下一跳。当数据报抵达第2个路由器,TTL值会再被减去1,成为0值。 第2个路由器会像第1个路由器一样,抛弃这个数据包,并像第1个路由器那样返回一个ICMP消息。 该过程会一直持续,traceroute命令不停递增TTL值,而传输路径上的路由器不断递减该值,直到数据报最终抵达预期的目的地。 当目的计算机接收到ICMP Echo消息时,会回传一个ICMP Echo Reply消息。 ———————————————— 版权声明:本文为CSDN博主「ghostwritten」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/xixihahalelehehe/article/details/104407443
地址16B
移除校验和---------------减少每一跳处理时间
即插即用-------------不用DHCP
首部长度必须是8B整数倍----------IPV4是4B整数倍
IPv6只能在主机处分片---------IPV4可以在路由器和主机处分片
附加报文类型-----------分组过大
支持资源与分配---------支持实时影像等要求--------保证一定的带宽和时延
取消了协议字段----------改成下一个首部字段---------放到数据部分
取消总长度字段---------只有有效载荷字段
取消了服务类型字段