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.
服务端: 即代表在互联网中提供给用户服务的设备, 比如淘宝网、京东网、阿里云等网站或平台.
二层--数据链路层: 交换机(也有三层交换机)
三层--网络层: 路由器
交换机主要用于局域网内部的数据转发,而路由器主要用于不同网络之间的数据转发。

交换机 

交换机是一种用于转发数据包的计算机网络设备。通常用于局域网(LAN)中,用于提高网络性能和数据传输速度。
工作原理:基于MAC地址学习和转发。当计算机发送数据包到交换机时,交换机会学习源MAC地址和对应的接口,并将这些信息存储在转发表中。当收到目标地址为未知的数据包时,交换机会在转发表中查找目标MAC地址,并将数据包转发到相应的接口。
没有 IP 路由功能、仅处理数据链路层的交换机叫做二层交换机。二层交换机根据不同的功能而不同。带有 IP 路由功能的交换机叫做三层交换机。
简单的说,交换机就是用来组建一个局域网使用的。交换机的作用是放到路由器后端,来扩展路由器接口不够用而使用的。比如说,有20台电脑需要用网络,而路由器最多的只有8个口,只能接7台电脑,怎么办呢,这就需要交换机来扩展网络接口实现了。
#交换机基本都是24口起步,企业的都是48口起步

路由器 

负责网络层工作的硬件设备,用于连接不同的计算机网络,并根据目标IP地址将数据包从一个网络转发到另一个网络。
工作原理:基于路由表和路由协议。路由表是路由器内部存储的一张表,记录了目标网络的IP地址和对应的出口接口。路由器通过路由协议与其他路由器交换路由信息,更新自己的路由表,以便选择最佳的路径将数据包转发到目标网络。
路由表由多个路由表项组成,路由表项既可以手动设置静态路由,也可以通过路由协议自动生成动态路由。路由器为数据包选择路径的过程叫做路由选择
路由器的工作原理是怎么样的呢?路由器有个路由表,会自己学习、生成、维护路由表。
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.0.0.0-239.255.255.255
    D类IP地址目前这一类地址用来一次寻址一组计算机。该类IP地址的最前面为“1110”
   (第一个字节: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.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.了解机房的环境,温度,上架过程,以及去机房相关流程

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 06:46:05       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 06:46:05       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 06:46:05       62 阅读
  4. Python语言-面向对象

    2024-07-13 06:46:05       72 阅读

热门阅读

  1. 客户端与服务端之间的通信连接

    2024-07-13 06:46:05       27 阅读
  2. Redis服务器统计和配置信息简介

    2024-07-13 06:46:05       27 阅读
  3. React:useState和useEffect

    2024-07-13 06:46:05       28 阅读
  4. MySQL 面试真题(带答案)

    2024-07-13 06:46:05       17 阅读
  5. C#中的方法

    2024-07-13 06:46:05       25 阅读
  6. C# Path

    2024-07-13 06:46:05       26 阅读
  7. MyBatis(35)如何在 MyBatis 中实现软删除

    2024-07-13 06:46:05       25 阅读
  8. XML 应用程序

    2024-07-13 06:46:05       24 阅读
  9. 在Ubuntu 16.04上安装和保护MongoDB的方法

    2024-07-13 06:46:05       21 阅读
  10. 各个系统配置端口转发

    2024-07-13 06:46:05       21 阅读
  11. 地下城游戏中都有哪些类型的服务器?

    2024-07-13 06:46:05       25 阅读
  12. MongoDB部署模式分析

    2024-07-13 06:46:05       25 阅读