网络如何发送一个数据包

网络如何发送一个数据包

网络消息发送就是点一点屏幕。 骚瑞,这一点都不好笑。(小品就是我的本质惹) 之前我就是会被这个问题搞的不安宁。是怎么知道对方的IP地址的呢?怎么知道对方的MAC呢?世界上计算机有那么多,怎么知道这个IP地址就代表这台计算机呢?如果你也有一样的困惑,就来一起看一下噜。


文章目录


一、如何知道对方的IP地址

因为网络发送消息是一定要知道目标的IP地址的惹。之前我纯纯被我的颜值占满了脑子才会有这个疑问。

即使是发送一个网址,例如:http://1234.com。也会被DNS解析为一个IP地址发送嘟,DNS是互联网的基础服务之一,它使得人们不需要记住复杂的数字IP地址。

二、如何知道对方的MAC地址?

实际上,并不能通过ARP解析得到目标的MAC地址。

例如,需要将一个数据包从a发送给b。首先这个数据包会从计算机a发送到a的局域网的路由,此时通过ARP解析得到的是路由的MAC地址。然后路由会通过解析得到下一个路由的IP地址,得到这个IP地址之后,路由会使用ARP得到下一个路由的MAC地址。通过这样一级一级的发送,最终就会发送到目标b计算机上。

三、如何根据目标的IP地址锁定目标的位置?

总所周知,我们计算机的IP地址是由网络管理员或者DHCP机制管理的。那么同一个IP地址在全世界计算机上坑定有重复的,但是,有一个重要的前提是:在局域网内,我们计算机的IP地址是唯一的。

当数据包从计算机a发送到主机b时,全部的步骤如下:

1、数据包发送到局域路由

已知a的IP地址,目标b的IP地址,路由器的IP地址。此时计算机a会在局域网内广播一个ARP请求,里面有路由器的IP地址。当前局域网内的所有计算机以及路由器都会扫描到这个广播,并解析广播数据,当发现广播的IP地址信息和自己的相同时,就会将自己的MAC信息响应给计算机a。a获取了路由器的MAC时就知道路由的位置,就将数据包发送给路由。

2、获取目标唯一IP地址

路由收到数据包后,获取了目标的IP地址,私有IP地址仅在它们各自的局域网内是唯一的。当数据包离开局域网并进入互联网时,路由器会使用网络地址转换(NAT)将私有IP地址转换为公网IP地址。这意味着即使在局域网内使用相同的私有IP地址,一旦数据包通过NAT,它们就会有唯一的公网IP地址。

3、路由发送给下一个路由

路由器有一个叫路由表的数据包。路由表包含目的b的IP地址以及如何到达它们的信息。当数据包到达路由器时,路由器会检查目的IP地址,每个路由条目通常包含一个指向下一跳路由器的IP地址,以此查找路由表以确定下一跳的方向。路由知道了下一个路由的IP地址后,同样的会广播一个ARP请求,与广播携带的IP数据一样的路由会响应这个广播,并携带上自己的MAC地址。这样路由就知道了下一个路由的具体方向,并将数据包发送给下一个路由。

4、找到目标

每一级路由就像这样一级一级的发送,直到发送到目标的路由上,目标路由检测到目标就在和它连接的同一个局域网上时,就将数据包发送给目标b。

点个赞赞,么么哒~~

相关推荐
长弓三石1 小时前
鸿蒙网络编程系列44-仓颉版HttpRequest上传文件示例
前端·网络·华为·harmonyos·鸿蒙
xianwu5431 小时前
反向代理模块
linux·开发语言·网络·git
follycat1 小时前
[极客大挑战 2019]HTTP 1
网络·网络协议·http·网络安全
xiaoxiongip6662 小时前
HTTP 和 HTTPS
网络·爬虫·网络协议·tcp/ip·http·https·ip
JaneJiazhao2 小时前
HTTPSOK:智能SSL证书管理的新选择
网络·网络协议·ssl
CXDNW2 小时前
【网络面试篇】HTTP(2)(笔记)——http、https、http1.1、http2.0
网络·笔记·http·面试·https·http2.0
无所谓จุ๊บ3 小时前
树莓派开发相关知识十 -小试服务器
服务器·网络·树莓派
道法自然04023 小时前
Ethernet 系列(8)-- 基础学习::ARP
网络·学习·智能路由器
EasyCVR4 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
明月看潮生5 小时前
青少年编程与数学 02-003 Go语言网络编程 15课题、Go语言URL编程
开发语言·网络·青少年编程·golang·编程与数学