hcia笔记-----第二天(代码片段)

野原皮皮虾 野原皮皮虾     2022-12-31     310

关键词:


IP地址的分类


ipv4分类:A,B,C,D,E 根据前8位数字特征来区分的

A类:必须是0开头的 0xxx xxxx 0~127 实际是 1~126

B类:必须是10开头的 10xx xxxx 128~191

C类:必须是110开头的 110x xxxx 192~223

D类:必须是1110开头的 1110 xxxx 224~239

E类:必须是1111开头的 1111 xxxx 240~255

A,B,C三类为单播地址 ---------特点:既可以做源ip,也可以做目标ip使用

规定A类地址的掩码:255.0.0.0 8位掩码 广播域为 2^8次方 每一个广播域里面的主机只有2的24次方

B类地址的掩码:255.255.0.0 16位掩码 广播域为 2^16次方 每一个广播域里面的主机只有2的16次方

C类地址的掩码:255.255.255.0 24位掩码 广播域为 2^24次方 每一个广播域里面的主机只有2的8次方

D类IP地址不分网络地址和主机地址,是一个专门保留的地址。主要用于多点广播(Multicast,也称为多播)之中作为多播组IP地址。其中,多播组IP地址让源主机能够将分组发送给网络中的一组主机,属于多播组的主机将被分配一个多播组lP地址。由于多播组lP地址标识了一组主机(也称为主机组),因此多播组IP地址只能作为目标地址,源地址总是为单播地址。

E类IP地址为保留地址 此网段的地址不分配使用

注意:现在用的基本都是无类别的分发,不用它规定的A,B,C类,子网掩码可以根据自己更改


特殊IP地址:

127.0.0.1 ~127.255.255.254----------是一个换回地址

127是一个虚拟的ip,用来排错用的

一般排错分以下几步:
1、ping 127.0.0.1 先检查TCP/IP协议栈是否正常。
2、ping 本地ip 检查你网卡是否工作正常。
3、ping 网关地址 检查本地主机与网关的链路是否通畅。
4、ping 远程网站 检查本地主机与外网远程网站关的链路是否通畅。

255.255.255.255------------受限广播地址--------------只能作为目标ip使用

当你不知道目标ip时就可以使用这个地址当做目标ip,逼交换机进行泛洪,但是当数据包发到路由器时,路由器会把这个包丢掉,所有你的数据包不能跨广播域发送。

主机位全1--------直接广播地址--------------只能作为目标ip使用

与受限广播不同的是路由器会转发收到的包
例:pc1向pc3发消息(不同广播域的)

源ip:自己的ip 目标ip:192.168.2.255 源MAC:自己 目标MAC:路由器(广播)

路由器收到后:源ip:pc1的ip 目标ip:192.168.2.55 源MAC:路由器 目标MAC:FFFF—FFFF—FFFF

主机位全0-------------代表一个范围,一个网段

192.168.1.0----------只能作为目标ip使用

169.254.0.0/16 -----------这是一个网段,代表自动私有地址

问别人要ip地址时,没人给ip地址,自动给自己配ip的范围

VLSM---------可变长子网掩码

作用:划分子网

划分网段可以借助网掩码 借一位可以划分2^1个网段 ,借二位可以划分2^2个网段,以此类推。

例1:从192.168.1.0/24 划分出两个网段

192.168.1.0 0000000 /25

划分的地址范围: —192.168.1.0/25 192.168.1.1-192.168.1.126

192.168.1.1 0000000 /25

划分的地址范围:—192.168.1.128/25 192.168.1.129-192.168.1.254



例:172.16.0.0/16---划分出7个网段
172.16.000 00000.00000000     172.16.0.0/19     172.16.0.1 -  172.16.31.254
172.16.001 00000.00000000     172.16.32.0/19    172.16.32.1 - 172.16.63.254
172.16.010 00000.00000000     172.16.64.0/19    172.16.64.1 - 172.16.95.254
172.16.011 00000.00000000     172.16.96.0/19    172.16.96.1 - 172.16.127.254  
172.16.100 00000.00000000     172.16.128.0/19   172.16.128.1 - 172.16.159.254
172.16.101 00000.00000000     172.16.160.0/19   172.16.160.1 - 172.16.191.254
172.16.110 00000.00000000     172.16.192.0/19   172.16.192.1 - 172.16.223.254
172.16.111 00000.00000000     172.16.224.0/19   172.16.224.1 - 172.16.255.254

CIDR---------无类域间路由

作用:汇总(把小的网络组成一个更大的网络),用法:取相同,去不同-----针对二进制

例:把下列网段汇总成一个网段
192.168.0.0/24                   192.168.000000  00.0/24

192.168.1.0/24                   192.168.000000  01.0/24

192.168.2.0/24					  192.168.000000  10.0/24

192.168.3.0/24                    192.168.000000  11.0/24

最后汇总如下
192.168.000000 00.00000000
192.168.0.0/22
分出来的是一个超网  
因为:原来是C类网段(默认24位网络位),现在的网络位变少了,也就是容纳的主机更多了
例2:把下列网段汇总成一个网段
172.16.0.0/24         172.16.1.0/24
 
172.16.2.0/24         172.16.3.0/24

172.16.0.0/22---------汇总           将多网段,汇合成一个
分出来的是一个子网

判断一个网段到底是子网还是超网,就要看该默认网段是A类网络、还是B类网络、还是C类网络,默认A类子网掩码/8(网络位8位),B类子网掩码是/16(网络位16位),C类子网掩码是/24(网络位24位)。

如果该网段的网络位比默认的网络位长,就是子网,如果该网段的网络位比默认的网络位短,则是超网。




OSI七层参考模型

OSI/RM-----开放式系统互联/参考模型

OSI参考模型是国际标准化组织(ISO)1979年制定的

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

什么是分层:属于同一层面的不同功能,其目的和作用相似或相近;不同层面的功能其目的和作用具有明显的差异。每一层都在下面一层提供的服务的基础上在提供增值服务

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

应用层 ------------抽象语言转换成编码

表示层-------------编码转换成二进制

会话层--------------维持网络应用和应用服务器之间的会话连接。就像qq发消息一样,你可以实时的接收到消息

传输层--------------实现端到端的传输。实现应用到应用之间的传输,端口号-----就是会话层地址,由16位二进制构成,2的16次方 1 ~65535
0一般不用,其中 1-1023称为知名端口号:如http后面跟80端口,
例:访问http服务
源端口号:随机值(555) 目标端口:80 回去的时候:源端口80 目标:555
源ip:1.1 目标ip:10.1
源mac:自己 目标mac:网关

网络层 -----------------路由器 ,ip--------互联网协议

数据链路层 --------包含两个子层 逻辑链路控制层(LLC),介质访问控制层(MAC)

LLC----------可以在数据的末尾增加一个校验盒(FCS帧校验序列)确保数据的完整性,FCS通过crs算法得到(循环冗余算法),防止传输过程中信息篡改,和丢失。

物理层 ----------处理电信号




TCP/IP参考模型

现如今用的参考模型
TCP/IP 是一个协议簇,它组建整个互联网
最主要的是TCP/IP 和这两个协议,所以起名为TCP/IP

TCP/IP四层模型--------TCP/IP标准模型

TCP/IP五层模型---------TCP/IP对等模型

PDU-----------协议数据单元---------数据在不同层中的单位(叫什么)

在OSI模型叫法:

在物理层就叫:L1PDU      依次向上
		    L2PDU 
​		   ......
            L7PDU
            
在TCP/IP中叫法:
应用层 -------------数据报文

传输层 -------------数据段

网络层--------------数据包

数据链路层-----------数据帧

物理层---------------比特流

封装和解封装

数据在每一层加工的过程称为封装,封装是从上到下,解封装是从下到上

应用层 ----------一个有端口号的协议就一定是应用层协议

常见的协议:

http(超文本传输协议)------------基于tcp 80端口

FTP(文件传输协议)------------tcp 20 21号端口

telnet(远程登录协议)-----------tcp 23号端口

dhcp(动态主机配置协议)----------UDP 67/68

DNS(域名解析协议)----------------UDP/TCP 53

tftp(简单文件传输协议)----------------UDP 69

tftp跟ftp有什么区别:tftp只能文件上传和下载 ftp有认证

HTTPS-----------------HTTP+SSL(现在叫TLS)是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性-------TCP443号端口

传输层 -------------将端口号添加到数据当中(干事的是协议)TCP/UDP

​传输层-------TCP和UDP的区别:

1.TCP协议是面向连接的协议,UDP是无连接的协议

2.TCP的传输时可靠的,UDP的传输“尽力而为”;

3.TCP可以以分段,UDP不行

4.TCP可以实现流控,UDP不行

5.TCP传输速度慢,消耗资源较大;UDP传输速度快,消耗资源小;

TCP和UDP的使用场景

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

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

什么叫做面向连接,什么是无连接

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

面向连接和无连接的主要区别在于连接时是否有“通讯会话(communication session)”存在,简单来说,区别在于需不需要“拨号等待接通”、“确保对方收到”、还有对方“知不知道有数据发过来”。

TCP的头部

源端口号(16位)、目的端口号(16位)2个字节
计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口某个时刻只能被一个进程占用,所以通过指定源端口和目标端口,就可以知道是哪两个进程需要通信
序号(32位)4个字节
来标识从 TCP 源端向 TCP 目的端发送的数据字节流,它表示在这个报文段中的第一个数据字节的顺序号。如果将字节流看作在两个应用程序间的单向流动,则 TCP 用顺序号对每个字节进行计数。序号是 32bit 的无符号数,**序号到达 (2^32) - 1 后又从 0 开始。**当建立一个新的连接时, SYN 标志变 1 ,顺序号字段包含由这个主机选择的该连接的初始顺序号 ISN ( Initial Sequence Number )
进行一个排序的作用,因为它的数据具有分段功能 所以需要由排序,保持原有的顺序
确认序号(32位)4个字节
包含发送确认的一端所期望收到的下一个顺序号。因此,确认序号应当是上次已成功收到数据字节序号加 1 。只有 ACK 标志为 1 时确认序号字段才有效
数据
数据,不定长度,为上层协议封装好的数据
选项
一般是空的,根据需要添加
首部长度(4位)
标识头部,因为头部长度(TCP整个头部)不固定,头部长度最短20个字节
保留(6位)
保留区域,6位,保留给将来使用,目前必须置为 0
URG:紧急标记位 ,为 1 表示紧急指针有效,为 0 则忽略紧急指针值,配合紧急指针使用
ACK:为1时,确认号有效,必须置1
PSH:为 1 表示是带有 PUSH 标志的数据,指示接收方应该尽快将这个报文段交给应用层而不用等待缓冲区装满
RST:用于复位由于主机崩溃或其他原因而出现错误的连接。它还可以用于拒绝非法的报文段和拒绝连接请求。一般情况下,如果收到一个 RST 为 1 的报文,那么一定发生了某些问题
SYN:同步序号,为 1 表示连接请求,用于建立连接和使顺序号同步
FIN:用于释放连接,为 1 表示发送方已经没有数据发送了,即关闭本方数据流
窗口大小(16位)
此字段用来进行流量控制,主要用于解决流控拥塞的问题。单位为字节数,这个值是本机期望一次接收的字节数。
紧急指针(16位)
它是一个偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号
校验和(16位)
对整个的 TCP 报文段(包括 TCP 头部和 TCP 数据),以 16 位字进行计算所得。这是一个强制性的字段,要求由发送端计算和存储,并由接收端进行验证
确认数据的完整性,这里的是伪头部检验,会校验网络层中12个子节的内容----32位源ip,32位目标ip,8位保留 (都是置0),8位的协议,16位总长度

UDP的头部

头部固定8个字节

源端口号(16位)、目的端口号(16位)2个字节
计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口某个时刻只能被一个进程占用,所以通过指定源端口和目标端口,就可以知道是哪两个进程需要通信
16位UDP长度
UDP数据报的长度(包括数据和首部),其最小值为8B(即仅有首部没有数据的情况)。
16位校验和
跟tcp校验一样,有时候可以不填
数据
数据,不定长度,为上层协议封装好的数据

网络层--------------把IP地址添加到数据中 --------干事的是IP协议


数据链路层----------MAC地址---------干事的是以太网协议:早期局域网的解决方案,主要依赖MAC地址寻址。以太网主要工作在一、二层。

前导码(Preamble):由0、1间隔代码组成,用来通知目标站作好接收准备
目标地址
源地址
Type:网络层的协议类型,上一层用的协议类型
Date:数据
FSC:包含长度为4个字节的循环冗余校验值(CRC),由发送设备计算产生,在接收方被重新计算以确定帧在传送过程中是否被损坏。

hcia笔记-----第五天(动态路由rip和ospf)(代码片段)

静态路由和动态路由的区别静态路由:由网络管理员手工添加的路由动态路由:所有路由器上运行相同的路由协议,之后,通过路由器之间的沟通交流,最终计算生成的路由条目。静态路由的优缺点:​优... 查看详情

vue学习第二天------临时笔记(代码片段)

学习链接:vue.js官方文档:  https://cn.vuejs.org/v2/guide/index.htmlvue.jsAPI:  https://cn.vuejs.org/v2/api/#选项-数据基础案例学习:  https://www.mingtern.com/lesson/861068/ 1.使用JavaScript表达式进行运算时,只能使用单个表达式或者链式调... 查看详情

python学习第二天(下)(代码片段)

继续上次的笔记 ####判断一个元素是否在列表中9innameprint(9inname)会返回一个True或False的结果 if9inname:#判断一个元素是否在列表中print("9isinname")####判断一个元素出现的次数count()方法 name=["Alex","Jack","Rain",9,4,3,5,634,34,89,"Eri... 查看详情

hcia笔记-----acl访问控制列表(代码片段)

ACL访问控制列表功能:1.访问限制----在路由器流量进或出的接口上匹配流量,之后对其进行限制2.定义感兴趣流量ACL简介:1.自上而下,逐一匹配,上条匹配按上条执行,不在查看下条2.ACL列表的调用分为in(... 查看详情

springcloud第二天课堂笔记(代码片段)

1.Feign应用目标:Feign的作用;使用Feign实现consumer-demo代码中调用服务分析:导入启动器依赖;开启Feign功能;编写Feign客户端;编写一个处理器ConsumerFeignController,注入Feign客户端并使用;测试小结&#x... 查看详情

hcia第二天

集线器:解决冲突问题:CSMA/CD载波侦听多路访问/冲突检测(当有多台及以上的主机发送文件进入集线器,开始排队)交换机--二层设备:        0:提供端口密度1:无限延长传输距离2:完全解... 查看详情

全国计算机等级考试二级python(2021年9月)备考笔记第十二天(代码片段)

文章目录Python二级等考(第三季)精品题3单项选择题第一题第二题第三题第四题第五题第六题第七题第八题第九题第十题第十一题第十二题第十三题第十四题第十五题第十六题第十七题第十八题第十九题第二十题第二十一题第二十... 查看详情

acm第二天(代码片段)

A-MishkaandContestMishkastartedparticipatinginaprogrammingcontest.Therearenproblemsinthecontest.Mishka‘sproblem-solvingskillisequaltok.Mishkaarrangesallproblemsfromthecontestintoalist.Becauseofhisweir 查看详情

java第二天笔记

1、能够使用Eclipse快捷键ctrl+/ 单行注释;再按一次则取消;ctrl+shift+/ 多行注释; ctrl+shift+ 取消多行注释;ctrl+shift+f 格式化代码ctrl+d 删除光标所在行shift+enter光标所在行的下方增加一行空白,无论光标在该... 查看详情

flink获取第二天的0点时间(代码片段)

获取格林威治标准时间的第二天00:00:00即获取北京时间的第二天08:00:00valts=(ctx.timerService().currentProcessingTime()/(1000*60*60*24)+1)*(1000*60*60*24)获取北京时间的第二天00:00:00valts=(ctx.timerService().currentProcessingTi 查看详情

大白鱼备考云笔记冲刺周期第二天

昨天做了什么:今天安装成功安卓开发工具Androidstudio,并运行;今天干了什么:今天去图书馆借了一些关于Android开发的书,自己学习了一些开发软件的使用明天准备干:开发个简单的程序试试如:helloworld。先熟悉一下开发的流... 查看详情

第二天java基础(代码片段)

第二天JAVA基础变量在程序运行中值可以变化的量;类型变量名;变量的作用域packagecom.zhang.Base;//Demo05类名publicclassDemo05/**变量按照作用域来分有三种:*类变量实例变量局部变量**///类变量staticstaticdoublesalary=3000;//整个类中可使用s... 查看详情

学习第二天笔记

第二天 认识、配置IOS IOS,网络设备的操作系统; Internetoperatingsystem,因特网操作系统;(www.cisco.com->思科官网,下载IOS;) 一.交换机组成:   1.软件-系统文件-IOS        & 查看详情

第二天(代码片段)

一、分页功能1、业务逻辑流程? 用户通过点击按钮触发按钮事件,然后将需要展示的页的页码传递给服务器java程序,Controller通过分析URL调用findByPage方法,findByPage通过调用userService中相应的方法将参数传入Service层,userService通过... 查看详情

团队冲刺第二天(代码片段)

昨天完成了主页面的设计今天至少完成一俩个功能按钮里面的界面。进制转化:Stringstr=newBigInteger("number",i).toString(j);System.out.println(str);i进制的number转化成j进制行列式:java中的高效矩阵运算包Ejml的使用 查看详情

基础学习之第二天(代码片段)

 一.格式化输出              现在有以下需求,让用户输入name,age,job,hobby然后输出如下所示:------------infoofAlexLi-----------Name:AlexLiAge22job:TeacherH 查看详情

第二天,ansible源码学习(代码片段)

按照我的理解,源码学习肯定是一边看代码,一边执行程序验证。执行的命令是:ansiblesz003-a"ls-l"下面是ansible.py源码,学习分析以注释的形式出现########################################################from__future__import(absolute_import,divis... 查看详情

初识python第二天(代码片段)

一.传递参数2.1新建Python文件,名为hello_args.py,输入以下代码1importsys2print(sys.argv)通过pythonhello_args.py,屏幕打印输出[‘hello_args.py‘]pythonhello_args.pyhelloworld屏幕打印输出[‘hello_args.py‘,‘hello‘,‘world‘]默认文件名本身是argv[0],属... 查看详情