首页 > 编程知识 正文

关于网络基础知识,基础的网络知识

时间:2023-05-04 14:54:10 阅读:250161 作者:3540

网络开发基本知识   (2013-11-28 05:44:32) 转载▼ 标签:  it   unity3d教程   unity3d   unity 分类: Unity3d之Web服务器篇
                                           网络开发基本知识
OSI OSI是Open System Interconnect的缩写,意为开放式 系统 互联。 国际标准化组织 (ISO)制定了OSI模型。这个模型把 网络 通信的工作分为7层,分别是 物理层 、 数据链路层 、 网络层 、 传输层 、 会话层 、 表示层 和 应用层 。

UDP User Datagram Protocol,用户数据报协议,是  OSI 中一种无连接的 传输层 协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。 UDP是 OSI 参考模型中一种无连接的传输层协议,它主要用于不要求分组顺序到达的传输中,分组传输顺序的检查与 UDP 协议基本上是 IP协议 与上层协议的接口。UDP协议适用 端口 分别运行在同一台设备上的多个 应用程序 。 在 网络 质量令人不十分满意的环境下,UDP协议数据包丢失会比较严重。但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。比如我们聊天用的 QQ 就是使用的UDP协议。 UDP报头由4个域组成,其中每个域各占用2个字节,具体如下: 

UDP

源 端口号 目标端口号 数据报长度 校验值

TCP Transmission Control Protocol  传输控制协议 TCP是一种面向连接(连接导向)的、可靠的、基于字节流的 传输层 (Transport layer)通信协议,由IETF的RFC 793说明(specified)。在简化的 计算机网络 OSI模型 中,它完成第四层 传输层 所指定的功能,UDP是同一层内另一个重要的传输协议。

3服务类型

3.1 FTP 文件传送 3.2 RLogin 远程登录 3.3 SMTP POP3 电子邮件 3.4 NFS 网络文件系统 3.5 远程打印 3.6 远程执行 3.7 名字服务器 3.8 终端服务器
连接建立 TCP协议通过三个报文段完成连接的建立,这个过程称为三次握手(three-way handshake),过程如下图所示。

TCP的三次握手

连接终止 建立一个连接需要三次握手,而终止一个连接要经过四次握手,这是由TCP的半关闭(half-close)造成的。具体过程如下图所示。

TCP连接的终止

6



TCP/IP Transmission Control Protocol/Internet Protocol,传输控制协议/ 因特网 互联协议 ,是Internet最基本的协议、Internet国际 互联网 络的基础,由 网络层 的IP协议和 传输层 的TCP协议组成。TCP/IP 定义了电子设备如何连入 因特网 ,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有 数据安全 正确地传输到目的地。而IP是给 因特网 的每一台电脑规定一个地址。 TCP/IP 协议 并不完全符合 OSI 的七层参考模型 。TCP/IP 通讯协议 采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。


TCP UDP对比 TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。 UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去! UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。例如,在默认状态下,一次“ping”操作发送4个数据包(如图2所示)。大家可以看到,发送的数据包数量是4包,收到的也是4包(因为对方主机收到后会发回一个确认收到的数据包)。这充分说明了UDP协议是面向非连接的协议,没有建立连接的过程。正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。 tcp协议和udp协议的差别 TCP UDP 是否连接 面向连接 面向非连接 传输可靠性 可靠 不可靠 应用场合 传输大量数据 少量数据 速度 慢 快 HTTP SOCKETIP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层, socket则是对TCP/IP协议的封装和应用(程序员层面上)。也可以说,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:  “我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容。  如果想要使传输的数据有意义,则必须使用到应用层协议。  应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。  WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”   而我们平时说的最多的socket是什么呢,实际上socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API)。  通过Socket,我们才能使用TCP/IP协议。  形成了我们知道的一些最基本的函数接口,比如create、listen、connect、accept、send、read和write等等。
怎么使用Node.js的内置模块event实现发布订阅模式Tiktok出单后怎么发货?Docker发布镜像到DockerHubSession域生命周期是什么JavaScript队列数据结构详解青浦)Skypack布局前端基建实现过程详解

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。