【网络层】DHCP协议(应用层)、ICMP、IPv6详解

简介: 【网络层】DHCP协议(应用层)、ICMP、IPv6详解

注:最后有面试挑战,看看自己掌握了吗


🌸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地址转换---------主机,可同时用

隧道技术--------不同协议数据帧、包---------重新封装通过隧道发送

相关文章
|
2天前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
17 3
|
8天前
|
数据采集 网络协议 API
HTTP协议大揭秘!Python requests库实战,让网络请求变得简单高效
【9月更文挑战第13天】在数字化时代,互联网成为信息传输的核心平台,HTTP协议作为基石,定义了客户端与服务器间的数据传输规则。直接处理HTTP请求复杂繁琐,但Python的`requests`库提供了一个简洁强大的接口,简化了这一过程。HTTP协议采用请求与响应模式,无状态且结构化设计,使其能灵活处理各种数据交换。
36 8
|
6天前
|
网络协议 安全 物联网
探索未来网络:IPv6的演进与应用
本文深入探讨了互联网协议第六版(IPv6)的发展历程、技术特点以及在现代网络中的应用。通过分析IPv4的局限性和IPv6的优势,阐述了IPv6对网络扩展性、安全性和性能提升的重要性。同时,文章还探讨了IPv6在实际部署中面临的挑战和解决方案,为读者提供了全面而深入的理解。
|
6天前
|
网络协议
UDP协议在网络通信中的独特应用与优势
UDP(用户数据报协议)作为关键的传输层协议,在网络通信中展现出独特优势。本文探讨UDP的无连接性及低开销特性,使其在实时性要求高的场景如视频流、在线游戏中表现优异;其不保证可靠交付的特性赋予应用程序自定义传输策略的灵活性;面向报文的高效处理能力及短小的包头设计进一步提升了数据传输效率。总之,UDP适用于高速、实时性强且对可靠性要求不高的应用场景,为网络通信提供了多样化的选择。
|
8天前
|
网络协议 网络架构 数据格式
TCP/IP基础:工作原理、协议栈与网络层
TCP/IP(传输控制协议/互联网协议)是互联网通信的基础协议,支持数据传输和网络连接。本文详细阐述了其工作原理、协议栈构成及网络层功能。TCP/IP采用客户端/服务器模型,通过四个层次——应用层、传输层、网络层和数据链路层,确保数据可靠传输。网络层负责IP寻址、路由选择、分片重组及数据包传输,是TCP/IP的核心部分。理解TCP/IP有助于深入掌握互联网底层机制。
35 2
|
2天前
|
Python
HTTP协议不再是迷!Python网络请求实战,带你走进网络世界的奥秘
本文介绍了HTTP协议,它是互联网信息传递的核心。作为客户端与服务器通信的基础,HTTP请求包括请求行、头和体三部分。通过Python的`requests`库,我们可以轻松实现HTTP请求。本文将指导你安装`requests`库,并通过实战示例演示如何发送GET和POST请求。无论你是想获取网页内容还是提交表单数据,都能通过简单的代码实现。希望本文能帮助你在Python网络请求的道路上迈出坚实的一步。
9 0
|
6天前
|
边缘计算 网络协议 物联网
探索未来网络:从IPv4到IPv6的技术革新与挑战
本文旨在探讨互联网协议从IPv4向IPv6演进的必然性,分析这一转变背后的技术驱动因素,并阐述IPv6相较于IPv4在地址空间、安全性、效率及未来技术适应性方面的优势。同时,文章也讨论了在IPv4向IPv6过渡过程中面临的主要挑战,包括兼容性问题、网络安全风险、成本考量以及技术实施的复杂性。通过案例分析,本文进一步说明了全球范围内不同规模组织如何成功实施IPv6转换,以及从中学到的经验教训。最后,本文预测了IPv6在未来互联网发展中的潜在影响,强调了其对于支持物联网(IoT)、5G及边缘计算等新兴技术的关键作用,同时指出了仍需解决的开放性问题和研究方向。
14 0
|
2天前
|
SQL 安全 网络安全
网络安全与信息安全:保护你的数字世界##
网络安全和信息安全是现代社会中至关重要的话题。随着数字化进程的加速,网络攻击和数据泄露事件频发,给个人、企业乃至国家安全带来了巨大威胁。本文将探讨网络安全漏洞、加密技术以及安全意识等方面的关键知识,帮助你提升对网络安全的认知,保护自己的数字资产。 ##
20 5
|
1天前
|
SQL 安全 算法
网络安全与信息安全:保护你的数字世界
【9月更文挑战第18天】在这个数字信息时代,网络安全和信息安全的重要性不言而喻。从网络漏洞的发现到加密技术的应用,再到安全意识的提升,每一个环节都至关重要。本文将深入探讨这些主题,并提供实用的建议和代码示例,以帮助读者更好地保护自己的数字世界。
21 11
|
3天前
|
人工智能 安全 算法
网络安全与信息安全:构建数字世界的防线
在数字化浪潮席卷全球的今天,网络安全与信息安全已成为维系社会秩序、保障个人隐私与企业机密的关键。本文旨在探讨网络安全漏洞的成因、加密技术的应用及安全意识的提升策略,以期为读者提供一个全面而深入的网络安全知识框架。