完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
以前做过DSP通过以太网与上位机进行通信,用的是Wiznet的W5300,当时在上位机上需要设置IP地址、子网掩码、默认网关、DNS服务器,虽然知道怎么设,但是不知道为什么要这么设,今天在网上查了一下这几个概念,在此整理一下,mark 首先,很核心的一点,设置这些的目的是什么?设置这些就是为了使能能够实现通讯,不管是计算机和计算机,还是设备和计算机。 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地址与子网掩码进行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转发数据包的过程。 默认网关: 如果搞清了什么是网关,默认网关也就好理解了。就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。默认网关。默认网关一般填写192.168.x.1,默认网关必须是电脑自己所在的网段中的IP地址,而不能填写其他网段中的IP地址。 DNS服务器: 相对于前几个都是关于联网的基本概念,DNS服务器处理的事情不同,DNS是指:域名服务器(Domain Name Server)。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器 。举个例子没有IP地址就不能上网,计算机没设DNS,竟然能上QQ,却不能打开网页,QQ不需要有DNS(QQ只是一个客户端程序,用不到DNS),只有浏览网页(需输入网址时)才用到DNS,在地址栏中你要能记住IP地址就直接输IP也是可以的 MAC地址: MAC(Medium/MediaAccess 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协议和其他机器通信时,你不需要关心,也不需要担心对方在哪里,会通过哪些不同类型的网络。而如果你在物理层编程,就要关心更多东西,比如不同的网络包的转换、最大传输单元等等 以上写了这么多,其实好多都是粘的, 但是自己按照自己的思维逻辑把网上的东西搜集整理,有条理性,有逻辑性,这样以后看起来也会很清楚明了,继续坚持,希望大家留言讨论~ |
|
相关推荐
6 个讨论
|
|
实用帖,赞一下!
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
479个成员聚集在这个小组
加入小组5099 浏览 1 评论
12116 浏览 5 评论
3503 浏览 2 评论
2968 浏览 0 评论
12696 浏览 2 评论
w5500 作为tcp server,客户端异常发送【RST,ACK】断开连接问题
1578浏览 1评论
1083浏览 0评论
使用stm32,通过spi的dma 收发,运行多次读写以后w5500发送正常,接收卡死,高人帮忙看看
6293浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 00:35 , Processed in 0.794306 second(s), Total 56, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号