从入门到精通——【初识网络】

文章目录

  • 前言
    • 1.网络发展背景
    • 2.计算机网络分类
    • 3.通信协议
    • 4.协议分层
    • 5. TCP/IP协议
    • 6.网络协议支持
    • 7. 封装&分用
    • 8. 客户端&服务端

前言

计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享信息传递的计算机系统。

1.网络发展背景

单机阶段=>区域网阶段=>广域网阶段=>移动互联网阶段

2.计算机网络分类

随着时代的发展,计算机之间互相通信,共享软件和数据越来越频繁,即需要以多个计算机协同工作来完成业务,于是就有了网络互连。

  • 网络互连:将多台计算机连接在一起,完成数据共享。
  • 数据共享:本质是网络数据传输,即计算机之间通过网络来传输数据,也称为网络通信。

根据网络互连的规模不同,可以划分为局域网和广域网

  • 局域网(LAN):局域网是一种在小区域内使用的,由多台计算机组成的网络。
  • 广域网(WAN):广城网是一种远程网,主要是指把区域网连接起来(使用更多的路由器、交换机),当局域网规模够大,就形成了广域网。

3.通信协议

  • IP地址:IP地址主要用于标识网络主机、其他网络设备的网络地址。简单说,IP地址用于描述一个主机在互联网上的位置
  • 端口号:端口号可以标识主机中发送数据、接收数据的进程。简单可以理解为用于区分一个主机上的应用程序

4.协议分层

  • 协议:就是指某种 “约定”(发送方约定他发的数据是啥样的格式,接收方也理解这个格式,两边对上才能正确的进行通信)我们现在常用的协议有TCP/IP协议
  • 协议分层: 在网络通信中,需要约定的协议是非常复杂的,因此我们在组装网络的时候,会把网络拆分成许多小的协议,然后我们通过对这些小的协议进行分类,再通过类别进行分层,我们可以理解为约定了层与层之间的调用关系,要求上层调用下层,下层为上层提供支持、不能进行跨级调用。
  • 协议分层的作用: 协议分层可以降低层次之间的耦合程度,在针对一个复杂的协议替换时,我们只需要替换某一层即可,省去了对复杂协议的全部替换。

5. TCP/IP协议

TCP/IP五层网络模型主要包括:应用层传输层网络层数据链路层物理层

  • 物理层:网络通信的基本设施.网线、光纤等等
  • 数据链路层:主要关注两个相邻节点之间的传输
  • 网络层:关注两个遥远节点,做路径规划;众多路径中取合适的
  • 传输层:只关注起点与终点
  • 应用层:关注传输过来的数据干啥用

6.网络协议支持

Java中的网络协议主要封装在java.net中,该包中提供了两种常见的网络协议的支持:TCPUDP

  • TCP是一种有连接、可靠传输、面向字节流、全双工的网络协议,是可靠的连接,TCP就像打电话需要对方确认接电话
  • UDP是一种无连接、不可靠传输、面向数据报、全双工的网络协议,UDP是不可靠的,就好比发微信,我只管发,你收没收到我并不清楚

7. 封装&分用

在协议分层的背景下,数据如何通过网络传输:

发送方发送数据,把数据从上到下,一次交给对应的层次协议,进行封装
接收方收到数据,把数据从上到下,依次交给对应的层次协议,进行解析
接收方的每一层只把对该层有意义的数据拿走,然后把其余的部分传递给上一层。

封装过程(从上到下依次增加报头):
(1)应用层将数据交给传输层,传输层添加上UDP的控制信息(称为UDP报头),这个数据单元称为数据段(Segment),加入控制信息的过程称为封装。然后,将数据段交给网络层。

(2)网络层接收到数据段,再添加上IP头部,这个数据单元称为数据包(Packet)。然后,将包数据交给数据链路层。

(3)数据链路层接收到数据包,再添加上发送方的mac地址和接收方的mac地址,这个数据单元称为以太网数据帧(Frame)。然后,将数据帧交给物理层。

(4)物理层将接收到的数据转化为光/电信号,然后在网线中传送。

分用过程:
(1)物理层接收到比特流,经过处理后将数据交给数据链路层。

(2)数据链路层将接收到的数据转化为数据帧,再除去发送方的mac地址和接收方的mac地址,这个除去控制信息的过程称为分用(解封装),然后将包交给网络层。

(3)网络层接收到包,再除去IP头部,然后将段交给传输层。

(4)传输层接收到段,再除去TCP头部,然后将数据交给应用层。

8. 客户端&服务端

  • 客户端:获取服务的一方进程,称为客户端。
  • 服务端:在常见的网络数据传输场景下,把提供服务的一方进程,称为服务端,可以提供对外服务。
  • 常见客户端服务端模型
  1. 客户端先发送请求到服务端
  2. 服务端根据请求数据,执行相应的业务处理
  3. 服务端返回响应:发送业务处理结果
  4. 客户端根据响应数据,展示处理结果(展示获取的资源,或提示保存资源的处理结果)

你可能感兴趣的:(JavaEE,网络,php,智能路由器,java,java-ee)