php特级课---5、网络数据转发原理
php特级课---5、网络数据转发原理
一、总结
一句话总结:
OSI七层模型 路由器 交换机 ARP 代理ARP
1、OSI7层模型?
电缆 MAC地址 ip 端口 应用
1层 通信电缆
2层 原MAC地址和要到达的MAC地址
3层 原ip和目的ip:同ip可能有多台电脑,对应多个MAC地址,所以需要找到真正需要的那个
4层 原端口号目的端口号
567层 人与应用软件完成(比如qq)

两台电脑通讯时,一台电脑通过7层模型组装数据,另一个通过7层模型解析数据

osi(Open System Interconnection Reference Model)
2、交换机工作原理?
学习 查找 广播

如上图所示,假设电脑的MAC地址分别为11、22、33、44
当主机11给主机33发送一个数据帧,目的地址33,源地址11,各个设备间工作如图所示:

提示:当在交换机的MAC地址表能找到对应设备的 MAC地址与端口关系,则单播发送至对应设备;如果不能找到,则进行广播,查找目标地址与端口。
3、路由器工作原理?
网段 查询路由表 传递数据
1、路由器接收来自它连接的某个网站的数据。
2、路由器将数据向上传递,并且(必要时)重新组合IP数据报。
3、路由器检查IP头部中的目的地址,如果目的地址位于发出数据的那个网络,那么路由器就放下被认为已经达到目的地的数据,因为数据是在目的计算机所在网络上传输。
4、如果数据要送往另一个网络,那么路由器就查询路由表,以确定数据要转发到的目的地。
5、路由器确定哪个适配器负责接收数据后,就通过相应的软件传递数据,以便通过网络来传送数据。
工作原理示例:
(1)工作站A将工作站B的地址12.0.0.5连同数据信息以数据包的形式发送给路由器1。
(2)路由器1收到工作站A的数据包后,先从包头中取出地址12.0.0.5,并根据路径表计算出发往工作站B的最佳路径:R1->R2->R5->B;并将数据包发往路由器2。
(3)路由器2重复路由器1的工作,并将数据包转发给路由器5。
(4)路由器5同样取出目的地址,发现12.0.0.5就在该路由器所连接的网段上,于是将该数据包直接交给工作站B。
(5)工作站B收到工作站A的数据包,一次通信过程宣告结束。
4、ARP协议工作原理?
地址 ARP 广播 回复 存储




5、如何查询电脑的ARP缓存?
arp -a

6、路由器能传递广播么?
不能
一个网段 穿越 交换机
不能
广播只能在一个网段里面传播,所以广播可以穿越交换机,但是广播没方法穿越路由器
7、代理ARP工作原理?
arp广播 不能 路由器 网关 转发
因为arp广播不能穿越路由器,但是路由器比较好,所以用arp广播把源数据给网关的MAC地址,路由器帮忙转发


8、路由器和交换机的对比?
路由 网络层 外网 ip
交换机 数据链路层 内网 MAC地址
路由工作在网络层
Ø根据“路由表”转发数据
Ø路由表中含有网段和接口
交换工作在数据链路层
Ø根据“mac地址表”转发数据
Ømac地址表中含有mac地址和接口
二、内容在总结中
php特级课---5、网络数据转发原理的更多相关文章
- H3C 无线交换机的数据转发原理
- TCP的三次握手和四次挥手与路由器(三层)转发原理
传输层是国际标准化组织提出的开放系统互连(OSI)参考模型中的第四层.该层协议为网络端点主机上的进程之间提供了可靠.有效的报文传送服务.其功能紧密地依赖于网络层的虚拟电路或数据报服务.传输层定义了主机 ...
- LINUX下的远端主机登入 校园网络注册 网络数据包转发和捕获
第一部分:LINUX 下的远端主机登入和校园网注册 校园网内目的主机远程管理登入程序 本程序为校园网内远程登入,管理功能,该程序分服务器端和客户端两部分:服务器端为remote_server_udp. ...
- php特级课---2、网站大数据如何存储
php特级课---2.网站大数据如何存储 一.总结 一句话总结: mysql主从,分库分表,mysql分区,mysql集群,Nosql 1.mysql主从服务器各自的功能是什么? 增删改,主服务器 查 ...
- 配置Linux数据转发(给其他接口转发一个接口的internet网络)
配置Linux数据转发 [主机]第一步开启转发net.ipv4.ip_forward = 1echo "1" > /proc/sys/net/ipv4/ip_forward第 ...
- php特级课---1、网站大访问量如何解决
php特级课---1.网站大访问量如何解决 一.总结 一句话总结: 负载均衡和冗余技术 1.负载均衡和冗余技术是一回事么? 并不是:负载均衡是用户分流:冗余技术是避免出现单点故障 负载均衡:将不同的用 ...
- Android利用Fiddler进行网络数据抓包,手机抓包工具汇总
Fiddler抓包工具 Fiddler抓包工具很好用的,它可以干嘛用呢,举个简单例子,当你浏览网页时,网页中有段视频非常好,但网站又不提供下载,用迅雷下载你又找不到下载地址,这个时候,Fiddler抓 ...
- ElasticSearch 学习记录之 分布式文档存储往ES中存数据和取数据的原理
分布式文档存储 ES分布式特性 屏蔽了分布式系统的复杂性 集群内的原理 垂直扩容和水平扩容 真正的扩容能力是来自于水平扩容–为集群添加更多的节点,并且将负载压力和稳定性分散到这些节点中 ES集群特点 ...
- 中间人攻击(MITM)之数据截获原理
中间人攻击(MITM)之数据截获原理 - The data interception principle of the man in the middle attack (MITM) 交换式局域网中截 ...
随机推荐
- javascript 之获取 百度地址参数方法
原生态的JavaScript对DOM的操作 比jquery更方便,特别是当没有id 或class 可以获取的时候,只有用tag名获取 HTML DOM Element 对象操作 http://ww ...
- Cisco设备开启telnet登录
思科设备怎么开启telnet登录 configuration line vty 0 4SW1(config-line)#transp input telne
- SQL---->mySQl数据库1------数据库的增删改查备份恢复
1.在终端输入:mysql -uroot -p 然后输入密码,进入客户端 2.输入:\s 3.创建数据库 3.1创建字符集是utf-8的数据库 3.2创建带校验规则的数据库,校验规则可以在a ...
- vue - vue
一.vue - 介绍 vue的作者叫尤雨溪,中国人.自认为很牛逼的人物,也是我的崇拜之神. 关于他本人的认知,希望大家读一下这篇关于他的文章,或许你会对语言,技术,产生浓厚的兴趣.https://mp ...
- Sum It Up---poj1564(dfs)
题目链接:http://poj.org/problem?id=1564 给出m个数,求出和为n的组合方式:并按从大到小的顺序输出: 简单的dfs但是看了代码才会: #include <cstdi ...
- Redis缓冲区设置
对于Redis服务器的输出(也就是命令的返回值)来说,其大小通常是不可控制的.有可能一个简单的命令,能够产生体积庞大的返回数据.另外也有可能因为执行了太多命令,导致产生返回数据的速率超过了往客户端发送 ...
- (2.5)DDL增强功能-触发器trigger
SQL Server:触发器详解 1. 概述 2. 触发器的分类 3. Inserted和Deleted表 4. 触发器的执行过程 5. 创建触发器 6. 修改触发器: 7. 删除触发器: 8. ...
- python之__setattr__常见问题
#__setattr__ class Foo(object): def set(self,k,v): pass def __setattr__(self, key, value): print(key ...
- HDU2426:Interesting Housing Problem(还没过,貌似入门题)
#include <iostream> #include <queue> #include <stdio.h> #include <string.h> ...
- 6.2 Controllers -- Representing Multipe Models
1. 一个controller的model可以代表几个记录也可以代表单个.这里,路由的model hook返回一个歌曲数组: app/routes/songs.js export default Em ...