| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> Unity——网络协议 -> 正文阅读 |
|
[网络协议]Unity——网络协议 |
目录 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 包含信息 ????????????????????????常用的协议(规则) 网络协议概述????????协议的字面意思:????????????????经过谈判、协商而制定的共同承认、共同遵守的文件 ? ? ? ? ????????网络协议的基本概念:????????????????网络协议是计算机网络中进行数据交换而建立的规则、标准或约定的集合 ????????????????指的是计算机网络中互相通信的对等实体之间交换信息时所必须遵守的规则的集合 ????????如果你想要在网络环境中进行通信,那么网络协议就是你必须遵守的规则 ????????OSI模型是网络通信的基本规则 ????????TCP/IP协议是基于OSI模型的工业实现? ????????OSI模型是国际组织定义的一套理论基础,主要用于定义网络通信的规则 ? ? ? ? TCP/IP协议是基于这套理论基础真正实现的通信规则?? ???????? ? ? ? ? 该篇的网络通信API底层都是基于TCP/IP协议的 OSI? ? ? ? OSI模型是什么? ? ? ? ? ? ? ??开放式系统互联通信参考模型,简称OSI模型 ? ? ? ? ? ? ? ? 它是一种概念模型 ? ? ? ? ? ? ? ? 由ISO ? ? ? ? ? ? ? ? 国际标准化组织提出,是一个试图使各种设备在世界范围内互联为网络的标准框架 ? ? ? ? ? ? ? ? 不同公司都按照统一的标准来控制网络互联通信 ? ? ? ? ? ? ? ? 那么各设备之间就能够达到真正的互联通信了 ? ? ? ? ? ? ? ? OSI模型是人为定义的一个标准(规范) ? ? ? ? ? ? ? ? 它制定了设备之间相互连接相互通信的标准(规范) ? ? ? ? ? ? ? ? 各公司按照这个标准设计的规则(协议),就可以让不同设备利用互联网进行互联通信 ? ? ? ??OSI模型的规则? ? ? ? ? ? ? ? 由于互联网协议(规则)很庞大,很复杂,所以OSI模型采用了分而制之的设计方法,?把网络的功能划分为不同的多个模块,以分层的形式有机地组合在了一起 ? ? ? ? ? ? ? ? OSI模型将复杂的互联网实现分成了好几层(部分) ? ? ? ? ? ? ? ? 每一层都有自己的功能,就好像建筑物一样,从上到下有很多层构成 ? ? ? ? ? ? ? ? 每一层都要靠下一层的支持 ? ? ? ? ? ? ? ? 用户接触到的都只是最上面的一层,感受不到下面层级的复杂性 ? ? ? ? ? ? ? ? OSI模型把互联通信的过程抽象的分层了七个层级 ? ? ? ? ? ? ? ? ? ? ? ? 1.应用层 ? ? ? ? ? ? ? ? ? ? ? ? 2.表示层 ? ? ? ? ? ? ? ? ? ? ? ? 3.会话层? ? ? ????????????????????????????????? ? ? ? ? ? ? ? ? ? ? ? ? 4.传输层 ? ? ? ? ? ? ? ? ? ? ? ? 5.网络层 ? ? ? ? ? ? ? ? ? ? ? ? 6.数据链路层 ? ? ? ? ? ? ? ? ? ? ? ? 7.网络层 ? ? ? ? ?OSI模型每层的智能? ? ? ? ? ? ? ??第一部分:从地基开始 ? ? ? ? ? ? ? ? ? ? ? ? 物理层 ->?数据链路层 -> 网络层 ->?传输层 ? ? ? ? ? ? ? ? 第二部分:从屋顶开始 ? ? ? ? ? ? ? ? ? ? ? ? 应用层 ->?表示层 ->?会话层 ???????????????? ? ? ? ? ? ? ? ? 物理层????????????????? ? ? ? 先把电脑连起来,可以用光缆、电缆、双绞线、无线电波等方式 ? ? ? ? ? ? ? ? ? ? ? ?? ????????????????????????功能:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??它就是把电脑连接起来的物理手段 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 它主要规定了网络的一些电信特性 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 作用是负责0和1的电信号 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 物理层将2进制数据利用电脉冲 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在物理媒介上实现比特流的传输 ???????????????????????????????? ? ? ? ? ? ? ? ? ? ? ? ? 主要功能:????????????????????????????????定义传输模式、定义传输速率、比特同步比特编码等 ? ? ? ? ? ? ? ? 数据链路层????????????????????????它在物理层的上方确定0和1的分组方式 ? ? ? ? ? ? ? ? ? ? ? ? ?并且明确信息是发送给哪台计算机的网卡(Mac地址) ???????????????????????? ? ? ? ? ? ? ? ? ? ? ? ? 功能:????????????????????????????????将想要发送的信息构成一个数据包,叫做“帧” ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 每一帧分为两部分:标头Head+数据Data? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?标头包含数据包的一些说明项 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 比如:发送方和接收方的Mac地址,数据类型等等 ??????????????网络层? ? ? ? ? ? ? ? ? ? ? ? ?功能:????????????????????????????????????????IP选址、路由选择 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在网络环境中,两台设备之间可能会经过很多 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 个数链路层,也可能还要经过很多通信子网 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 网络层的主要作用就是选择一条合适的路劲用于通信。它会在上一层的数据基础上添加标头 ????????????????????????????????????????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 包含信息:????????????????????????????????????????????????IP地址、版本、长度等等信息 ? ? ? ? ? ? ? ? 传输层? ? ? ? ? ? ? ? ? ? ? ??传输层的功能,就是建立端口到端口的通信 ????????????????????????功能:????????????????????????????????建立、管理和维护端到端的连接 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 传输层也称运输层,传输层负责主机中个进程之间的通信,功能是为端到端连接提供可靠的传输服务。它也会在上一层的数据基础上添加标头 ????????????????????????包含信息:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??发送方接收方的端口信息、协议信息等等 ???????????????????????? ? ? ? ? ? ? ? ? 应用层? ? ? ? ? ? ? ? ? ? ? ??应用层为最上层,和用户直接打交道的可以联网的应用程序就属于这一层,比如浏览器,游戏等等 ? ? ? ? ? ? ? ? ? ? ? ??功能:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??为应用程序提供服务,我们可以根据自己要传递的信息决定使用哪一种协议?(规则)来处理数据,进行传输 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 我们程序主要开发的也是这一层 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 它会在原始数据的基础上添加标头 ????????????????????????包含信息:????????????????????????????????协议信息等等 ????????????????????????常用的协议(规则):????????????????????????????????FTP,HTTP,SMTP等等 ???????????????????????????????? ? ? ? ? ? ? ? ? 表示层? ? ? ? ? ? ? ? ? ? ? ? 为了让信息可以在各操作系统和设备中通用 ? ? ? ? ? ? ? ? ? ? ? ??功能:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??数据格式转换、代码转换、数据加密 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 为了让不同设备之间能够有统一的规则 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 表示层会把数据转换为能与各系统格式兼容,并且适合传输的格式 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 表示层就像是个翻译,会把数据相关信息翻译成国际通用的规则 ???????????????????????????????? ? ? ? ? ? ? ? ? 会话层????????????????????????功能:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??建立、管理和维护会话 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 它主要负责数据传输中设置和维护 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 网络中两台设备之间的通信连接 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 它不参与具体的传输,主要提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??总结???????? ?????????OSI模型每层的职能?TCP/IP协议? ? ? ? TCP/IP协议是什么? ? ? ? ? ? ? ??TCP/IP(Transmission Control Protocol / Internet Protocol) ? ? ? ? ? ? ? ? TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议 ? ? ? ? ? ? ? ? 是指能够在多个不同网络间实现信息传输的协议簇,它是一个工业标准(就是实际会使用的标准) ? ? ? ? ? ? ? ? TCP/IP协议不仅仅指的是TCP和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等等协议构成的协议簇,只是应为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议 ? ? ? ? ? ? ? ? 用于互联网的通信协议(规则) ? ? ? ? ? ? ? ? TCP/IP协议是一系列规则(协议)的统称,他们定义了消息在网络间进行传输的规则是供已连接互联网的设备进行通信的通信规则 ???????????????? ? ? ? ? ? ? ? ? 比如:在传输文件时我们使用其中的FTP文件传输协议 ? ? ? ? ? ? ? ? ? ? ? ? ? ?在传输电子邮件时我们使用其中的SMTP邮件传输协议 ? ? ? ? ? ? ? ? ? ? ? ? ? ?在定位远端计算机位置时我们使用其中的IP互联网协议地址 ????????TCP/IP协议的规则? ? ? ? ? ? ? ??TCP/IP网络结构体系实际上是基于OSI七层模型设计出来的 ? ? ? ? ? ? ? ? OSI七层模型只是一个概念模型,它主要用于描述、讨论和理解单个网络功能 ? ? ? ? ? ? ? ? 而TCP/IP协议是为了解决一组特定的问题而设计的,它是基于互联网开发的标准协议(规则) ? ? ? ? ? ? ? ? OSI模型只是一个基本概念,而TCP/IP协议是基于这个概念的具体实现 ? ? ? ? ? ? ? ? TCP/IP协议把互联网通信的过程抽象的分成了四个层级 ? ? ? ? ? ? ? ? 1.应用层 ? ? ? ? ? ? ? ? 2.传输层 ? ? ? ? ? ? ? ? 3.网络层 ? ? ? ? ? ? ? ? 4.网络接口层(数据链路层) ? ? ? ? ? ? ? ? 这四层是基于OSI七层模型进行设计的 ???????? ? ? ? ? ? ? ? ??TCP/IP是基于OSI根据目前的实际情况制定的一套规则 ? ? ? ? ? ? ? ??它主要用于对当前互联网结构体系提供一组规则 ? ? ? ? ? ? ? ??所有形式的网络传输都遵循这套规则 ? ? ? ? ? ? ? ? 它是OSI概念的具体实现 ? ? ? ? ? ? ? ? 在进行网络开发时,我们就是基于TCP/IP协议 ? ? ? ? ? ? ? ? 来进行网络通信的 ? ? ? ??TCP/IP协议每层的职能? ? ? ? ? ? ? ??TCP/IP协议是层层封装的,从应用层到网络接口层 ? ? ? ? ? ? ? ? 每经过一层都会添加一些额外信息 ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? 应用层头:? ? ? ? ? ? ? ? ? ? ? ??协议头(FTP、HTTP等协议),一般决定传输信息的类型 ? ? ? ? ? ? ? ??传输层头:????????????????????????协议端口头(TCP或UDP协议),一般决定传输信息的规则以及端口 ? ? ? ? ? ? ? ??网络层头:? ? ? ? ? ? ? ? ? ? ? ??IP头、决定传输路线 ????????????????网络接口头尾:????????????????????????产生帧(消息分段),决定最终路线 ????????? ?TCP/IP协议中的重要协议? ? ? ? 应用层协议:????????????????HTTP协议:超文本传输协议 ? ? ? ? ? ? ? ? HTTPS协议:加密的超文本传输协议 ? ? ? ? ? ? ? ? FTP协议:文件传输协议 ? ? ? ? ? ? ? ? DNS:域名系统 ????????传输层协议:? ? ? ? ? ? ? ??TCP协议:传输控制协议 ? ? ? ? ? ? ? ? UDP协议:用户数据协议 ? ? ? ??网络层协议:????????????????IP协议 ? ? ? ? TCP:传输控制协议 ? ? ? ? UDP:用户数据报协议
TCP协议????????TCP(传输控制协议) ? ? ? ? 是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接 ? ? ? ? 并且在消息传送过程中是有顺序的,并且是不会丢包(丢弃消息)的 ? ? ? ? 如果某一条消息在传送过程中失败了,会重新发送消息,直到成功 ????????特点:? ? ? ? ? ? ? ??1.面向连接 —— 两者之间必须建立可靠的连接 ? ? ? ? ? ? ? ? 2.一对一? ??—— 只能是一对一的建立连接 ? ? ? ? ? ? ? ? 3.可靠性高 —— 消息传达失败会重新发送,不允许丢包 ? ? ? ? ? ? ? ? 4.有序的? ? —— 是按照顺序进行消息发送的 ? ? ? ? TCP协议中有一个重要概念:三次握手,四次挥手 ? ? ? ?? ? ? ? ??三次握手建立连接????????????????第一次握手(C —> S) ? ? ? ? ? ? ? ? TCP连接请求,告诉服务器我要和你建立连接 ? ? ? ? ? ? ? ??第二次握手(S?—> C) ? ? ? ? ? ? ? ? TCP授予连接,告诉客户端可以建立连接 ????????????????第三次握手(C —> S) ? ? ? ? ? ? ? ? TCP确认连接,告诉服务器,进行连接 ? ? ? ? 四次挥手端口连接? ? ? ? ? ? ? ? 第一次挥手(C—>S)? ? ? ? ? ? ? ? ? 告诉服务器数据发送完毕,访问服务器是否还有未发送完的数据 ? ? ? ? ? ? ? ? 第二次挥手(S—>C)? ? ? ? ? ? ? ? ? ?客户端接收消息,继续发送未发送完毕的消息 ? ? ? ? ? ? ? ? 第三次挥手(S—>C) ? ? ? ? ? ? ? ? 告诉客户端消息发送完毕,可以正式断开连接了 ????????????????第四次挥手(C—>S)?? ? ? ? ? ? ? ? ? 告诉服务器计时结束就断开连接 ? ? ? ? TCP有了这三次握手,四次挥手的规则 ? ? ? ? 可以提供可靠的服务,通过TCP连接传送的数据 ? ? ? ? 可以做到无差错、不丢失、不重复、且按顺序到达 ? ? ? ? 它让服务器和客户端之间的数据传递变得更加的可靠 UDP协议????????UDP(用户数据报协议) ? ? ? ? 是一种无需建立连接就可以发送封装的IP数据包的方法 ? ? ? ? 提供面向事务的简单不可靠信息传送服务 ???????? ????????特点:????????????????1.无连接? ? ? ? —— 两者之间无需建立连接 ? ? ? ? ? ? ? ? 2.可靠性低? ? ?——?消息可靠在传送过程中丢失,丢失后不会重发 ? ? ? ? ? ? ? ? 3.传输效率高? —— 由于它的可靠性低并且也无需建立连接,所有传输效率上更高一些 ? ? ? ? ? ? ? ? 4.n对n? ? ? ? ? ? ?—— TCP只能1对1连接进行消息传递,而UDP由于无连接所以可以n对n ? ? ? ? UDP协议不像TCP协议需要建立连接有三次握手和四次挥手 ? ? ? ? 当使用UDP协议发送信息时 ? ? ? ? 会直接把信息数据扔到网络上,所以也就造成了UDP的不可靠性 ? ? ? ? 信息在这个传递过程中是有可能丢失的 ? ? ? ? 虽然UDP是一个不靠谱的协议,但是由于它不需要建立连接 ? ? ? ? 也不会像TCP协议那样携带更多的信息,所以它具有更好的传输效率 ? ? ? ? 它具有消耗小,处理速度快的特点 总结? ? ? ? TCP:? ? ? ? ? ? ? ? 更可靠,保证数据的正确性和有序性(三次握手和四次挥手) ? ? ? ? ? ? ? ? 适合对信息准确性要求高,效率要求较低的使用场景 ? ? ? ? ? ? ? ? 比如:游戏开发,文件传输,远程登录等 ???????? ? ? ? ? UDP:? ? ? ? ? ? ? ? 更效率,传输更快,资源消耗更少 ? ? ? ? ? ? ? ? 适合对实时性要求高的使用场景 ? ? ? ? ? ? ? ? 比如:直播,即时通讯,游戏开发等? |
|
网络协议 最新文章 |
使用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 1:24:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |