ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

三层转发

2022-02-24 14:05:02  阅读:158  来源: 互联网

标签:IP 报文 PC1 mac 转发 Router 三层


1.网络层的定义
网络层(network layer ):它位于OSI模型中的第三层,介于运输层与数据链路层之间,提供发信端到目标端之间的信息传输服务。网络层的数据以IP数据报的形式传输。

2.IP协议
IP提供了不可靠,无连接的数据报传送服务。它定义了在互联网上传输数据的具体格式。IP实现两个基本功能:寻址及分片。
IP地址由网络号和主机号两部分组成,网络号标识互联网中的一个特定网络,主机号标识在该网络中的一台特定主机,最常用的地址表示方法是点分十进制法。如:192.168.10.1关于IP协议的具体讲解见《TCP/IP 基础学习》
3.ARP
ARP,即地址解析协议,实现通过IP地址到物理地址的映射。
在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址,而在TCP/IP协议栈中网络层和传输层只关心目标主机的IP地址
。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。这就是ARP协议要做的事情。(关于ARP的具体知识,见《TCP/IP 基础学习》)
4.基本转发的概念
在数据通信网络中,设备之间的通信基本上是根据TCP/IP协议,在IP网络中运行的特定功能的设备,都可以称之为端系统,PC是一种最常见的端系统,网络中路由器、交换机就是用来互联不同的端系统,让它们进行透明的通信。

三层转发基本原理
之前我们学习了二层转发,知道二层转发是一种基于OSI中的数据链路层的数据帧的存储转发技术,二层交换是依靠MAC地址和VID号来确定转发方向的。那么,三层转发和二层转发有什么区别呢?
1.数据转发依靠的关键字不同,二层转发主要依靠MAC地址,而三层转发主要依靠IP地址。
2.数据交换的范围不同,二层交换指在同一网段内的通信,三层交换指跨网段的通信。
3.在三层转发的过程中,还要进行二层的封装。也就是说,在转发过程中二层帧头中的(源、目的)MAC地址是要改变的。但是IP数据报中的源IP和目的IP地址是不会改变的

5.IP路由表

路由是IP层转发的依据,路由包括
•目的网络/前缀长度
•下一跳地址IP路由表
•出接口
•……
查看路由表的命令
•Show ip route

Show fib

路根据路由产生的方式分

1.直连路由–本地接口IP网段对应的路由,优先级最高
2.静态路由-手工配置的路由,优先级较高
3.动态路由-各种路由协议产生的路由优先级有高有低由匹配

匹配原则--最长路径匹配原则

6.三层转发举例

PC1准备向PC2发送数据包

(1) PC1检查报文的目的IP地址,发现和自己不在同一网段,则需要进行三层转发,通过网关转发报文信息;

(2) PC1检查自己的ARP表,发现网关的MAC地址不在自己的ARP表里;PC1向Router发起arp请求

(3) PC1——>Router(网关)发出ARP请求报文;

(4) Router将PC1的MAC地址学习到自己的ARP表,

(5) Router(网关)——>PC1发出ARP应答报文;

(6) PC1学习到Router(网关)的mac地址,发出报文,此时源ip、目的ip不变,目的mac为Router(网关)的mac

(7) PC1——> Router(网关)发出报文。

(8) Router(网关)收到报文,发现是三层报文(原因是报文的目的mac是自己的mac)

(9) Router(网关)检查自己的路由表(FIB),发现目的ip在自己的直连网段

(10)Router检查自己的arp表,如果发现有与目的ip对应的mac地址则直接封装报文(目的ip、源ip不变,目的mac为查arp表所得mac)发送给PC2

(11) 如果查ARP表没有得到与目的ip对应MAC,则重复(3)发arp请求

(12) PC2收到ARP广播报文,发现目的IP是自己的IP,于是给Router发送ARP应答报文。报文中会附上自己的mac地址。

(13) Router收到应答报文后,目的mac改为PC2的mac,然后向PC2发送数据帧。

(14) PC2向Router发送报文

(15) Router收到报文后,向PC1转发报文

 

标签:IP,报文,PC1,mac,转发,Router,三层
来源: https://www.cnblogs.com/sudochen/p/15931400.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有