计算机网络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的可靠性,得到了有效的保障
③ ※ 连接管理机制 ※
三次握手(建立连接)
解释:
图解:
核心:
为什么是三次握手?
拓展:
我们第一次看到的那个完整的图是什么意思呢?
三次握手什么用?
如果网络不稳定怎么办?
结论:
典型面试题
- 描述 TCP 三次握手的过程。
- 为什么握手三次?两次行不行?四次行不行?
四次挥手(断开连接)
四次挥手,是为了释放必要的资源。
三次握手 和 四次挥手 的区别
TCP协议中的状态
小结
④ 滑动窗口机制
滑动窗口存在的意义就是在保证可靠性的前提下,尽量提高传输效率
这样一发一收
的方式性能较低, 那么我们一次发送多条数据
, 就可以大大的提高性能(其实是将多个段 的等待时间重叠在一起了)
以上是关于计算机网络TCP/IP模型中 应用层传输层 UDP/TCP 协议机制 深度解析的主要内容,如果未能解决你的问题,请参考以下文章更直观的图