网络知识汇总(基于W5500以太网)

本文详细介绍了以太网、互联网、IP地址、子网掩码、网关和MAC地址的基础知识,涉及网络通信原理、协议结构、地址分配及其作用,以及在智能设备联网中的应用。重点讲解了如何设置这些参数以实现设备间的通讯和信息共享。
摘要由CSDN通过智能技术生成

目录:

一、概述

二、以太网与互联网

1、互连网、以太网、局域网、因特网

1)互联网   2)TCP/IP   3)以太网(Ethernet)

2、以太网物理层编码技术

三、IP地址

四、子网掩码

五、网关

六、MAC地址

1、MAC地址详述

2、如何修改MAC地址


一、概述

最近公司的智能配电终端(以下简称终端)要加以太网功能,故将一些基础知识作一个收录。

首先,很核心的一点,设置IP地址、子网掩码、默认网关、DNS服务器、MAC地址的目的是什么?设置这些就是为了使能能够实现通讯,不管是计算机和计算机,还是设备和计算机。

二、以太网与互联网

1、互连网、以太网、局域网、因特网

要形成互联就要用到网络,下面讲一下以太网与互联网的区别。先讲一下计算机网络(NetWork),就是将一台以上的计算机互连起来,互连的计算机之间可以实现通信,实现信息共享,这就是网络。

1)互联网

英文是Internet(inter- pref.表示“在一起,交互”之义),它的意思是“网络的网络”,是一个通用名词,泛指有多个计算机网络互连而成的网络,这些网络之间的通信协议(即通信规则)可以任意。

因特网即Internet,记住它与Internet之间绝对不能使用等于号。因为Internet是一个专有名词,它是指当前全球最大的、开放的、有众多网络互相连接而成的特定的计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPNET。

2)TCP/IP

英文Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议。它是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

TCP/IP协议的组成:

TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。TCP/IP传输协议严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。 TCP/IP协议是Internet最基本的协议。

(1)应用层的主要协议有FTP、SMTP、HTTP、Telnet等,是用来接收来自传输层的数据或者按不同应用要求与方式将数据传输至传输层;直接为应用进程提供服务。

对不同种类的应用程序它们会根据自己的需要来使用应用层的不同协议,文件传输FTP协议、邮件传输SMTP协议、万维网(World Wide Web)HTTP协议、远程登录服务Telnet协议。

应用层还能加密、解密、格式化数据。应用层可以建立或解除与其他节点的联系,这样可以充分节省网络资源。

(2)传输层的主要协议有UDP、TCP,是使用者使用平台和计算机信息网内部数据结合的通道,可以实现数据传输与数据共享;

(3)网络层的主要协议有ICMP、IP、IGMP,主要负责网络中数据包的传送等,进行网络连接的建立和终止以及IP地址的寻找等;

(4)网络访问层,也叫网路接口层或数据链路层,主要协议有ARP、RARP,主要功能是提供链路管理错误检测、对不同通信媒介有关信息细节问题进行有效处理等。由于网络接口层兼并了物理层和数据链路层所以,网络接口层既是传输数据的物理媒介,也可以为网络层提供一条准确无误的线路。

通信过程及相关协议:

在网络通信的过程中,将发出数据的主机称为源主机,接收数据的主机称为目的主机。当源主机发出数据时,数据在源主机中从上层向下层传送。源主机中的应用进程先将数据交给应用层,应用层加上必要的控制信息就成了报文流,向下传给传输层。传输层将收到的数据单元加上本层的控制信息,形成报文段、数据报,再交给网际层。网际层加上本层的控制信息,形成IP数据报,传给网络接口层。网络接口层将网际层交下来的IP数据报组装成帧,并以比特流的形式传给网络硬件(即物理层),数据就离开源主机。

(1)链路层

以太网协议规定,接入网络的设备都必须安装网络适配器,即网卡,数据包必须是从一块网卡传送到另一块网卡。而网卡地址就是数据包的发送地址和接收地址,有了MAC地址以后,以太网采用广播形式,把数据包发给该子网内所有主机,子网内每台主机在接收到这个包以后,都会读取首部里的目标MAC地址,然后和自己的MAC地址进行对比,如果相同就做下一步处理,如果不同,就丢弃这个包。

链路层的主要工作就是对电信号进行分组并形成具有特定意义的数据帧,然后以广播的形式通过物理介质发送给接收方。

----------------

(2)网络层

IP协议

网络层引入了IP协议,制定了一套新地址,使得我们能够区分两台主机是否同属一个网络,这套地址就是网络地址,也就是所谓的IP地址。IP协议将这个32位的地址分为两部分,前面部分代表网络地址,后面部分表示该主机在局域网中的地址。如果两个IP地址在同一个子网内,则网络地址一定相同。为了判断IP地址中的网络地址,IP协议还引入了子网掩码,IP地址和子网掩码通过按位与运算后就可以得到网络地址。

ARP协议

即地址解析协议,是根据IP地址获取MAC地址的一个网络层协议。其工作原理如下:ARP首先会发起一个请求数据包,数据包的首部包含了目标主机的IP地址,然后这个数据包会在链路层进行再次包装,生成以太网数据包,最终由以太网广播给子网内的所有主机,每一台主机都会接收到这个数据包,并取出标头里的IP地址,然后和自己的IP地址进行比较,如果相同就返回自己的MAC地址,如果不同就丢弃该数据包。ARP接收返回消息,以此确定目标机的MAC地址;与此同时,ARP还会将返回的MAC地址与对应的IP地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

路由协议

首先通过IP协议来判断两台主机是否在同一个子网中,如果在同一个子网,就通过ARP协议查询对应的MAC地址,然后以广播的形式向该子网内的主机发送数据包;如果不在同一个子网,以太网会将该数据包转发给本子网的网关进行路由。网关是互联网上子网与子网之间的桥梁,所以网关会进行多次转发,最终将该数据包转发到目标IP所在的子网中,然后再通过ARP获取目标机MAC,最终也是通过广播形式将数据包发送给接收方。而完成这个路由协议的物理设备就是路由器,路由器扮演着交通枢纽的角色,它会根据信道情况,选择并设定路由,以最佳路径来转发数据包。

网络层的主要工作是定义网络地址、区分网段、子网内MAC寻址、对于不同子网的数据包进行路由。

----------------

(3)传输层

链路层定义了主机的身份,即MAC地址;而网络层定义了IP地址,明确了主机所在的网段,有了这两个地址,数据包就从可以从一个主机发送到另一台主机。但实际上数据包是从一个主机的某个应用程序发出,然后由对方主机的应用程序接收。而每台电脑都有可能同时运行着很多个应用程序,所以当数据包被发送到主机上以后,是无法确定哪个应用程序要接收这个包。因此传输层引入了UDP协议来解决这个问题,为了给每个应用程序标识身份。

UDP协议

UDP协议定义了端口,同一个主机上的每个应用程序都需要指定唯一的端口号,并且规定网络中传输的数据包必须加上端口信息,当数据包到达主机以后,就可以根据端口号找到对应的应用程序了。UDP协议比较简单,实现容易,但它没有确认机制,数据包一旦发出,无法知道对方是否收到,因此可靠性较差,为了解决这个问题,提高网络可靠性,TCP协议就诞生了。

TCP协议

TCP即传输控制协议,是一种面向连接的、可靠的、基于字节流的通信协议。简单来说TCP就是有确认机制的UDP协议,每发出一个数据包都要求确认,如果有一个数据包丢失,就收不到确认,发送方就必须重发这个数据包。为了保证传输的可靠性,TCP协议在UDP基础之上建立了三次对话的确认机制(WireShark抓包使用方法),即在正式收发数据前,必须和对方建立可靠的连接。TCP数据包和UDP一样,都是由首部和数据两部分组成,唯一不同的是,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。

传输层的主要工作是定义端口,标识应用程序身份,实现端口到端口的通信,TCP协议可以保证数据传输的可靠性。

----------------

(4)应用层

理论上讲,有了以上三层协议的支持,数据已经可以从一个主机上的应用程序传输到另一台主机的应用程序了,但此时传过来的数据是字节流,不能很好的被程序识别,操作性差,因此,应用层定义了各种各样的协议来规范数据格式,常见的有HTTP,FTP,SMTP等,在请求Header中,分别定义了请求数据格式Accept和响应数据格式Content-Type,有了这个规范以后,当对方接收到请求以后就知道该用什么格式来解析,然后对请求进行处理,最后按照请求方要求的格式将数据返回,请求端接收到响应后,就按照规定的格式进行解读。

应用层的主要工作就是定义数据格式并按照对应的格式解读数据。

3)以太网(Ethernet)

当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率(仅指标准以太网的速率而已)运行在多种类型的电缆上。以太网与IEEE802.3系列标准相类似。

以太网可以说是局域网的一种,但是目前局域网大多数都是使用以太网标准,故可认为以太网就是局域网。然后,局域网之间的通信协议必须相同,即局域网内计算机(或计算机网络)只允许使用同一种通信规则进行通信。而不同的局域网之间,又可以通过其他任意的通信规则进行通信(内部只用一种通信规则),这就构成了互联网。

(1)基于W5500方案的以太网

HR911105A网口第1脚,W5500 TXP、TXN波形:

HR911105A网口顶视图与PCB封装图:

HR911105A网口内部结构图:

W5500 RXP、RXN波形:

----------------

(2)10M以太网曼彻斯特编码规则

------------------------------

所以:以太网 <= 局域网 <= 互联网 != 因特网。

2、以太网物理层编码技术

1)传统以太网(10M)在无数据发送时发送NLP(一般链路脉冲),这种脉冲每隔16mS发送一个,每个宽100nS峰值1V。

2)快速以太网(100M)采用4B5B块编码,没有数据发送时就发送字符IDLE。IDLE的5B编码就是“11111”,也就是持续全“1”,但是要注意,100BASE-TX的线路编码是多电平三级码(MLT-3),编码规则是“1变0不变,正负交替出现”,所以画出波形图来是正、负、零交替出现的了。

此外如果端口是AUTO的,未成功之前,就会发送FLP,NLP是16mS一个,FLP是16mS一串9(17个,之中夹带着协商页),脉宽10nS。

3)GBIT以太网(1000M)采用8B10B块编码,没有数据发送时也是发送字符IDLE。IDLE的10B编码就是“1111111111”,但是要注意,100BASE-TX的线路编码是NRZ。

三、IP地址

IP是32位二进制数据,通常以十进制表示,并以“.”分隔。IP地址是一种逻辑地址,用来标识网络中一个个主机,IP有唯一性,即每台机器的IP在全世界是唯一的。

IP地址 = 网络地址+主机地址,根据网络地址的长度不同,有三种IP地址的组成形式,A类、B类、C类,A类前8位是(0+7位网络地址),B类前16位是(10+14位网络地址),C类前24位是(110+21位网络地址)。

局域网里,同样也需要IP地址,一般内网的IP地址是以192.168开头的,这样很容易区分公网和内网的ip地址,这也就是PLC与计算机或终端与计算机相连时,为什么常常采用192.168的形式。

IP子网划分移步:网络-IP子网划分

四、子网掩码

子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。最为简单的理解就是两台计算机各自的IP地址与子网掩码进行and运算后,得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。子网掩码的作用是设定网段范围的。

255.255.255.0是一标准的C类地址的子掩码,255.255.0.0是一个标准的B类地址子掩码。它们两个限定了完全不同的IP地址范围。C类的子掩码每个网段最大可以有256个IP地址,其中254个可用,B类子掩码每个网段最大可以有65536个IP地址,其中65534个是可用IP。

对上面这段话的理解为,C类的话,前24位是网络号,所以都是用1去做与,最后8位用0去跟IP做与,这样得到的结果是如果两个IP前24位一样,那么与的结果也就一样,也就是在同一网段,即可以通讯。内网通讯时,如上面所说,一般都用 192.168的形式,所以子网掩码一般采用255.255.*.*的形式。

五、网关

网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。

在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。

如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络A向网络B转发数据包的过程。

------------------------------

1)默认网关

如果搞清了什么是网关,默认网关也就好理解了。就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。

默认网关一般填写192.168.x.1,默认网关必须是电脑自己所在的网段中的IP地址,而不能填写其他网段中的IP地址。

------------------------------

2)DNS服务器

相对于前几个都是关于联网的基本概念,DNS服务器处理的事情不同,DNS是指域名服务器(Domain Name Server)。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。

举个例子没有IP地址就不能上网,计算机没设DNS,竟然能上QQ,却不能打开网页,QQ不需要有DNS(QQ只是一个客户端程序,用不到DNS),只有浏览网页(需输入网址时)才用到DNS,在地址栏中你要能记住IP地址就直接输入IP也是可以的。

六、MAC地址

1、MAC地址详述

MAC(Medium/Media Access Control,介质访问控制)MAC地址是收录在NetworkInterfaceCard(网卡NIC)里的.MAC地址,也叫硬件地址,是由48比特/bit长(6字节/byte,1byte=8bits),16进制的数字组成。前24位叫做组织唯一标志符(Organizationally Unique Identifier,即OUI),是识别LAN(局域网)节点的标识。后24位是由厂家自己分配。

网卡的物理地址通常是由网卡生产厂家烧入网卡EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一定是全球唯一的。

在OSI(Open System Interconnection开放系统互连)7层网络协议(物理层,数据链路层,网络层,传输层,会话层,表示层,应用层)参考模型中,MAC对应于第二层数据链路层(Data Link),而IP对应于网络层。

那么,说到现在,大家一定会疑惑,有了IP地址还要MAC地址干嘛,有了MAC地址还要IP地址干嘛?

------------------------------

MAC地址与IP地址的区别:

有人曾这么比喻,你已经有了手机号,为什么还要一个身份证号呢? 你的身份证号是你唯一标识号,只要有这个号码就能找的到你。但是你的朋友为什么不用身份证找你而是用手机号呢?方便不是。但是你要是犯了罪,警察用你手机号找你,你换了号怎么办?那不就得用你的身份证号才能逮到你?

通过以下几点再来看一下需要两者的配合才能实现数据交换:

(1)IP地址的分配是根据网络的拓朴结构,而不是根据谁制造了网络设置。若将高效的路由选择方案建立在设备制造商的基础上而不是网络所处的拓朴位置基础上,这种方案是不可行的。

(2)当存在一个附加层的地址寻址时,设备更易于移动和维修。例如,如果一个以太网卡坏了,可以被更换,而无须取得一个新的IP地址。如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。

(3)无论是局域网,还是广域网中的计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始节点出发,从一个节点传递到另一个节点,最终传送到目的节点。数据包在这些节点之间的移动都是由ARP(Address Resolution Protocol:地址解析协议)负责将IP地址映射到MAC地址上来完成的。

------------------------------

说到这里,还想再说一下,为什么要对网络通讯进行分层,如OSI,分层的好处:

那就是当你使用比较高层、远离物理层的协议,例如IP协议、TCP协议和其他机器通信时,你不需要关心,也不需要担心对方在哪里,会通过哪些不同类型的网络。而如果你在物理层编程,就要关心更多东西,比如不同的网络包的转换、最大传输单元等等。

2、如何修改MAC地址


青春时代是一个短暂的美梦,当你醒来时,它早已消失得无影无踪。觉得不错,动动发财的小手点个赞哦!

  • 16
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
w5500以太网网络模块是一款集成了以太网控制器和TCP/IP协议堆栈的芯片,其原理图主要包含以下几个方面: 1. PHY接口电路:PHY接口电路用于与以太网物理层(Physical Layer)进行通信,包括收发器(Transceiver)和变压器等组件。收发器负责将芯片内部的数字信号转换为模拟信号,通过变压器传输到物理层。 2. MAC层控制电路:MAC层(Medium Access Control)控制电路负责处理以太网帧的发送和接收。它包括发送缓冲器、接收缓冲器和帧处理电路等组件。发送缓冲器将待发送的数据封装为以太网帧,通过PHY接口发送出去。接收缓冲器接收来自物理层的以太网帧,并通过帧处理电路进行解析和处理。 3. TCP/IP协议堆栈:w5500内置了完整的TCP/IP协议堆栈,包括IP层、TCP层、UDP层和应用层等。它负责网络通信中的数据包封装、数据传输和数据解析等任务。用户可以通过编程接口(如SPI或Ethernet)来使用这些功能。 4. 控制逻辑电路:w5500还包括一些控制逻辑电路,用于控制整个模块的运行。例如,时钟电路负责产生各个模块所需的时钟信号;中断控制电路负责处理中断请求和中断向量;配置寄存器用于配置各项参数等。 5. 电源管理电路:电源管理电路用于提供模块所需的电源,包括外部电源连接接口、稳压电路和电源管理芯片等。 综上所述,w5500以太网网络模块原理图主要包含PHY接口电路、MAC层控制电路、TCP/IP协议堆栈、控制逻辑电路和电源管理电路等组成部分。它通过集成了这些功能模块,提供了网络通信的完整解决方案,便于用户在各种应用场景中快速实现以太网通信功能。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱上电路设计

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值