Protocol-概述

  • 1.协议
  • 2.协议的特点
  • 3.协议释义
  • 4.典型协议
  • 5.分层模型
    • 1.网络分层架构
    • 2.层与协议
  • 6.各层功能
    • 1.链路层
    • 2.网络层
    • 3.传输层
    • 4.应用层
  • 7.通信过程

1.协议

协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定,是为了使数据在网络上从源到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议(protocol),它最终体现为在网络上传输的数据包的格式,其三要素是:语法、语义、时序。协议往往分成几个层次进行定义,分层定义是为了使某一层协议的改变不影响其他层次的协议。

2.协议的特点

  1. 协议中的每个人都必须了解协议,并且预先知道所要完成的所有的步骤。
  2. 协议中的每个人都必须同意并遵循它。
  3. 协议必须是清楚的,每一步必须明确定义,并且不会引起误解。

3.协议释义

从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。假设,A、B双方欲传输文件。规定:
第一次,传输文件名,接收方接收到文件名,应答OK给传输方;
第二次,发送文件的尺寸,接收方接收到该数据再次应答一个OK;
第三次,传输文件内容。同样,接收方接收数据完成后应答OK表示文件内容接收成功。
由此,无论A、B之间传递何种文件,都是通过三次数据传输来完成。A、B之间形成了一个最简单的数据传输规则。双方都按此规则发送、接收数据。A、B之间达成的这个相互遵守的规则即为协议。
这种仅在A、B之间被遵守的协议称之为原始协议。
当此协议被更多的人采用,不断的增加、改进、维护、完善。最终形成一个稳定的、完整的文件传输协议,被广泛应用于各种文件传输过程中。该协议就成为一个标准协议。最早的ftp协议就是由此衍生而来。

4.典型协议


网络层级 常见协议
应用层 常见的协议有HTTP协议,FTP协议。
传输层 常见协议有TCP/UDP协议。
网络层 常见协议有IP协议、ICMP协议、IGMP协议。
链路层 常见协议有ARP协议、RARP协议。

协议名称 协议特性
TCP TCP传输控制协议(Transmission Control Protocol)是一种面向连接的、可靠的基于字节流传输层通信协议
UDP UDP用户数据报协议(User Datagram Protocol)是OSI参考模型中一种无连接传输层协议,提供面向事务简单不可靠信息传送服务
HTTP HTTP超文本传输协议(Hyper Text Transfer Protocol)是互联网上应用最为广泛的一种网络协议
FTP FTP文件传输协议(File Transfer Protocol)
IP IP协议是因特网互联协议(Internet Protocol)
ICMP ICMP协议是Internet控制报文协议(Internet Control Message Protocol)它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
IGMP IGMP协议是 Internet 组管理协议(Internet Group Management Protocol),是因特网协议家族中的一个组播协议。该协议运行在主机和组播路由器之间
ARP ARP协议是正向地址解析协议(Address Resolution Protocol),通过已知的IP,寻找对应主机的MAC地址
RARP RARP是反向地址转换协议,通过MAC地址确定IP地址

5.分层模型

1.网络分层架构

为了减少协议设计的复杂性,大多数网络模型均采用分层的方式来组织。每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持。每一层利用下一层提供的服务来为上一层提供服务,本层服务的实现细节对上层屏蔽。

越下面的层,越靠近硬件;越上面的层,越靠近用户。


业内普遍的分层方式有两种。OSI七层模型 和TCP/IP四层模型。
OSI七层模型
TCP/IP四层模型


序号 层次名称 概述
1 物理层 是计算机网络OSI模型中最低的一层,主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换),物理层的数据叫做比特
2 数据链路层 定义了如何让格式化数据以帧为单位进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。如:串口通信中使用到的115200、8、N、1
3 网络层 在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层
4 传输层 定义了一些传输数据的协议和端口号(WWW端口80等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把传输层的数据叫做段
5 会话层 通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)。
6 表示层 可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。
7 应用层 最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务

2.层与协议

网络的每一层,都定义了很多协议。这些协议的总称,叫“TCP/IP协议”。TCP/IP协议是一个大家族,不仅仅只有TCP和IP协议,它还包括其它的协议,如下图:

6.各层功能

1.链路层

**以太网规定,连入网络的所有设备,都必须具有“网卡”接口。数据包必须是从一块网卡,传送到另一块网卡。**通过网卡能够使不同的计算机之间连接,从而完成数据通信等功能。网卡的地址——MAC地址,就是数据包的物理发送地址和物理接收地址。

2.网络层

网络层的作用是引进一套新的地址,使得我们能够区分不同的计算机是否属于同一个子网络。这套地址就叫做“网络地址”,就是我们平时所说的IP地址。这个IP地址好比我们的手机号码,通过手机号码可以得到用户所在的归属地。
网络地址帮助我们确定计算机所在的子网络,MAC 地址则将数据包送到该子网络中的目标网卡。网络层协议包含的主要信息是源IP和目的IP。
于是,“网络层”出现以后,每台计算机有了两种地址,一种是 MAC 地址,另一种是网络地址。两种地址之间没有任何联系,MAC 地址是绑定在网卡上的,网络地址则是管理员分配的,它们只是随机组合在一起。
网络地址帮助我们确定计算机所在的子网络,MAC 地址则将数据包送到该子网络中的目标网卡。因此,从逻辑上可以推断,必定是先处理网络地址,然后再处理 MAC 地址。

3.传输层

当一边聊QQ,一边聊微信,当一个数据包从互联网上发来的时候,怎么知道它是来自QQ的内容,还是来自微信的内容?
故而,还需要一个参数,表示这个数据包到底供哪个程序(进程)使用。这个参数就叫做“端口”(port),它其实是每一个使用网卡的程序的编号。每个数据包都发到主机的特定端口,所以不同的程序就能取到自己所需要的数据。
端口特点
对于同一个端口,在不同系统中对应着不同的进程
对于同一个系统,一个端口只能被一个进程拥有

4.应用层

应用程序收到“传输层”的数据,接下来就要进行解读。由于互联网是开放架构,数据来源五花八门,必须事先规定好格式,否则根本无法解读。“应用层”的作用,就是规定应用程序的数据格式。

7.通信过程

Protocol(一)[概述]相关推荐

  1. 网际控制报文协议ICMP(Internet Control Message Protocol)(详解)

    一.回顾下TCP/IP协议栈 二.ICMP(Internet Control Message Protocol)协议概述 三.ICMP协议的组成 四.ICMP差错报告报文(5种): 终点不可达:当路由 ...

  2. 计算机网络 | 网络层(数据平面)

    文章目录 网络层:数据平面 一.导论 1.网络层服务 2.网络层的关键功能(两者相互配合完成数据传输) 3.数据平面.控制平面 3.1 数据平面(该怎么转发,某个数据这个口进来那个口出去) 3.2 控 ...

  3. BitTorrent协议规范(二)

    Peer wire protocol (TCP) 概述 peer(端)协议使片(piece)的交换变得容易,片的描述请参考元信息文件. 注意:原来的规范在描述peer协议时,也使用术语piece&qu ...

  4. python网络通信,多线程,迭代器

    网络通信,多线程,迭代器 4.python网络基础 网络通信概述 什么是网络: 一些相互连接的,以共享资源目的计算机的集合. 为什么学习网络编程: 能编写基于网络通讯的软件,与其他计算机的软件进行数据 ...

  5. 网络工程设计02——ensp基础

    本文主要用于快速熟悉ensp操作,完成网络工程设计拓扑设计部分,详细教程请参考:https://wwf.lanzoue.com/iB0iW0fir80j 数据传输网络-三层结构体系: 核心层: 核心层 ...

  6. 互联网控制报文协议ICMP(计算机网络)

    目录 一.ICMP(Internet Control Message Protocol)概述 二.ICMP报文的格式 三.ICMP的差错报告报文 1.终点不可达 2.源点抑制 3.TTL超时 4.参数 ...

  7. 构建WebRTC应用程序所需的后端服务——STUN, TURN, and signaling

    开篇导读,这篇是从 https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/ 搬运翻译过来的,属于WebRTC理论入门,感觉属于把w ...

  8. (译)WebRTC实战: STUN, TURN, Signaling

    http://xiaol.me/2014/08/24/webrtc-stun-turn-signaling/ 原文:WebRTC in the real world: STUN, TURN and s ...

  9. Pascal Costanza:极端片面的Lisp介绍

    [LISP]Pascal Costanza:极端片面的Lisp介绍 1  背景知识 1.1  我为什么写这样一个介绍材料? 这份材料的初稿是在2002年八月完成的,所以其中的描述,并不完全反应我现在的 ...

  10. 【LISP】Pascal Costanza:极端片面的Lisp介绍

    1  背景知识 1.1  我为什么写这样一个介绍材料? 这份材料的初稿是在2002年八月完成的,所以其中的描述,并不完全反应我现在的情况的情况.但是为了保持最初的原味,我决定不去修改它们. 我现在的情 ...

最新文章

  1. curl: (7) couldn‘t connect to host 解决方法
  2. Windows下安装spark+Hadoop
  3. 中原银行张本晨:中原银行数字化营销体系建设实践
  4. QT的QBarCategoryAxis类的使用
  5. stdin,stdout,stderr
  6. STM32之外部中断原理
  7. 谷歌Pixel 6系列手机发布会官宣定档 10月19日发布
  8. SQLi LABS Less 27 联合注入+报错注入+布尔盲注+时间盲注
  9. angularjs金额大写过滤器
  10. 玩转Heartbeat,快速实现高可用性集群
  11. android多媒体部分学习笔记八------音频录制 mediaRecorder
  12. Centos查看进程命令
  13. 10米精度NPP净初级生产力数据/NDVI数据/植被类型数据/土地利用数据/降雨气温分布数据/太阳辐射分布数据
  14. 面试回忆之四:所投职位和背景极端不匹配的简历
  15. c语言经典面试题 洗牌,网易游戏面试题:如何设计一个公平的洗牌算法
  16. 如何编译运行C语言代码
  17. www.idcnd.net传媒官方客服提供
  18. java输入输出操作c盘文件拒绝访问问题
  19. easyui combobox 查询传递json对象
  20. 需求提炼:产品需求、技术需求

热门文章

  1. Hash和红黑树以及其在C#中的应用
  2. linux 查看开机启动项
  3. OTA再升级, 汽车云诊断风口将至,艾拉比早已“量产上车”
  4. vs2013配置qt5.7.0
  5. JSON字符串如何转化成对象?
  6. win7 64位系统加载dsoframer.ocx问题解决方法
  7. Word 公式排版(使用制表符)
  8. select 获取选择的值
  9. JDK的可视化工具——Java监视与管理控制台(JConsole)。
  10. 哪里可以在线转二维码?