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

【计算机网络】网络层协议解析

  • 网络层的两种服务
  • IPv4
    • 分类编址
    • 划分子网
    • 无分类地址
  • IPv4地址应用
  • IP数据报的发送和转发过程
    • 主机发送IP数据报
    • 路由器转发IP数据报
  • IPv4数据报首部格式
  • ICMP网际控制报文协议
  • 虚拟专用网VPN与网络地址转换NAT

网络层主要任务是实现网络互连,进而实现数据包在各网络之间的传输。
因特网是目前全世界用户数量最多的互联网,它使用TCP/IP协议栈。
由于TCP/IP协议栈的网络层使用网际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层通常称为网际层

网络层的两种服务

在这里插入图片描述

IPv4

IPv4地址是因特网上的每一台主机的每一个接口分配在一个全世界范围内的唯一32比特的标识符。

分类编址

A类地址:8位网络号(0开头)+24位主机号
B类地址:16位网络号(10开头)+ 16位主机号
C类地址:24位网络号(110)+8位主机号
D类地址:多播地址(1110)
E类地址:保留为今后使用(1111)
只有ABC类地址可分配给网络中的主机或路由器的各接口
主机号为全0的地址是网络地址,不能分配给主机或路由器的各接口
主机号为全1的地址是广播地址,不能分配给主机或路由器的各接口

划分子网

无分类地址

IPv4地址应用

定长的子网掩码FLSM
使用同一个子网掩码来划分子网,子网划分方式不灵活只能划分出2的n次方个子网,每个子网所分配的IP地址数量相同,容易造成IP地址浪费。
变长的子网掩码VLSM
使用不同子网掩码来划分子网,网划分方式灵活,可以按需分配,每个子网所分配的IP地址数量可以不同,不容易造成IP地址浪费。

中继器和集线器工作在物理层,既不隔离冲突域也不隔离广播域 。
网桥和交换机工作在数据链路层,可以隔离冲突域,但是不能隔离广播域
路由器工作在网络层,既隔离冲突域,又隔离广播域。

IP数据报的发送和转发过程

主机发送IP数据报

判断目的主机是否与自己在同一个网络,如果在同一网络则直接交付,如果不在同一网络则属于间接交付,传输给主机所在网络的默认网关(路由器)由默认路由器帮忙转发

路由器转发IP数据报

检查IP数据报首部是否出错,出错则直接丢弃IP数据报并通告源主机,如果没有出错则直接进行转发。
检查IP数据报的目的地址在路由表中查找匹配的条目
找到匹配条目,则转发给条目中指示的下一跳,如果找不到,则丢弃该IP数据报并通告源主机

IPv4数据报首部格式

请添加图片描述

ICMP网际控制报文协议

为了更有效的转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议ICMP。
主机或路由器使用ICMP来发送差错报告报文和查询报文。
ICMP报文被封装在IP数据报中发送。
ICMP差错报告报文有五种:终点不可达(路由器或主机不能交付数据报时)、源点抑制(路由器或主机由于拥塞而丢弃数据报时)、时间超过(目的IP地址不是自己的数据报、TTL值会减1)、参数问题(首部在传输过程中出现误码)、改变路由(重定向)

对于以下情况将不会发送ICMP差错报告报文:
对于ICMP差错报告报文不再发送ICMP差错报告报文
对于第一个分片的数据报的所有后续数据报片都不发送ICMP差错报告报文
对于具有多播地址的数据报都不发送ICMP差错报告报文
对于具有特殊地质的(127.0.0.1、0.0.0.0等)都不发送ICMP差错报告报文

ICMP询问报文:回送请求和回答、时间戳请求和回答
ICMP应用:分组网间探测PING、跟踪路由tracterout

虚拟专用网VPN与网络地址转换NAT

利用公用的因特网作为本机构各专用网之间的通信载体,这样的专用网又称为虚拟专用网。
同一机构内不同部门的内部网络所构成的虚拟专用网VPN又称为内联网。
VPN要保证传输数据的安全性,会将原始的内部数据报进行加密,然后再将其封装成在因特网上发送的外部数据报。

由于IP地址的紧缺,一个机构能够申请到的IP地址数量往往远小于本机构所拥有的主机数量。因此,虚拟专用网中各主机分配的地址应该是本机构可自由分配的专用地址,而不是需要申请的、在因特网上使用的公有地址。
NAT使大量的使用内部专用地址的专用网络用户共享少量外部全球地址来访问因特网上的主机和资源。
NAPT技术利用运输层的端口号和IP地址一起进行转换,用一个全球IP地址就可以使用多个拥有本地地址的主机同时和因特网上的主机进行通信。


http://www.kler.cn/news/313646.html

相关文章:

  • NVM(node.js版本工具)的使用
  • 虚拟机ens33网卡不显示inet地址(已设置NOBOOT为yes)
  • 蓝桥杯2024省C
  • IDEA 2024.3 EAP新特征早览!
  • 音视频入门基础:AAC专题(4)——ADTS格式的AAC裸流实例分析
  • 微信小程序05-常用API下
  • EmguCV学习笔记 VB.Net 12.2 WeChatQRCode
  • 【FPGA】编程方式
  • Django学习实战篇六(适合略有基础的新手小白学习)(从0开发项目)
  • AUTOSAR_EXP_ARAComAPI的5章笔记(7)
  • iPhone 16系列:摄影艺术的全新演绎,探索影像新境界
  • Java面试篇基础部分-Java语言中的锁有哪些?
  • 基于SpringBoot+Vue的图书管理系统
  • 【设计模式-备忘录】
  • 计算机网络 ---- OSI参考模型TCP/IP模型
  • Cisco Catalyst 9000 Series Switches, IOS XE Release 17.15.1 ED
  • RabbitMQ消息转换器
  • 一条sql是如何执行的详解
  • Win10 安装Node.js 以及 Vue项目的创建
  • 构建现代应用的Python Serverless架构详解
  • Python中 BeautifulSoup和Selenium 定位元素和获取元素值的方法
  • 【JAVA入门】Day48 - 线程池
  • 《使用 LangChain 进行大模型应用开发》学习笔记(五)
  • elasticsearch同步mysql方案
  • 独立站技能树/工具箱1.0 总纲篇丨出海笔记
  • Centos7更换阿里云的 YUM 镜像仓库
  • K8S - Access Control 机制介绍
  • Oracle11g安装配置详细教程
  • [数据集][目标检测]智慧交通铁轨裂缝检测数据集VOC+YOLO格式4类别
  • 关于网络、模型、算法的一些理论知识补充(重新在概念上定义自己研究的方向!!!)