我是一个网卡

MT6826SGT-STD-R绝对值编码器深度解析:精准控制+灵活编程 本文详细介绍MT品牌的高性能绝对值编码器——MT6826SGT-STD-R。:区别于传统增量式编码器,绝对值输出无需掉电归零,开机即获准确位置数据。的核心优势,结合应用场景与选型指南,为工程师提供一站式解决方案参考。MT6826SGT-STD-R是一款专为工业级精密控制设计的。该设备广泛应用于伺服系统、机器人关节校准、自动化产线等领域。:15bit分辨率实现细腻的位置反馈;:通过专用编写器可自定义多项关键参数;:优化电路设计,适应复杂电磁环境。 阅读详情

我出生在深圳的一家工厂,然后飘洋过海来到美国,被安装到一个电脑里, 然后这个电脑又漂洋过海, 被运到了中国。


我知道我的使命就是传递信件,但有一个前提:我需要知道对方的地址才行,其实我们网卡都有一个全球唯一的地址,这个地址一出生就确定了,就像你们人类的身份证一样,终生不变。 无论我走到哪里,我都拥有这个唯一的标志:11:27:F5: 8A:79:54 ,  挺长的是吧,你们人类把它叫做MAC地址,  简单起见, 你可以叫我 “TP-Link 7954”


刚开始的时候我非常孤独,因为这台电脑虽然经常开机,但却不联网,真不知道主人是怎么想的!


不上网就没人来找我发信,不发信我也就没什么价值,也没人搭理我,我整天听着CPU阿甘和金士顿内存在那里喋喋不休的聊天,真是烦死了。

(公众号“码农翻身”注:参见文章《CPU阿甘》)


只是这两人都记不住对方,每次重启都像是第一次相识,实在是太搞笑了。

1

DHCP

在我入住机箱30天以后,音箱向大家报告说:“主人终于决定要上网了”  这绝对是个重磅新闻! 


我很兴奋,大家也很兴奋,早就听说外边的世界很精彩了。


一天晚上,只听到“咔嗒”一声, 一个RJ45的网线插头便和我亲密接触了。


网线的那头传来了陌生而熟悉的声音,我的潜意识告诉我,那是交换机在转发信件 。


CPU阿甘看到了这种情况,也不和金士顿内存聊天了,他对着我大叫一声: TP-Link 你在等啥,赶紧上网啊。


这是他第一次和我说话。


操作系统老大是见过世面的,他镇定的说: “心急吃不了热豆腐, 我们得先搞一个IP地址才行。 这需要用到DHCP(动态主机配置协议)”


阿甘说: “谁那里有IP地址啊?”


“这个网络里应该有DHCP 服务器,可以动态的分配地址, 我们可以发个信广播下 ” 老大接着说  “ 阿甘,你和金士顿赶紧写一封信:”


收件人  : 255.255.255.255  : 67

发件人  : 0.0.0.0   :68

内容: 我想租用一个Ip地址, 谁有啊?


(公众号“码农翻身”注: 这里我做了简化, 实际上这里首先是一个应用层的DHCP发现报文, 然后被一个UDP的报文封装,然后再被一个IP的数据报封装。形象化一点如下图所示)

0?wx_fmt=png

阿甘傻乎乎的, 也不问为什么收件人和发件人这么奇怪, 只是飞快的按老大的指示写信, 信马上写好了,交到我的手里。 


“给你, TP-Link 7954, 赶紧发出去吧”。  


我对外发信是有原则的: 我工作在数据链路层, 必须得知道对方的MAC地址才能发信,   如果不知道, 我就对外广播, 那就是所有的电脑都会收到。


这封信显然就是要广播的,因为到目前为止, 我们还是网络大海中的一个孤岛, 和外界没有任何联系, 我还不知道任何其他电脑的MAC地址。 


按照规定,我又把阿甘写的信封装了一下, 装到另外一个信封里, 只有这样,我最重要的伙伴交换机才能看懂。

目的地: FF:FF:FF:FF:FF:FF (广播到同一子网内的所有电脑)

发件人: 11:27:F5:8A:79:54  (就是我自己了!)

0?wx_fmt=png

我把它通过网线发给了交换机。  交换机看到FF:FF:FF:FF:FF:FF, 立刻转发给了所有连到交换机的设备。


如同老大所料, 这个局域网里确实有DHCP服务器, 还不止一个!因为没有多久,  交换机转来两封信, 我拆开其中一封, 里边写着:


“我是DHCP服务器192.168.1.1  , 我这里有个空闲的IP 192.168.1.2, 你租不租?”


另外一封信也差不多, 是另外一个DHCP服务器发来的,提供了另外一个IP地址。


CPU阿甘迫不及待了: “看来我们很受欢迎啊,这么多人愿意给我们IP,  老大, 快抢一个吧。 ”


操作系统老大说: 好, 我们要这个192.168.1.2吧, 再写一封信:

“你好,服务器192.168.1.1 , 我们就要这个IP  192.168.1.2了”


我又把这封信广播出去, 看来我们所处的网络非常快, 确认的回信眨眼间就到:

“这是一个确认信, IP 192.168.1.2 给你了。 网关路由器是192.168.1.1 , DNS服务器的地址是 202.102.224.69”


金士顿内存说: “不容易啊, 终于搞定一个IP 了, 我把它记下来。 ”


操作系统老大说: “把所有信息都记下来, 接下来很快就会用到”

我们的IP : 192.168.1.2

网关路由器:  192.168.1.1

DNS服务器: 202.102.224.69


阿甘说:“ 要是重启了, 我们是不是要这么重来一遍? ”


“阿甘, 你现在越来越聪明了, 确实是这样, 除非主人手动的给我们配置IP地址,网关, DNS , 但是那样很烦,容易出错,  所以一般情况下, 主人都是依赖我们自动的去用DHCP搞定一个IP 。  ”


经过这一番折腾, 我也初步了解了我们所在的网络结构:

0?wx_fmt=png

2

DNS和ARP

搞定了IP地址, 大家都喜气洋洋。


我们赶紧把浏览器村的老IE叫来, 让它访问一下著名的google网站。


(公众号“码农翻身”注:参见文章《老IE为什么把火狐和Chrome打伤了?》)


老IE说: “你们还不知道?  google在中国被屏蔽了, 访问不了,  要不访问百度吧。 ”


我说: “都行, 我们先访问一下试试。 ”


老IE说: ”百度的域名是www.baidu.com, 你们给我查查它对应的IP地址呗!”


阿甘说: “上个网这么麻烦, 这么多地址要查 ”


“是啊, 网络世界的规矩就是这样 ,想要互联, 我们得有IP地址, 也得知道对方的IP地址, 现在只知道域名www.baidu.com , 我们得给他翻译成IP才行, 阿甘你准备一个DNS查询吧  ” 老大说


CPU阿甘遵照指示,先向金士顿内存问了DNS服务器的地址, 然后写了这么一封信, 交给我

发件人: 192.168.1.2    (我们刚刚搞定的IP)

收件人: 202.102.224.69   (DNS服务器)

内容:  哥们, 给我查查www.baidu.com 的IP地址吧


“但是这封信发给谁呢, 我需要知道对方MAC地址啊, 总不成还是对外广播吧。“ 我心里想。


操作系统老大看出了我的疑虑, 解释说: “DNS服务器不在我们的局域网内,  我们要把这个信发给 网关路由器 , 他会想办法转给 DNS服务器的。 ”


我说: “可是我不知道网关路由器的MAC地址啊”


金士顿内存说: “别急, 我查查之前我们存下来没有, 我靠, 刚才那个DHCP服务器(192.168.1.1)也是网关服务器, 他怎么没把MAC地址顺便发过来啊!”


CPU阿甘急了: “TP-LINK7954, 你是怎么干活的, 怎么非得要MAC地址, 直接用IP地址不行吗?”


我回答说: “没办法, 这是规定, 你不知道网络是分层的吗?  我只工作在数据链路层, 就得用MAC地址。   另外网络多种多样, 可不仅仅是TCP/IP , 我要是只用IP地址, 那其他网络怎么工作?”


操作系统老大说: “我记得好像有个叫ARP东西, 可以通过广播查询一个IP地址对应的MAC地址, 你试试”


其实我也想起来了, 这个ARP叫地址解析协议,  我可以把下面的消息广播出去, 这个子网内的所有机器都会收到, 网关路由器也不例外, 他收到以后,一看是查询自己的MAC地址,  就会创建一个ARP的应答。


收件人: FF:FF:FF:FF:FF:FF (同一子网内的所有电脑)

发件人: 11:27:F5:8A:79:54  (就是我自己了!)

内容:呼叫网关路由器(192.168.1.1), 请问你的MAC地址是什么?


过了一会, ARP应答果然来了, 我们看到了网关路由器的MAC地址: 88-25-93-79-E0-C8


我告诉金士顿内存:  “赶紧记下来,下次咱就不用再查询了”

192.168.1.1    <--> 88-25-93-79-E0-C8


有了网关路由器的MAC地址, 剩下的事情就好办了, 我只需要把之前准备好的DNS查询发给网关路由器即可。


阿甘好奇问我:“ 你只把这个信发到网关路由器, 剩下的事就不管了? ”


我没声好气的回答它说: “那当然了, 我只能管局域网的事情, 出了局域网, 那就是路由器的事情了, 路由器能抽取这个DNS查询的数据报, 看到收件人是202.102.224.69  (DNS服务器), 自然可以转发出去, 我们完全不用担心。”


我们等了一会,  DNS服务器很快就返回了www.baidu.com的IP : 115.239.211.112


金士顿内存说: “我记下来了, 上网看来一点都不好玩啊, 这么费劲。 ”


老IE 说: “好玩的在后面呢, 现在所有的东西都齐活了, 开工 ”


老IE开始创建TCP连接, 然后通过TCP 发送HTT GET请求,  轻轻松松的把百度的主页给取了下来,展示了出来。


大家第一次看到外边的世界, 激动万分。


当然还是我最忙, 因为老IE的所有信件都需要我去发送和接收。

2

尾声

这几个月以来我都是电脑里的最忙碌的人, 一旦可以上网, 大家都上瘾了, 浏览网页,刷微博, 看视频, 玩游戏, 每天把我累的要死。


日子就这么一天天过去,  有一天, 大家发现主人把一个新家伙通过USB接口插到了电脑上, 然后顺手拔掉了网线 !


我失去了和交换机的联系 , 无法联网了, 难道我们电脑又要成为一个孤岛了吗?


老IE还正在访问一个博客网站呢, 一下子就断了。


不过奇怪的是, CPU阿甘, 金士顿内存, 操作系统老大 竟然都围着新来的家伙重新玩起了DHCP, DNS , ARP , 并且连上网了, 所有的信件都由这个新家伙来传递。


我偷偷的问老IE   :“ 这是怎么回事? ”


老IE说: “看来你已经失宠了, 新来的家伙叫无线网卡!”

(刘欣注: 这篇文章其实来源于《计算机网络:自顶向下的方法》第5章的一个例子,我相当于又重新解读了一下。)


声明:原创文章,未经授权,禁止转载


你看到的只是冰山一角, 更多精彩文章,尽在“码农翻身” 微信公共号:

我是一个线程

我是一个Java class

Javascript: 一个屌丝的逆袭

Java : 一个帝国的诞生

Basic : 一个老兵的自述

小王的架构师之路

程序员在工作中必备的能力

码农需要知道的潜规则

TCP/IP 之 大明王朝的邮差

CPU 阿甘

IE为什么把Chrome和火狐打伤了

Node.js :我只需要一个店小二

假如我是计算机系老师

假如时光倒流,我会这么学Java

学会编程,而不是学会Java

15年编程生涯,资深架构师总结的7条经验


0?wx_fmt=jpeg

公共号:码农翻身

“码农翻身”公众号由工作15年的前IBM架构师创建,分享编程和职场的经验教训。

CANoe/CANalyzer新手必看:从零配置到报文分析的完整流程(附B站官方教程实操) 本文为CANoe/CANalyzer新手提供从零配置到报文分析的完整流程指南,涵盖硬件连接、工程配置、报文捕获及信号级分析等关键步骤。通过详细的实操案例和B站官方教程,帮助工程师快速掌握汽车电子总线分析工具的核心应用,提升诊断效率与通信系统理解。 阅读详情

相关推荐

Java8动态生成SFunction:基于字段名的Lambda表达式实践

本文深入探讨了在Java8中如何基于字段名动态生成SFunction,以解决MyBatis Plus的LambdaQueryWrapper在动态查询场景下的局限性。通过核心原理LambdaMetafactory的解析和手把手的代码实现,展示了如何将字符串字段名转换为类型安全的Lambda表达式,从而实现真正动态、类型安全的查询条件构建与通用数据处理,显著提升代码的灵活性与安全性。

sss66的博客 953

什么是网卡

网卡上面装有处理器和存储器(包括RAM和ROM)。网卡和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的。而网卡和计算机之间的通信则是通过计算机主板上的I/O总线以并行传输方式进行。因此,网卡的一个重要功能就是要进行串行/并行转换。由于网络上的数据率和计算机总线上的数据率并不相同,因此在网卡中必须装有对数据进行缓存的存储芯片。网卡以前是作为扩展卡插到计算机总线上的,但是由于其价格低廉而且以太网标准普遍存在,大部分新的计算机都在主板上集成了网络接口。

顺其自然~专栏 3784

以太网详解(一)-MAC/PHY/MII/RMII/GMII/RGMII基本介绍

网络设备中肯定离开不MAC和PHY,本篇文章将详细介绍下以太网中一些常见术语与接口。 MAC和PHY结构 从硬件角度来看以太网是由CPU,MAC,PHY三部分组成的,如下图示意: 上图中DMA集成在CPU,CPU,MAC,PHY并不是集成在同一个芯片内,由于PHY包含大量模拟器件,而MAC是典型的数字电路,考虑到芯片面积及模拟/数字混合架构的原因,**将MAC集成进CPU而将PHY留在片外,这种...

sternlycore的博客 13万+

视频:我是一个网卡

我是一个网卡

学亮编程手记 451

自动驾驶关键技术(一):时间敏感网络TSN

时间敏感网络TSN的基本概念、协议族介绍和开发流程。

3080

2D激光slam四种算法建图效果对比

2d激光slam四种算法建图比较

m0_73791170的博客 8449

INTERNET双网卡绑定一个IP [copy]

INTERNET双网卡绑定一个IP  第一步:安装好所有网卡驱动程序,可以在网络-->适配器里看到如图一(当然可能你没有这么多的网卡,只看到两张或三张),其中有两张INTERNET的网卡,因我这么服务器是HP的,网卡已经是OEM产品了,所以显示的是HP 10/100TX PCI FAST ETHERNET ADAPTER,如果你买的是原装INTERNET网卡,显示的应是INTETNET 10/10

lbyyy的专栏 3739

创建XCP的CanApe工程

创建XCP的CanApe工程

weixin_44173919的博客 2891

一个网卡绑定多个IP和多个网卡用一个ip的设置

一个网卡绑定多个IP和多个网卡用一个ip的设置 常用到的是“一个网卡绑定多个IP”一个网卡绑定多个IPlinux的网络设备配置文件存放在/etc/sysconfig/network-scripts里面, 对于以太网的第一个网络设备,配置文件名一般为ifcfg-eth0。如果需要为第一个网络设备多绑定一个IP地址,只需要在/etc/sysconfig/network-scripts目

Li HuaWei的专栏 1188

【图像去噪】基于加权核范数最小化算法实现图像去噪附matlab代码

1 简介 WNNM是一种约束矩阵奇异值稀疏性的低秩算法,在NNM理论基础上增加了核范数权重,有效利用了自然图像的先验信息并提高了核范数的灵活性. 2 部分代码 ​clcclear allclose allnSig = 100;O_Img = double(imread('Monarch.png'));​randn('seed', 0);N_Img = O_Img + nSig* randn(size(O_Img)); ..

qq_59747472的博客 3117

【ComfyUI】Wan2.2 动态服饰描述驱动换装图生视频

本文介绍了一个基于ComfyUI的Wan2.2动态服饰描述驱动换装工作流,能通过自然语言描述实现人物图像的自动换装并生成动态视频。该工作流结合多模态输入、语言模型驱动生成和视频合成技术,包含图像加载、文本解析(使用Qwen2.5大模型)、潜变量编码、视频帧采样与插值(RIFE VFI)等核心模块,最终通过VHS_VideoCombine输出流畅换装视频。整个流程无需手动干预,支持从"哥特风格"到"未来装甲"等多样化服饰风格的精确转换,通过文本节点控制50-100

Mr数据杨 2586

Linux高级网络设置——将多个网卡设置成一个网卡

可见原来的那块网卡IP没变,新加的网卡没有IP。现在将两块网卡绑定成一块网卡,并设置新地址为192.168.80.240。此时我虚拟机有2块网卡,但是真正启用工作的只有一块,使用ifconfig也只能看到一块网卡。在xshell中测试,192.168.80.222这个绑定前的IP不通了,绑定后的公共IP通。数据包: 已发送 = 1,已接收 = 0,丢失 = 1 (100% 丢失),数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失),最短 = 0ms,最长 = 0ms,平均 = 0ms。

weixin_71792169的博客 943

这才是 Python 的正确玩法!用强化学习 (RL) 训练 AI 玩《王者荣耀》,胜率 90%!

大家打排位时,一定遇到过那种“意识神级、操作零失误”的对手,或者“走位呆滞、送人头”的队友。以前的“人机”是程序员写死的脚本(If 血量<20% Then 回城)。而现在的顶级 AI(如腾讯绝悟、OpenAI Five),是靠强化学习 (Reinforcement Learning)自己“左右互搏”练出来的。今天,我们不谈枯燥的数学公式,我将手把手教你用,搭建一个能玩 MOBA 游戏的 AI Agent。即使不能去 KPL 打职业,虐一下钻石局还是绰绰有余的!

BUG猿的博客 1182

mysql 多个网卡_seriver -- 多个网卡只能认到一个网卡的解决方法

这次遇到了一个新的问题,自己本身有一个网卡连接上网络的,另外需要插上两张网卡同时需要有网络,但是当我如此操作之后发现,另外两张网卡无法连接网络,但是又能确定其实此时是有网络的。解决办法:1. 纯命令行解决通过ip a 查询此时的网卡以及IP ,发现有三张有效的网卡,但是只有本机的那个网卡有IP addresscd /etc/sysconfig/network-scripts/check 此时网络配...

weixin_35606595的博客 543

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

linux下双网卡同一个IP

转自:[url]http://q2482696735.blog.163.com/blog/static/250606077201569029441/[/url] 由于需要一台机器有两个网卡,开始时设置在同一个网段的IP,发现数据总是从一个网卡发出,而另一个网卡上没有数据流动。网上找了下,发现相同的问题不少: 一、 关于双网卡设置同一网段IP然后连接交换机的时候出现的奇怪现象。当时没有怎么...

iteye_13698的博客 829

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

java绑定网卡_一个网卡绑定多个IP和多个网卡用一个ip的设置

常用到的是“一个网卡绑定多个IP”一个网卡绑定多个IPlinux的网络设备配置文件存放在/etc/sysconfig/network-scripts里面,对于以太网的第一个网络设备,配置文件名一般为ifcfg-eth0。如果需要为第一个网络设备多绑定一个IP地址,只需要在/etc/sysconfig/network-scripts目录里面创建一个名为ifcfg-eth0:0的文件,内容样例为:DE...

weixin_29515393的博客 539

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

两个网卡,一个内网一个外网的设置

 两个网卡,一个内网一个外网的设置最简单的方法,设置好各自的ip 和 网关等信息后,察看右键属性(TCP/IP),把其中一个(一般是内网的)默认网关去掉就可以了。 其他办法可以参考:http://community.youkuaiyun.com/Expert/topic/4965/4965299.xml?temp=.5458795或者google看看。 或者使用route

ljhluckyboy的专栏 3257

两个网卡只能有一个网关连接内网的网卡不用配置网关

两个网卡只能有一个网关连接内网的网卡不用配置网关

lizhenlzlz的专栏 1567

linux 一个网卡 增加多个IP

linux 一个网卡 增加多个IP   2012-05-21 09:16:44|  分类: 转载|字号 订阅 在Linux下有时候需要给一个网卡绑定多个IP,本文介绍在Redhat系列(redhat,Fedora Core,Centos)中的实现方法和一种在Gentoo等其他Linux中普遍适用的方法。   1、单网卡绑定多IP在Redhat系列中的实现方法

#ifndefine maxwit #define maxwit...#endif 699

ubuntu双网卡绑定一个IP

Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP 地址而并行链接聚合成一个逻辑链路工作。其实这项 技术在Sun和Cisco中早已存在,被称为Trunking和Etherchannel技术,在Linux的2.4.x的内核中也采用这这种技术,被称为bonding。bonding技术的最早应用是在集群——be

sven_007的专栏 1万+
上一篇: 一个高中生是怎么玩自媒体的?
下一篇: 学习编程的加速度
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值