计算机网络TCP/IP模型中 应用层传输层 UDP/TCP 协议机制 深度解析

Posted Perceus

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络TCP/IP模型中 应用层传输层 UDP/TCP 协议机制 深度解析相关的知识,希望对你有一定的参考价值。

@TOC


TCP/IP模型

一 、应用层

常见的几种的协议模板

1. xml

比较老牌的数据格式:可读性高,运行效率不行

xml ,正是因为 它这个繁琐格式,导致它的热度逐渐就降低了。
因此,xml 现在很少作为 应用层协议的设计模板了。
现在使用 xml,主要是作为一些配置文件。


2. json

json 是当下最流行的一种 设计应用层协议 的数据格式
以后在工作中是会经常用到这个


3. Protobuffer

可读性不好,运行效率高

为了解决 json 的问题,Protobuffer 也就是应运而生。
Protobuffer 是一种二进制格式的数据。


小结:

这里面 json 的 应用范围 要比 Protobuffer 更广


二、传输层

进行网络编程都需要用到 socket,一旦你调用 socket,代码就进入到传输层的范畴。

如果一切顺利,就还好。

一旦代码出现一些bug。为了解决理解这些bug,传输层的一些知识就是必要的。

传输层的协议,面试也中特别爱考,TCP协议



1.UDP

UDP协议端格式

分析协议


UDP的特点

面向数据报:
UDP缓冲区:

UDP使用注意事项:


基于UDP的应用层协议

2.TCP ※

TCP协议段格式


TCP的特点


TCP协议的主要机制

① 确认应答(ACK)机制

序号和确认序号:


② 超时重传机制

出现丢包的两种情况:

第一种::发出去的消息丢了

第二种:另外一种情况就是 ACK 丢了,虽然对方收到了消息,但是我收不到 ACK


TCP内部去重

注意:

基于上述:

确认应答和超时重传两个机制,TCP的可靠性,得到了有效的保障


③ ※ 连接管理机制 ※


三次握手(建立连接)

解释:


图解:

核心:

为什么是三次握手?


拓展:

我们第一次看到的那个完整的图是什么意思呢?


三次握手什么用?


如果网络不稳定怎么办?


结论:


典型面试题
  1. 描述 TCP 三次握手的过程。

  1. 为什么握手三次?两次行不行?四次行不行?


四次挥手(断开连接)

四次挥手,是为了释放必要的资源。


三次握手 和 四次挥手 的区别


TCP协议中的状态


小结


④ 滑动窗口机制

滑动窗口存在的意义就是在保证可靠性的前提下,尽量提高传输效率

这样一发一收的方式性能较低, 那么我们一次发送多条数据, 就可以大大的提高性能(其实是将多个段 的等待时间重叠在一起了)

更直观的图

以上是关于计算机网络TCP/IP模型中 应用层传输层 UDP/TCP 协议机制 深度解析的主要内容,如果未能解决你的问题,请参考以下文章

UDP千兆网之TCP/IP协议基础

网络体系结构-TCP/IP参考模型

面试补缺:TCP协议与UDP协议总结

TCP/ IP参考模型是啥?

分层思想(OSI七层模型到TCP/IP五层模型)

TCP与UDP协议