前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TCP/IP速记

TCP/IP速记

作者头像
Noneplus
发布2020-08-13 09:42:27
2900
发布2020-08-13 09:42:27
举报
文章被收录于专栏:开发笔记开发笔记

网络协议

计算机网络的核心就是网络协议。网络协议是计算机网络中为了数据交换而建立的规则。

OSI七层模型和TCP/IP五层模型

在实际运用中,最终是TCP得到了广泛的应用。

OSI是一种设计得非常详细的协议,而问题就是出在详细上;因为实际的情况往往比想象中的更加多变和灵活,所以OSI的详细本该成为它的优势,但却成为了其限制。

王老师的思想迁移:不光是这种协议的发展规律,生活中很多事情都是这样,不能等完完全全准备好了再去做,而是在做的过程中不断改进,不断适应,就TCP/IP一样,虽然更加简单,但却能经受实际的考验。

TCP/IP五层模型

  • 应用层(HTTP)
  • 传输层(TCP,UDP)
  • 网络层(IP)
  • 数据链路层
  • 物理层

TCP的三次握手和四次挥手

三次握手进行连接

SYN:标志位,为1时表示请求连接

ACK:标志位,为1时表示确认请求

第一次握手:客户端向服务端发送SYN为1的请求报文

第二次握手:服务端向客户端发送ACK消息确认【此时客户端知道自己可以发送消息给服务端,而且服务端也可以发送消息给自己;但服务端只知道客户端的消息可以传过来,但不知道自己的消息能否传过去】

第三次握手:客户端向服务端发送ACK消息确认【目的:让服务端知道自己发送的消息客户端可以接收到】

image-20200810142925258
image-20200810142925258
四次挥手断开连接

FIN:标志位,为1时表示请求断开连接

第一次挥手:客户端向服务端发送FIN=1的报文

第二次挥手:此时服务端可能会有未发出的消息,所以先给客户端一个ACK确认消息,表示收到了客户端的请求

第三次挥手:此时服务端已经发送了所有的消息,然后向客户端发送一个FIN=1的报文,表示可以断开请求了

第四次挥手:客户端收到请求后,给服务端发送ACK确认消息

image-20200810143557466
image-20200810143557466

TCP连接的特点

  • TCP是一种有连接,安全可靠的协议
  • 点对点的通信模式
  • 在传输可靠上的特性:丢包重发,流量控制

TCP是如何保证安全可靠的

宏观上来看,三次握手和四次挥手的这种有连接的机制为TCP的安全提供了基础。

更加微观的看

  • 校验和(TCP头部,数据,尾部)
  • 应答机制:不管是对于客户端还是服务端,每发送一个消息都需要返回一个确认消息,不然就会重发
  • 超时重传:发送一个包和接受应答包这个时间如果过长,就会重新发送
  • 拥塞控制:发出少量数据来测试网络拥堵情况,然后决定按多大的速度传送数据

UDP连接的特点

  • UDP是一种无连接,不可靠的协议
  • 支持一对多,多对多的通信模式

TCP和UDP的区别

  • 是否有连接 TCP是有连接的,而UDP是无连接的。连接决定是否安全可靠。
  • 传输效率 UDP首部字节为8个,而TCP首部字节20个。所以UDP的传输效率更高。
  • 通信模式 TCP支持点对点,UDP支持一对多,多对多

TCP和UDP首部的区别

  • UDP首部只有8个字节:源端口,目的端口,校验和
  • TCP超过20个字节:源端口,目的端口,校验和,SYN,ACK,FIN

HTTP请求的过程和原理

  • 发起一个请求后,通过DNS将URL中的域名解析为IP地址
  • 然后根据IP地址,建立与服务端的TCP连接(三次握手)
  • 断开连接:四次挥手
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 网络协议
    • OSI七层模型和TCP/IP五层模型
      • TCP/IP五层模型
        • TCP的三次握手和四次挥手
          • 三次握手进行连接
          • 四次挥手断开连接
        • TCP连接的特点
          • TCP是如何保证安全可靠的
            • UDP连接的特点
              • TCP和UDP的区别
                • TCP和UDP首部的区别
                  • HTTP请求的过程和原理
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档