前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【JavaEE初阶】网络初识

【JavaEE初阶】网络初识

作者头像
xxxflower
发布2023-10-16 14:54:41
1620
发布2023-10-16 14:54:41
举报
文章被收录于专栏:《数据结构》

网络发展

独立模式

独立模式:计算机之间相互独立。

在这里插入图片描述
在这里插入图片描述

网络互联

随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同工作来完成 业务,就有了网络互连。 网络互连:将多台计算机连接在一起,完成数据共享。 数据共享本质是网络数据传输,即计算机之间通过网络来传输数据,也称为网络通信。 根据网络互连的规模不同,可以划分为局域网广域网

局域网LAN

局域网,即 Local Area Network,简称LAN。 Local 即标识了局域网是本地,局部组建的一种私有网络。局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下,是无法通信的。 (1)基于网线直连

在这里插入图片描述
在这里插入图片描述

(2)基于集线器组建

在这里插入图片描述
在这里插入图片描述

(3)基于交换机组建

在这里插入图片描述
在这里插入图片描述

(4)基于交换机和路由器组建

在这里插入图片描述
在这里插入图片描述

交换机:组建局域网 路由器:本质是把两个局域网连起来

广域网WAN

广域网,即 Wide Area Network,简称WAN。 通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。广域网内部的 局域网都属于其子网。

在这里插入图片描述
在这里插入图片描述

网络通信基础

IP地址

IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说,IP地址用于定位主机 的网络地址。 就像我们发送快递一样,需要知道对方的收货地址,快递员才能将包裹送到目的地。

格式: IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),如: 01100100.00000100.00000101.00000110。 通常用“点分十进制”的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数)。如: 100.4.5.6。

特殊IP

127.*的IP地址用于本机环回(loop back)测试,通常是127.0.0.1 本机环回主要用于本机到本机的网络通信(系统内部为了性能,不会走网络的方式传输),对于开 发网络通信的程序(即网络编程)而言,常见的开发方式都是本机到本机的网络通信。

IP地址解决了网络通信时,定位网络主机的问题,但是还存在一个问题,传输到目的主机后,由哪个进 程来接收这个数据呢?这就需要端口号来标识。

端口号

在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程。简 单说:端口号用于定位主机中的进程。 类似发送快递时,不光需要指定收货地址(IP地址),还需要指定收货人(端口号)。

格式:端口号是0~65535范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数据。

注意事项: 两个不同的进程,不能绑定同一个端口号,但一个进程可以绑定多个端口号。

认识协议

概念

协议是通信网络中最核心的概念。它是一个约定,商量好数据是啥样的格式来进行传输的。有了这个约定,才能让双方理解对方的含义。

协议,网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从 的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互 通信交流。通常由三要素组成: (1)语法:即数据与控制信息的结构或格式;

类似打电话时,双方要使用同样的语言:普通话

(2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;

语义主要用来说明通信双方应当怎么做。用于协调与差错处理的控制信息。 类似打电话时,说话的内容。一方道:你瞅啥?另一方就得有对应的响应:瞅你咋的!

(3)时序,即事件实现顺序的详细说明

时序定义了何时进行通信,先讲什么,后讲什么,讲话的速度等。比如是采用同步传输还是 异步传输。 女生和男生的通话,总是由男生主动发起通话,而总是在男生恋恋不舍的时候,由女生要求 结束通话。

网络通信,是一个比较复杂的史强,需求场景复杂了,实现功能也会比较复杂,如果这个协议太复杂,那么学习成本,使用成本,理解成本,维护成本都会比较高。因此,实际中,是针对这个复杂的大协议,拆成若干个相对简单的小协议。

针对这些小的协议,再进行“分类”。(分层)

五元组

在TCP/IP协议中,用五元组来标识一个网络通信:

  1. 源IP:标识源主机
  2. 源端口号:标识源主机中该次通信发送数据的进程
  3. 目的IP:标识目的主机
  4. 目的端口号:标识目的主机中该次通信接收数据的进程
  5. 协议号:标识发送进程和接收进程双方约定的数据格式
在这里插入图片描述
在这里插入图片描述

协议分层

协议分层有很多好处

  1. 降低学习和维护成本
  2. 灵活的针对这里的某一层协议进行替换
在这里插入图片描述
在这里插入图片描述

OSI七层模型

当前互联网世界,协议分层有两种风格: (1) OSI七层网络模型 (2)TCP\IP五层网络模型 OSI七层模型分为以下七层:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

OSI 七层模型既复杂又不实用:所以 OSI 七层模型没有落地、实现。 实际组建网络时,只是以 OSI 七层模型设计中的部分分层,也即是以下 TCP/IP 五层(或四层)模型来实现。

TCP/IP五层(或四层)模型

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。

在这里插入图片描述
在这里插入图片描述

越往下的,越接近硬件设备。越往上,就越接近用户。 网络分层:相当于上层协议要调用下层协议。下层协议给上层协议提供服务。

举个🌰: 我在淘宝上买了一件衣服,需要填写收件人地址和收件人姓名。

物理层:约定了网络通信中基础的硬件设备。 数据连接层/网卡层:主要负责相邻的两个节点之间具体的传输。

(相邻的两个节点就是指从浙江到湖南,从湖南到陕西这种传输途径。)

网络层:主要负责路径规划,走那条路比较划算。

(比如快递是从浙江义乌到西安,有很多途径可以选择,走哪一条路,怎么走,就是网络层关心的)

传输层:只关心起点到终点(端与端之间的传输)。

(站在我和商家的角度。我们不关心快递传输的过程,只关心起点和终点。这个过程就是传输层的工作。)

应用层:描述了数据的传输。用户要怎么来使用。

(我买了一个刷子,我可以用来刷鞋,刷梳子,刷羽绒服…)

在这里插入图片描述
在这里插入图片描述

节点:上述设备的统称,任何一个连入网络的交换机,路由器,电脑都可以成为“节点”。 相邻节点:通过一根线连在一起。

在这里插入图片描述
在这里插入图片描述

网络设备所在分层

  • 对于一台主机,它的操作系统内核实现了从传输层到物理层的内容,也即是TCP/IP五层模型的下四 层
  • 对于一台路由器,它实现了从网络层到物理层,也即是TCP/IP五层模型的下三层;
  • 对于一台交换机,它实现了从数据链路层到物理层,也即是TCP/IP五层模型的下两层;
  • 对于集线器,它只实现了物理层;

注意我们这里说的是传统意义上的交换机和路由器,也称为二层交换机(工作在TCP/IP五层模型的下两 层)、三层路由器(工作在TCP/IP五层模型的下三层)。 随着现在网络设备技术的不断发展,也出现了很多3层或4层交换机,4层路由器。我们以下说的网络设 备都是传统意义上的交换机和路由器。

网络分层对应

用户在输入框输入“hello”这个字符串,qq这个应用程序,就把这个字符串,构造成一个应用层数据报。 应用层数据报本质上就是一个遵守了约定格式的字符串。

发送方:

  1. 应用层 一个假设的应用层协议的格式: 发送QQ号;发送时间;接收方QQ号;消息内容
在这里插入图片描述
在这里插入图片描述

程序要调用操作系统的api,把这个应用层数据,交给传输层。

  1. 传输层(进入操作系统内核) 在传输层中,要把上述应用层程序构造成传输层的 数据报。 传输层使用到的协议:最知名的UDP和TCP。 比如此处使用UDP,就需要构造出UDP数据报。(在应用层基础上,加上UDP报头)
在这里插入图片描述
在这里插入图片描述

此处相当于字符串拼接,将报头和后面数据拼接在一起。 所谓“报头”就是一个“标签” 通过标签标示出当前要把这个消息怎样进行传输。 传输层就把这个UDP数据报交给“网络层”。

那么为什么要网上拼报头呢? 商家给我们发货,也是要套上包装的。比如一件T恤,要先套上一层塑料,再套一个纸盒。外面再套纸壳的盒… 一方面是防止衣服脏了或者运输过程损坏了。另一方面,可以在包装上面贴标签。标签上可以写一些信息。 这是快递传输中必要的内容。

  1. 网络层 最知名的协议:IP协议。IP协议要基于上述数据,打包成一个IP数据报。
在这里插入图片描述
在这里插入图片描述

这里的IP报头也相当于是一个字符串,包含了另外一组信息(最核心的信息,源IP和目的IP) 网络层数据准备好,还需要进一步的交给数据链路层。

  1. 数据链路层 最知名的协议:以太网。基于上述数据,还要打包成一个以太网数据帧
在这里插入图片描述
在这里插入图片描述

接下来这个数据继续往下传输,交给物理层。

  1. 物理层 把上述二进制的数据(一串101010)转换成电信号/光信号。

此时就把真正的数据发出去了。

知识拓展: 表示一个网络传输的数据单位 包(packet) 报(datagram) 帧(frame) 端(segment)

上述过程,从应用层到物理层,层层加码,这个过程称为封装。

接收方: (1)物理层 网卡接收到的信号是光信号和电信号,是在物理层,把这个光电信号转换回二进制的数据 转换回的这个数据,其实是一个以太网数据帧。

(2)把这个数据交给数据链路层尽心解析:

在这里插入图片描述
在这里插入图片描述

数据链路层没需要去掉帧头帧尾。取出中间的载荷。再交给上层的网络层。IP协议 以太网数据帧帧头里也会记录,这个载荷是不是一个IP数据报。

(3)网络层,IP写针对这里进行解析,解析出IP报头,取出IP协议的载荷,把这里得到的数据层数据报,交给上层传输层。

在这里插入图片描述
在这里插入图片描述

IP报头里会记录载荷是UDP还是TCP

(4)传输层:UDP再进行解析,取出报头,取出载荷,再把这个载荷交给对应的应用程序层。

在这里插入图片描述
在这里插入图片描述

UDP报头中有一个重要字段“目的端口”,目的端口是一个具体的应用程序,关联在一起的。因此就可以根据这个端口来把数据交给应用程序了。

(5)应用层:QQ应用程序,QQ就会针对应用层协议进行解析,显示到页面上。

在这里插入图片描述
在这里插入图片描述

上述过程,从下到上,层层解析,这个过程称为“分用”。

封装:包装快递 分用:拆快递。

整个的网络协议中,协议分为了很多层。 上层协议要调用下层协议(上层吧数据交给下层,继续封装)。 下层要给上层协议提供支持(下层协议解析好数据,交给上层)。

这里的几层协议之间是有明确的层级关系的,只有响铃的两层之间才能够进行交互。(不能跨层交互)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 网络发展
    • 独立模式
      • 网络互联
        • 局域网LAN
          • 广域网WAN
          • 网络通信基础
            • IP地址
              • 端口号
              • 认识协议
                • 概念
                  • 五元组
                    • 协议分层
                      • OSI七层模型
                        • TCP/IP五层(或四层)模型
                          • 网络设备所在分层
                            • 网络分层对应
                            相关产品与服务
                            私有网络
                            私有网络(Virtual Private Cloud,VPC)是基于腾讯云构建的专属云上网络空间,为您在腾讯云上的资源提供网络服务,不同私有网络间完全逻辑隔离。作为您在云上的专属网络空间,您可以通过软件定义网络的方式管理您的私有网络 VPC,实现 IP 地址、子网、路由表、网络 ACL 、流日志等功能的配置管理。私有网络还支持多种方式连接 Internet,如弹性 IP 、NAT 网关等。同时,您也可以通过 VPN 连接或专线接入连通腾讯云与您本地的数据中心,灵活构建混合云。
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档