当前位置: 首页 > news >正文

网络层协议总览

网络层协议总览

  • IP
  • ARP(地址解析协议)
  • ICMP(网际控制报文协议)
  • 路由选择协议
  • NAT(网络地址转换协议)

网络层的主要协议包括IP、ARP、RARP、ICMP、IGMP以及各种路由选择协议等。

IP

IP协议是TCP/IP协议簇中的核心协议,也是TCP/IP的载体。所有的TCP,UDP,ICMP及IGMP数据都以IP数据报格式传输。

IP协议是TCP/IP协议族的动力,它为上层协议提供无状态、无连接、不可靠的服务。

  • 无状态是指IP通信双方不同步传输数据的状态信息,因此所有IP数据报的发送、传输和接收都是相互独立、没有上下文关系的。这种服务最大的缺点就是无法处理乱序和重复的IP数据报。面向连接的协议,比如TCP协议,能够自己处理乱序的、重复的报文段,它递交给上层协议的内容绝对是有序的、正确的。无状态服务的优点也很明显:简单、高效。我们无需为保持通信的状态而分配一些内核资源,也无需每次传输数据时都携带状态信息。

  • 无连接是指IP通信双方都不长久地维持对方的任何信息。这样上层协议每次发送数据的时候,都必须明确指定对方的IP地址。

  • 不可靠是指IP协议不能保证IP数据报准确地到达接收端,它只是承诺尽最大努力。很多情况都可以导致IP数据报发送失败。比如,某个中转路由器发现IP数据报在网络上存活地时间太长,那么它将丢弃该报文,并返回一个ICMP错误消息给发送端。因此,使用IP服务地上层协议需要自己实现数据确认、超时重传等机制以达到可靠传输的目的。

ARP(地址解析协议)

ARP协议是地址解析协议。在以太网环境中,数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址转换为MAC地址的工作是由ARP协议来完成的。

在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

ICMP(网际控制报文协议)

ICMP协议定义了网络层控制和传递消息的功能,可以报告IP数据包传送过程中发生的错误、失败等信息,提供网络诊断功能。ping和tracert两个使用极其广泛的测试工具就是ICMP消息的应用。

ICMP协议的功能主要有:

  1. 确认IP包是否成功到达目标地址
  2. 通知在发送过程中IP包被丢弃的原因

ping依赖于ICMP协议。

路由选择协议

路由选择协议的任务是为路由器提供他们建立通过网状网络最佳路径所需要的相互共享的路由信息,并提供将数据报从源地址转发到目的地址的路径选择策略。

互联网有两大类路由选择协议:

  1. 内部网关协议 IGP (Interior Gateway Protocol)(AS内部):在一个自治系统内部使用的路由选择协议。
  2. 外部网关协议 EGP (External Gateway Protocol)(AS之间):若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要外部网关协议将路由选择信息传递到另一个自治系统中。

NAT(网络地址转换协议)

当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但又想和因特网上的主机通信(并不需要加密)时,可使用NAT协议。

使用NAT协议需要在专用网(私网IP)连接到因特网(公网IP)的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址(公网IP地址)。这样,所有使用本地地址(私网IP地址)的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。

另外,这种通过使用少量的全球IP地址(公网IP地址)代表较多的私有IP地址的方式,将有助于减缓可用的IP地址空间的枯竭。

http://www.lryc.cn/news/98763.html

相关文章:

  • C++模拟实现list
  • PostgreSQL PG16 逻辑复制在STANDBY 上工作 (译)
  • 《零基础入门学习Python》第058讲:论一只爬虫的自我修养6:正则表达式2
  • 第一堂棒球课:MLB棒球大联盟的主要战术·棒球1号位
  • 【论文阅读】利用道路目标特征的多期车载激光点云配准
  • L---泰拉瑞亚---2023河南萌新联赛第(三)场:郑州大学
  • windows无盘启动技术开发之使用本地镜像文件启动电脑
  • PoseiSwap 即将开启质押,利好刺激下 POSE通证短时涨超 30%
  • Linux文本编辑器-vim
  • vscode使用g++编译.c文件或.cpp文件
  • 云计算的服务模式包括哪些|PetaExpress云服务商
  • iOS--通知、代理、单例模式总结
  • 选择最佳安全文件传输方法的重要性
  • IBM LSF 集群虚拟化和工作负载管理解决方案
  • C++(14):重载运算与类型转换
  • 【深度学习】基于图形的机器学习:概述
  • 内存泄漏是什么?有什么危害
  • 【项目设计】基于负载均衡的在线oj平台
  • 生产环境Session解决方案、Session服务器之Redis
  • SPECjvm2008_1_01 openjdk8 x86_64 ARM64 运行时长、成绩 Run is valid, but not compliant
  • 安卓:百度地图开发(超详细)
  • DDSv1.4规范(中文版)
  • oracle,获取每日24*60,所有分钟数
  • vue elementui table去掉滚动条与实现表格自动滚动且无滚动条
  • SDK命令行工具配置
  • 【数字IC基础】竞争与冒险
  • 速成版-带您一天学完python自动化测试(selenium)
  • windows 删除无法删除的文件
  • FFmpeg[7] - FFmpeg之预设编码参数preset
  • CVPR2023新作:3D视频物体检测