当前位置: 首页 > news >正文

数据通信与网络(二)

如何构建网络协议

这些协议采用分层的结构,每层协议实现特定功能,同时也需要依靠低层协议所提供的服务。

网络协议可以理解为三部分组成:

1、语法:通信时双方交换数据和控制信息的格式,是对通信时采用的数据结构形式的一种规定。

2、语义:由通信过程的说明构成,它规定了需要发出何种控制信息完成何种动作以及做出何种应答。

3、时序(同步):通信如何发起,再收到一个数据后,下一步要做什么。

HTTP协议是应用层协议,是浏览器和Web服务器通信时使用的协议,当浏览器访问服务器时,会向服务器发出请求报文,报文的语法格式:GET/HTTP/1.1。

“GET”的语义是要获取文件;“/”的含义是指要访问网站的主页;“HTTP1.1”表明浏览器使用的协议是HTTP1.1版本。  

当Web服务器收到请求后,如果主页存在服务器的应答语法格式:HTTP/1.1 200 OK  data data ……。200 是状态码,代表成功;OK是文字说明, data是文件数据。

如果主页不存在,服务器的应答是:HTTP/1.1 404 NOT Found ,告诉浏览器没有找到对应的文件。

不同主机上的同一层次称为对等层

每一层中实现功能的协议元素称为实体,实体既可以是软件,也可以是硬件。

对等层内的实体称为对等实体。

每一层都有特定的功能,使用下一层为它提供的服务,同时也为自己的高层提供服务。

数据传递过程

数据从发送端的最高层开始,层层向下,层层封装,直到发送方的最底层,转换为电磁信号后经过物理链路到达接收端的最底层,再层层向上,层层解封装,最后到达接收方的最高层,整个通信过程是垂直

高层使用了低层的服务,低层向高层提供服务,高层通过低层提供的服务接口访问低层的服务。

数据的传递在概念上可以认为通信是水平的,数据高翔由对等层的一端直接到达了另一端。

通信的目的就是要实现对等层之间的水平通信,虽然事实上水平通信要依赖垂直通信来实现。

协议分层的优点:

1、每个层次都可以单独实现。

2、层次明确也更有利于标准化。

计算机网络体系结构

各个层次的所有协议也被称为协议栈

采用不同体系结构的两个网络之间很难通信

为使所有的网络都能互连互通,国际标准化组织ISO提出了开放系统互连参考模型(Open Systems Interconnection Reference Model,OSI/RM),简称OSI参考模型。

1~3层称为低层功能(LLF):通信传送功能——网络和终端具备的功能

第4~7层称为高层功能(HLF):通信处理功能——终端具备的功能

TCP/IP协议体系

应用层:相当于OSI参考模型的应用层,具体的协议有超文本传输协议(HTTP)、文件传输协议(FTP)等。

运输层: TCP协议:为应用程序提供面向连接的可靠的通信,具有流量控制和拥塞控制的功能。 UDP协议:提供无连接的不可靠通信,但是效率较高。

互联网层:相当于OSI参考模型的网络层,要为数据找到一条正确的路到达目的地,主要的协议是IP。

网络接口层:相当于OSI参考模型的数据链路层和物理层。

TCP/IP的应用层

应用层协议为文件传输、电子邮件、远程登录、网络管理、Web浏览等应用提供了支持。有些协议的名称与以其为基础的应用程序同名。

TCP/IP的传输层

传输层的主要功能:提供进程间可靠的传输服务。

传输层包括TCP和UDP两种传输协议:

TCP是面向连接的传输协议。 在数据传输之前建立连接; 把报文分解为多个段进行传输,在目的站再重新装配这些段; 必要时重新传输没有收到或错误的段,因此它是“可靠”的。

UDP是无连接的传输协议。 在数据传输之前不建立连接; 对发送的段不进行校验和确认,因此它是“不可靠”的; 主要用于请求/应答式的应用和语音、视频应用。

TCP和UDP都用端口(port)号来设别应用层实体,以便准确地把信息提交给上层对应的协议(进程)。

TCP/IP的网络层

主要功能是把数据报通过最佳路径送到目的端。

- 寻址(IP地址)、路由选择、封包/拆包

网络层的核心协议 --- IP,提供了无连接的数据报传输服务(不保证送达,不保证序,不保证无错)

        -传输前不需建立连接

        -提高了传输效率

网络层是网络转发节点(如路由器)上的最高层。

        -网络节点设备不需要传输层和应用层

网际层的其他重要协议:

ICMP(Internet Control Message Protocol)

传递控制信息

        - 可达性测试

        - 传送路由状态信息

        - 超时通知

        - 不可达通知

封装在IP中进行传输

ARP(Address Resolution Protocal)

为已知的IP地址确定相应的MAC地址

RARP (Reverse Address R二solution Protocal)

为已知的MAC地址确定相应的IP地址

IGMP(Internet Group Management Protocol)

多播组管理

TCP/IP的网络接口层

没有定义任何实际协议,仅定义了网络接口

任何已有的数据链路层协议和物理层协议都可以用来支持TCP/IP

典型的例子:

- Ethernet、Token Ring、HDHL、X.25、ATM

优点:适应性强、灵活

缺点:不能利用已存在的某些有用的功能

- TCP/IP总是认为其下层是不可靠的(尽管可能已经足够可靠)

TCP/IP协议栈

主机和路由器的协议栈

对于端系统(主机和服务器)而言,因为包括具体的网络应用,所以四层协议都具备。

对于通信子网中的分组交换设备(路由器),其作用是转发分组,并不关心高层数据,所以协议栈只包括下两层协议(互联网层和网络接口层)。

OSI参考模型和TCP/IP参考模型比较

相同之处:

1、两者都采用层次型的模型。

2、都以协议栈的概念为基础,且协议栈中的协议是彼此相互独立的。

3、两个模型中各层的功能大体相似。

不同之处:

1、服务、接口和协议这三个概念,OSI非常明确,TCP/IP没有区分三者间的差异。前者的协议隐蔽性比后者好,这有利于协议的更新。

2、OSI是模型在先协议在后,这意味着该模型具有通用性,而TCP/IP模型却相反,模型只有已有协议的一个描述,但未必适合其他的协议栈。

3、两种模型层的数目不同。

4、OSI的网络层同时支持面向连接和无连接服务,但远输层只支持面向连接服务。而TCP/IP的网络层只有一种无连接服务模式,但在远输层同时支持两种服务模式

5、TCP/IP较早就有较好的网络管理。OSI后来才考虑网管问题。

http://www.lryc.cn/news/372181.html

相关文章:

  • DTU为何应用如此广泛?
  • 基于软件在环的飞控机建模仿真
  • github ssh key的SHA256是什么
  • HyperBDR新版本上线,自动化容灾兼容再升级!
  • python学习—合并多个Excel工作簿表格文件
  • 如何把路由器设备的LAN口地址为三大私网地址
  • Java多线程-StampedLock(原子读写锁)
  • (源码)一套医学影像PACS系统源码 医院系统源码 提供数据接收、图像处理、测量、保存、管理、远程医疗和系统参数设置等功能
  • 【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框
  • # RocketMQ 实战:模拟电商网站场景综合案例(五)
  • Cesium4Unreal - # 009 直接加载显示shapefile
  • Release和Debug的区别?Release有什么好处?【面试】
  • DevExpress 控件和库
  • 车载以太网测试
  • 181.二叉树:验证二叉树(力扣)
  • 陪诊小程序开发,陪诊师在线接单
  • 【全开源】Java无人共享棋牌室茶室台球室系统JAVA版本支持微信小程序+微信公众号
  • 2024-6-10-zero shot,few shot以及无监督学习之间的关系是什么
  • C语言|十进制数转换任意进制数
  • 驱动开发(二):创建字符设备驱动
  • Golang:使用时会遇到的错误及解决方法详解
  • r语言数据分析案例25-基于向量自回归模型的标准普尔 500 指数长期预测与机制分析
  • 解决使用Jmeter进行测试时出现“302“,‘‘401“等用户未登录的问题
  • MySql通过 Procedure 循环删除数据
  • Spring Boot 的启动原理、Spring Boot 自动配置原理
  • 不会开发的你也能管理好企业漏洞,开源免费工具:洞察(insight II)
  • java实现两个不同对象的集合复制
  • bind failed: Address already in use
  • LabVIEW结构体内部缺陷振动检测
  • RK3568技术笔记六 新建 Ubuntu Linux 虚拟机