JavaEE——网络初识 (简单介绍两种协议以及网络通信的基础概念)

文章目录

  • 一、简单了解网络发展
  • 二、网络通信基础认识
  • 三、利用UDP举例解释网络信息传输

一、简单了解网络发展

总的来讲,网络的发展史就是,先是一小部分的计算机之间连接通信,随着技术发展,逐渐扩大范围,形成了我们当前使用的互联网。在这之中,最主要的改变就是网络组建的方式

  1. 局域网组建
  • 基于集线器组建
    JavaEE——网络初识 (简单介绍两种协议以及网络通信的基础概念)_第1张图片

  • 基于交换机组建
    JavaEE——网络初识 (简单介绍两种协议以及网络通信的基础概念)_第2张图片
    只是组建局域网(不能跨局域网)

  • 以路由器组建
    JavaEE——网络初识 (简单介绍两种协议以及网络通信的基础概念)_第3张图片
    路由器将多个局域网进行联系。

  1. 广域网组建

广域网,即 Wide Area Network ,简称 WAN。

通过路由器,将多个局域网连接起来,在物理层面上组成大范围的网络,就形成了广域网。广域网中的局域网都属于子网。 如图:

JavaEE——网络初识 (简单介绍两种协议以及网络通信的基础概念)_第4张图片

二、网络通信基础认识

  1. IP 地址
    简单来讲就是用来定为主机的网络地址

  2. 端口号
    标识一个具体的应用程序,格式为(0 - 65535)之间的数字。

  3. 认识协议
    概念: 通俗来讲,就是通信双方进行的一种约定。通过这个约定,让双方互相理解对方的含义。

对于网络通信,是一个比较复杂的事情,需求的场景复杂了,实现的功能也就会复杂。因此,在实际情况中,会将这些庞大,繁杂的协议拆分成相对简单较小的协议,再将这些小的协议分层整合进行使用

在当前互联网世界,分层方式大致分为两种:

  1. OSI 七层网络模型
    因为该网络模型既复杂有不实用,所以在这里就简单了解一下即可。
    JavaEE——网络初识 (简单介绍两种协议以及网络通信的基础概念)_第5张图片

  2. TCP/IP 五层网络模型

JavaEE——网络初识 (简单介绍两种协议以及网络通信的基础概念)_第6张图片
如上图所示,越往下层,越接近硬件设备,越往上越接近用户。
在这里我们要明白一点,上层协议要调用下层协议,下层协议要给上层协议提供服务。

解释每层模型的含义

  • 物理层: 约定了网络通信中的基础硬件设备是什么样。
    例如:通信使用的 网口 网线 的规格。

  • 数据链路层: 主要负责两个相邻两个节点之间具体如何传输。(就像是在网上买了一件快递,商家发货)

  • 网络层: 主要负责路径的规划,信息传输走那条路合适。(快递在运输时,快递公司考虑沿着那条路走)

  • 传输层: 只关心起点和终点,不在乎之间的过程。

  • 用户层: 应用程序描述出传递的数据,用户如何进行使用。

三、利用UDP举例解释网络信息传输

发送方

假设编写 hello 字符串,以qq这个引用程序进行发送。

  1. 应用层

JavaEE——网络初识 (简单介绍两种协议以及网络通信的基础概念)_第7张图片
如上图所示,用户在应用层生成了一个数据报,程序通过调用操作系统 api 将应用层数据传递给传输层。

这里的 应用层数据报 本质上就是一个遵守了约定格式的字符串。

  1. 传输层(进入操作系统内核)

在传输层中,需要将上面传输下来的应用层数据报 构造成 传输层数据报

在传输层使用到的协议,最知名的就是 UDP 和 TCP 。假设此处构造 UDP 数据报。
JavaEE——网络初识 (简单介绍两种协议以及网络通信的基础概念)_第8张图片
如上图所示:此处就像是字符串拼接一样,将报头和后面的数据拼接在一起

这里的 “报头” 就是一个标签,通过该标签表示出当前需要将数据怎样传输。

最后,传输层将这个 UDP数据报 传递给网络层。

  1. 网络层

通过知名协议 IP 协议。IP 协议基于上述的数据报,打包成为一个 IP 数据报。

JavaEE——网络初识 (简单介绍两种协议以及网络通信的基础概念)_第9张图片
同样的,这里的 IP报头 也是相当于一个字符串。包含着核心信息:源IP 和 目的 IP

在这里,我们还需要了解一个重点概念
一次通信中,基础的五元组。
JavaEE——网络初识 (简单介绍两种协议以及网络通信的基础概念)_第10张图片
形象的用一句话来解释就是,如下图:
JavaEE——网络初识 (简单介绍两种协议以及网络通信的基础概念)_第11张图片

网络层数据报构建好后,进一步交给 数据链路层。

  1. 数据链路层

这里又有一个知名协议 “以太网” 。基于上述数据,这里要将以太网数据再次打包为 “以太网数据帧”
JavaEE——网络初识 (简单介绍两种协议以及网络通信的基础概念)_第12张图片
如上图所示,之后再将数据往下传输,交给物理层。

  1. 物理层

将上述二进制数据转换成 电/光 信号,此时就真正的将数据发送出去。

接收方

在这里接收方的工作就是将上面发送方产生的数据报,依次按不同协议层进行拆解,最终传递到应用层,显示到用户界面上。(在这里就不进行过多的解释)

总结: “封装分用”
总的来讲,在网络传输中,自上而下,从应用层到物理层,称之为 “封装”
自下而上,从物理层到应用层,称之为“分用”

你可能感兴趣的:(JavaEE,java-ee,网络)