22、网络原理——TCP/IP四层模型之中的重点协议(1)

本文深入探讨TCP/IP四层模型中的应用层和传输层重点协议,包括DNS、NAT/NAPT、HTTP/HTTPS、TCP与UDP协议的详细解析,以及TCP的安全机制、效率机制和异常处理。了解这些协议的基本原理和应用场景,有助于理解网络通信的本质。
摘要由CSDN通过智能技术生成

一、应用层重点协议

应用层的作用:满足我们日常需求的网络程序,都是在应用层。

1.1 DNS

DNS,即Domain Name System,域名系统。DNS是一整套从域名映射到IP的系统。TCP/IP中使用IP地址来确定网络上的一台主机,但是IP地址不方便记忆,且不能表达地址组织信息,于是人们发明了域名,并通过域名系统来映射域名和IP地址
在这里插入图片描述
域名解析使用DNS协议来传输数据。DNS协议是应用层协议,基于传输层UDP或TCP协议来实现,通常基于UDP协议(无连接不稳定但高效的服务),当数据长度大于512字节的时候,为了保证传输质量,就会使用基于TCP的实现方式。

1.2 NAT

NAT技术当前解决IP地址不够用的主要手段,是路由器的一个重要功能。
在这里插入图片描述
NAT IP转换过程:
在这里插入图片描述

  1. NAT路由器将源地址从10.0.0.10替换成全局的IP 202.244.174.37;
  2. NAT路由器收到外部的数据时,又会把目标IP从202.244.174.37替换回10.0.0.10;
  3. 在NAT路由器内部,有一张自动生成的,用于地址转换的表;
  4. 当 10.0.0.10 第一次向 163.221.120.9 发送数据时就会生成表中的映射关系;

那么问题来了,如果局域网内,有多个主机都访问同一个外网服务器,那么对于服务器返回的数据中,目的IP都是相同的,那么NAT路由器如何判定将这个数据包转发给哪个局域网的主机?

1.3 NAPT

这时候NAPT来解决这个问题了,使用IP+port端口号来建立这个关联关系。
在这里插入图片描述
这种关联关系也是由NAT路由器自动维护的。例如在TCP的情况下,建立连接时,就会生成这个表项;在断开连接后,就会删除这个表项。

1.4 NAT技术的缺陷

由于NAT依赖这个转换表,所以有诸多限制:

  1. 无法从NAT外部向内部服务器建立连接;
  2. 转换表的生成和销毁都需要额外开销
  3. 通信过程中一旦NAT设备异常,即使存在热备,所有的TCP连接也都会断开。

1.5 HTTP/HTTPS

HTTP(HyperText Transport Protocol),超文本传输协议,它属于传输客户端和服务器端的数据。
在这里插入图片描述
( HTTP协议详情在前面博客13中以总结。)

HTTPS
在这里插入图片描述
在这里插入图片描述

  • 对称加密
    对称加密通过同一个秘钥对信息进行加密和解密,我们可以使用一把钥匙上锁或开锁,也就是说对称加密只有一把共享秘钥,所以对数据的加密和解密的效率都是非常高的,但是对称加密存在一个问题:在网络之间传送这一把钥匙,很容易就被截获了,所以存在不安全因素
  • 非对称加密
    非对称加密是有一对钥匙,一把公钥一把私钥,公钥的作用是对数据进行加密私钥的作用是对数据进行解密。非对称加密解决了对称加密中一把钥匙在网路之间传递的不安全因素, 因为只将公钥发送给客户端,它只能对数据进行加密,而私钥是我们是服务器端自己保存的,所以就是不对外暴露的,这样的话,就算公钥被截获了也不会泄露数据,因为没有私钥也看不到数据信息。但是非对称加密也存在问题:效率低,执行速度没有对称加密快。
    注意:HTTPS使用的是非对称加密和对称加密。

HTTPS的交互流程:

  1. 客户端先给服务器端发送链接请求
  2. 服务器端先利用非对称加密,生成一对秘钥,带着第三方颁发的证书和公钥一起发送给客户端
  3. 客户端检查证书的有效性
  4. 证书有效客户端会利用对称加密生成一个共享秘钥
  5. 客户端先用共享秘钥对传输的数据进行加密,然后再用非对称加密生成的公钥对共享秘钥进行加密,发送给客户端
  6. 客户端拿到加密的数据后先用私钥把公钥的那一层加密打开,拿到共享秘钥,然后再用共享秘钥将数据解密,拿到真实数据
  7. 之后进行数据传输的时候直接传输用共享秘钥进行加密后的数据即可
    在这里插入图片描述

二、传输层重点协议

负责数据能够从发送端传输到接收端。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值