用寄快递模拟数据在网络中的传送过程,发送一个ip数据报到接受这个ip数据报经历的过程
发送一个ip数据报到接受这个ip数据报经历的过程
好比寄一个快递的过程
这个包裹一共有三层,
这个包裹的最里面是数据,数据
第二层写着目的ip地址和源ip地址,即收件人和发件人的姓名
第三层也就是最外面那层写的是源MAC和目的MAC地址,即本快递服务站的后门门牌号,和下一个快递服务站的前门门牌号(这里假设快递服务站接收快递只在前门接收,发送快递只在后门,且前门和后门的门牌号不一样)
所以本服务站从前门接收到上一个站传来的包裹后,我必须把包裹的最外层拆掉,查看第二层的内容,即查看收件人和发件人分别是谁,然后决定下一站应该发给哪个服务服务站,每个快递服务站手上都有一份姓氏地区分布表,这个表上记录了要到达某姓氏地区(网络段)下一站的服务站名字和前门门牌号,所以本服务站在查看收发件人
的名字之后(事实上我只看收件人的姓氏,根本不管他叫啥),对照手上这份姓氏地区分布表,找到下一站的服务站名字和前门门牌号之后,就重新打包,在第三层写上本站的后门门牌号(起始站)和下一站的前门门牌号,然后交给快递员发送出去,快递员也不用管这个包裹的收发件人是谁,他只负责把这个包裹送到包裹最外层写的目的门牌号那里就行了,然后周而复始,循环往复,下一站的快递服务站收到我发送的包裹后,必须拆掉最外层,因为最外层几乎啥也没写,仅凭那些数据是无法判断出接下来应该发给哪个服务站的,它必须拆掉最外层,看到第二层的收发件人的名字,根据他们姓氏然后对照姓氏地区表决定接下来包裹的去向,找到后又重新包上第三层,写上第N+1站的后门门牌号,第N+2站的前门门牌号,从后门交给快递员,一直重复这种过程,直到最后那个快递服务站
最后这个服务站拆开最外层后,发现收件人和自己同姓,所以他就知道收件人和他在同一个地区,就不用再包第三层包装了,只要找到对应的收件人交给他即可,
但是如果这个姓氏地区比较大,分了好几个交换机连接,也就是选了几个分区区长,所以这个站长就把包裹交给对应的分区区长,由分区区长转交给收件人,所以同一个姓氏,假设同一个姓氏的
ip地址一直是在包裹的第二层,对快递员来说是永远看不到这个信息的,也就是数据链路层永远不可见ip数据报的ip地址
地址解析协议ARP
前面所提到的姓氏地区表实际上存放了两种数据,一是前面所提到的到达某姓氏地区(网络段)下一站的服务站名字和前门门牌号,另一个就是本姓氏地区的所有人的门牌号,由于人员的流动和个人改名字的特殊爱好所以这份表的内容信息必须动态更新
每个人为了社交都必须和外界有一定的交流,所以每个人都会自动去搜集其他人的名字和对应的门牌号,方便日后通信,也会自动搜集本站的快递服务站的名字和门牌号,方便以后对外交流(动态路由),如果需要区长这个管理人员来给你添加arp表信息的话就叫静态路由
用寄快递模拟数据在网络中的传送过程,发送一个ip数据报到接受这个ip数据报经历的过程的更多相关文章
- 数据中心网络中的40GBASE-T
数据中心网络基础设施正在见证由不断增长的带宽和网络性能需求推动的变革.10 千兆位以太网是当今数据中心的实际标准,而 40G 以太网的采用率越来越高.虽然 40G 以太网标准已存在于 SM 光纤和基于 ...
- 【Linux 网络编程】数据在网络中传输过程(以ping命令为例)
(1)应用程序ping会判断发送的是主机名还是IP地址,调用函数gethostbyname()解析主机B,将主机转换为一个32位的 IP地址.这个过程叫做DNS域名解析. (2)ping程序向目 ...
- 获取当前网络中的电脑数目及MAC-通过MAC查找IP-通过IP查询机器名
Microsoft Windows [版本 ] 版权所有 (c) Microsoft Corporation.保留所有权利. C:\Users\Administrator>netsh netsh ...
- 【转】c# winform DataGridView导出数据到Excel中,可以导出当前页和全部数据
准备工作就是可以分页的DataGridView,和两个按钮,一个用来导出当前页数据到Excel,一个用来导出全部数据到Excel 没有使用SaveFileDialog,但却可以弹出保存对话框来 先做导 ...
- oracle中的sys用户(修改密码)/////Oracle删除表空间的同时删除数据文件 ///// Oracle中如何保证用户只有一个session登录
oracle中的sys用户(修改密码) (2011-07-01 09:18:11) 转载▼ 标签: it 分类: oracle 概念: SYS用户是Oracle中权限最高的用户,而SYSTEM是一个用 ...
- OSI7层封包解包动态图-数据在网络中的传输过程.gif
- 《当大数据遇见网络:大数据与SDN》
总体结构: <当大数据遇见网络:大数据与SDN> 摘要 大数据和SDN无论是对于学术界还是工业界来说都极具吸引力.传统上人们都是分别在最前沿工作中研究这两个重要的领域.然而一方面,SDN的 ...
- [转载] Google数据中心网络技术漫谈
原文: http://www.sdnlab.com/12700.html?from=timeline&isappinstalled=0#10006-weixin-1-52626-6b3bffd ...
- http报文在网络中是明文传输的,所以不安全。HTtp必然来临
HTTP数据在网络中裸奔 HTTP明文协议的缺陷,是导致数据泄露.数据篡改.流量劫持.钓鱼攻击等安全问题的重要原因.HTTP协议无法加密数据,所有通信数据都在网络中明文“裸奔”.通过网络的嗅探设备及一 ...
随机推荐
- 20175224 2018-2019-2 《Java程序设计》第八周学习总结
教材学习内容总结 第十五章 泛型与集合框架 泛型 泛型:目的为建立具有类型安全的集合框架. 泛型类声明:class People<E> class 名称<泛型列表> 链表 定义 ...
- 前端开发【第四篇: Dom操作】
文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式.我们最为关心的是,DOM把 ...
- day 23 对象的名称空间 类,对象属性和方法 封装 接口提供
一.对象的特有名称空间 # 对象独有的名称空间:在产生对象时就赋初值 '''class ted: def func(): 当func里不存在参数时,调用时不需要给值 print('hah')ted.f ...
- js实现全选反选(开关门)
话不多说直接看图吧
- 记reinforcement learning double DQNS
传统的DQN算法会导致overestimate.因为在训练开始时,最大的Q值并不一定是最好的行为. 也就是说较差的行为Q值相对较大,较好的行为Q值相对较小.这时我们在更新Q值时用最大期望来计算我们作为 ...
- C语言进阶1-#define和const
宏的命名规范:一般以项目前缀开头,key结尾. #开头表编译. 宏的用法:1.定义常用字符串. 2.定义一段代码. const与宏的区别:1.编译时刻:宏-预编译 const-command+b ...
- ionic 3.0中使用原生插件ionic-native
作为一个ionic的新手,今天使用了ionic的原生粘贴板插件 @ionic-native/clipboard,根据ionic官方文档上执行的命令 $ ionic cordova plugin ad ...
- C#杀掉进程的方法
C#杀掉进程的方法 private static string CmdName = "cmd"; /// <summary> /// 关闭进程 /// </sum ...
- 微信小程序 image属性 mode
mode属性可以改变图片的填充容器方式
- Spring事务管理transactionManager
bean.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http ...