注:最后有面试挑战,看看自己掌握了吗
🌸I could be bounded in a nutshell and count myself a king of infinite space.
特别鸣谢:木芯工作室 、Ivan from Russia
DHCP------DHCP服务器来动态分配IP--------应用层协议----允许地址重用
获得IP的方法------静态配置、动态配置-----------DHCP服务器
即插即用联网服务-------允许地址重用----------支持移动用户加入网络-----------支持在用地址续租
主机发送DHCP发现报文----------DHCP服务器广播DHCP提供报文----------------主机广播DHCP请求报文-----------DHCP服务器广播确认报文
要广播------------同时告知其他服务器
ICMP字段----差错报文、询问报文
差错报文-----终点不可达无法交付--------源点抑制、拥塞丢数据(现在废弃)-------时间超过--------参数问题首部字段出问题------改变路由重定向、
ICMP差错报告报文数据字段-----把IP数据报的前面部分截出来-----然后加上ICMP的前八字节-------装个IP的首部-----变成IP数据报去传输
不发送ICMP差错报文----不对ICMP的差错报告--------对第一个分片报告-----对组播的数据包不发------特殊地址不发
ICMP询问报文------回送请求和回答报文–PING----时间戳请求和回答报文-------Traceroute-----跟踪一个分组从源点到终点的路径-------使用了ICMP时间超过差错报告报文-----用不断增加的TTL来做
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
桥梁作用------差错报告、网络探寻
IPv6----CIDR、NAT治标不治本-----根本上解决地址耗尽----改进首部格式------支持QoS解决延迟和阻塞问题–快速处理转发数据报
IPv6数据报格式-----基本首部40B+(扩展首部+数据)------源地址目的地址都是128位------版本6-----流标签—一组数据报就是一个流的------一系列数据报有相同流标签------有效载荷长度------下一个首部-扩展首部在哪------像个链表指向下一个首部位置---------条数限制TTL
IPV6特点详解-----表示形式、冒号16进制记法------压缩形式有连续0、前面的0都可以删掉------零压缩------连续的0一对冒号取代
地址16B
移除校验和---------------减少每一跳处理时间
即插即用-------------不用DHCP
首部长度必须是8B整数倍----------IPV4是4B整数倍
IPv6只能在主机处分片---------IPV4可以在路由器和主机处分片
附加报文类型-----------分组过大
支持资源与分配---------支持实时影像等要求--------保证一定的带宽和时延
取消了协议字段----------改成下一个首部字段---------放到数据部分
取消总长度字段---------只有有效载荷字段
取消了服务类型字段
IPv6基本地址类型-------单播1:1------多播1:N---------任播1:多中的一个
IPV6过度向IPV4策略
双栈协议------同时启用两者-------如果是路由器,就可以实现V6和V4地址转换---------主机,可同时用
隧道技术--------不同协议数据帧、包---------重新封装通过隧道发送