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,确认序号为收到序号+1
 3)第三次挥手: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    /24
   11000000 . 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=255
 1    1   0   0  0  0  0  0=192
 1    0   1   1  0  0  1  0=168
 0    1   1   1  0  1  0  0=116
 0    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=172
 0  0  0  1  1  1  1  1=31
 0  1  1  1  0  1  0  0=116
 0  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=10
 0  0  1  1  0  0  1  0=50
 0  0  0  0  0  1  0  0=4
 0  0  0  0  0  0  1  1=3
10.50.4.3
​
10101100.00000000.10111010.00000000
128 64 32 14 8  4  2  1
 1  0  1  0  1  1  0  0=172
 0  0  0  0  0  0  0  0=0
 1  0  1  1  1  0  1  0=184
 0  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地址)
D224.0.0.0-239.255.255.255范围从224-239,多播,用来一次寻址一组计算机
E240.0.0.0-255.255.255.255范围从240-254,保留地址范围,用于特定目的或将来的使用,例如特定协议或实验性用途

IP地址的组成

子网掩码
IP类型默认子网掩码二进制含义
A类255.0.0.0 或 /811111111.00000000.00000000.00000000前八位是网络号
B类255.255.0.0 或 /1611111111.11111111.00000000.00000000前16位是网络号
C类255.255.255.0 或 /2411111111.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.45

128  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.00010100

10.1.1.20
11000000.10101000.00010100.01010100

192.168.20.84
3.了解机房的环境,温度,上架过程,以及去机房相关流程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/784103.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OceanBase 配置项系统变量实现及应用详解(1):配置项的定义及使用方法

《OceanBase 配置项&系统变量实现及应用详解》专题导读 在使用OceanBase的过程中,看到大家经常会遇到“参数”、“配置项”、“系统变量”等概念,却不太清楚它们是不是同一个东西,以及应该如何使用。一些对数据库开发感兴趣的朋友&#…

LabVIEW开发商业软件的多角度分析与注意事项

在使用LabVIEW开发商业软件时,有许多方面需要考虑和注意,包括项目管理、架构设计、性能优化、用户体验、安全性、维护与支持等。以下是从多个角度详细分析在LabVIEW中开发商业软件需要注意的事项。 项目管理 需求分析:确保深入了解客户需求&a…

虚值期权和实值期权的区别?便宜的虚值期权是最好的选择吗?

今天带你了解虚值期权和实值期权的区别?便宜的虚值期权是最好的选择吗?买实值期权和买虚值期权都有各自的优势和风险。实值期权是指行权价格低于标的资产的市场价格,而虚值期权则是指行权价格高于标的资产的市场价格。 实值期权和虚值期权的…

SAPUI5基础知识11 - 组件配置(Component)

1. 背景 组件(Component)是SAPUI5应用程序中独立且可重用的部件。 SAPUI5提供以下两类组件: faceless组件 (class: sap.ui.core.Component): 无界面组件即没有用户界面相关的元素,用于不需要UI元素编码的场景; UI组件 (class: …

Greenplum(二)【SQL】

前言 Greenplum 的剩余部分主要其实主要就是 DDL 和之前学的 MySQL 不大一样,毕竟 Greenplum 是基于 PostgreSQL 数据库的,不过那些 DML 和 MySQL、Hive 基本上大差不差,所以就没有必要浪费时间了。 1、DDL 1.1、库操作 1.1.1、创建数据库…

p11函数和递归

递归与迭代 求n的阶乘。&#xff08;不考虑溢出&#xff09; int Fac1(int n) {int i0;int ret1;for(i1;i<n;i){ret*i;}return ret; } int main(){//求n的阶乘int n0;int ret0;scanf("%d",&n);retFac1(n);printf("%d\n",ret);return 0; } int Fac…

Qt 进程间通信(一)——QSharedMemory共享内存

QSharedMemory共享内存 序言环境理论—逻辑理解实战—代码读取示例写入示例 序言 讲讲Qt的共享内存吧&#xff0c;巩固下 环境 msvc2022 Qt5.15 参考文档&#xff1a;https://doc.qt.io/qt-5/qsharedmemory.html 理论—逻辑理解 看下面前&#xff0c;你需要将共享内存看成…

【设计模式】观察者模式(定义 | 特点 | Demo入门讲解)

文章目录 定义结构Demo | 代码Subject目标类Observer抽象观察者观察者1 | CPU监听器观察者2 | 内存监听器客户端 | Client 优点适合场景 定义 所谓观察者模式就是你是被观察的那个对象&#xff0c;你爸爸妈妈就是观察者&#xff0c;一天24h盯着你&#xff0c;一旦你不听话&…

NFT 技术在艺术领域的应用

NFT (Non-Fungible Token) 技术在艺术领域有着广泛的应用&#xff0c;为艺术家和艺术品收藏家带来了新的机遇和挑战。以下是 NFT 技术在艺术领域的一些主要应用。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1. 数字艺术品确权和交…

spring mvc学习

第四章 Spring MVC 第一节 Spring MVC 简介 1. Spring MVC SpringMVC是一个Java 开源框架&#xff0c; 是Spring Framework生态中的一个独立模块&#xff0c;它基于 Spring 实现了Web MVC&#xff08;数据、业务与展现&#xff09;设计模式的请求驱动类型的轻量级Web框架&am…

C#-反射

一、概念 反射&#xff08;Reflection&#xff09;在C#中是一种非常重要的特性&#xff0c;它为开发者提供了在运行时获取和操作关于类型、成员、属性、方法等的详细信息的能力。通过反射&#xff0c;开发者可以在程序运行期间动态地创建对象、调用方法、设置属性值以及进行其…

【免费数字孪生平台】零代码制作智慧农业蔬菜大棚可视化

一&#xff0e;智慧农业的价值 智慧农业&#xff0c;作为农业中的智慧经济形态&#xff0c;是现代科学技术与农业种植深度融合的产物。它通过将物联网、云计算、大数据、人工智能等现代信息技术集成应用于农业生产中&#xff0c;实现了农业生产的无人化、自动化和智能化管理。…

考CISP,不要踩坑的几点建议

当你立志要在信息安全领域闯出一片天&#xff0c;可能多少都会听行内人说&#xff0c;搞本CISP。但这个认证究竟该怎么拿&#xff1f;需要培训吗&#xff1f;培训又是怎么一回事&#xff1f;价格如何&#xff1f;还有&#xff0c;什么时候开始准备最好&#xff1f;这些问题可能…

为什么看起来很低智商的广告比高大上的广告转化效果更好?

大家在刷抖音的时候&#xff0c;是不是总能刷到一些看起来很低质、很尴尬的广告&#xff0c;或者说是一些毫无吸引力的小说剧情&#xff1f;这些广告和内容让人忍不住怀疑&#xff0c;为什么这么低级的广告竟然会有人点击&#xff1f;其实&#xff0c;这背后有着深刻的营销策略…

BJT的结构(晶体管电压/电流+β+晶体管特性曲线/截止与饱和+直流负载线(Q点))+单片机数码管基础

2024-7-8&#xff0c;星期一&#xff0c;20:23&#xff0c;天气&#xff1a;晴&#xff0c;心情&#xff1a;晴。今天没有什么特殊的事情发生&#xff0c;周末休息了两天&#xff0c;周一回来继续学习啦&#xff0c;加油加油&#xff01;&#xff01;&#xff01; 今日完成模电…

HAProxy安装配置详解

HAProxy是一个使用C语言编写的自由及开放源代码软件&#xff0c;其提供高可用性、负载均衡&#xff0c;以及基于TCP和HTTP的应用程序代理。   HAProxy特别适用于那些负载特大的web站点&#xff0c;这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上&#xf…

珍藏多年的计算机内核结构大全笔记,掌握计算机工作原理真不难

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…

大模型面试笔试常见问题汇总(精心准备)

1 GPT和Bert的区别? 1.模型结构和训练方式 BERT通过掩码语言模型(Masked Language Model, MLM)和下一句预测(Next Sentence Prediction, NSP)任务进行训练: 掩码语言模型(MLM):在输入序列中,BERT随机掩盖一些词语,并要求模型预测这些被掩盖的词语。这使得BERT能够学…

TCP的p2p网络模式

TCP的p2p网络模式 1、tcp连接的状态有以下11种 CLOSED&#xff1a;关闭状态LISTEN&#xff1a;服务端状态&#xff0c;等待客户端发起连接请求SYN_SENT&#xff1a;客户端已发送同步连接请求&#xff0c;等待服务端相应SYN_RECEIVED&#xff1a;服务器收到客户端的SYN请请求&…

214.贪心算法:K次取反后最大化的数组和(力扣)

class Solution { public:int largestSumAfterKNegations(vector<int>& nums, int k) {int sum 0;// 进行k次取反操作while (k > 0){// 对数组进行排序sort(nums.begin(), nums.end());// 将最小的元素取反nums[0] -nums[0];// 减少k的值k--;}// 计算数组的总和…