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)

osi7层模型,分别是
第7层 应用层(Application Layer)
提供为应用软件而设的界面,以设置与另一应用软件之间的通信。例如:HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。
 
第6层 表示层(Presentation Layer)
把数据转换为能与接收者的系统格式兼容并适合传输的格式。
 
第5层 会话层(Session Layer)
负责在数据传输中设置和维护电脑网络中两台电脑之间的通信连接
 
第4层 传输层(Transport Layer)
把传输表头(TH)加至数据以形成数据报。传输表头包含了所使用的协议等发送信息。例如:传输控制协议义(TCP)等
 
第3层 网络层(Network Layer)
决定数据的路径选择和转寄,它网络表头(NH)加至数据报,以形成数据包。网络表头包含了网络数据。例如:互联网协议(IP)等,网关,多口网关(路由器)
 
第2层 数据链路层(Data link Layer)
负责网络寻址、错误侦测和改错。当表头和表尾被加至数据包时,会形成了帧。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。数据链表尾(DLT)是一串指示数据包末端的字符串。例如以太网、无线兼容认证券市场(Wi-Fi)和通用分组无线服务(GPRS)等。
 
第1层 物理层(Physical Layer)
在局部局域网络上传送帧,它负责管理电脑通信设备和网络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、网卡、主机适配器等。
 
TCP/IP协议分为4层,由上至下为应用层、传输层、网络层和网络接口层。
应用层:定义上层应用可以直接使用的高级协议,如http、ftp等。
传输层:定义控制数据传输的协议,用以保证数据的可靠性和顺序到达性等,如tcp、udp协议。
网络层:定义不同网络类型间通信的协议,如IP协议用于实现网际路由,ICMP协议用于检测网络的畅通性,ARP协议用于获取设备MAC地址等。
网络接口层:定义网络介质上的传输协议,和电气相关,如Ethernet协议、802.3协议等,主要由操作系统的网卡驱动程序实现。

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、网络数据转发原理的更多相关文章

  1. H3C 无线交换机的数据转发原理

  2. TCP的三次握手和四次挥手与路由器(三层)转发原理

    传输层是国际标准化组织提出的开放系统互连(OSI)参考模型中的第四层.该层协议为网络端点主机上的进程之间提供了可靠.有效的报文传送服务.其功能紧密地依赖于网络层的虚拟电路或数据报服务.传输层定义了主机 ...

  3. LINUX下的远端主机登入 校园网络注册 网络数据包转发和捕获

    第一部分:LINUX 下的远端主机登入和校园网注册 校园网内目的主机远程管理登入程序 本程序为校园网内远程登入,管理功能,该程序分服务器端和客户端两部分:服务器端为remote_server_udp. ...

  4. php特级课---2、网站大数据如何存储

    php特级课---2.网站大数据如何存储 一.总结 一句话总结: mysql主从,分库分表,mysql分区,mysql集群,Nosql 1.mysql主从服务器各自的功能是什么? 增删改,主服务器 查 ...

  5. 配置Linux数据转发(给其他接口转发一个接口的internet网络)

    配置Linux数据转发 [主机]第一步开启转发net.ipv4.ip_forward = 1echo "1" > /proc/sys/net/ipv4/ip_forward第 ...

  6. php特级课---1、网站大访问量如何解决

    php特级课---1.网站大访问量如何解决 一.总结 一句话总结: 负载均衡和冗余技术 1.负载均衡和冗余技术是一回事么? 并不是:负载均衡是用户分流:冗余技术是避免出现单点故障 负载均衡:将不同的用 ...

  7. Android利用Fiddler进行网络数据抓包,手机抓包工具汇总

    Fiddler抓包工具 Fiddler抓包工具很好用的,它可以干嘛用呢,举个简单例子,当你浏览网页时,网页中有段视频非常好,但网站又不提供下载,用迅雷下载你又找不到下载地址,这个时候,Fiddler抓 ...

  8. ElasticSearch 学习记录之 分布式文档存储往ES中存数据和取数据的原理

    分布式文档存储 ES分布式特性 屏蔽了分布式系统的复杂性 集群内的原理 垂直扩容和水平扩容 真正的扩容能力是来自于水平扩容–为集群添加更多的节点,并且将负载压力和稳定性分散到这些节点中 ES集群特点 ...

  9. 中间人攻击(MITM)之数据截获原理

    中间人攻击(MITM)之数据截获原理 - The data interception principle of the man in the middle attack (MITM) 交换式局域网中截 ...

随机推荐

  1. Linux 搭建Nginx并添加配置 SSL 证书

    1. 安装准备   1.1 gcc安装 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装: [root@nginx ~]# yum -y i ...

  2. swoole--PHP的异步、并行、高性能网络通信引擎

    swoole目前已被多家移动互联网.物联网.网络游戏.手机游戏企业使用,替代了C++.Java等复杂编程语言来实现网络服务器程序. 使用PHP+Swoole,开发效率可以大大提升.官方提供了基于swo ...

  3. xplan-打印执行顺序

    -- ------------------------------------------------------------------------------------------------- ...

  4. Python开发【笔记】:concurrent.futures 平行运算

    平行运算 前言: 编写Python程序时,我们可能会遭遇性能问题,即使优化了代码,程序也依然有可能运行的很慢,从而无法满足我们对执行速度的要求,目前的计算机,其cpu核心数越来越多,于是,我们可以考虑 ...

  5. 实现IT服务弹性伸缩的利器

    随着互联网业务快速持续增长,IT资源使用量按需变化成为常态,这就要求信息部门能快速响应资源使用的变化要求,对运维提出不小挑战.比如电商.在线教育等企业经常推出一些秒杀.抢红包活动,在特定时间段对资源的 ...

  6. 在Silverlight 5 项目中创建单元测试项目

    下载安装Silverlight ToolKit:测试框架程序集路径:C:\Program Files (x86)\Microsoft SDKs\Silverlight\v5.0\Toolkit\dec ...

  7. pandas 从txt读取DataFrame&DataFrame格式化保存到txt

    前提 首先保证你txt里的文本内容是有规律可循的(例如,列与列之间通过“\t”.“,”等指定的可识别分隔符分隔): 例如我需要读取的数据,(\t)分隔: (此文件内容是直接以DataFrame格式化写 ...

  8. 【Python】接口自动化测试-Fidder的使用(未完待续……)

    一.fidder一些一定需要掌握的知识. 1.工具简介 2.清屏操作(1中提到了,这里再着重说明下): 3.get和post请求参数相关: 4.会话框(Fidder左侧区域内容解析): 5.Reque ...

  9. [css]网站骨架布局作业

    实现效果图: 代码实现 第一次写的时候不知道如何下手, 后来摸清规律了,由大到小. 由全局到局部 第一次还遇到区块命名问题, 和哪个该怎么划分问题 第一次还遇到由于划分不规整,所以有些代码没达到预期的 ...

  10. Linux安装rpm包时报错Header V3 DSA/SHA1 Signature, key ID 1d1e034b: NOKEY解决办法

    这是因为yum安装了旧版本的GPG key造成的,解决办法: rpm --import /etc/pki/rpm-gpg/RPM* Header V3 DSA/SHA1 Signature, key ...