一、网络发展

  • 单机:我们都知道单机游戏,是一个人玩,不能联网的游戏。
    局域网:把多台计算机连接在一起,就形成局域网。
    广域网:把多个局域网连接在一起,在物理上就形成很大的范围,就形成了广域网。

  • 集线器和交换机的核心功能相同:都是组建局域网。
    最大的区别是集线器比交换机传输速度慢。因此一般来说,集线器已经很少使用了,而交换器的功能在加强,有的可以像路由器一样实现三层转发功能。
    路由器的功能:用于局域网之间的连接。

二、网络通信初始

1、IP地址&&端口号&&协议

IP地址:IP地址用于定位主机的网络地址。就像你的淘宝收货地址,商家发快递得根据这个地址来发出。

端口号:端口号用于定位主机中的进程。你的收货信息不仅需要指定地址(IP),还需要收货人姓名号码(端口)。

协议:最终体现为在网络上传输的数据包的格式。
协议是网络协议的简称。网络协议是网络数据传输经过的所有网络设备都必须遵从的一组约定。只有遵守这个约定,计算机才能互相通信交流。

2、五元组

在TCP/IP协议中,用五元组来标识一个网络通信:
1. 源IP:标识源主机
2. 源端口号:标识源主机中该次通信发送数据的进程
3. 目的IP:标识目的主机
4. 目的端口号:标识目的主机中该次通信接收数据的进程
5. 协议号:标识发送进程和接收进程双方约定的数据格式

【Java EE】-网络编程(一) 网络初识-LMLPHP

3、协议分层

       网络通信,笼统的说的话是一个复杂的事情,那么使用的网络协议也就复杂。针对这个复杂的大的协议,拆分成若干个相对较小的协议,然后把这些协议之间功能和作用相似的小协议进行分层,这样,功能类似的协议就分到同一个层中,这样就把复杂的东西拆分成简单化的东西。同时不同功能的协议之间也达到解耦的效果。

       协议分层后最著名的是OSI七层模型和TCP/IP五层模型。其中,在协议之间,上层协议要调用下层协议(发送方,上层协议把数据交给下层协议,多层封装);下层协议要给上层协议提供支持(接收方,下层协议解析好数据,交给上层)。接下来我们看看OSI七层模型和TCP/IP五层模型、以及如何完成数据的封装和分用。

3.1、OSI七层网络模型&&TCP/IP五层网络模型

OSI七层网络模型:
【Java EE】-网络编程(一) 网络初识-LMLPHP

TCP/IP五层网络模型:
【Java EE】-网络编程(一) 网络初识-LMLPHP

  • TCP/IP五层模型把OSI的应用层、表示层、会话层统一称为应用层。因为最低的物理层我们考虑的很少,因此有时候也可称为TCP/IP四层模型。
  • 我们就依着TCP/IP五层模型来理解,这五层模型具体的功能:
    以你购物的场景来理解:
    应用层:你在手机APP上的线上的购物等服务;
    传输层:快递上写了发货人和收货人(指定端口)
    网络层:快递发送后,运输人员根据IP规划走哪条路径更划算。(指定IP)
    数据链路层:快递从A发往C需要途经B,快递从A到B时走用飞机?高铁?汽车?(即负责相邻两个节点数据如何传输)。
    物理层:快递走的那条路是什么路?用什么建的?就是最底层的实现(硬件设备)。

3.2、数据的封装和分用(重点理解)

【Java EE】-网络编程(一) 网络初识-LMLPHP

【Java EE】-网络编程(一) 网络初识-LMLPHP

3.3、交换机/路由器 传输过程

【Java EE】-网络编程(一) 网络初识-LMLPHP

  • 上述情况是"传统意义上的"交换机和路由器:交换机可以进行二层转发,从物理层到数据链路层;路由器可以进行三层转发,从物理层到网络层,规划传输路线。
    实际上,有的交换机和路由器都可以封装分用到应用层,交换机路由器等传输网络信息的设备是运营商的设备,封装分用到应用层,可以监测(比如互联网上的言论)
04-18 00:43