网络层协议

一、IP(Internet Protocol)

1、互联网协议(Internet Protocol,IP):TCP/IP协议族的核心,负责在不同网络之间传输数据包。为每个数据包分配一个唯一的IP地址,规定数据包在网络中的路由规则。【IPv4、IPv6】

二、ICMP(Internet Control Message Protocol)

1、Internet控制报文协议(Internet Control Message Protocol,ICMP):在IP网络中发送控制消息。ICMP报文封装在IP报文中。

2、ICMP报文格式

3、ICMP报文:ICMP差错报告报文、ICMP询问报文

【Ping---回送应答、回送请求;Traceroute---时间超时、目的不可达】

【Linux TTL:64;Windows TTL:128;Unix TTL:255】

三、IGMP(Internet Group Management Protocol)

1、Internet 组管理协议(Internet Group Management Protocol,IGMP):用于多播通信,接收者主机和直接相邻的组播路由器之间建立和维护组播组成员的关系,交互IGMP报文实现组成员管理功能,IGMP报文封装在IP报文中。【IGMPv1、IGMPv2、IGMPv3】

【任意源组播(Any Source Multicast,ASM)

过滤源组播(Source Filtered Multicast,SFM)

特定源组播(Source Specific Multicast,SSM)】

四、ARP(Address Resolution Protocol)

1、地址解析协议(Address Resolution Protocol,ARP):将IP地址映射到物理地址(MAC地址)。当数据包到达网络层时,ARP会查找目标IP对应的MAC地址,将数据包封装并发送到物理链路层。

2、工作原理:

2.1发送ARP请求:请求主机以广播方式发出ARP请求分组。ARP请求分组主要由主机本身的IP地址、MAC地址以及需要解析的IP地址三个部分组成。

2.2ARP响应:所有主机都能收到ARP请求分组,但只有与请求解析的IP地址一致的主机响应,并以单播方式向ARP请求主机发送ARP响应分组。ARP响应分组由响应方的IP地址和MAC地址组成。

2.3主机写高速缓存:主机收到响应分组后,将IP地址和MAC地址对应关系写入ARP高速缓存。ARP高速缓存纪录了IP地址和MAC地址的对应关系,高速缓存中的每个IP地址和MAC地址的对应关系都有一定的生存时间,大于该时间的对应关系将被删除。

【Arp -d 清除ARP缓存;Arp -s IP MAC 静态绑定地址】

五、RARP(Reverse Address Resolution Protocol)

1、反向地址转换协议(Reverse Address Resolution Protocol,RARP):根据目的设备的MAC地址获取其IP地址。

2、工作原理:

2.1发送主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址;

2.2本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址;

2.3如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;

2.4如果不存在,RARP服务器对此不做任何的响应;

2.5源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。

六、NAT(Network Address Translation)

1、网络地址转换(Network Address Translation,NAT):将数据报文中的IP地址替换成另一个IP地址。(私有地址转换为公有地址)

1.1静态NAT:内部地址一对一转换成公有地址。

1.2动态NAT:内部地址转换为公有地址时,IP地址是随机的。

1.3网络地址端口转换(Network Address Port Translation,NAPT):又称端口多路复用(Port address Translation,PAT)、多对一地址转换、地址复用。NAT的一种变形,允许多个内部地址映射到同一个公有地址,同时映射IP地址和端口号。【隐藏内部网络的IP配置、节省资源】

相关推荐
你要飞3 小时前
Hexo + Butterfly 博客添加 Live2D 看板娘指南
笔记
IT帮5 小时前
2020年08月份04741计算机网络原理真题及答案
计算机网络
ajsbxi6 小时前
【Java 基础】核心知识点梳理
java·开发语言·笔记
呱呱巨基6 小时前
vim编辑器
linux·笔记·学习·编辑器·vim
新子y6 小时前
【小白笔记】普通二叉树(General Binary Tree)和二叉搜索树的最近公共祖先(LCA)
开发语言·笔记·python
聪明的笨猪猪6 小时前
Java JVM “调优” 面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
爱学习的uu7 小时前
CURSOR最新使用指南及使用思路
人工智能·笔记·python·软件工程
YuCaiH7 小时前
Linux文件处理
linux·笔记·嵌入式
Cathy Bryant7 小时前
大模型损失函数(二):KL散度(Kullback-Leibler divergence)
笔记·神经网络·机器学习·数学建模·transformer
qq_398586547 小时前
Threejs入门学习笔记
javascript·笔记·学习