请问下互联网上的消息是如何传递的?从一个路由到另一个路由吗?

GPU小码农 2014-01-29 11:32:36
报文是从一个路由器到另一个路由器的吗?不太懂啊。。。求大神解释解释其中的过程。另祝大家新年快乐,忘记一切不开心的事。
...全文
1290 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
iloli 2014-01-30
  • 打赏
  • 举报
回复
简单的来说分为下面几步: 1,发送者将数据通过软件一层层加入头部信息,就像给信加信封一样。 2,当所有信息加完后从网卡接口被编译成2进制数据流的电平发送到网线上。 3,网络设备(交换机或路由器)监听到这个数据包,然后会打开最外的的信息包头,这里记录了一个叫MAC地址的东西,它指示了目的地的地址,就像门牌号码。 4,网络设备自己维护了一个叫地址列表 MAC列表的东西,它记录了MAC地址和端口号的对映关系。它将收到的数据包头中指示的MAC地址和自己的列表进行比对,如果找到了,就从对映的端口转发出去。 5,接收者的网卡从网络中收到这个数据包也会看一下那个MAC是不是自己的地址,如果是就接收下来,然后一一去包头最后将数据送给接收者的应用软件使用。 ———————————————— 以上是交换网络的数据流转。 如果不同的IP网段 数据要经过路由设备的话,则路由设备除了会在底层解开MAC信息包头外 还会再向数据的深层解开一个叫IP信息包头的东西,里面可以看到这个数据是属于哪个网段的。而路由器也像交换机一样维护了一个叫IP与MAC对映关系的列表,由IP 找到MAC ,再由MAC 找到要从哪个端口转发出去。 以上有二个关键地方。 一个是MAC地址,它是底层的真实地址,一会用户是不关心的。 第二个是IP地址,它是一个逻辑地址,用户很关系他,路由设备也会关心他,但交换设备中不关心他。 网络的数据流转过程一定要对网络七层模型(特别是链路和网络这二层)进行比较好的了解后你才能搞明白。不然也只能是给你打些比方来让你理解了。
wanghui0380 2014-01-30
  • 打赏
  • 举报
回复
既然你想知道,那么请google“TCP/IP协议规范” 呵呵,不要说俺偷懒让你去看书,既然你肯提出着问题,那么表明你原意搞清楚他,而不是糊里糊涂滴过,自然我们会指给你最正确的方向,而不是简简单单滴忽悠你
threenewbee 2014-01-30
  • 打赏
  • 举报
回复
路由器工作在IP层,IP数据报就是一个路由传到另一个路由的。但是Mac层、应用层则有各自的机制。

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧