目录

网络协议概述

协议的字面意思

网络协议的基本概念

OSI

OSI模型是什么

OSI模型的规则

OSI模型每层的智能

物理层

功能

主要功能

数据链路层

功能

网络层

功能

包含信息

传输层

功能

包含信息

应用层

功能

包含信息

常用的协议(规则)

表示层

功能

会话层

功能

总结

OSI模型每层的职能

TCP/IP协议

TCP/IP协议是什么

TCP/IP协议的规则

TCP/IP协议每层的职能

应用层头

传输层头

网络层头

网络接口头尾

TCP/IP协议中的重要协议

应用层协议

传输层协议

网络层协议

TCP协议

特点

三次握手建立连接

四次挥手端口连接

UDP协议

特点

总结

TCP

UDP


网络协议概述

        协议的字面意思:

经过谈判、协商而制定的共同承认、共同遵守的文件

        网络协议的基本概念:

网络协议是计算机网络中进行数据交换而建立的规则、标准或约定的集合

指的是计算机网络中互相通信的对等实体之间交换信息时所必须遵守的规则的集合

如果你想要在网络环境中进行通信,那么网络协议就是你必须遵守的规则

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 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:

                更效率,传输更快,资源消耗更少

适合对实时性要求高的使用场景

比如:直播,即时通讯,游戏开发等

Unity——网络协议相关推荐

  1. Unity网络多玩家游戏开发教程(上册)

    Unity网络多玩家游戏开发教程(上册) 试读文档下载地址:http://pan.baidu.com/s/1jGwwxam Unity作为强大的游戏开发平台,为网络游戏的的开发提供大量的组件和API. ...

  2. Wireshark网络抓包(三)——网络协议

    一.ARP协议 ARP(Address Resolution Protocol)地址解析协议,将IP地址解析成MAC地址. IP地址在OSI模型第三层,MAC地址在OSI第二层,彼此不直接通信: 在通 ...

  3. 网络协议关系拓扑图 很全面 很好

    NETWORK ASSOCIATES GUIDE TO COMMUNICATIONS PROTOCOLS 网络协议关系拓扑图 很全面 很好 值得收藏!

  4. java相关网络协议无响应_java网络协议有哪些

    上网的途径有很多,java是最普遍的,那么卑java网络协议有哪些?了解网络安全常识,首先就要了解计算机网络安全有哪些基本注意事项,下面佰佰安全网小编就带您认识一下吧. 概念 协议是指计算机通信网络中 ...

  5. 网络协议OSI、TCP/IP协议、Socket套接字和第三方AsyncSock的使用等解析

    一.网络协议定义 1.OSI参考模型:全称(Open System Interconnection), 开放式系统互联参考模型.是一个逻辑上的定义,一个规范,它把网络协议从逻辑上分为七层,只要目的是为 ...

  6. 协议分析中的TCP/IP网络协议

    " TCP/IP协议作为互联网的基础,在协议分析中不可或缺,本文介绍在对协议进行分析还原的过程中的一些要点,快速掌握协议还原的精髓." 注意,本文比较枯燥乏味,若非需要了解TCP/ ...

  7. PYTHON黑帽编程1.5 使用WIRESHARK练习网络协议分析

    Python黑帽编程1.5  使用Wireshark练习网络协议分析 1.5.0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks At ...

  8. 计算机网络协议教案,计算机网络实验教案(6)网络协议分析-IP协议3.pdf

    计算机网络实验教案(6)网络协议分析-IP协议3.pdf (2页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 <计算机网络实验> ...

  9. 网络协议 19 - RPC 协议:远在天边近在眼前

    [前五篇]系列文章传送门: 网络协议 14 - 流媒体协议:要说爱你不容易 网络协议 15 - P2P 协议:小种子大学问 网络协议 16 - DNS 协议:网络世界的地址簿 网络协议 17 - HT ...

最新文章

  1. redis常见使用场景下PHP实现
  2. addConditionWaiter
  3. 递归算法(二)-分治法
  4. 最大公约数和最小公倍数问题(洛谷-P1029)
  5. 3.请求安全-- 结合使用的安全优势总结
  6. Simple:Press
  7. mysql 黑框框 叫什么_Coreldraw菜单黑框框/黑块解决办法
  8. python 词频统计
  9. 计算机打印错误,打印机错误正在打印处理方法,详细教您电脑打印机错误正在打印处理方法...
  10. 迅雷链基于智能硬件的DPoA共识机制介绍
  11. 安装EPICS synApps中的软件包
  12. 相对路径./ ../ /解释
  13. 怎么制作gif动态图 QQ动态表情包怎么制作
  14. 知云文献翻译 mac文献翻译软件
  15. Redis--布隆过滤器--使用/原理/实例
  16. android 记事本ppt,基于Android记事本软件设计与实现.ppt
  17. 直播程序源码功能技术详解
  18. Bit-Z的投资忠告
  19. x264代码剖析(二):如何编译运行x264以及x264代码基本框架
  20. 为react组件增加扩展class,解决react组件不能自定义className不生效的问题

热门文章

  1. 手工卡纸做机器人_【机器人手工】幼儿园创意手工制作机器人,小小科学家从机器人开始...
  2. 【OpenCV】9th-关于argc
  3. 苏超 计算机系 南京大学,中国大学两院院士数量排名,看看谁的科研实力最强...
  4. hohohoho...^_^
  5. 使用gsap javascript进行动画和React
  6. HTML5期末考核大作业、HTML个人主页界面设计源码
  7. 平板DNS服务器未响应,ipad应用验证没反应
  8. Sleep tight:(晚上) 睡个好觉!
  9. 使用Docker部署MySQL(数据持久化),将mysql的数据映射到本机磁盘
  10. 软件获取imei和imsi_imei和imsi