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. 三维凸包(两个没有公共点)经过旋转平移后使其重心相距最近(POJ3862)

    Asteroids Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 481   Accepted: 152   Special ...

  2. 170612、web如何项目优化

    Web性能优化分为服务器端和浏览器端两个方面. 一.浏览器端,关于浏览器端优化,分很多个方面1.压缩源码和图片JavaScript文件源代码可以采用混淆压缩的方式,CSS文件源代码进行普通压缩,JPG ...

  3. EasyUI DataGrid 时间格式化、字符串长度截取

    需要格式化日期时间和标题的方法,显示如下: 日期:2017-03-03 时间:2017-03-0 11:11 标题:标题名称 <table id="tbList" style ...

  4. SQL---->mySQl卸载for mac

    因为装的时候弄坏了 先来学习下怎么卸载吧,如下输入终端就好了 cd ~/ sudo rm /usr/local/mysql sudo rm -rf /usr/local/mysql* sudo rm ...

  5. docker环境搭建centos+jdk+tomcat_CENTOS篇

    前言 (1)写在前面的话,鉴于在linux或类unix系统中安装jdk+tomcat等环境,没有什么经验,所以选择在docker容器中安装之,以防止安装失败无法恢复系统 (2)需要下载对应的系统的do ...

  6. Oracle系统结构之修改oracle内存参数

    Linux主机16g内存,修改oracle数据库内存参数: 1.编辑/etc/fstab文件:针对tmpfs行将defaults改成defaults,size=12g(千万注意格式,不能出现错误) 修 ...

  7. 【ArcGIS for JavaScript api】Clusterlayer聚簇类

    1.作用: 聚簇类是用于前端显示优化,使POI点要素显示更为美观.大量的Marker距离太近会引起压盖而对浏览或者操作产生不便,因此,一般在超过1K点的时候,用此类.. 2.使用方式: 1: // c ...

  8. 缓存策略 半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完全自动化的框架我更喜欢mybatis

    springboot入门(三)-- springboot集成mybatis及mybatis generator工具使用 - FoolFox - CSDN博客 https://blog.csdn.net ...

  9. KVM中断虚拟化浅析

    2017-08-24 今天咱们聊聊KVM中断虚拟化,虚拟机的中断源大致有两种方式,来自于用户空间qemu和来自于KVM内部. 中断虚拟化起始关键在于对中断控制器的虚拟化,中断控制器目前主要有APIC, ...

  10. HahMap

    HashMap的定义 public class HashMap<K, V> extends AbstractMap<K, V> implements Map<K, V&g ...