| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> TCP那些事儿(二) -> 正文阅读 |
|
[网络协议]TCP那些事儿(二) |
继续上次没有讲完的,这次我们来浅谈一下计算机的网络模型。为什么要讲计算机网络模型呢,因为TCP协议本身就工作在计算机的网络模型的传输层,所以我们需要对它有一定了解。 计算机的网络模型大致分为:OSI七层模型,TCP/IP四层模型和五层模型,我对他们的了解也不是很深,在这里只能浅谈一下,有错误的地方还望大佬指证。 计算机网络模型OSI七层模型:整个OSI由上往下,可以分为:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。 TCP/IP四层模型:可以分为:应用层,传输层,网络层,网络接口层。 TCP/IP五层模型:可以分为:应用层,传输层,网络层,数据链路层,物理层。 虽然OSI模型是计算机网络模型的一个标准,但因为OSI模型过于复杂,在实际应用中,不如TCP/IP模型来得实用,所以,OSI模型基本上停留在理论层面,而实际在网络中运行的其实是TCP/IP模型。
各层级简介应用层为用户的应用程序提供网络服务,如电子邮件,文件传输等等,是最靠近用户的一层。 表示层数据表现形式的控制层,主要功能是把应用层提供的信息变换为能够共同理解的形式,提供字符代码、数据格式、控制信息格式、加密等的统一表示。可以理解为统一数据标准,以便能够进行解析。 会话层按照应用服务间的约定规则,提供服务可使用的会话建立/维持/终止。 传输层帮助我们建立端到端的通信,将服务上层提供的数据交给网络层。定义了传输数据的协议端口号,同时也提供流量控制和差错校验。 网络层进行逻辑地址寻址,实现不同网络间的路径选择,分组传输,同时也可以进行流量控制。 数据链路层定义如何让格式化的数据以数据帧为单位进行传输,移交;如何控制物理介质的访问。网络链路层具有帧定界,控制排序,进行差错检测,恢复等能力。 物理层传输比特流的通道。建立/维护/断开物理连接 分层原则
计算机网络传输流程我们的数据在网络中传输,本质上是在发送方的机器由上而下的封装不同的头部,然后传输到接收方的机器上再由下而上解析头部的过程;你可以理解为它是将我们的数据进行不断的装箱和拆箱的过程,箱子的每一层包装上,都写着该谁处理。 那我们常规的HTTP请求为例,它的过程上这样的: ? ?? 通过这幅图,你现在也应该了解计算机的网络传输流程,也就知道了为什么TCP的头部为什么不含IP地址了,因为TCP协议是工作在传输层的协议,只会去封装端口信息,而封装IP信息,则是网络层的IP协议的工作。了解了这个,你也可自己动手去封装一下自己的协议哦。先挖个坑。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 9:55:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |