Linux走进网络
走进网络之网络解析
目录
走进网络之网络解析
一、认识计算机
1.计算机的发展
2.传输介质
3.客户端与服务器端的概念
交换机
路由器
二、计算机通信与协议
1. 协议的标准化
2. 数据包的传输过程
OSI 协议
ARP协议
3. TCP/IP:四层模型
4. TCP三次握手和四次挥手
TCP报文参数释义
TCP建立连接的过程
三次握手
四次挥手
UDP协议介绍
三、认识IP地址
进制转换
IP分类
私有地址
IP地址的组成
子网掩码
一、认识计算机
计算机的发展
有人说:“20世纪最伟大的发明就是计算机”,自诞生伊始,计算机经历了一系列发展,从大型通用计算机、超级计算机、小型机、个人电脑、工作站以及现如今笔记本、平板、智能手机等,计算机已经彻底融入了我们的生活
1.2 计算机的发展模式
起初,计算机只是以单机模式(独立模式)被广泛应用,随着发展,计算机被一个个的连接起来,形成了一个计算机网络,从而实现了信息共享,远距离传递信息等工作计算机网络,根据规模可分为2种:
WAN:Wide Area Network(广域网)是连接不同地区局域网或城域网计算机通信的远程网。 LAN:Local Area Nerwork(局域网)一个局部的地理范围内将各种计算机、外部设备和数据库等互相联接起来组成的计算机通信网
1.计算机网络是由计算机和通讯构成的,网络研究的是“通信”。 ------1946 世界上第一台计算机 2.终端:只有输入和输出功能,没有计算和处理功能。 3.数据:一串数字(二进制数),通常指文字、语音等。 4.通信:将源所产生的数据传递到目的的过程。 5.网络:由两台或者两台以上计算机组成,能够进行信息共享的环境。 6.网络的构成:计算机、手机、pad、服务器……、网络设备(交换机、路由器、防火墙)、传输介质(网线、光纤、数据线……)
传输介质
传输介质包括电缆、双绞线和光纤等。 1.双绞线:有效传输长度100M 线序: 标准568A:绿白、绿,橙白、蓝,蓝白、橙,棕白、棕。 标准568B:橙白、橙,绿白、蓝,蓝白、绿,棕白、棕。(常用) 2.光纤 一种由玻璃或塑料制成的纤维,远距离有线信号传输的主要手段
3.单位换算 带宽:带宽是以比特为单位的 而我们常看到的下载速度显示的几KB是以千字节为单位 KB--千字节 B---拜特--byte(字节) b---比特--bit (位)---> 1比特=1位 1字节(byte)=8比特(bit) 1KB=1024字节(byte) 1M=1024KB*1024B*8b
客户端与服务器端的概念
客户端: 即表示可以介入互联网的个人终端设备, 比如个人PC机、个人Mac电脑, 操作系统为Windows. 服务端: 即代表在互联网中提供给用户服务的设备, 比如淘宝网、京东网、阿里云等网站或平台.
名词介绍 设备: 二层--数据链路层: 交换机(也有三层交换机) 三层--网络层: 路由器
交换机
交换机是通过学习连接的每个终端的 MAC 地址,将数据发送给对应的目的终端上,避免将数据发送到无关端口,提供网络利用率。 没有 IP 路由功能、仅处理数据链路层的交换机叫做二层交换机。二层交换机根据不同的功能而不同。带有 IP 路由功能的交换机叫做三层交换机。 简单的说,交换机就是用来组建一个局域网使用的。交换机的作用是放到路由器后端,来扩展路由器接口不够用而使用的。比如说,有20台电脑需要用网络,而路由器最多的只有8个口,只能接7台电脑,怎么办呢,这就需要交换机来扩展网络接口实现了。 #交换机基本都是24口起步,企业的都是48口起步
路由器
负责网络层工作的硬件设备,通过不同端口,连接不同的网段,识别目的地址,根据路由表进行数据包转发。路由表由多个路由表项组成,路由表项既可以手动设置静态路由,也可以通过路由协议自动生成动态路由。路由器为数据包选择路径的过程叫做路由选择。 路由器的工作原理是怎么样的呢?路由器有个路由表,会自己学习、生成、维护路由表。 1,主机A准备发数据给主机B。 2,A将B的IP地址连同数据一起,以数据包形式发送给路由器R1。 3,路由器R1收到数据包后,先从数据中读取到B的IP地址,然后根据路径表计算发往B的最优路径。 4,比如路径为:R1->R2->R5->B;并将数据包发往路由器R2。 5,路由器2重复路由器1的工作,并将数据包转发给路由器5。 6,路由器5同样取出目的地址,发现目的地址就在自己的网段上,于是将该数据包直接交给主机B。 7,主机B收到主机A的信息,一次完整的通信宣告结束。
DNS:域名服务器 端口号:1-65535 http---80 https--443 ftp--21、20 ssh--22 mysql--3306 php--9000 tomcat---8080
二、计算机通信与协议
协议
互联网中常用的代表性的协议有IP、TCP、HTTP等,在计算机网络体系结构中将这些网络协议进行了系统的归纳;TCP/IP就是这些协议的集合。 协议就是计算机之间通过网络实现通信时事先达成的一种“约定”,每一种协议都明确界定了它的行为规范:比如2台计算机之间必须能够支持相同的协议,并且遵循相同的协议进行处理,才能实现相互通信。
1. 协议的标准化
计算机通信诞生之初,系统化与标准化未收到重视,不同厂商只出产各自的网络来实现通信,这样就造成了对用户使用计算机网络造成了很大障碍,缺乏灵活性和可扩展性,为解决该问题,ISO(国际标准化组织)制定了一个国际标准OSI(开放式通信系统互联参考模型)
OSI(Open System Interconnection)开放式系统互联通信参考模型。是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。 1984年 ISO (国际化标准组织)提出了--->OSI七层模型 OSI七层: 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 特点: 下层只和上层有来往关系, 不可跨层传输
2. 数据包的传输过程
OSI 协议
OSI七层: 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 #7.应用层:为用户提供网络服务,是用户与网络之间的接口。为操作系统或网络应用程序提供访问网络服务的接口,实现与最终用户的应用软件之间的通信。应用层协议的代表包括: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。 #6.表示层:负责数据的格式转化、加密、解密,约束数据格式。 #5.会话层:建立、管理和终止会话,确保数据的同步和控制。负责在数据传输中设置和维护计算机之间的数据的逻辑传输通道。 #4.传输层:定义传输数据的协议端口号,提供进程通信能力。负责端到端的通信,确保数据的可靠传输 TCP协议:传输控制协议(Transmission Control Protocol),实现数据的可靠传输,tcp将数据封装成用户数据报或者说是报文,然后分段传输。 UDP协议:用户数据报协议(User Datagram Protocol),实现数据的快递传输,传送数据之前不需要先建立连接,不可靠。 #3.网络层:提供逻辑地址,主要的协议有ip(IP地址,用于在网络中标识每一台设备,作用于网络间的通信,提供路由和选路),主要是将报文封装成ip数据包。提供数据包的传输服务,实现源到目的地的路径选择。 #2.数据链路层:确认MAC(物理)地址,每个MAC地址写在网卡上,将ip数据包封装成帧,传给物理层。 负责将比特流组织成帧,进行物理寻址和错误检测 #1.物理层:提供数据的传输介质,传输速度,将数据以电流的形式传输过去。负责在物理媒介上传输原始比特流。
ARP协议
ARP协议:地址解析协议(Address Resolution Protocol)是用来将IP地址解析为MAC地址的协议。 ARP协议实现过程 当一个设备需要与另一个设备通信时,需要知道对方的物理地址。首先在自己的ARP缓存中查找目标IP地址对应的MAC地址,如果找到就直接通信。如果没找到,设备会发送广播给本地网络中的所有设备,所有设备都会收到这个广播,ARP数据包中的目的MAC填0,收到这个广播的设备都会看自己的IP是不是这个广播的目IP,如果不是就会将这个包丢弃,如果发现自己的IP地址与请求中的IP地址相同,它就会回发一个单播,将自己的MAC地址作为响应发送回去。然后就可以开始通信,并将这个MAC地址存入自己的ARP缓存中,以便下次的通信。 如何获取mac地址:先发送一个ARP请求,发送给每一个主机,这成为广播,给予ARP层回应以单播的形式返回(arping:在网络中发送 ARP请求以查找特定IP地址对应的MAC地址) 案例: 小明:我是小明,谁是小红,我的mac地址是sdfsdfs213 arp发送广播:每个人开始拆包,其他人:是找小红的,不是找我的,不管它 小红:拆开一看,是找我的,回复:小明,我是小红,我的mac地址是dfgert213 进行数据传输。 数据传输的三种方式: 1. 单播(Unicast):单播是指在网络中发送数据时,数据只会被发送到一个特定的目标地址。在单播传输中,网络会根据目标地址将数据直接发送到目标设备,而不会将数据发送到其他设备。单播传输通常用于一对一的通信,例如电子邮件、即时通讯和文件传输等。 2. 组播(Multicast):组播是指在网络中发送数据时,数据会被同时发送到多个目标地址。在组播传输中,网络会将数据发送到一个特定的组播地址,而该组播地址会被多个设备所订阅。组播传输通常用于一对多的通信,例如视频会议、网络广播和游戏等。 3. 广播(Broadcast):广播是指在网络中发送数据时,数据会被发送到所有设备。在广播传输中,网络会将数据发送到一个特定的广播地址,而该广播地址会被所有设备所接收。广播传输通常用于在网络中广播消息,例如网络公告和系统更新等。
3. TCP/IP:四层模型
是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
TCP\IP模型 应用层:将OSI上三层融合,用于产生需要传递的数据 传输层 网络层 链路层(网络接口层):将OSI下两层融合 TCP是Tranfer Control Protocol的简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。
当通过http发起一个请求时,应用层、传输层、网络层和链路层的相关协议依次对该请求进行包装并携带对应的首部,最终在链路层生成以太网数据包,以太网数据包通过物理介质传输给对方主机,对方接收到数据包以后,然后再一层一层采用对应的协议进行拆包,最后把应用层数据交给应用程序处理。 网络通信就好比送快递,商品外面的一层层包裹就是各种协议,协议包含了商品信息、收货地址、收件人、联系方式等,然后还需要配送车、配送站、快递员,商品才能最终到达用户手中。 一般情况下,快递是不能直达的,需要先转发到对应的配送站,然后由配送站再进行派件。 配送车就是物理介质,配送站就是网关, 快递员就是路由器,收货地址就是IP地址,联系方式就是MAC地址。 快递员负责把包裹转发到各个配送站,配送站根据收获地址里的省市区,确认是否需要继续转发到其他配送站,当包裹到达了目标配送站以后,配送站再根据联系方式找到收件人进行送件。
物理地址:mac地址,具有唯一性,mac由6段16进制数组成,每段有2个16进制数
ARP
ARP(地址解析协议),用于将网络地址(IP地址32位)转化为物理地址(MAC地址48位)。ARP协议是属于"数据链路层 or 网络层"的协议,在以太网中的数据帧从一个主机到达网内的另一台主机是根据48位的以太网地址(硬件地址)来确定接口的,而不是根据32位的IP地址。内核(如驱动)必须知道目的端的硬件地址才能发送数据
ICMP
ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
4. TCP三次握手和四次挥手
TCP报文参数释义
SYN:同步序列号标志位(synchronize),tcp三次握⼿中,第⼀次会将SYN=1,ACK=0,此时表⽰这是⼀个连接请求报⽂段,对⽅会将SYN=1,ACK=1,表⽰同意连接,连接完成之后将SYN=0。 FIN:在tcp四次挥⼿时第⼀次将FIN=1,表⽰此报⽂段的发送⽅数据已经发送完毕,这是⼀个释放链接的标志,表示关闭TCP连接。 ACK:确认标志(Acknowledge)。当ACK=1时,我们的确认序列号ack才有效,当ACK=0时,确认序号ack⽆效。TCP规定:所有建⽴连接的ACK必须全部置为1。 seq(序号):占32位4个字节,序号范围[0,2^32-1],序号增加到 2^32-1 后,下个序号又回到 0。TCP 是面向字节流的,通过 TCP 传送的字节流中的每个字节都按顺序编号,而报头中的序号字段值则指的是本报文段数据的第一个字节的序号。保障传输过程可靠。例如:我们的seq = 201,携带的数据有100,那么最后⼀个字节的序号就为300,那么下⼀个报⽂段就应该从301开始。 ack(确认号):占32位4个字节,期望收到对方下个报文段的第一个数据字节的序号。当标志位ACK值为1时,才能产生有效的确认号ack。并且:ack=seq+1。 RST:当RST=1时,表明TCP连接出现严重错误,此时必须释放连接,之后重新连接,⼜叫重置位. URG:紧急指针标志位,当URG=1时,表明紧急指针字段有效.它告诉系统中有紧急数据,应当尽快传送,这时不会按照原来的排队序列来传送.⽽会将紧急数据插⼊到本报⽂段数据的最前⾯ PSH:推送操作,提示接收端应用程序立即从TCP缓冲区把数据读走
TCP建立连接的过程
三次握手
简述: 1)发送端首先发送一个带有SYN(synchronize)标志地数据包给接收方。 2)接收方接收后,回传一个带有SYN/ACK标志的数据包传递确认信息,表示我收到了。 3)最后,发送方再回传一个带有ACK标志的数据包,代表我知道了,表示’握手‘结束。初始时:客户端处于Closed状态,服务器处于Listen状态; 第一次握手:客户端发送SYN报文给服务器,初始序列号为x(seq=x), 此时客户端进入SYN_SENT状态;这时,客户端可以知道自己发送能力正常,服务器可以知道自己接收能力正常、客户端发送能力正常。 第二次握手:服务器通过自己的SYN报文给与客户端确认和响应,服务器进入SYN_RCVD状态;这时客户端可以知道服务器收发能力正常,自己收发能力正常;服务器知道自己收发能力正常,但不知道客户端接收能力正常,因此需要第三次握手。 服务器发送报文的四个参数具体含义如下: SYN=1,表示为连接请求报文,也不能携带数据; seq=y,服务端的序列号为y; ACK=1,表示确认客户端序列号有效,此时确认号(ack)有值; ack=seq+1:ack的值为客户端传来的序列号(seq)加1,即ack=x+1; 第三次握手:客户端收到服务器的SYN+ACK的包,此时客户端处于ESTABLISHED(已确认)状态,表示客户端和服务器都表示同意连接,因此客户端发送一个ACK报文,ack仍为序列号+1,即y+1,初始序列号为x,因此客户端发送的第二次报文,序列号要+1,即x+1;这时服务器可以确认客户端收发能力正常;第三次握手可以携带数据。 SYN=1或ACK=1表明这是一个连接请求报文 SYN=1时的报文不能携带数据,如果可以携带数据的话,如果有人在第一次握手的SYN报文放入很多数据,重复发送大量的这些报文,服务器就会消耗大量内存缓存这些报文,服务器就更容易被攻击。 半连接队列和全连接队列 完成第一次和第二次握手后的TCP连接,讲socket放到半连接队列中; 完成第三次握手后,socket会从半连接队列移到全连接队列,当调用accpet函数时,从全连接队列中返回可用的socket给用户进程。
四次挥手
简述1)第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送。2)第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+13)第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送.4)第四次挥手:Client收到FIN后,接着发送一个ACK给Server,确认序号为收到序号+1. ====================== 通俗的说法 1)Client:我所有东西都说完了 2)Server:我已经全部听到了,但是等等我,我还没说完 3)Server:好了,我已经说完了 4)Client:好的,那我们的通信结束四次挥手的目的 TCP是全双工的工作模式,因此每个方向都必须单独进行关闭。当一方完成自己的数据发送任务后,就可以发送一个FIN报文来终止这个方向的连接。 全双工:客户端在给服务器端发送消息的同时,服务器端也可以给客户端发送消息; 半双工:客户端可以给服务端发消息,服务器端也可以给客户端发消息,但客户端和服务端不能同时发。刚开始客户端和服务器端都处于ESTABLISHED状态,假如客户端发起关闭请求; 第一次挥手:客户端向服务器发送FIN报文(FIN=1,seq=u),发完后进入FIN_WAIT_1状态,即主动关闭TCP连接,不再发送数据,但可以接收服务器发来的报文,等待服务器回复; 第二次挥手:服务器接到FIN报文后,返回一个ACK报文(ACK=1,ack=u+1,seq=v),表明自己接收到此报文,服务器进入CLOSE_WAIT关闭等待状态,此时客户端就知道服务端接到自己的断开连接请求,进入到FIN_WAIT_2状态,TCP处于半关闭状态,但服务器端可能还有数据要传输。 第三次挥手:服务器关闭客户端连接,发送FIN报文(FIN=1,seq=w,ack=u+1)给客户端,此时服务器处于LAST_ACK状态,等待客户端回应。 第四次挥手:客户端收到FIN报文后,发送一个ACK(ACK=1,ack=w+1,seq=u+1)给服务器作为应答,此时客户端处于TIME_WAIT状态,这个状态是为了等待足够的时间以确保TCP接收到连接中断请求的确认。 注意:这时服务器到客户端的TCP连接并未被释放,客户端需要经过等待2MSL(MSL表示一个报文的来回时间)后才会进入CLOSED状态,这样做的目的是确保服务器收到自己的ACK报文,如果在规定时间没有收到客户端发的ACK,那么服务器会重发FIN,客户端再次收到FIN报文,就知道自己的ACK丢了,然后会重发ACK给服务器。服务器收到ACK后,就会关闭连接,处于CLOSE状态了。 等待2MSL的原因 防⽌客户端最后⼀次发给服务器的确认在⽹络中丢失以⾄于客户端关闭,⽽服务端并未关闭,导致资源的浪费。等待最⼤的2msl可以让本次连接的所有的⽹络包在链路上消失,以防造成不必要的⼲扰。(MSL,Maximum Segment Lifetime,报文最大生存时间) 为什么客户端需要TIME_WAIT状态 假设最终的ACK丢失,服务器会重发FIN,客户端必须维护TCP状态信息以便可以重发最终的ACK,否则就发送RST(TCP连接出错),结果服务端认为发生错误。TCP实现必须可靠地终止连接的两个方向(全双工关闭),客户端必须进入TIME_WAIT状态,以免可能出现重发ACK的情形。 为什么挥手比握手多一次 因为握手的时候并没有数据传输,所以服务端的SYN 和 ACK 报文可以一起发送,但是挥手的时候有数据在传输,所以 ACK 和 FIN报文不能同时发送,需要分两步,所以会比握手多一步。 为什么三次挥手不行 因为服务端在接收到FIN, 往往不会立即返回FIN ,必须等到服务端所有的报文都发送完毕了,才能发FIN。因此先发一个ACK表示已经收到客户端的FIN,延迟一段时间才发FIN。这就造成了四次挥手。 如果是三次挥手会造成 如果将服务端的两次挥手合为一次,等于说服务端将ACK和FIN的发送合并为一次挥手,这个时候长时间的延迟可能会导致客户端误以为FIN没有到达客户端,从而让客户端不断的重发FIN。所有只能第二次握手先发送ACK确认接收到了客户端的数据,等服务器发送完了数据,再发送FIN包进行第三次挥手。
UDP协议
UDP协议简介 UDP是一个无连接的简单的面向数据报的传输层协议。 UDP的特性: 1.面向无连接:不用先与对方建立连接,不握手。因此传输速度很快。 2.不可靠的:没有确认机制,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。 因为它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。udp一般用于 1. 即时通信:qq聊天 对数据准确性和丢包要求比较低,但速度必须快 2. 在线视频:速度一定要快,保证视频连续,但是偶尔花了一个图像帧,人们还是能接受的 3. 网络语音电话:语音数据包一般比较小,需要高速发送,偶尔断音或串音也没问题 TCP与UDP区别 TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接 TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付 UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。 每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
三、认识IP地址
认识IP地址
IP地址是指互联网协议地址,IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
组成:IP地址 = 网络号 + 主机号
网络号:网络号相同表示属于同一个子网
主机号:表示子网中的某台主机
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”,在将2进制转换为十进制。IP地址通常用“点分十进制”表示的形式,其中都是十进制整数。
例如:192 . 168 . 223 . 3 /2411000000 . 10101000 . 11011111 . 00000011
进制转换
一:十进制转换为二进制十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。 (IP地址里面一共是32位,通常被分割为4个“8位二进制数”--将这8位列出来,2^0次方开始算,能用到的数落1不能用到的为0) 进制转换排列法 192 . 168 . 116 . 3 /24 128 64 32 16 8 4 2 1 1 1 1 1 1 1 1 1=2551 1 0 0 0 0 0 0=1921 0 1 1 0 0 1 0=1680 1 1 1 0 1 0 0=1160 0 0 0 0 0 1 1=3 11111111.11000000.10110100.00000011 172 . 31 . 116 . 11 /24 128 64 32 16 8 4 2 1 1 0 1 0 1 1 0 0=1720 0 0 1 1 1 1 1=310 1 1 1 0 1 0 0=1160 0 0 0 1 0 1 1=11 10101100.00011111.01110100.00001011 二、二进制转十进制 00001010.00110010.00000100.00000011 128 64 32 16 8 4 2 1 0 0 0 0 1 0 1 0=100 0 1 1 0 0 1 0=500 0 0 0 0 1 0 0=40 0 0 0 0 0 1 1=3 10.50.4.3 10101100.00000000.10111010.00000000 128 64 32 14 8 4 2 11 0 1 0 1 1 0 0=1720 0 0 0 0 0 0 0=01 0 1 1 1 0 1 0=1840 0 0 0 0 0 0 0=0 172.0.184.0
IP分类
公网ip地址--->合法的IP地址,可以在互联网上访问 =========================== A类:0.0.0.0 - 127.255.255.255/8 第一个字节为网络号,后三个字节为主机号。0是保留的并且表示所有IP地址,而127也是保留的地址,并且是用于测试回环用的。 127.0.0.1,通常被称为本地回环地址,用于本地主机进行自我测试和通信 (第一个字节:00000000-01111111) B类:128.0.0.0 - 191.255.255.255/16 前两个字节为网络号,后两个字节为主机号 (第一个字节:10000000-10111111) C类:192.0.0.0 - 223.255.255.255/24 前三个字节为网络号,最后一个字节为主机号,目前我们用的ip地址。 (第一个字节:11000000-1101111) D类:范围224-239,D类IP地址目前这一类地址用来一次寻址一组计算机。该类IP地址的最前面为“1110”。224.0.0.0-239.255.255.255 组播地址 (第一个字节:11100000-11101111) E类:范围从240-254,为将来使用保留。该类IP地址的最前面为“1111” (第一个字节:11110000-11111111)全零(“0.0.0.0”)地址对应于当前主机地址。IP地址(“255.255.255.255”)是当前子网的广播地址。
私有地址
所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址
类别 | 网络号 | 主机号 | 私有IP范围 | 用途 |
---|---|---|---|---|
A | 前8位 | 后24位 | 10.0.0.0-10.255.255.255 | 规模较大的网络(0是保留的并且表示所有IP地址,而127也是保留的地址,并且是用于测试回环用的127.0.0.1,通常被称为本地回环地址。) |
B | 前16位 | 后16位 | 172.16.0.0-172.31.255.255 | 规模中等的网络 |
C | 前24位 | 后8位 | 192.168.0.0-192.168.255.255 | 规模较小的网络(个体用户用的ip地址) |
D | 224.0.0.0-239.255.255.255 | 范围从224-239,多播,用来一次寻址一组计算机 | ||
E | 240.0.0.0-255.255.255.255 | 范围从240-254,保留地址范围,用于特定目的或将来的使用,例如特定协议或实验性用途 |
IP地址的组成
子网掩码
IP类型 | 默认子网掩码 | 二进制 | 含义 |
---|---|---|---|
A类 | 255.0.0.0 或 /8 | 11111111.00000000.00000000.00000000 | 前八位是网络号 |
B类 | 255.255.0.0 或 /16 | 11111111.11111111.00000000.00000000 | 前16位是网络号 |
C类 | 255.255.255.0 或 /24 | 11111111.11111111.11111111.00000000 | 前24位是网络号 |
子网掩码:用于区分IP地址中的网络部分和主机部分.1)子网掩码中必须由连续的1和连续的0组成 2)连续的1表示网络地址,连续的0表示主机地址 主机部分(主机位):则决定了网络中最大的主机数 计算方法:2^主机号位数-2 网络地址:用来表示一个网络。主机位取值全部为0,例如:192.168.1.0/24 广播地址:用于在一个网络内一对所有的通信。主机部分全部换成1。
128 64 32 16 8 4 2 1 192.168.62.138/24 ---255.255.255.0 11111111.11111111.11111111.00000000=255.255.255.0 ---子网掩码地址 11000000.10101000.00111110.10001010 (主机位?2^8-2=254) 11000000.10101000.00111110.00000000 网络地址 192.168.62.0/24 11000000.10101000.00111110.11111111 广播地址 192.168.62.255 可用的主机范围从--->192.168.62.1-192.168.62.254 192.168.62.138/16-----掩码?255.255.0.0 11000000.10101000.00111110.10001010 11000000.10101000.00000000.00000000 网络地址 192.168.0.0/16 11000000.10101000.11111111.11111111 广播地址 192.168.255.255 可用的主机范围是2^16-21.
练习题
1.将下面的十进制转换为二进制
172.14.23.4
128 64 32 16 8 4 2 1
1 0 1 0 1 1 0 0=172
0 0 0 0 1 1 1 0=14
0 0 0 1 0 1 1 1=23
0 0 0 0 0 1 0 0=4
10101100.00001110.0001.0111.00000100
192.168.33.45128 64 32 16 8 4 2 1
1 1 0 0 0 0 0 0=192
1 0 1 0 1 0 0 0=168
0 0 1 0 0 0 0 1=33
0 0 1 0 1 1 0 1=45
11000000.10101000.00100001.00101101
2.将二进制转换为十进制
00001010.00000001.00000001.0001010010.1.1.20
11000000.10101000.00010100.01010100192.168.20.84
3.了解机房的环境,温度,上架过程,以及去机房相关流程
相关文章:
Linux走进网络
走进网络之网络解析 目录 走进网络之网络解析 一、认识计算机 1.计算机的发展 2.传输介质 3.客户端与服务器端的概念 交换机 路由器 二、计算机通信与协议 1. 协议的标准化 2. 数据包的传输过程 OSI 协议 ARP协议 3. TCP/IP:四层模型 4. TCP三次握手和四次挥手…...
go语言Gin框架的学习路线(六)
gin的路由器 Gin 是一个用 Go (Golang) 编写的 Web 框架,以其高性能和快速路由能力而闻名。在 Gin 中,路由器是框架的核心组件之一,负责处理 HTTP 请求并将其映射到相应的处理函数上。 以下是 Gin 路由器的一些关键特性和工作原理的简要解释…...
Java面经知识点汇总版
Java面经知识点汇总版 算法 14. 最长公共前缀(写出来即可) Java 计算机基础 数据库 基础 SQL SELECT first_name, last_name, salary FROM employees WHERE department Sales AND salary > (SELECT AVG(salary)FROM employeesWHERE department Sal…...
详细分析Sql Server中的declare基本知识
目录 前言1. 基本知识2. Demo3. 拓展Mysql4. 彩蛋 前言 实战探讨主要来源于触发器的Demo 1. 基本知识 DECLARE 语句用于声明变量 声明的变量可以用于存储临时数据,并在 SQL 查询中多次引用 声明变量:使用 DECLARE 语句声明一个或多个变量变量命名&a…...
Perl 语言入门:编写并执行你的第一个脚本
摘要 Perl 是一种高级、通用的、解释型、动态编程语言,以其强大的文本处理能力而闻名。本文将指导初学者如何编写和执行他们的第一个 Perl 脚本,包括 Perl 的基本概念、脚本的基本结构、运行 Perl 脚本的方法以及一些简单的 Perl 语法。 引言 Perl&am…...
python库 - missingno
missingno 是一个用于可视化和分析数据集中缺失值的 Python 库。它提供了一系列简单而强大的工具,帮助用户直观地理解数据中的缺失模式,从而更好地进行数据清洗和预处理。missingno 库特别适用于数据分析和数据科学项目,尤其是在处理缺失数据…...
VPN的限制使得WinSCP无法直接连接到FTP服务器解决办法
由于VPN的限制使得WinSCP无法直接连接到FTP服务器,并且堡垒机的文件上传限制为500M,因此我们需要找到一种绕过这些限制的方法。以下是几个可行的方案: 方法1:通过分割文件上传 分割文件: 使用文件分割工具(…...
PCI DSS是什么?
PCI DSS,全称为Payment Card Industry Data Security Standard(支付卡行业数据安全标准),是由支付卡行业安全标准委员会(PCI Security Standards Council)制定的一套安全标准,旨在保护信用卡信息…...
DeepMind的JEST技术:AI训练速度提升13倍,能效增强10倍,引领绿色AI革命
谷歌旗下的人工智能研究实验室DeepMind发布了一项关于人工智能模型训练的新研究成果,声称其新提出的“联合示例选择”(Joint Example Selection,简称JEST)技术能够极大地提高训练速度和能源效率,相比其他方法ÿ…...
如何使用 pytorch 创建一个神经网络
我已发布在:如何使用 pytorch 创建一个神经网络 SapientialM.Github.io 构建神经网络 1 导入所需包 import os import torch from torch import nn from torch.utils.data import DataLoader from torchvision import datasets, transforms2 检查GPU是否可用 dev…...
Java版Flink使用指南——定制RabbitMQ数据源的序列化器
大纲 新建工程新增依赖数据对象序列化器接入数据源 测试修改Slot个数打包、提交、运行 工程代码 在《Java版Flink使用指南——从RabbitMQ中队列中接入消息流》一文中,我们从RabbitMQ队列中读取了字符串型数据。如果我们希望读取的数据被自动化转换为一个对象&#x…...
CV每日论文--2024.7.8
1、DisCo-Diff: Enhancing Continuous Diffusion Models with Discrete Latents 中文标题:DisCo-Diff:利用离散潜伏增强连续扩散模型 简介:这篇文章提出了一种新型的离散-连续潜变量扩散模型(DisCo-Diff),旨在改善传统扩散模型(DMs)存在的问…...
【AI大模型】赋能儿童安全:楼层与室内定位实践与未来发展
文章目录 引言第一章:AI与室内定位技术1.1 AI技术概述1.2 室内定位技术概述1.3 楼层定位的挑战与解决方案 第二章:儿童定位与安全监控的需求2.1 儿童安全问题的现状2.2 智能穿戴设备的兴起 第三章:技术实现细节3.1 硬件设计与选择传感器选择与…...
云服务器linux系统安装配置docker
在我们拿到一个纯净的linux系统时,我需要进行一些基础环境的配置 (如果是云服务器可以用XShell远程连接,如果连接不上可能是服务器没开放22端口) 下面是配置环境的步骤 sudo -s进入root权限:退出使用exit sudo -i进入…...
泰勒雷达图2
matplotlib绘制泰勒雷达图 import matplotlib.pyplot as plt import numpy as np from numpy.core.fromnumeric import shape import pandas as pd import dask.dataframe as dd from matplotlib.projections import PolarAxes import mpl_toolkits.axisartist.floating_axes a…...
数据库容灾 | MySQL MGR与阿里云PolarDB-X Paxos的深度对比
开源生态 众所周知,MySQL主备库(两节点)一般通过异步复制、半同步复制(Semi-Sync)来实现数据高可用,但主备架构在机房网络故障、主机hang住等异常场景下,HA切换后大概率就会出现数据不一致的问…...
react根据后端返回数据动态添加路由
以下代码都为部分核心代码 一.根据不同的登录用户,返回不同的权限列表 ,以下是三种不同用户限权列表 const pression { //超级管理员BigAdmin: [{key: "screen",icon: "FileOutlined",label: "数据图表",},{key: "…...
机器学习中的可解释性
「AI秘籍」系列课程: 人工智能应用数学基础 人工智能Python基础 人工智能基础核心知识 人工智能BI核心知识 人工智能CV核心知识 为什么我们需要了解模型如何进行预测 我们是否应该始终信任表现良好的模型?模型可能会拒绝你的抵押贷款申请或诊断你患…...
上海慕尼黑电子展开展,启明智显携物联网前沿方案亮相
随着科技创新的浪潮不断涌来,上海慕尼黑电子展在万众瞩目中盛大开幕。本次展会汇聚了全球顶尖的电子产品与技术解决方案,成为业界瞩目的焦点。启明智显作为物联网彩屏显示领域的佼佼者携产品亮相展会,为参展者带来了RTOS、LINUX全系列方案及A…...
Centos7离线安装ElasticSearch7.4.2
一、官网下载相关的安装包 ElasticSearch7.4.2: elasticsearch-7.4.2-linux-x86_64.tar.gz 下载中文分词器: elasticsearch-analysis-ik-7.4.2.zip 二、上传解压文件到服务器 上传到目录:/home/data/elasticsearch 解压文件࿱…...
深入理解sklearn中的模型参数优化技术
参数优化是机器学习中的关键步骤,它直接影响模型的性能和泛化能力。在sklearn中,参数优化可以通过多种方式实现,包括网格搜索(GridSearchCV)、随机搜索(RandomizedSearchCV)和贝叶斯优化等。本文…...
【Elasticsearch】开源搜索技术的演进与选择:Elasticsearch 与 OpenSearch
开源搜索技术的演进与选择:Elasticsearch 与 OpenSearch 1.历史发展2.OpenSearch 与 Elasticsearch 相同点3.OpenSearch 与 Elasticsearch 不同点3.1 版本大不同3.2 许可证不同3.3 社区不同3.4 功能不同3.5 安全性不同3.6 性能不同3.7 价格不同3.8 两者可相互导入 4…...
欧拉openEuler 22.03 LTS-部署k8sv1.03.1
1.设置ip # vi /etc/sysconfig/network-scripts/ifcfg-ens32 TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOstatic DEFROUTEyes IPV4_FAILURE_FATALno #IPV6INITyes #IPV6_AUTOCONFyes #IPV6_DEFROUTEyes #IPV6_FAILURE_FATALno #IPV6_ADDR_GEN_MODEeui64 NAMEens1…...
老年生活照护实训室:为养老服务业输送专业人才
本文探讨了老年生活照护实训室在养老服务业专业人才培养中的关键作用。通过详细阐述实训室的功能、教学实践、对学生能力的培养以及面临的挑战和解决方案,强调了其在提升人才素质、满足行业需求方面的重要性,旨在为养老服务业的可持续发展提供有力的人才…...
go语言中使用WaitGroup和channel实现处理多线程问题
WaitGroup 背景 如果将一个任务分为任意个小任务,并且不关心小任务的执行顺序,并且希望等待全部的小任务执行完成后再去操作后面的逻辑,那我推荐你用sync.WaitGRoup 使用方法 比如,有一个任务需要执行 3 个子任务,…...
Open3D 计算点云的平均密度
目录 一、概述 1.1基于领域密度计算原理 1.2应用 二、代码实现 三、实现效果 2.1点云显示 2.2密度计算结果 一、概述 在点云处理中,点的密度通常表示为某个点周围一定区域内的点的数量。高密度区域表示点云较密集,低密度区域表示点云较稀疏。计算…...
C语言之数据在内存中的存储(1),整形与大小端字节序
目录 前言 一、整形数据在内存中的存储 二、大小端字节序 三、大小端字节序的判断 四、字符型数据在内存中的存储 总结 前言 本文主要讲述整型包括字符型是如何在内存中存储的,涉及到大小端字节序这一概念,还有如何判断大小端,希望对大…...
B端全局导航:左侧还是顶部?不是随随便便,有依据在。
一、什么是全局导航 B端系统的全局导航是指在B端系统中的主要导航菜单,它通常位于系统的顶部或左侧,提供了系统中各个模块和功能的入口。全局导航菜单可以帮助用户快速找到和访问系统中的各个功能模块,提高系统的可用性和用户体验。 全局导航…...
什么是海外仓管理自动化?策略及落地实施步骤指南
作为海外仓的管理者,你每天都面临提高海外仓运营效率、降低成本和满足客户需求的问题。海外仓自动化管理技术为这些问题提供了不错的解决思路,不过和任何新技术一样,从策略到落地实施,都有一个对基础逻辑的认识过程。 今天我们整…...
自定义控件三部曲之绘图篇(六)Paint之函数大汇总、ColorMatrix与滤镜效果、setColorFilter
在自定义控件的绘图篇中,Paint 类是核心的组成部分之一,它控制了在 Canvas 上绘制的内容的各种属性,包括颜色、风格、抗锯齿、透明度等等。下面将详细介绍 Paint 的主要功能以及如何使用 ColorMatrix 和 setColorFilter 来实现滤镜效果。 Pa…...
虚拟主机 视频网站/更厉害的病毒2024
max_locks_per_transaction 2048...
公司自己做网站多少费用/企业管理培训
在做一个取子节点的程序中遇到的一个问题,本来用childNodes是很容易搞定的事情,结果... <div id"mylist"><li>first</li><li>second</li><li>third</li></div> <script language"jav…...
中文网站模板下载免费/武汉网络营销公司排名
策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。 讲人话就是:定义一系列算法逻辑,处理类似的业务场景。 讲JavaScript话就是:你知道Math吗?就是把一堆数学方…...
新泰市建设局网站/论坛推广工具
很奇怪的一个问题,我的电脑不能被远程桌面连接,但是可以使用Remote Desktop Organizer连接。 原因是因为,有个配置问题。解决方案: 命令:gpedit.msc 打开“本地组策略编辑器” 本地计算机策略->计算机配置->W…...
网站缩放代码/如何做网站优化
当前位置:我的异常网 Web前端 java xfire spring 公布服务端web service 以及客java xfire spring 公布服务端web service 以及客户端调用www.myexceptions.net 网友分享于:2013-09-08 浏览:34次java xfire spring 发布服务端web service 以及客户端调…...
新疆网站建设大全/北京网站制作推广
自己做站点的时候,都看看收录和关键词排名什么的,所以打造的这个批量关键词查询工具。#encoding:utf-8import urllib,re,random,time,sys,StringIO,sockettry:import pycurlexcept:passfrom bs4 import BeautifulSoupscore{1: 28.56,2: 19.23,3: 10.20,4…...