面试:什么是TCP/IP协议?三次握手;数据传输;四次分手的具体过程。

前置知识:

为了方便与理解和架构解耦,所以人们将网络分为 七层参考模型

1,OSI 7层参考模型

在这里插入图片描述
这个是TPC的网络的原型,在TCP中呢,表示层与会话层一起合并到应用层中。

2TCP/IP网络模型

在这里插入图片描述

从上面我们可以看到,我们程序员使用的程序员只占用的应用层,其他层均是归属于操作系统内核来操作。
也就是(敲黑板):并不是程序进行通信,是程序依赖于操作系统内核进行通讯不同主机间通讯

正文开始

我们可以看到这样的一个事实:
1,应用层传输到传输控制层协议,
2,传输控制层有两种协议:TCP和UDP
3,TCP是面向连接,可靠的
在这里插入图片描述

TCP为什么是面向连接,可靠的?

TCP包含了一个什么样的过程?

三次握手,
数据传输,
四次分手
在这里插入图片描述

(1)三次握手具体过程:

第一次,客户端测试发送一个字段“syn”给服务端,表示在吗?
第二次,服务端发送“syn+ack”,表示我已经收到来自客户端的信息了。
第三次,客户端发送“ack”,表示我收到来自的服务端的信息了

syn和ack英语什么意思?

syn(synchronous)同时的,同步的,在http中指建立请求的第一个包
ack (acknowledgement) 确认的意思
在这里插入图片描述

(2)什么是连接?

在三次握手之后,表示双方都是存在,连接可靠的情况各自开放自己计算机资源。

socket对资源进行包装

也就是我们常说的将数据打包,网络包
在这里插入图片描述
正如我们上面所讲的,
1,我们的应用程序通过IO与主机进行操作,
2,主机与主机之间服务端简历链接,
依靠套接字进行数据封装,通过传送数据包包的形势通讯。

四元组表示,绝对的唯一连接

在这里插入图片描述

面试问题:一共可以建立多少个链接?

源IP*65535

(3)四次分手

1,客户端,首先发送“fin”,分手了
2,服务端,回“fin+ack”,我确定断开的你的链接,分手了
服务端不再对客户端分享资源
3,服务端,发送“fin”,你是否断开我链接,分手
4,客户端,会“ack”,我确定断开你的链接,分手
客户端不再对服务端分享资源
在这里插入图片描述

(4)面试题,如果忽然断网之后怎么办?

1,如果突然断网了双方并不能感知,对方已经断了
2,所以主机之间存在一个心跳(keepalive)来侦测,对方是否存在,链接是否正常
在这里插入图片描述

附赠B站视频链接:
阿里面试: TCP/IP、HTTPS、 三次握手四次挥手过程?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值