前端开发基础——网络通信

举报
小团子999 发表于 2020/08/02 13:52:42 2020/08/02
【摘要】 网络体系结构

1. 网络的概念

        我们如今处于网络时代,我们口中所说的上网的网到底指的是什么呢?首先我们给出网络的概念,网络是由若干结点和连接这些结点的链路组成。结点包括路由器,交换机,计算机等。而因特网这个名词我们也很熟悉,它是世界上最大的互连网络,是由一个个网络通过路由器连接起来的更大的网络。所以我们经常所说的上网其实是上Internet网。

2. 网络体系结构

        说到网络,我们不得不说说网络体系结构。计算机网络是一个非常庞大、复杂的系统。别看我们现在使用操作电脑很简单,其实计算机需要进行许多复杂的操作,只是我们看不见而已。为了解决计算机通信的复杂性,就有人提出了分层的思想,分层就是将庞大复杂的问题,转化为若干较小的局部问题,然后我们对这些问题进行研究处理。

        于是国际标准化组织(ISO)就提出了开放系统互连基本参考模型 OSI/RM,简称OSI。目的是让全世界任何一个地方的电脑,只要遵循这个标准就可以进行通信。但是由于OSI实现协议过于复杂,制定周期长,有些层次划分不合理,所以只是取得了理论成果,市场化失败。随着互联网的快速发展,TCP/IP模型成为被广泛运用的标准。下面我们说说OSI七层体系结构与TCP/IP体系结构:

OSI体系结构 TCP/IP体系结构 五层体系结构
应用层 应用层
应用层
表示层
会话层
运输层 运输层 运输层
网络层 网际层 网络层
数据链路层 网络接口层
数据链路层
物理层 物理层

        为了便于我们学习网络通信的原理,我们常常使用的是五层体系结构。

  • 应用层

        应用层是体系结构的最高层。它的主要任务是通过应用进程的交互完成网络应用。这其实就是我们用户所能接触的一层,如我们常常访问互联网用的HTTP协议,发邮件用的SMTP协议,文件传输的FTP协议。它的交互数据单元是报文

        应用层的协议:HTTP,HTTPS,FTP,POP3、SMTP等。

  • 运输层

        运输层的任务就是负责两台主机进程之间的通信提供传输服务,其实就是利用该层的服务传输应用层的报文。这里就有我们常常听说的两种协议:传输控制协议TCP、用户数据报协议UDP。

        运输层常用的协议:

        1)TCP:面向连接的、可靠的数据传输,数据传输单位是报文段。

        2)UDP:面向无连接的、尽最大努力的数据传输,不保证可靠性,数据传输单元是用户数据报。

  • 网络层

        网络层是负责不同主机通信服务。它是把运输层产生的报文段或用户数据报封装成分组或包进行传送。分组,也就是数据传输单元称为IP数据报。

        网络层的协议:IP协议、ICMP、IGMP、ARP等。

  • 数据链路层

        数据链路层负责在主机之间进行通信的过程中,有很多段链路,相邻结点之间传输数据服务。数据链路层将网络层交下来的IP数据报组装成帧,在相邻结点进行传送。数据传输单元就是帧,包括数据和控制信息。

        网络层的协议:PPP协议、CSMA/CD协议等。

  • 物理层

        物理层负责在物理介质上面的传输任务。数据传输单元是比特。所用的物理媒介包括光缆、双绞线、无线通信、同轴电缆等。

3. 几个重要的概念

  • 网络协议

        网络协议是为了进行网络中数据交换所建立的规则。它包括三个要素:语法(数据和控制信息的格式和结构)、语义(规定了怎么做、做什么、什么时候做)、同步(完成任务的顺序说明)。

  • 实体

        实体是可发送或接受信息的硬件或软件进程。协议正是控制实体之间进行通信的规则。

  • 分层

        在网络体系结构中,分层思想体现的淋漓尽致,这也给我们以后解决复杂问题有着很多启示。如我们的程序开发分前后端,后端代码又分controller、service、dao等等,我们都用到了。分层思想有很多好处:灵活性好,易于实现和维护,能促成标准化工作。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。