前后端交互笔记

TCP/IP协议四层模型

IP地址实际上是一个32位整数(称为IPv4),以字符串表示的IP地址如192.168.0.1实际上是把32位整数按8位分组后的数字表示,目的是便于阅读。

IPv6地址实际上是一个128位整数,16位分组,它是目前使用的IPv4的升级版,以字符串表示类似于2001:0db8:85a3:0042:1000:8a2e:0370:7334

顺便一提,IP不可靠,TCP可靠一点,IP发送给链路层数据时,有可能会造成数据丢失,TCP虽然使用的是不可靠的IP协议,仍然会有数据丢失的现象,但当数据丢失后,TCP会重新将丢失的数据发送一次,直到对应的数据送到目的地。所以相对来说是可靠的传输层协议。

eg.IP可看作是(网络层)快递公司,有丢件可能,TCP是卖家,会补发直到买家收到。

image-20210627153203761 img img
TCP的三次握手四次挥手

TCP连接是双向传输的对等的模式,就是说双方都可以同时向对方发送或接收数据。

UDP协议

UDP,其不同于TCP,是一种不可靠的服务,但是速度快,即无法保证数据在传输的过程中不会丢失【会丢失】,常用的场景有:DNS查询、实时语音视频流传输、TFTP数据传输等

为何在这些场景中会用到UDP呢?我们拿其中一个举例,当双方通过网络进行打电话通信,如果对方说了20个字,但可能中间发生了数据丢失,即少传过来几个字,但一般来说我们还是能理解整句话是什么意思的。但若使用TCP会发生什么现象?对方说的20个字传过来18个字,因为那两个字丢失了,TCP重新发送了过来,因此可能在2s以后我们突然接收到了那两个字,这就非常的奇怪。

【用于部分数据丢失无伤大雅、严格补发反而会熵增的场合】

TCP/IP协议栈传输过程
在这里插入图片描述

是OSI模型的第2层(数据链路层)的数据包。帧是“一个数据链路层的传输单元,由一个数据链路层首部和其携带的数据包所组成”。比如:以太网帧、PPP帧等等

以太网传入的帧包含一个48位的目的地址和一个16位的以太网类型字段。其中类型字段:Ox0800(十六进制)表示这个帧包含IPv4的数据报;Ox0806和Ox86DD分别表示ARP和IPv6。假设目的地址与接收地址匹配,则会根据类型字段选择相应的网络层的协议

到达网络层以后就会交给IP来处理,IP会检测其中的IPv4的协议字段或IPv6的下一个头部字段,来决定接下来调用哪个协议来处理。常见的协议字段有:1(ICMP)、2(IGMP)、4(IPv4)、6(TCP) 和 17(UDP)

然后到达了传输层以后,大部分的协议会通过端口号来分解到对应的应用中去。端口号是一个16位的非负整数(范围:0 ~ 65535),常见的端口号有:22(SSH)、20和21(FTP)、23(Telnet)、25(SMTP)、53(DNS)、80(HTTP)、443(HTTPS) 等

HTTP协议

HTTP是一个基于“请求与响应”模式的、无状态应用层协议

HTTP是一个客户端服务器模型(B/S)客户端发起请求(Request),服务器回送响应(Response)

无状态是指客户机(Web浏览器)和服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后服务器返回响应(response),连接就被关闭了,在服务器端不保留连接的有关信息。

HTTP协议是采用URL作为定位网络资源的标识。
格式:http://host:[port]/[path]

http:
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值