HCIA 第二天 基础概念

Posted GGGGGGGG!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HCIA 第二天 基础概念相关的知识,希望对你有一定的参考价值。

IP地址的分类

IP地址分为5类: A类,B类,C类,D类,E类

如何划分的?
根据IP地址的前八位来区分

A类:	 0开头		0xxx xxxx  		0 - 127(实际上是 1 - 126)
		 掩码:255.0.0.0  允许的主机数量就多 为2*2^24
		 
B类:	 10开头		10xx xxxx		128 - 191
		 掩码:255.255.0.0  允许的主机数量就多 为2*2^16
		
C类:	 110开头		110x xxxx		192 - 223
		 掩码:255.255.255.0  允许的主机数量就多 为2*2^8
		
D类:	 1110开头		1110 xxxx		224 - 239
	
E类:	 1111开头		1111 xxxx		240 - 255

A B C三类 为单播地址 特点:既可以成为源IP,也可以成为目标IP

D类 为组播地址 特点:只能作为目标IP使用

E类 为保留地址

单播: 一对一的通讯

组播: 一对多的通信(同一个组播组)但是需要配置组,需要给特定的一部份人发消息,就可以把它们从逻辑上划分为一个组,之后给这个组发送消息,就只有在组里面的能收到

广播: 一对所有(同一个广播域)。所有电脑在同一广播域,但如果有其它电脑在这个广播域,这个信息对于他们来说就是垃圾信息,会浪费计算机的运算能力。



特殊IP地址

  1. 127.0.0.1 - 127.255.255.254 环回地址
  2. 255.255.255.255 受限广播地址(被路由器限制)只能作为目标IP使用
  3. 主机位全1 直接广播地址 只能作为目标IP使用 掩码为255.255.255.0 ip为192.168.72.255 这个2551就是
  4. 主机为全0 代表的是一个网段,也称为网络号,是一个范围
  5. 0.0.0.0 可以代表没有地址 可以代表所有地址
  6. 169.254.0.0/16 自动私有地址 获取不到ip地址时,会自动在这个范围内找一个先用着,是个网段,不是具体的一个ip

电脑上不了网的解决思路

  1. ipconfig看自己有没有ip
  2. ping自己的IP地址,看能不能通,不能通再ping环回地址127.0.0.1,如果通,则可能物理网卡有问题,通不了,可能就系统有问题
  3. ping自己的网关
  4. ping与自己在同一广播域的ip



VLSM 可变长子网掩码 子网划分

做法:
看需求,需要划分出几个网段,加入需要划分3个网段,2^2 = 4,3在4的范围内,所以我们需要把主机位的前两位拿来加入网段

例一:

将192.168.1.0/24 划分出2个网段

因为2^1 = 2,所以我们拿主机位的前第一个用来划分网段


例二:

172.16.0.0/16 划分出7个网段:

因为2^3 = 8,7在8的范围内,我们就需要拿主机位的前三个来划分


主机位全为0,不能用 要加一



CIDR 无类域间路由 用于汇总

诀窍: 取相同,去不同

去不同:要把不同的那一位 展开写成2进制

例一:

超网: 上面的例子就是超网 原本的网络位(192开头的为C类网 掩码默认为/24) /24 之后变为 /22,而且网络位扩大,这种叫超网

汇总:

172开头的为B类网,掩码默认为/16,之后可能通过子网划分变成了 /24 ,但之后又汇总为 /22



OSI模型

开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型(OSI model)


OSI参考模型的核心思想:分层

​ 属于同一层面的不同功能,其目的和作用相似或相近。

​ 不同层面的功能及目的和作用都具有明显的差异。

​ 每一次都在下面一层提供的服务的基础上在提供增值服务。


分层的作用:

  1. 更易于标准化
  2. 降低层次之间的关联性
  3. 便于学习理解

七层:

应用层

抽象语言到编码

表示层

编码到二进制

会话层

维持网络应用和应用服务器之间的会话连接

传输层

实现端到端的传输 -- 端口号 -- 会话层地址 取值范围:1-65535 (2^16) 其中1-1023称为知名端口号			 用于区分不同会话地址

网络层

进行逻辑地址寻址,实现不同网络之间的路径选择

数据链路层

逻辑链路控制层(LLC)-- 在数据末尾增加一个校验和(FCS 帧校验序列,确保数据完整性	CRC 循环冗余算法)	

介质访问控制层(MAC)   二进制到电信号

物理层

处理电信号



TCP/IP协议簇

TCP/IP 四层模型 — TCP/IP标准模型
TCP/IP 五层模型 — TCP/IP对等模型

下面都是以五层模型来说的

与OSI对比

PDU 协议数据单元

在分层网络结构,例如在开放式系统互联(OSI)模型中,在传输系统的每一层都将建立协议数据单元(PDU)。PDU包含来自上层的信息和当前层的实体附加的信息,这个PDU会被传送到下一较低的层。物理层实际以一种编帧的位流形式传输这些PDU,这些PDU由协议栈的较高层建造。接收系统自下而上传送这些分组通过协议栈,并在协议栈的每一层分离出PDU中的相关信息。

L1PDU
L2PDU

L7PDU

封装与解封装

封装	数据加工的过程,把最重要信息的添加进数据包里面	
解封装	拆解数据包	

应用层

HTTP(超文本传输协议)-- TCP协议 80端口
FTP(文件传输协议)-- TCP协议 20/21
TELNET(远程连接协议)-- TCP 23
DHCP(动态主机配置协议)-- UDP 67/68
DNS(域名解析协议)-- UDP/TCP 53
TFTP(简单文件传输协议)-- UDP 69
HTTPS(HTTP + SSL/TLS)–TCP 443

传输层 需要封装端口号 TCP UDP

  1. TCP是面向连接的协议,UDP是无连接的协议
  2. TCP的传输是可靠的,UDP的传输不太可靠
  3. TCP可以分段,UDP不行
  4. TCP可以实现流控,UDP不行
  5. TCP传输速度较慢,消耗资源较大;UDP传输速度快,消耗资源小

TCP UDP使用场景

  1. TCP适用于效率要求较低,但准确性要求较高的场景
  2. UDP适用于效率要求较高,但准确性要求较低的场景

网络层 需要封装IP地址 IP协议

数据链路层 需要封装MAC地址 以太网协议 以太网:早期局域网的解决方案,主要依赖MAC地址进行寻址,以太网主要工作在1,2层


什么是面向连接?

​ 面向连接就是指设备在传输之前,先使用预备的协议建立点到点的连接,再传输数据



以太网 II 型帧

  1. 前导码(Preamble):由0、1间隔代码组成,用来通知目标站作好接收准备。
  2. 目标地址(Destination Address):表示接收帧的工作站的地址,各占据6个字节。目标地址可以是单址,也可以是多点传送或广播地址。
  3. 源地址( Source Address):表示发送的工作站的地址,各占据6个字节。
  4. 类型(Type):指定接收数据的高层协议类型。
  5. 数据(Data):在经过物理层和逻辑链路层的处理之后,包含在帧中的数据将被传递给在类型段中指定的高层协议。该数据段的长度最小应当不低于46个字节,最大应不超过1500字节。如果数据段长度过小,那么将会在数据段后自动填充(Trailer)字符。相反,如果数据段长度过大,那么将会把数据段分段后传输。
  6. 帧校验序列(FSC):包含长度为4个字节的循环冗余校验值(CRC),由发送设备计算产生,在接收方被重新计算以确定帧在传送过程中是否被损坏。



TCP的头部

16位端口号: 告知主机该报文段是来自哪里(源端口Source Port)以及传给哪个上层协议或应用程序(目的端口Destination Port)的。进行TCP通信时,客户端通常使用系统自动选择的临时端口号,而服务器则使用知名服务端口号(比如DNS协议对应端口53,HTTP协议对应80,这些端口号可在/etc/services文件中找到)。

32位序号: 一次TCP通信(从TCP连接建立到断开)过程中某一个传输方向上的字节流的每个字节的编号。假设主机A和主机B进行TCP通信,A发送给B的第一个TCP报文段中,序号值被系统初始化为某个随机值ISN(Initial Sequence Number,初始序号值)。那么在该传输方向上(从A到B),后续的TCP报文段中序号值将被系统设置成ISN加上该报文段所携带数据的第一个字节在整个字节流中的偏移。例如,某个TCP报文段传送的数据是字节流中的第1025~2048字节,那么该报文段的序号值就是ISN+1025.另外一个传输方向(从B到A)的TCP报文段的序号值也具有相同的含义。

32位确认号(acknowledgement number):用作对另一方发送来的TCP报文段的响应。其值是收到的TCP报文段的序号值加1。假设主机A和主机B进行TCP通信,那么A发送出的TCP报文段不仅携带自己的序号,而且包含对B发送来的TCP报文段的确认号。反之,B发送出的TCP报文段也同时携带自己的序号和对A发送来的报文段的确认号。

4位头部长度(header length):标识该TCP头部有多少个32bit字(4字节)。因为4位最大能标识15,所以TCP头部最长是60字节。

6位标志位包含如下几项:

URG标志,表示紧急指针(urgent pointer)是否有效。

ACK标志,表示确认号是否有效。我们称携带ACK标识的TCP报文段为确认报文段。

PSH标志,提示接收端应用程序应该立即从TCP接收缓冲区中读走数据,为接收后续数据腾出空间(如果应用程序不将接收到的数据读走,它们就会一直停留在TCP接收缓冲区中)。

RST标志,表示要求对方重新建立连接。我们称携带RST标志的TCP报文段为复位报文段。

SYN标志,表示请求建立一个连接。我们称携带SYN标志的TCP报文段为同步报文段。

FIN标志,表示通知对方本端要关闭连接了。我们称携带FIN标志的TCP报文段为结束报文段。

16位窗口大小(window size):是TCP流量控制的一个手段。这里说的窗口,指的是接收通告窗口(Receiver Window,RWND)。它告诉对方本端的TCP接收缓冲区还能容纳多少字节的数据,这样对方就可以控制发送数据的速度。

16位校验和(TCP check sum):由发送端填充,接收端对TCP报文段执行CRC算法以检验TCP报文段在传输过程中是否损坏。注意,这个校验不仅包括TCP头部,也包括数据部分。这也是TCP可靠传输的一个重要保障。

16位紧急指针(urgent pointer):是一个正的偏移量。它和序号字段的值相加表示最后一个紧急数据的下一字节的序号。因此,确切地说,这个字段是紧急指针相对当前序号的偏移,不妨称之为紧急偏移。TCP的紧急指针是发送端向接收端发送紧急数据的方法。

TCP头部选项: TCP头部的最后一个选项字段(options)是可变长的可选信息。这部分最多包含40字节,因为TCP头部最长是60字节(其中还包含前面讨论的20字节的固定部分)。


伪头部校验: 校验网络层中12个字节的内容,32位源IP,32目标IP,8位保留,8位协议,16位总长度




UDP头部

头部结构中各部分的作用:

  1. 16位源端口号 记录源端口号,在需要对方回信时选用。不需要时可用全0。
  2. 16位目的端口号 记录目标端口号。这在终点交付报文时必须要使用到。
  3. UDP长度 UDP数据报的长度(包括数据和首部),其最小值为8B(即仅有首部没有数据的情况)。
  4. 校验和检测UDP数据报在传输中是否有错,有错就丢弃。该字段时可选的,当源主机不想计算校验和,则直接令该字段为全0。当传输层从IP层收到UDP数据报时,就根据首部中的目的端口,把UDP数据报通过相应的端口,上交给进程。如果接收方UDP发现收到的报文中目的端口号不正确(即不存在对应端口号的应用进程),就丢弃该报文,并由ICMP发送“端口不可达”差错报文交给发送方。

以上是关于HCIA 第二天 基础概念的主要内容,如果未能解决你的问题,请参考以下文章

HCIA笔记-----第二天

Spring第二天——IOC注解操作与AOP概念

Openc的基础数据类型(学习第二天)

mongoDB 学习第二天

JavaScript 进阶 - 0基础第二天

TP基础问题第二天