TCP/UDP理解3次握手4次挥手

1.网络模型

首先说说网络分层,有三种模型
1、OSI七层模型分为: 应用层,表示层,会话层,传输层,数据链接层,网络层,物理层,(自上而下的排序的哈),OSI就理解为一个网络的分层模型
2、因特尔的五层模型,比OSI少了表示层,和会话层。
3、TCP(传输控制协议)/IP(因特网协议)模型,TCP和Ip都是两个协议,只是因为这在网络协议中比较重要,因此以此命名的。 该模型就是实现两台电脑互联的遵守的协议。这协议分为三层:传输层,网络层,网络接口层(排序是自上而下的,物理层是最低层)

2.udp,tcp

TCP是tcp/ip体系中运输层,面向连接的可靠传输协议。
UDP也是运输层的协议,只不过是不可靠的传输。

UDP:(如发短信)
UDP就像是手机发短信一样,不需要对方和你事先是否连接,不管对方目前在干什么,状态是怎样的,都不关心。直接就填好短信(数据)接收的电话号码(ip地址),然后发送,收没收到也不管,这样的好处就是传送很快,不用双方处于连接状态,就可以发送。(QQ发消息就是如此)但是,缺点也明显,就是不可靠,容易丢失数据,有时候你的qq会接收不到对方发送过来的消息。
TCP(打电话)
TCP就像是打电话一样,需要事先拨号,当拨号成功后,电话双方就建立起连接了,连接成功后才可以发送数据,就是给两个电脑之间事先建立起连接通道,然后再传输数据(QQ视屏就是如此,需要对方确认连接)如果传输数据过程中数据丢失的话,要重新发送传输,直到对方接收完为止。这样可靠性就强,但是传输效率就不高。

3. TCP3次握手
  • Tcp3次握手,4次挥手?

TCP的报文格式,报文头,报文协议体。

协议头的重要字段:
SYN 同步序号(常用于端口扫描),SYN=1,ACK=0表示这是连接请求报文,对方同意,对方的SYN=1,ACK=1.SYn=1表示这是一个连接请求或者接受报文。

Seq 报文的序号。

ACK确认号,建立连接之后,每次发送的报文都是ACK=1

FIN释放连接。 FIN=1表示数据发送完毕,释放连接。
ack number 用于确认发送给自己的报文。

TCP三次握手:

第一次握手: 客户端SYN=1.ACK=1,seq=随机数,发送给服务端。请求建立连接。

第二次握手:
服务端接收报文段,并使ack number=seq+1,ACK=1,SYN=1,seq=随机数。发送给客户端。


第三次握手:
客户端接收报文,ack=1,ack number=seq+1,seq=随机数。发送给服务端。
4.TCP4次挥手

第一次分手:
主机1(服务端或者客户端)发送FIN报文段,进入等待状态,表示无数据可发。

第二次分手:
主机2收到主机1的FIN报文段,向主机1回一个ACK报文段,当然ack number=seq+1。主机2告诉主机1同意关闭请求。

第三次分手:
主机2向主机1发送FIN报文段,请求关闭连接,主机2进入LAST——ACK状态。

第四次分手:
主机1收到主机2的FIN报文段,发送ACK报文段,进入TIME——wait状态,主机2收到主机1的ACK之后就关闭连接。主机1 等2MSL后,没收到回复表示就彻底断开。
5.为什么3次握手建立连接

防止在网络中滞留的请求连接报文突然发送给服务器,若不采用“3次握手”,那么服务器就会确认建立了连接,但实际上并不是客户端想请求建立连接,这样就造成资源浪费。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值