【网络编程基础知识】

网络编程涉及服务器与客户端的连接过程,如三次握手和四次挥手。OSI七层网络协议包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。TCP/IP四层协议模型则分为物理与网络接口层、网络层、传输层和应用层。TCP协议提供可靠连接,适用于用户登录、文件传输等;UDP协议高效但不可靠,适合音视频流媒体。服务器模型有循环、多进程和多线程并发方式。
摘要由CSDN通过智能技术生成

一、概念

网络编程就是对信息的发送和接收。通过操作相应的API调度计算资源硬件,并且利用管道(网线)进行数据交互的过程。更具体的涉及为网络模型、套接字、数据包等。

(一)服务器与客户端的三次握手

1、什么是三次握手

(1)第一次握手:客户端给服务器发送一个 SYN 报文。
(2)第二次握手:服务器收到 SYN 报文之后,会应答一个 SYN+ACK 报文。
(3)第三次握手:客户端收到 SYN+ACK 报文之后,会回应一个 ACK 报文。服务器收到 ACK 报文之后,三次握手建立完成。
三次握手的作用:确认双方的接收与发送能力是否正常。

2、为什么要三次握手,而两次却不行

(1)第一次握手:客户端发送网络包,服务端收到了。这样服务端就能得出结论:客户端的发送能力、服务端的接收能力是正常的。
(2)第二次握手:服务端发包,客户端收到了。这样客户端就能得出结论:服务端的接收、发送能力,客户端的接收、发送能力是正常的。不过此时服务器并不能确认客户端的接收能力是否正常。
(3)第三次握手:客户端发包,服务端收到了。这样服务端就能得出结论:客户端的接收、发送能力正常,服务器自己的发送、接收能力也正常。因此,需要三次握手才能确认双方的接收与发送能力是否正常。

3、三次握手的好处

(1)确认双方的接受能力、发送能力是否正常。
(2)指定自己的初始化序列号,为后面的可靠传送做准备。
(3)如果是 https 协议的话,三次握手这个过程,还会进行数字的验证以及加密和密钥的生成等。        

4、ISN是固定的吗?

三次握手的一个重要功能是客户端和服

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值