HCIA内容复习1

一、网络的工作过程:
第一步:通过应用程序将抽象语言转换为编码
第二步:将编码转换为二进制
第三步:将二进制转换为电信号
第四步:处理电信号

二、网络连接设备
1、网络连接设备是把网络中的通信线路连接起来的各种设备的总称,这些设备包括中继器、集线器、交换机和路由器等。
例如:光猫–modem --调制解调器 —做光电转换
集成光猫:光电转换、路由器、交换机、无线AP

2、传输介质 --网线、光纤、同轴电缆

3、网络终端设备 --电脑 手机 PAD 电视–智慧家居

4、路由器:
路由器是一种连接多个网络或网段的网络设备,它能将不同网络或网段之间的数据信息进行“翻译”,以使它们能够相互“读”懂对方的数据,实现不同网络或网段间的互联互通,从而构成一个更大的网络。通过利用网络地址(IP地址)来确定转发数据的地址,还具有数据处理、防火墙及网络管理等功能。 简单理解就是路由器是连接互联网内局域网和广域网的设备。
例如:USB type-c 网线 光纤 硬盘 内存

5、交换机:
交换机(英文:Switch,意为“开关”)是一种用于电信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。其他常见的还有电话语音交换机、光纤交换机等。
交换机的传输模式有全双工,半双工,全双工/半双工自适应 。
交换机的全双工是指交换机在发送数据的同时也能够接收数据,两者同步进行,这好像我们平时打电话一样,说话的同时也能够听到对方的声音。目前的交换机都支持全双工。全双工的好处在于迟延小,速度快。

三、OSI七层参考模型
OSI – 开放式系统互联模型 (又称OSI七层参考模型):
在这里插入图片描述
核心:分层

OSI分层的目的:
(1) 降低层次之间的关联性,某一层的协议增加或减少不影响其他层次协议的工作。
(2)便于标准化的制定。
(3)便于学习和了解计算机层次

对OSI七层参考模型中的层数分析:

7、应用层:功能实现依托不同的应用层协议,如HTTP协议,FTP协议等等,方便应用程序之间进行通信,为用户服务。
简单理解:通过人机交互来实现各种各样的服务

6、表示层:对数据格式进行编译,对收到或发出的数据根据应用层的特征进行处理,如处理为文字、图片、音频、视频、文档等,还可以对压缩文件进行解压缩、对加密文件进行解密等。
简单理解:就是 编码 解码 加密 解密

5、会话层:用于建立、控制和终止终端用户的实用进程间的逻辑信道的连接,并提供支持同步和管理应用进程间的对话服务,验证会话双方的身份,恢复下位层不恢复的差错。
简单理解:发现 建立 维持 终止会话进程

4、传输层:实现端点到端点的可靠数据传输,区分不同进程和服务。
即:产生数据、传递数据

传输过程中主要是通过端口号来区分不同的服务。端口号就好像是门牌号一样,客户端 可以通过ip地址找到对应的服务器端,但是服务器端是有很多端口的,每个应用程序 对应一个端口号,通过类似门牌号的端口号,客户端才能真正的访问到该服务器。
其中

端口号范围:0-65535
端口号分类:分为静态端口号和动态端口号

静态端口号:
范围:1-1023 ,一个端口号对应一个服务,呈永久绑定关 系

动态端口号:
范围:1024-65535, 一个端口号对应一个服务,呈暂时性绑定关系

0为保留端口号,在网络编程中使用,用于代表所有端口号。

主要端口有:
(1)域名系统 (DNS)— TCP/UDP 端口 53
​ (2)超文本传输协议 (HTTP) — TCP 端口 80
​ (3)简单邮件传输协议 (SMTP)— TCP 端口 25
​ (4)邮局协议 (POP)— TCP 端口 110
​ (5)Telnet — TCP 端口 23
​ (6)动态主机配置协议 — UDP 端口 67 和 端口 68
(7)文件传输协议 (FTP)— TCP 端口 20 和 端口 21
(8)超文本传输安全协议(https)—Tcp端口 443

URL–统一资源定位符
URL:https://www.sogou.com:443–静态端口号被省略掉了

传输层的作用:
1、提供可靠的传输 协议–标准,可以对话的标准

传输层的两种协议:
TCP 传输控制协议 面向连接的可靠传输协议
UDP 用户数据报文协议 非面向连接的不可靠传输协议
连接方式:面向连接 --三次握手、四次挥手机制
使用这种连接方式是因为其可靠 --确认 重传 排序 流控

两种传输协议的速度比较:
TCP 传输速度—慢
UDP 传输速度—快
在这里插入图片描述
我们还可以形象的比较两者的速度:
在这里插入图片描述

2、数据分段
MSS最大段长度 1480B
MTU最大传输单元(数据链路层) 1500B(字节)

单位的换算关系 – 字节(Byte)和位(Bit)
1字节=8位

3、数据的封装与解封装
在这里插入图片描述
封装:低层向高层传输数据的过程(就是每一层都把上层的协议包(报头+原本的数据)当作数据部分,然后加上自己的协议头部,通过封装不同的协议报头,完成不同的功能)

解封装:高层向低层传输数据的过程
在这里插入图片描述

3、网络层 :处理报文分组,完成分组的多路复用和分组交换,以及通信子网络间的数据据传输,将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方,通过路由协议为分组通过通信子网选择最佳路径。路由器工作在这一层。

作用:根据IP地址来进行逻辑寻址 编址、寻址 --IP协议–网际网络协议。在互联网的每一个节点,必然会存在一个IP地址

2、数据链路层 : 在不可靠的物理介质上提供可靠的传输,接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层。这一层在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路。提供物理地址寻址功能。交换机工作在这一层。
数据链路层由介质访问控制层(MAC)和逻辑链路控制层(LLC)两个子层构成。
其中
L L C -逻辑链路控制子层 --为上层服务提供FCS校验 --封装与解封装
MAC -媒介访问控制子层 —根据MAC地址来进行物理寻

如下图:
在这里插入图片描述

1、物理层 :位于最低层,是传送信号的物理实体,主要解决两台物理机之间的通信。它的功能是:通过机械和电气的方式将各站点连接起来,组成物理通路,通过二进制比特流的传输来实现,二进制数据表现为电流电压上的强弱,到达目的地再转化为二进制机器码。网卡、集线器工作在这一层。主要为定义电气电压 光学特性 接口规范

为更快速的记忆OSI七层模型,还有如下的快记顺口溜:

(从下到上)物数网传会表应
(从上到下)应表会传网数物

概述分析为:
7.应用层:人机交互的窗口,将抽象语言转换为编码
6.表示层:将编码转换为二进制
5.会话层:建立维护会话链接
4.传输层:建立端到端的传输过程;
端口号–区分进程和服务;
端口号范围:0-65535;
静态端口号(著名端口号): 范围:1-1023 ,一个端口号对应一个服务,呈永久绑定 关系
HTTP:源端口随机(1024-65535),目标端口80
动态端口号:1024-65535 一个端口号对应一个服务,呈暂时性绑定关系

传输协议
协议:TCP、UDP
TCP 传输控制协议 面向连接的可靠传输协议 慢 可分段
UDP 用户数据报文协议 非面向连接的不可靠传输协议 快 不可分段
3.网络层:提供逻辑寻址(通过IP地址做逻辑寻址)
2.数据链路层:具体作用–控制物理硬件

MAC地址(由48位二进制构成)–物理地址(不变,相当于人的身份证号)
逻辑链路层–IP地址(可变,不同的网络范围IP不同)
ARP–地址解析协议–通过一种地址获取另外一种地址

广播和洪泛:从一个端口接入通过多个端口发出 (不确定IP洪泛、确定IP广播)
区别:行为上的区别
广播–主动
洪泛–被动

1.物理层:处理电信号

四、TCP/IP模型
TCP/IP协议簇
在这里插入图片描述
PDU:协议数据单元

TCP的五层模型(概述):
应用层–数据报头
传输层–数据报文
网络层–数据包
数据链路层–数据帧
物理层–比特流

Tcp的三次握手和四次挥手

三次握手:三次握手保证双方都具有接受和发送数据的能力。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LKIwhIVD-1679023456275)(null)]
SYN:同步序列号请求
ACK:确认
Seq+1 = ack

主要原因:

  1. 防止重复历史连接的初始化
    2.同步双方初始序列号
    3.避免资源的浪费
    在这里插入图片描述
    第一次握手:

客户端发送一个TCP的SYN标志位置1的包指明客户打算连接的服务器的端口,以及初始序号X,保存在包头的序列号(Sequence Number)字段里。

第二次握手:

服务器发回确认包(ACK)应答。即SYN标志位和ACK标志位均为1同时,将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即X+1。

第三次握手.

客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1(ISN—初始序列号)

四次挥手:即终止TCP连接,需要客户端和服务端总共发送4个包确认连接的断开。流程如下:
在这里插入图片描述
Clien(客户端)
Server(服务端)
FIN-请求断开连接

过程:
第一次挥手:

Clien发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状 态。

第二次挥手:

Server收到FIN后,发送一个ACK给Client,Server进CLOSE_WAIT状态。

第三次挥手:

Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状 态。

第四次挥手:

Client收到FIN后,Client进入TIME_WAIT状态,发送ACK给Server,Server进入 CLOSED状态,完成四次握手。

TCP握手为什么是三次,两次行不行?

首先,为什么是三次握手而不是四次或者更多?这个问题是比较简单的,因为既然三次能够解决的问题,为什么非要用四次来浪费资源?
但其实问题的重点在于,为什么不能只用两次?第三次握手去掉不行吗?
总的来说,三次握手是为了防止当已失效的连接请求报文段突然又传到服务端,造成双方的不一致,导致资源的浪费。
“已失效的连接请求报文段”指的是这样的情况,客户端发出一个SYN报文段,由于阻塞或者其他原因在网络中滞留,以至于客户端认为丢包了(其实并没有丢),于是重新发出一个SYN报文段,假设这一次顺利完成了,那么双方建立连接。这看起来似乎没什么问题,但网络中有一个隐患,就是那个还在网络中传输的SYN报文段,如果这个SYN在连接期间被服务端收到了,那服务端只会无视它,这样就万事大吉了,但如果是在连接释放之后被收到呢?此时服务端认为有人向他发出连接请求,于是响应一个SYNACK回去,如果采用两次握手的话,那么服务器认为此时连接已经建立好了。但是当客户端收到这个SYNACK时,如果他并没有发起连接,那么他不会理睬这个SYNACK,就当没事发生过(如果客户端此时正好发起连接,那其实他也不会理睬这个SYNACK,因为确认号不对啊。)。那问题就大了,这时候服务器以为连接好了,向客户端发送数据,而客户端处于CLOSED状态,会丢弃这些包,这样就很浪费了。并且还有一个尴尬的问题,就是这个时候当客户端打算发起连接时,服务端又不理睬了,在这里尬这,他们就别想互发数据了。当然这些问题似乎不是不可解决的,当客户端发现服务端老是向自己发数据,而自己总是丢弃,可能会向服务端发一个RST(报文段的RST标记号为1),强制服务端关闭连接。但资源总归是浪费了一会了。而用三次握手就不会出现这样的问题。

为什么三次握手?
因为服务端在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一 个报文里发送给客户端。

为什么四次挥手?
当收到对方的FIN报文时,仅表示对方不再发送数据但还能接收收据,我们也未必把全 部数据都发给了对方,所以我们可以立即close,也可以发送一些数据给对方后,再发 送FIN报文给对方表示同意关闭连接。因此我们的ACK和FIN一般会分开发送。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值