一文搞定网络层协议

简介: 本文详细的介绍了网络层的所有的细节,学习完本章小白将打下坚实的基础。

系列文章目录

华为数通学习(3)


前言

一、什么是网络层?

二、IP协议

2.1,什么是ip协议?

总结:

2.2,ip版本

2.3,IPv4的报文格式

三,数据包分片

四,MTU(最大传输单元)

五,生存时间(Time to live)TTL

六,验证两台路由器之间如何配置可以产生三层环路

配置设备:

6.1将设备设置为永不超时

6.2设置ip地址

6.3这样设置完在测试一下直连的连通性

6.4接下来我们进行抓包看一下

结论:

三层环路不会一直持续下去,因为TTL值最大是255,每经过一台路由器就减少1。

6.5关于TTL值补充说明:

七,协议号 (Protocol)

7.1,ospf协议抓包看协议号

总结


前言

随着华为公司的不断发展,数据通信这门技术也越来越重要,很多人都开启了数据通信学习,本文就介绍了网络层协议,是我们通过数通王国的第八站(我们在文章中使用的是华为的ENSP软件)。


一、什么是网络层?

网络层经常被称为IP层。但网络层协议并不只是IP协议,还包括ICMP(Internet Control Message Protocol)协议、IPX(Internet Packet Exchange)协议等。

image.gif编辑

解释:

我们常说的ip指的就是ip地址,其实ip是一个很广泛的一个概念,在网络层里面主要的设备就是路由器,网络层最重要的功能就是寻址和转发,寻址就是根据我们的路由表查找目标网段是否有这条路由,进行相应的结果,根据这个结果把数据包,从一跳传到另外一跳,也就是一跳一跳的转发这就是我们网络层的功能。

二、IP协议

2.1,什么是ip协议?

IPInternet Protocol的缩写(因特网协议), Internet Protocol本身是一个协议文件的名称,泛指一类的协议,该协议文件的内容非常少,主要是定义并阐述了IP报文的格式。

解释:

经常被提及的IP,一般不是特指Internet Protocol这个协议文件本身,而是泛指直接或间接与IP协议相关的任何内容。

而是泛指直接或间接与IP协议相关的任何内容。

解释:

比如说我们的ip地址,ip协议,ospf协议都是属于ip协议。

总结:

    1. IP协议泛指跟IP协议相关或者有关的内容,比如说IP地址,OSPF协议、Isis协议
    2. 平时所讲的IP地址仅仅是IP地址,只是IP协议中很小一部分。

    2.2,ip版本

    image.gif编辑

    我们当前使用有两个版本是一个是ipv4,一个是ipv6

    IPv4是我们当前还在使用的,IPv6是从根本上去解决IPv4地址空间不足的问题,IPv4已经出现了可分配的公网ip地址分配完毕的情况,

    2.3,IPv4的报文格式

    image.gif编辑

    注意:ipv4的ip头部有固定的长度,20个字节,经常在一些考试里面考到,

    Version:包含它的版本,到底是ipv4还是ipv6

    Header Length:头部的长度

    Type of Service:服务质量

    Total Length:总的长度

    Identification:标识符

    Flags:标志位

    Fragment Offset:偏移,数据分片的时候用到

    TTL:Time to Live:用来防止三层环路

    Protocol:协议号

    Header Checksum:头部校验

    Source IP Address:源ip地址

    Destination IP Address:目的ip地址,通信地址,最重要的部分

    可选长度

    Options: 可变,选项字段。

    Padding:可变,填充字段,全填0。

    三,数据包分片

    分片:将报文分割成多个片段的过程叫做分片,也叫做分包,把数据包分成多个片段,以便顺利通过沿路的设备。

    网络中转发的IP报文的长度可以不同,但如果报文长度超过了数据链路所支持的最大长度,则报文就需要分割成若干个较小的片段才能够在链路上传输。

    image.gif编辑

    解释:

    从主机A发送数据给主机B,一路沿途通过的数据,到了路由器接口之后,数据包如果保持原先的大小,那么就可能超出路由器的能够接受的范围,这个时候你要把数据分为一片一片小于路由器接受范围的数据片,路由器就能传递这个数据了,不会因为数据包太大就丢弃。我们因为担心分片之后传到主机B的数据片的排雷顺序可能会被打乱,所以我们就使用 Fragment Offset这个字段,确保传给主机B的数据片可以让主机B按路由器的分片的时的正确的顺序来进行识别数据片。

    四,MTU(最大传输单元)

    MTU衡量网络链路传输能力,类似于水管的直径。

    通过的数据类似域水管中流经的水,这就是数据大小与MTU关系

    设备能接收多大数据取决于MTU(最大传输单元),默认值一般是1500

    image.gif编辑

    如何修改MTU的值

    [AR1]interface GigabitEthernet 0/0/0

    [AR1-GigabitEthernet0/0/0]mtu ?

    <46-1600>  MTU value

    [AR1-GigabitEthernet0/0/0]

    image.gif编辑

    不建议修改MTU的值,因为修改之后所以的路由器都要更改mtu的大小,要把然就可能发生丢包的情况,所以不要胡乱更改。

    五,生存时间(Time to live)TTL

    TTL字段设置了数据包可以经过的路由器数目。就是数据包可以传多少跳受这个TTL的影响。

    image.gif编辑

    一旦经过一个路由器,TTL值就会减1,当该字段值为0时,数据包将被丢弃。

    验证两台路由器之间如何配置可以产生三层环路。

    六,验证两台路由器之间如何配置可以产生三层环路

    image.gif编辑

    配置设备:

    6.1将设备设置为永不超时

    [ar1]user-interface console 0

    [ar1-ui-console0]idle-timeout 0 0 0

    [ar2]user-interface console 0

    [ar2-ui-console0]idle-timeout 0 0

    6.2设置ip地址

    [ar1]interface GigabitEthernet 0/0/0

    [ar1-GigabitEthernet0/0/0]ip address 10.1.12.1 24

    [ar2]interface GigabitEthernet 0/0/0

    [ar2-GigabitEthernet0/0/0]ip address 10.1.12.2 24

    6.3这样设置完在测试一下直连的连通性

    image.gif编辑

    这个现象表示ar1和ar2之间是可以ping通的

    如何环路,就在ar1和ar2上都写一个默认路由,所有不认识的流量就发给默认的路由

    [ar1]ip route-static 0.0.0.0 0 10.1.12.2

    [ar2]ip route-static 0.0.0.0 0 10.1.12.1

    6.4接下来我们进行抓包看一下

    我们在ar1上ping一下8.8.8.8

    [ar1]ping 8.8.8.8

    环路现象如下:数据包会在AR1和AR2之间不断的重复发送AR1-AR2-AR1-AR2,一直到TTL数值变成0的时候,该数据包被丢弃。

    image.gif编辑

    结论:

    三层环路不会一直持续下去,因为TTL值最大是255,每经过一台路由器就减少1。

    6.5关于TTL值补充说明:

      1. 华为路由器默认情况下的TTL初始化值为255
      2. 其他系统可能数值不一定是255开始

      image.gif编辑

      七,协议号 (Protocol)

      协议号概念:

      IP报文中的protocol协议号字段:标识IP协议之后是哪种协议,标识方法(协议号)

      IP报文头中的协议号字段标识了将会继续处理该报文的协议。

      即指出此数据包携带的数据使用何种协议,以便目的主机的IP层将数据部分上报给哪个进程处理。

      我们ping个包,抓报看一下,这个协议号

      image.gif编辑

      不同协议的协议号:

      协议号1:ICMP

      协议号2:IGMP

      协议号89:OSPF

      协议号6: TCP

      协议号17:UDP

      7.1,ospf协议抓包看协议号

      配置设备:

      [ar1]ospf 1

      [ar1-ospf-1]area 0

      [ar1-ospf-1-area-0.0.0.0]net  

      [ar1-ospf-1-area-0.0.0.0]network 10.1.12.1 0.0.0.0

      image.gif编辑


      总结

      恭喜你,你通过本章的学习网络层协议,华为数通还有很多宝藏等着你去探险,加油!只为成为更好的自己。

      相关文章
      |
      数据采集 算法 数据挖掘
      模块化控制协议(MCP)在网络中增强智能体执行效率的研究
      随着Web3技术的迅速发展,去中心化应用和智能体在各种领域的应用逐渐增多。MCP(Modularized Control Protocol,模块化控制协议)作为一种增强智能体执行能力的关键技术,为Web3场景中的智能体提供了更强的灵活性和可扩展性。本文将探讨如何利用MCP技术提升智能体在Web3场景中的执行能力,并通过实例代码展示其实现路径。
      1184 22
      |
      9月前
      |
      监控 负载均衡 安全
      WebSocket网络编程深度实践:从协议原理到生产级应用
      蒋星熠Jaxonic,技术宇宙中的星际旅人,以代码为舟、算法为帆,探索实时通信的无限可能。本文深入解析WebSocket协议原理、工程实践与架构设计,涵盖握手机制、心跳保活、集群部署、安全防护等核心内容,结合代码示例与架构图,助你构建稳定高效的实时应用,在二进制星河中谱写极客诗篇。
      WebSocket网络编程深度实践:从协议原理到生产级应用
      |
      负载均衡 网络协议 算法
      |
      10月前
      |
      运维 架构师 安全
      二层协议透明传输:让跨域二层协议“无感穿越”多服务商网络
      简介:本文详解二层协议透明传输技术,适用于企业网工、运营商及架构师,解决LLDP/LACP/BPDU跨运营商传输难题,实现端到端协议透传,提升网络韧性与运维效率。
      |
      安全 网络协议 Linux
      Linux网络应用层协议展示:HTTP与HTTPS
      此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
      425 19
      |
      安全 网络安全 定位技术
      网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
      总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
      425 22
      |
      网络协议 数据安全/隐私保护 网络架构
      |
      缓存 网络协议 API
      掌握网络通信协议和技术:开发者指南
      本文探讨了常见的网络通信协议和技术,如HTTP、SSE、GraphQL、TCP、WebSocket和Socket.IO,分析了它们的功能、优劣势及适用场景。开发者需根据应用需求选择合适的协议,以构建高效、可扩展的应用程序。同时,测试与调试工具(如Apipost)能助力开发者在不同网络环境下优化性能,提升用户体验。掌握这些协议是现代软件开发者的必备技能,对项目成功至关重要。
      |
      人工智能 自然语言处理 决策智能
      智能体竟能自行组建通信网络,还能自创协议提升通信效率
      《一种适用于大型语言模型网络的可扩展通信协议》提出创新协议Agora,解决多智能体系统中的“通信三难困境”,即异构性、通用性和成本问题。Agora通过标准协议、结构化数据和自然语言三种通信格式,实现高效协作,支持复杂任务自动化。演示场景显示其在预订服务和天气预报等应用中的优越性能。论文地址:https://arxiv.org/pdf/2410.11905。
      606 6
      |
      前端开发 网络协议 安全
      【网络原理】——HTTP协议、fiddler抓包
      HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法