专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

要理解网络,其实不就是理解这三张表吗

  我们如果要理解数据是如果在网络世界中穿梭的,那其实只要了解其中的三张表就可以了。这三张表分别为路由表、转发表、ARP表。
  假设我们用聊天工具聊天的时候,我在北京,你在广东,当我给你发送一条消息的时候。搭载这这条消息的数据包需要从我的设备(电脑或手机)出发,跨域千上万水,趟过万里光纤,在不出意外的情况下才能到达你的设备。在这个过程中数据包要经过大致流程如下:
  1、数据在我的设备上从应用层向下层层封装,最后发送到路由设备上;
  2、路由设备对数据包进行转发,可能经过不止一个路由器和交换机;
  3、终于到达你的设备所在的子网路由器,你所在的子网路由器转发给局域网内所有的直接相连的主机或交换机,如果是转发给交换机的话,交换机再次转发给交换机上连接的设备;
  4、当你的设备发现这个数据包的目的主机是自己,就开始对数据包进行自链路层向上的一层一层的解封装,最终由对应的应用程序拿到消息;
  主要的流程就是这样,但是中间每一种设备的转发都有对应的规则,主要涉及的设备就是终端、交换机、路由器,接下来我们具体来梳理一下一个数据包这一路上是怎么跋山涉水才呈现到你的屏幕上的。跋山涉水来找你
  看下图,假设现在子网A的主机A要发一条消息给子网B的主机x1,这两个主机分别在不同的子网,也就是说并不是局域网内的传输,中间经过了路由器A、路由器B、子网B的顶层交换机、交换机X,最终才到达了目标主机X1。
  主机A封装数据包并发送
  如果你已经掌握了传输层、网络层、链路层的各个协议,那这个过程就相对来说非常简单了。
  应用层某聊天工具发送消息,消息内容被处理之后,也就是上图中的用户数据。
  经过传输层,使用TCP协议传输,TCP将用户数据封装上TCP首部信息,形成一个TCP段。注意了,TCP首部中含有源端口号和目标端口号,应用层会根据端口号决定哪个应用程序使用这个包。比如我们自己开发的聊天程序,端口用的是18888,那这个包到达主机X1之后,发现TCP协议头中的端口号是18888,那就知道要把这个包交给我们开发的聊天工具处理了。
  经过网络层,搭载IP协议,在TCP段的基础上,加上IP首部信息,形成IP数据报。注意了,IP首部含有源IP地址和目的IP地址,要不然网海茫茫,谁来接收它,它又回复谁呢。在这个IP数据报中,源IP就是主机A的IP,目的IP地址就是主机X1的IP。
  最后经过链路层,在IP数据报的基础上,加上以太网帧首部,形成以太网帧数据包。在以太网上,只有以太网帧能顺利通行。注意了,以太网帧首部包含源MAC地址和目的MAC地址,链路层只认MAC地址,有了它才能找到对应的终端。
  经过层层包装后,真正跑到以太网上的数据最终必须是一个完整的以太网帧,而以太网帧中必须要有目的端的MAC地址。接下来就是怎么拿到目的端的MAC地址了。
  当发送端开始组装数据的时候,首先会检查目的IP和自身的IP是否处在同一个网络中。计算方式很简单,就是用IP地址和子网掩码进行与运算。如果目的端在局域网内
  如果得到的网络地址是一致的,说明在同一个网络中。
  这时,ARP表就要上场了。
  ARP表记录着IP地址和MAC地址的映射关系。可以根据IP地址查到对应的MAC地址,然后放到以太网帧中,如果有的话。
  发送端检查自己的ARP表中是否有目的IP对应的MAC地址。如果有的话,直接将MAC地址组装到以太网数据帧中,发送数据帧,数据就能被目的端顺利接收。如果ARP表中不存在目的IP对应的MAC地址,则向本网络广播发送ARP请求,ARP请求会带着目的IP地址,意思就是询问谁的IP地址是这个,请回复你的MAC地址给我,网络中的主机看到后,如果IP是自己的,就返回给发送端一个ARP回复,回复中带着自己的MAC地址,发送端拿到MAC地址后,先存入本地的ARP表,然后组装以太网帧,将数据发送。如果目的端不在局域网内
  如果得到的网络地址不一致,说明目的端不在本网络中。那这样的话,查询ARP表是不可能查到对应的MAC地址的,因为ARP表只存储局域网内的IP和MAC地址的映射记录。
  既然查不到那怎么办,总得发出去才行啊。
  如果ARP表中查不到记录,那只能走默认网关了。我们的设备都是知道默认网关的IP地址的,这时候再去ARP表查询是否有网关地址对应的MAC地址,如果有直接将网关的MAC地址封装到以太网帧的目的地址中。如果没有的话,仍然要像上面那样,广播发送ARP请求,获取网关设备的MAC地址,然后存入ARP表中。对应到上图就是路由器A的端口1的网卡地址。
  那将网关的MAC地址当做目的MAC地址,还怎么找到最终的目的端啊,最终的消息也不是想发给网关啊。
  没办法,就是这样的,这只是第一步,在后面经过每一个非最终目的端设备的时候,都要将目的MAC地址设置为下一跳设备的MAC地址,因为以太网帧就是这样设计的。所以说,在整个传输过程中,以太网帧会不断的解析然后重新封装,目的就是把下一跳的MAC地址封装进去。直到最终到达了目的设备所在的网络。
  目的MAC地址是一跳一跳变化的,但是IP头中的目的IP地址是绝对不能变的,要不然就真的找不到了。路由器A如何路由的
  当数据包到达路由器A之后,就要走出子网A,奔向更广阔的网络世界了。还是结合上面的图来看,这个拓扑结构还是很简单的,真实情况下,可能要经过十几二十个路由设备。
  数据包来到路由器之后,路由器要怎么处理呢,路由器会进行路由操作,也就是将这个包安排一条最合适的路径发出去。
  这就要提到路由表了。
  路由器中维护着一张路由表,主要存放网络、主机与下一跳的对应关系。例如下表这样:
  目标子网掩码下一跳网络接口192。168。8。0255。255。255。00。0。0。0en0114。21。1。0255。255。255。0114。21。1。100en00。0。0。00。0。0。0192。168。8。1en1
  大致的意思就是如果收到一个数据报,在当前路由器的路由表中寻找,一般目标都是一个网络地址(标明一个子网),把具体数据包的IP地址和当前路由表的子网掩码进行与操作,如果得到的结果和路由表目标栏一直,就转发给这条记录中的下一跳地址,从网络接口栏所记录的接口发出(也就是路由器上的网口或者叫端口)。
  如果下一跳地址是0。0。0。0,表示这个目的IP地址就在当前网络中。那就不用路由器转发了,拿到目的IP的MAC地址,就可以直接发送了(获取MAC地址的方法,前面说过了,先查ARP表,没有的话,再用ARP广播请求获取)。
  如果下一跳不是0。0。0。0,表示目的IP不是本网络的地址,就发给下一跳的地址。
  如果在路由表中都没有找到匹配的目标网络,那就看有没有配置默认条目了,默认条目也就是目标是0。0。0。0的条目,表示任意的IP都可以通过此条目的下一跳(也就是默认网关)地址转发出去。
  如果在路由表中没有找到任何匹配的目标网络,并且没有设置默认条目,那就直接将数据包丢弃,并返回一个主机不可达的ICMP请求。
  路由表分为静态路由和动态路由,静态就是需要人手工配置,路由表是固定不变的,动态路由是根据一些规则动态更新路由表数据,总之,路由表最终会有一些描述网络拓扑结构的记录存在。
  当路由器A收到数据包之后,解封装这个数据包,从下层网上拆,链路层拆出MAC地址,发现就是自己的,继续拆,拆到IP层,找到目的IP地址,拆到IP层就可以了。然后拿着这个目表IP地址在路右边中检索,看看是否正好有对应的目标网络。
  拿192。168。8。0(子网掩码是255。255。255。0)这个目标网络来说,目标是一个网络地址,可以理解为一个子网(局域网),那如果IP数据报里的目标IP是192。168。8。824或192。168。8。18824都能对应上这一条记录,因为这两个地址和子网掩码与操作之后,得出的网络地址都是192。168。8。0。于是就发给下一跳0。0。0。0。
  假设我们的目标IP是114。21。1。1,通过查表发现了正好有目标地址是114。21。1。0的记录,于是转发给下一跳地址114。21。1。100,通过en0这个接口发出去,直接发送到了与之相连的子网B的顶层交换机。
  如果没有找到对应的记录,查看是否有默认路由,也就是目的地址是0。0。0。0的记录,如果有的话,就发给默认路由对应的下一跳地址。如果连默认路由也没有,直接将包丢弃,然后回复给源IP一个类型为主机不可达的ICMP包。告诉源主机,此路不通了,然后应用程序根据这个信息,选择新的应对策略。子网B的交换机X转发包
  数据包从路由器A出来之后先到了子网B的顶层交换机,然后经过顶层交互机的转发,转发给了子网B的交换机X。顶层交换机如何转发就不说了,和交换机X的转发过程是一致的。
  交换机的转发就要说到转发表了。
  在交换机中维护着一张叫做转发表的映射表。一台交换机上有很多个接口,每个接口连接一台设备。转发表记录的就是接口和所连接的设备的MAC地址的映射关系。交换机就是根据这张表将数据帧传输到指定的主机端口上的。
  数据包走到交换机这里了,说明它离目的地已经不远了,已经找到目标主机所在的局域网内了。
  当数据包到达交互机后,交换机检查自己的MAC表是否有数据帧中目的MAC地址的匹配条目,如果有,则会根据MAC表中记录的对应端口将数据帧转发出去,这一转发方式称为单播。
  而如果没有,则会将该数据帧从非来源端口的其它全部端口发送出去,这一转发方式程序称为广播
  假设交换机X收到数据包后,根据目标MAC地址查询转发表,没查到,这时候,交换机X就将包从端口1和端口2广播出去给主机X1和主机X2,主机X1收到这个包后,对比目的MAC地址和自己的是否一致,结果发现这个包是发给自己的,会回复交换机X一个数据包,包含自己的(主机X1)的MAC地址,这时,交换机X就将这个MAC地址和交换机上对应的端口的映射关系记录到转发表。这一过程通常称为自学习。
  主机X2发现包不是发给自己的,直接就忽略了。
  到此为止,主机X1就顺利收到包了,确切的说是一个以太网帧。子网B的主机X1收到包之后
  主机X1收到这个数据帧之后,链路层解析,发现正好是发给自己的,因为目标MAC地址和自己的一致,然后交给网络层,发现目的IP也是自己的,于是交给传输层,传输层解析TCP段,最后将数据交给上层的应用层,应用层根据TCP的目的端口号,判断是那个应用程序要处理收到的数据。总结
  下面的流程图是对上述过程的汇总,可以点开下面的大图查看。
  其中有几个细节要理解,对理解整个过程有很大帮助。
  1、链路层的以太网数据帧必须要有目的端的MAC地址,而且必须是下一跳的MAC地址。别问为什么,协议就是这么规定的。
  2、正因为链路层以太网帧必须是下一跳MAC地址,所以整个传输过程中,以太网帧是一直解包、重组的,目的就是把下一跳MAC地址重组进去。
  3、网络层IP协议中的目的IP地址是不能变的,那有人要问了,发送端和目的端虽然不是在一个子网中,但它们的局域网地址都是192。168。1网段的,那怎么能找到目的主机呢。本篇并没有讨论这个问题,这其实就要牵扯到公网和内网的映射了,一个局域网最终会映射到一个公网IP地址上,比如路由器可以设置NAT功能。
  4、ARP协议只工作在局域网中,ARP通过IP获取MAC地址,是通过向局域网内所有主机广播ARP请求的,只有对应的IP地址才会回复这个ARP请求。
  5、每经过一个路由设备,都要将IP数据报拆包,然后再重组,源IP地址设置为自己的,然后TTL减一,TTL有一个限制,比如32,当路由次数超过这个数值,表示网络环境不是很好,绕的太远了,就会把这个包丢弃掉。

国内如何对罪犯执行死刑?作为曾经执行过死刑的退伍人员,来讲一下执行死刑的方式,让大家警钟长鸣一下吧!要知道,法律的尊严不容侵犯!在八九十年代,普遍使用的都是枪决。当时可以说执行死刑就等于是枪毙,所以当时才家有老人痴呆,住院治疗也不见好转,不停走动不睡觉。怎么办?看到这个问题我就想哭流泪流泪流泪想起了我那因患老年痴呆而去世的老妈,也想起了我和我妈那段求生不得求死不能的日子。一个老年痴呆患者的死囚之路,折腾着她自己,更折磨了她的儿女。他的不幸地荒着车放着房空着,3种怪象在农村越来越多,是什么原因?地荒着车放着房空着,3种怪象在农村越来越多。啥原因?天下熙熙皆为利来,天下攘攘皆为利往!这句话不光是城里人如此实用,而农村里也是如此,毕竟无论是农村人和城里人,为了实现财富自由,向如果得了癌症,家里和自己都没钱还治疗吗?做为一个医生我建议你不治疗了,可能比较极端,但却是是我的想法。当然你这个癌症是一个晚期癌症,无法治愈的癌症,要是早期癌症还有手术机会,那么肯定建议你积极进行治疗。但是晚期癌症说实话能分享一下你身边秋天的美景照片吗?自古逢秋悲寂寥,我言秋日胜春朝。晴空一鹤排云上,便引诗情到碧霄。每到秋季,秋色总是感动着路人,人们对秋天的感悟各不同。单位在中关村,进入秋季以来,尤其是色彩斑斓的秋叶绽放的时候,每到底该不该在老家县城买房?为什么?买房子对于普通百姓而言可是一件大事情,就是在最基层的县城买房子,也是需要慎重考虑。房子是人用于居住生活休养生息的地方。如果工作的地方距离个人居住地也就是家不远,可以说每天二十四小时成都和兰州相比,哪个城市更宜居?兰州与成都,根本就不在一个层面上。怎么比?无论是从历史上,政治上,经济上,成都都大超兰州。就省会城市而言,成都应排在前面。而兰州只能排在后面,超过西宁,银川等省城。成都的环境,气候农村娃城里有房有工作,长辈坚持把户口都放在了农村,这样对吗?这是老农的思想意识,认为农村才是农民的根,生怕失去土地,把孙子的户口留在农村,想让孙子继承他的土地。他有他的想法,最怕孙子长大后不接受。我村子里六十多岁的二伯,他的儿子在县城打工并安徽金寨实施新方案,狩猎队抓的野猪按10元斤收购,怎么看?野猪,对于国家来说,是一种保护动物,但对于农民来说,却是一种有害动物。近几年来,由于野猪被列入国家二级保护动物。狩猎野猪己经是一种违法行为,加之野猪繁殖快,天敌少,造成野猪泛滥成灾消防部队改制后,现在去当消防员有发展前景吗?2018年消防从武警序列退出后,由军改公转隶地方,机构性质发生了巨大变化,制服也换了,实际上管理体制依然保留原有模式,人员编制和待遇全部垂直管理,地方只不过挂个名而已。那么,现在去朋友打算落户,津南八里台有哪些优质地段推荐?只为了落户就八里台吧便宜,如果住的话津南首咸水沽谨记!中海国际公园城,77平米俩居60万,有幼儿园小学初高中,津南实验小学,南开附中,央企开发小区环境好,配套齐全中海国际公园城,7
幼儿园保教和后勤管理遇难题?学这门课程来帮您当下,我国幼儿园正处于变革期,园所间的竞争日趋激烈,许多家长将园所管理水平和教育教学质量作为择园的重要标准,对幼儿园园长的要求也越来越高。纵观幼儿园所有工作,保教工作精细化管理是所端午休闲之余姚裘岙中村一日游2022年6月3日,星期五,端午小长假第一天,我们计划去余姚一日游。余姚作为曾经绍兴府的一员,现在的近邻,我们多次去游玩过,还未去过的地方已很少了。经过挑选,我们把兰山村和裘岙村作京东11。11将于10月31日晚8点全面开启10月24日,在2022年京东11。11全球热爱季启动发布会上,京东发布了招募新商家建立新机制推出新服务开启新增长的四新举措。据介绍,今年京东11。11从10月20日晚8点开启预售农科智库编译全球小麦育种技术突破性进展01hr美国ARS培育具有气候适应力的小麦近期,美国农业部农业研究服务局(ARS)的科学家对多种重要谷类作物进行了两种耐胁迫实验。一是将作物暴露在高达1000ppm的二氧化碳浓度(无人驾驶汽车输在起跑线也不影响我们换道超车开篇上海昨日疫情,0190,不管怎么说也是单项清零。梦天实验舱马上就要发射了,不知道可不可以写,真胖啊。以前写过天宫航天器的问答,现在对航天器的结构更了解了,扩建成航天城一点问题都LoRa技术在温控器中的应用优势随着物联网通信技术的不断发展,LoRa在楼宇自控及智能家居中的应用越来越广泛,成为当前普遍应用的通信技术。LoRa模块无线传输技术的不断完善,逐步解决了温控器通信方面布线困难施工成花样漳州闲逛五湖四海,坐看一江两岸四桥美景秋日生活打卡季漳州怎么玩好呢?这些年漳州在市区核心地带打造五湖四海景区,整个城市景观得到了进一步改善。五湖即碧湖西湖西院湖九十九湾湖南湖,四海即荔枝海香蕉海水仙花海四季花海。其中最七绝诗选(十)穿行墨脱森林跨越重山来找你。随风飘过八千里。今朝相拥吻温柔,纯净自然生态美。注墨脱,藏语意为莲花秘境,位于西藏自治区东南部,雅鲁藏布江中下游,整个墨脱县被一片茂密的原始森林所包围,层林尽染秋韵浓太行红叶遍山岗来源人民网河北频道金秋时节,位于太行山深山区的河北涉县偏城镇庄子岭的数万亩黄栌树进入最佳观赏期。图为河北省涉县庄子岭红叶大峡谷秋景。杨彦忠摄河北省涉县庄子岭红叶大峡谷秋景。杨彦忠摄10月22京郊两日游猕猴谷石花洞月亮山(上)超级大堵车一周前我们四家就计划好了周末出游,在农家院住一天。经过大家讨论,决定周六早上7点出发,预计八点半到坡峰岭,九点开始爬山游览,中午在山上吃一顿简餐,玩儿到下午两三点,时间允许就去看看沿河建设四好农村路铺就乡村幸福路近年来,沿河自治县农村公路坚持高标准建设新机制管养一体化运营融合发展,立足建好管好护好运营好四好农村路目标,全面推进农村公路高质量发展,全县农村公路建管养运融取得明显成效。金秋十月
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网