2018年8月。
SqlSugar 40版本在2018年6月底支持SqlSever的Core版 ,预计7月份支持多库,8月分开始分布式ORM的开发。
SqlSugar 是一款简单易用的开源 ORM 框架,支持NET CORE 和 MySql、SqlServer、Sqlite、Oracle 、 postgresql 、达梦、人大金仓 数据库,具有 EF NH 的功能,比 EF 更人性化的语法,支持真实的批量 *** 作,另外还有媲美 DAPPER 的性能。
大家好!今天我们来了解下网络中比较基础却又十分重要的知识:ip地址和mac地址,没有这两个地址,网络将无法通信。我在实际工作中发现,真正能把ip地址和mac掌握的从业人员其实并不多,很多小伙伴虽然每天在跟ip地址打交道,却并不清楚它的实际意义,比如:不少小伙伴经常在给电脑或者网络终端设置ip时输入192168xx,掩码2552552550,网关192168x1等,当问他为什么要这么输,他却说不出所以然来,顶多来一句两个通信终端要在一个网段,或者说我是看别人这么填的,我也这么填,那我今天给大家来一篇相关的文章,尽量用最简单的方式告诉大家关于这两个地址的实用知识。
一、MAC地址
MAC地址(Media Access Control Address)的全称叫作媒体访问控制地址,它是属于网卡的硬件地址,每张网卡出厂时必须给它烧录一个MAC地址,这个地址是不能修改的,当然我们如果确实需要改,可以用软件伪装成其他MAC地址来通信,但是这个改不是真的改,而是给对外设备一个错觉罢了。它的相关知识点如下:
1、MAC地址的长度和表示方式
MAC地址的长度为48个比特位,也就是6个字节,通常表示为12个16进制数,即0-9的数字和A-F的字母来表示,常见的表示方式有如下几种:HH-HH-HH-HH-HH-HH、HH:HH:HH:HH:H:HH、HHHH-HHHH-HHHH、HHHHHHHHHHHH,这些写法小编见于各种设备,比如电脑、交换机、路由器、防火墙等,特别是交换机,不同品牌写法也不同。
**部分表示的就是mac地址
2、MAC地址的作用
上一篇我讲了tcp/ip参考模型,我们的MAC地址其实就是工作在数据链路层(包含在网络接口层),它主要是为交换机端口寻址用的,我们的交换机在转发数据时,是根据内部维护的一张“端口-MAC”映射表为依据的,就是说交换机收到数据包后会检查该数据包的MAC地址,找到和该地址对应的端口转发出去。我们的应用层数据一直被封装到物理层后,转化为比特流在物理介质上传输到对端,对端接收到比特流以后在数据链路层把流转化为数据帧,这个帧头部就包含MAC地址,如果该地址是自己的地址就把数据解封装往应用层传递,这就达到了两主机应用层通信的效果。
二、IP地址
IP的英文是Internet Protocol ,意思是“网络之间互连的协议”,它工作在网络层,把传输层传递下来的数据封装上IP包头后进行传输,任何两个终端之间要通信必须要有IP地址,如果把一台电脑比喻成一座房子,那么IP地址相当于是门牌号,别人要找到该户人家的房子,就根据这个号码来找,我们目前见到的IP是点分十进制格式的,比如“1921681035”,但是在传输数据时,会被系统转化为二进制进行数据封包传输。下面我们具体来看下相关知识点。
1、IP地址的长度
IP地址原本是二进制数据,总长度为32位,每8位数据有一个点号分隔,这32位数据如果转化为十进制,就变成了由四个十进制数据+点号的组合的形式,比如“1921681035”其实就是“11000000101010000000101000100011”,大家肯定会想二进制和十进制是怎么相互转换的,本来想写下这块内容,但是说起来还比较复杂,如果放在一起讲,那会使篇幅很长,还是以后单独来讲这块内容,这里大家可以直接把要转的十进制数字复制到网页上在线的计算器中计算即可。
2、IP地址的组成和子网掩码
IP地址其实分为两部分,一个是网络号,另一个是主机号,网络号标识了该地址的网段,主机号标识了该IP是这个网段中的哪个地址。那么如何来分别网络号和主机号呢?这里我们要了解一下“子网掩码”的概念,子网掩码是用来辅助区分IP地址的网络号和主机号,它和IP地址的长度一样,也是32位,每8位用点号分隔,但是它和ip有一点不同,那就是ip地址可以0和1交叉出现,但是子网掩码不可以,比如像这种:\"11010101\"是无效的,应该是像\"11100000\"这样0和1之间没有交叉的,因为它的本质是用来确定ip的网络号和主机号的,连续的1代表是网络号,连续的0代表主机号。
3、IP地址的分类
IP地址按不同的分类方式可以分为以下几种:IPv4和IPv6,公有IP和私有IP,A类地址、B类地址、C类地址、D类地址、E类地址和无类别地址。
31、IPv4和IPv6
ipv4就是我们目前常用的IP地址,也是本文所讲的地址,长度为32为,ipv6的长度有128位,它能包含的主机数量远远大于ipv4
32 、公有IP和私有IP
公有地址是由Inter NIC机构管理的,需要使用公有IP的机构需要向Inter NIC注册并申请,一般申请的机构为网络运营商,比如:电信、移动、联通等,由他们再把公有IP分配给我们用户来使用,在互联网上要能通信,必须要有一个公有IP,当然这个IP可以交给用户设备使用,也可以在某个单位机构设备中使用,由该设备代理用户上网。私有IP是指不需要向Inter NIC注册申请的地址,可以由用户自由使用,但是私有地址我们只在局域网中使用,如果需要能在互联网上使用就必须通过NAT技术,将私有IP转换为公有IP再去通信。
33、五种类型IP
我们根据IP地址的范围划分,有A、B、C、D、E五种类型的IP地址,这几种IP的地址范围如下:
A类IP地址:A类地址的网络号占8个比特位,从左往右第一个比特位是0,只有7个比特位可以使用,主机号是24位,地址范围为:1000-126255255255
B类IP地址:B类地址的网络号占16个比特位,从左往右前两个比特位是10,只有14个比特位可以使用,地址范围为:128000-191255255255
C类IP地址:C类地址的网络位占24位,从左往右前三个比特位是110,只有21个比特位可使用,地址范围为:192000-223255255255
D类IP地址:D类ip为组播地址,从左往右前四个比特位是1110,该类型地址不区分网络号和主机号,地址范围为:224000-239255255255
E类IP地址:E类IP地址为保留地址,从左往右前五个比特位是11110,该类型地址不区分网络号和主机号,地址范围为:240000-240255255255
各类IP的比特位数图
34、无类别IP
刚才上面讲了A、B、C、D、E五类IP地址,其实这几种都只要了解即可,因为现在其实应用的并不多,这种分类会浪费很多IP地址,目前常用的还是无类别IP地址。无类别的IP地址,需要和子网掩码一起来使用,子网掩码能告诉系统当前IP地址的哪几位是网络号,哪几位是主机号,以便系统能区分出IP的网段是什么,这样的方式只要改动掩码的0和1的位数,就能自由的改变IP地址的网段,不再受到传统的A、B、C、D、E分类的限制了,加大了可用IP的数量。
三、IP各项数据计算实例
讲了不少相关内容,那么我们具体如何来根据一个IP地址和掩码来计算它的网络地址是什么,该网段有多少个可用的IP地址,第一个和最后一个IP地址是什么呢?下面按Ip:1921681035,子网掩码:2552551920/18为例说明。
1、将IP和掩码各自转换成二进制
IP地址:11000000101010000000101000100011
子网掩码:11111111111111111100000000000000
2、计算该IP的网络地址
将IP地址的各个比特位和掩码对应的比特位进行”与(&)“运算,所谓的”与“运算就是两边皆为1,则结果等于1,比如1&1=1,两边一个1一个0,或者皆为0则结果为0,比如1&0=0,0&0=0。根据上面的二进制数据,我们可以算出结果,网络地址为11000000101010000000000000000000,转为十进制就是19216800。
3计算该IP网段的可用IP地址数
上面我们计算机IP的网络号占用了18位,那么主机号就是占用了32-18=14位,我们设可用IP地址数位a,主机号位数为n,那么公式为 a=2^n-2,即2的n次方减2,那为什么要减2呢?因为单单2的n次方算出来的数量包含了主机号各位都为0和1的情况,全为0则是一个网络地址,也就是一个网段地址,全为1是广播地址,这两地址我们是不能使用的。所以我们的可用IP数为2^14-2=16382个。
4、第一个IP和最后一个IP
我们还是根据上面的二进制数据计算,在例子中我们的网段是11000000101010000000000000000000,我们从左往右去掉前面18位的网络号,剩下的都是主机号,第一个IP就是11000000101010000000000000000001,那么把它转换为十进制就是19216801,该网段最后一个IP是11000000101010000011111111111110,转为十进制就是19216863254,为什么最后一个不是255呢,因为主机号全为1是广播地址。
好了,关于IP地址和MAC地址的讲解暂时就到这里了,回头一个居然也写了好几千字了,下篇聊聊关于端口号的知识。
相关文章
有没有永久免费个人网站申请注册(免费个人网站建站申请步骤)
基于SqlSugar开发框架的介绍:框架基础类的设计和使用
EFCore常规 *** 作生成的SQL语句一览
如何实现 Oauth2 自定义登录接口以及返回自定义格式
Docker 与 K8S学习笔记之Kubernetes集群搭建
声明:本站部分文章来自网络或用户投稿,如无特殊说明或标注,均为本站原创发布。涉及资源下载的,本战旨在共享仅供大家学习与参考,如您想商用请获取官网版权,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
收藏 海报 分享链接:>
可以。
SqlSugar是一个跨平台的ORM框架,同时支持net和netcore,是诸多ORM框架中较为容易使用的数据库访问技术,而且支持主流的数据库。
dbCommandTimeOut=30000;//设置超时时间try{//dbBeginTran();//开启事务//特别说明:在事务中,默认情况下是使用锁的,也就是说在当前事务没有结束前,其他的任何查询都需要等待//ReadCommitted:在正在读取数据时保持共享锁,以避免脏读,但是在事务结束之前可以更改数据,从而导致不可重复的读取或幻像数据。dbBeginTran(SystemDataIsolationLevelReadCommitted);//重载指定事务的级别//特别说明:在事务 *** 作中,对于自增长列的表,插入成功,又回滚的会占据一次自增长值varid1=dbInsert(newUserInfo(){Name="黎明"});ConsoleWriteLine(id1);thrownewException("事务执行异常");varid2=dbInsert(newUserInfo(){Name="网名"});ConsoleWriteLine(id2);
以上就是关于sqlsugar发布时间全部的内容,包括:sqlsugar发布时间、哪一行数据是mac、sqlsugar可以用.net framewark3.5吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)