【JavaEE】网络原理

这篇具有很好参考价值的文章主要介绍了【JavaEE】网络原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网络原理

1. 网络发展史

1.1 独立模式

每个计算机都相互独立,各个终端无法实现相互通信,当想要运行其他数据时,只能进行更换电脑。

1.2 网络互连

通过网络将多台设备连接在一起,完成数据共享。

1)局域网LAN
  • 即Local Area Network,简称LAN。

  • Local标识了这是一种本地网络,是一种局部的网络。

  • 局域网的连接方式:

    1. 基于网线直连

      两两终端之间直接连接网线,通过网线进行通信。

      但是一般电脑只有一个内置的网口,无法进行三台设备之间的连接。

    2. 基于集线器

      通过集线器,这就能够使得多台设备均通过集线器设备,将数据发送到同样连接到集线器的设备上。

    3. 基于交换机

      由于集线器的较差性能,发展出了交换机这种设备,功能与集线器相同,为所有设备提供汇总的端口。

    4. 基于交换器和路由器

      交换机: 处理局域网内部的数据流,优化内部设备之间的通信。

      路由器: 处理不同网络之间的数据流,控制数据包的进出局域网。

      简而言之,就是对于方法三进行一个更高维的扩展,因为这一阶段需要组网的设备更多,需要更多的层级进行分层管理。

2)广域网WAN
  • 即Wide Area Network,简称WAN
  • 通过路由器,将多个局域网连接起来,形成的大范围网络成为广域网
  • 广域网内部的局域网都是广域网的子网

1.3 关于LAN和WAN的几点说明

  1. 广域和局域只是一个相对的概念,区别只是路由器之间是否继续进行组网

  2. 一般情况下说的广域网就是互联网

2. 网络通信基础

通信基础一共有三个部分,分别是:IP、端口、协议

2.1 IP

1)概念

IP地址就像我们收发快递时的地址信息,起一个定位主机网络地址的作用。

2)格式

一般为点分十进制的形式,即形如:"198.168.0.0.1”

3)特殊IP

本机环回测试IP:127.0.0.1

2.2 端口号

1)概念

端口号就像我们收发快递时填的手机号,因为一件包裹不仅仅要确定在哪个地域,还需要定位到具体的人。起一个定位主机中的进程的作用。

2)格式
  • 范围:0~65535

    但是0~1023为知名端口号,这些端口预留给服务端程序绑定广泛使 用的应用层协议。

    所以开发时一般范围在1024~65535之间。

3)注意事项
  • 进程与端口号之间是一对多的形式:

    一个进程可以绑定多个端口号,但是一个端口号只能被一个进程所绑定。

    也就是说,端口号被占就不能再被其他进程使用。

2.3 网络协议

1)概念

协议就像秦始皇统一六国进行普通话的规范,使得各个地域之间都能进行通信,网络协议是经过的所有网络设备都必须共同遵守的约定,起一个保证互相之间遵守同一套标准才能通信的作用。

2)组成
  1. 语法

    类似打电话时双方需要同一种语言。

  2. 语义

    用来说明通信双方应该怎么做。

  3. 时序

    通过同步还是异步时序进行传输。

3)作用
  • 使得各个设备之间都能遵守同一套标准而进行通信

    就像国家对于各种设备都制定了国标,这使得:

    • 每家水厂生产的桶装水都能安装到每种品牌的饮水机上
    • 每家螺母公司只要指定螺帽大小,就能够找到对应大小能够安装的螺母
4)说明
  • 协议最终体现为网络上传输的数据包的形式

3. 五元组

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

  1. 源IP:标识源主机(发货商家地址)
  2. 源端口号:标识源主机中发送数据的进程(发货商家手机号)
  3. 目的IP:标识目的主机(收货人地址)
  4. 目的IP:标识目的主机中接受数据的进程是哪个(收货人手机号)
  5. 协议号:标识发送进程接受进程双方约定的数据格式(使用什么快递公司)

4. 协议分层

4.1 概念

协议是一个复杂庞大的系统,才能够使得所有经过网络的设备都能通过它进行通信。

所以协议就有了分层的必要性,就好像一个公司的员工数越多,它的职能层级也划分越细,只有这样才能使得高层过滤掉一些他不需要看到的信息,便于管理。

4.2 作用

  • 便于维护

    每一层分而治之,使得维护不必要牵一发而动身

  • 便于更新

    同维护作用

  • 便于封装

    是一种面向对象的思想,调用网络进行通信的发送方与接收方不用考虑协议具体是怎么实现的,只用关注需要发送的内容

4.3 OSI七层模型

最初预想的模型,但是由于过于复杂,不便于落实,所以不是主流协议。

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

首先解释为什么是说五层也行,四层也行,归根结底是因为物理层是一个纯硬件的设备,可以将其算作协议的一部分,因为它也参与了通信数据的传输,但是其他四层又都是软件层面的,所以物理层处于边缘。

1)组成
  1. 应用层

    • 负责应用程序间的沟通,就像是收件人收到快递后需要怎么使用
    • 数据包只剩各个数据能够直接使用的程度
    • 开发的工作层
    • 涉及到的是操作系统的api,将这个数据包交给传输层
  2. 传输层

    • 负责数据进行传输的起点与终点,就像是快递从A地出发到B地
    • 主机负责
    • 涉及到的最主要的协议就是UDP、TCP,经过这种协议后会构造一个对应的UDP、TCP数据包
  3. 网络层

    • 负责数据走哪条路线进行传输,就像是快递的路径规划
    • 路由器的工作层
    • 涉及到的最主要的协议就是IP,会构成一个IP数据包

    这一级产生的原因主要是两个主机之间一般会经过一系列的交换机和路由器进行连接,所以就有多条路线能够到达目的地。

  4. 数据链路层

    • 负责相邻结点之间的数据传输,就像是快递大站与大站之间的运输方式,是走公路还是铁路、航线
    • 交换机的工作层
    • 涉及到的最主要的协议就是以太网协议,会构成一个以太网数据帧
  5. 物理层

    • 接受光/电信号数据,就像是快递需要走公路还是铁路、航线
    • 集线器的工作层
    • 涉及到的最主要的就是利用物理层面的硬件,将以太网数据帧转换成光信号/电信号/电磁波信号,分别通过光纤/网线/wifi发送
2) 注意事项
  1. 此处提到的“交换机”、“路由器”都是经典意义上的,在现实生活中,高级的交换机、路由器都可以工作在他们的上一层级

  2. 从应用层到物理层,发送数据的过程就是当前一层级都将上一层级的所有数据当成一个整体进行打包发送。

  3. 接受数据包的过程是从物理层到应用层的逆过程

  4. 第2,3步称为封装和分用

  5. 有些情况下, 比如对于经典路由器/交换机来说,不需要将数据(包裹)进行完全的分用(拆包裹),只需要分用到某一层,然后加上新的信息,直接发送出去。

    数据传输到数据链路层

    • 首先交换机会对于发送过来的网络层数据包进行分用,去掉旧的帧头帧尾


    • 由交换机加上新的帧头帧尾,通过物理层发送出去。

    数据传输到网络层

    • 先经过数据链路层的以太网协议对于数据包进行解析,去掉以太网数据帧头帧尾

    • 再经过网络层的IP协议对于数据包进行解析,去掉IP报头


    • 从本级经过路由器加上新的IP报头

    • 再交给数据链路层的交换机加上新的帧头帧尾

    • 再交给物理层发送数据

5. 封装和分用

这是网络传输中最核心的流程

5.1 封装

  • 封装就是指原始的数据经过网络传输中的各层,由各层的主要工作器件对其进行添加必要信息,使得数据能够根据添加的信息发送到对应的目的地的过程。

    就好比商家不会直接把货物发送出去,是需要先装袋,再装箱,再装袋,再写地址的过程。

  • 封装是在发送阶段要做的事情。

过程:
  1. 应用层对于应用将要发送的数据,形成应用层数据包
  2. 传输层的主机对于应用层数据包按照UDP/TCP协议加上UDP/TCP报头,获得UDP/TCP数据包
  3. 网络层的路由器对于UDP/TCP数据包按照P协议加上IP报头,获得IP数据包
  4. 数据链路层的交换机对于P数据包按照以太网协议加上以太网数据帧头帧尾,获得以太网数据帧
  5. 物理层的物理设备将数据包转换为光信号、电信号、电磁波信号发送出去

5.3 分用

  • 分用就是指原始的数据经过网络传输中的各层,由各层的主要工作器件对其进行删除不必要信息(指报头、帧头帧尾等),使得数据能够直接在应用层进行使用。

    就好比收货人收到货物需要先拆袋,再拆箱,再拆袋的过程。

  • 分用是在接收阶段要做的事情。文章来源地址https://www.toymoban.com/news/detail-816895.html

过程:
  1. 物理层的硬件设备对于光信号、电信号、电磁波信号进行转换为数据包
  2. 数据链路层的交换机对于数据包进行解析,去掉以太网数据帧头帧尾
  3. 网络层的路由器对于2的数据包进行解析,去掉IP报头
  4. 传输层的主机对于3的数据包进行解析,去掉UDP/TCP报头
  5. 应用层对于4的数据包进行解析,将信息呈现在应用程序中

到了这里,关于【JavaEE】网络原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JavaEE】网络原理-HTTP

    HTTP是一种 基于传输层TCP并位于应用层的超文本协议 目前主要使用HTTP1.1和HTTP2.0 2.1 使用Fiddler抓包进行分析 关于Fiddler: 是一个代理工具,就像高速路上的收费站,不管什么车,只要它从高速路上经过,那么就需要经过收费站 对应到网站上,就是不管什么网站,只要有数据的

    2024年03月21日
    浏览(59)
  • 【JavaEE】网络原理基础讲解

    目录 1.网络的发展史 1.1网络的由来  1.2网络互联 1.2.1 独立模式(单机模式) 1.2.2局域网(LAN) 1.2.3广域网(WAN) 2.网络通信基础  2.1IP地址  2.2端口号 3.计算机网络协议 3.1网络协议定义 3.2网络协议分层 3.3OSI七层模型 3.4TCP/IP模型(重点) 很多先进的东西都是先是军用,后来发现这东

    2023年04月21日
    浏览(38)
  • 【JavaEE】_网络通信原理

    目录 1. 网络发展史 2. 网络通信基础 1.1 IP地址 1.2 端口号 1.3 协议 1.3.1 概念 1.3.2 五元组 1.4  协议分层 1.4.1 协议分层的优点 1.4.2 协议分层的分类 1.4.3网络设备所在分层 1.4.4 两台主机通过TCP/IP协议通讯过程 1.5 封装与分用 1.5.1 封装 1.5.2 分用 (1)单机:计算机之间相互独立;

    2024年01月19日
    浏览(30)
  • 【JAVAEE】网络原理之网络通信基础

    目录 1. 💋IP地址 1.1 🍟IP地址的格式 1.2 🎁特殊IP地址 2. ✨端口号 2.1  🎃端口号的格式 3. 😘网络协议 3.1 🎨为什么需要网络协议? 3.2 💛网络协议的概念与组成 3.3 🍉知名协议的默认端口 3.4 🐷五元组 4. 🍳网络协议分层 4.1 🍭协议分层的好处 4.2 🎩网络协议的分层模型一

    2023年04月24日
    浏览(38)
  • 【javaEE】计算机网络原理初始

    目录 1、网络发展史 1.1、独立模式 1.2、网络互连 1.2.1、局域网(LAN) 1.2.2、广域网(WAN) 1.2.3、广域网和局域网的区别 1.2.4、局域网组建网络的方式 (了解) 2、网络通信基础 2.1、IP地址 2.2、端口号  2.3、认识协议 2.4、协议分层 2.5、OSI七层网络模型 2.6、TCP/IP五层模型 2

    2024年02月07日
    浏览(43)
  • 网络原理(JavaEE初阶系列11)

    目录 前言: 1.网络原理的理解 2.应用层 2.1自定义协议的约定 2.1.1确定要传输的信息 2.1.2确定数据的格式 3.传输层 3.1UDP 3.1.1UDP报文格式 3.2TCP 3.2.1确认应答 3.2.2超时重传 3.2.3连接管理 3.2.3.1三次握手 3.2.3.2四次挥手 3.2.4滑动窗口 3.2.5流量控制 3.2.6拥塞控制 3.2.7延时应答 3.2.8捎带

    2024年02月13日
    浏览(45)
  • 【JavaEE】网络原理:网络中的一些基本概念

    目录 1. 网络通信基础 1.1 IP地址 1.2 端口号 1.3 认识协议 1.4 五元组 1.5 协议分层 什么是协议分层 分层的作用 OSI七层模型 TCP/IP五层(或四层)模型 网络设备所在分层 网络分层对应 封装和分用 概念: IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简

    2024年01月24日
    浏览(38)
  • JavaEE-轻松了解网络原理之TCP协议

    TCP,即Transmission Control Protocol,传输控制协议. 16位源端口号与16位目的端口号表示数据 从那个进程来要到那个进程去 . 32位序号表示 一次TCP通信(从TCP连接建立到断开)过程中某一个传输方向上的字节流的每个字节的编号 (TCP将每个字节的数据都进行了编号,称为序列号). 32为

    2024年02月01日
    浏览(49)
  • 【JavaEE】网络原理——传输层协议:UDP和TCP

    目录 1、简单了解应用层协议 2、传输层UDP协议 3、传输层TCP协议  3.1、TCP报文介绍 3.2、TCP实现可靠传输的核心机制 3.2.1、确认应答 3.2.2、超时重传  3.3、连接管理 (三次挥手,四次握手) 3.3.1、建立连接(三次握手) 3.3.2、断开连接(四次挥手)  3.4、滑动窗口  3.5、流量

    2024年02月10日
    浏览(79)
  • 【JavaEE初阶】网络原理|认识协议|协议分层|TCP/IP模型|封装和分用

    目录 一、认识协议 1.概念 2.作用(为什么需要协议?) 二、协议分层 1.为什么需要⽹络协议的分层? 2. 协议分层是什么 3.分层带来的好处 三、TCP/IP五层(或四层)模型 (1)物理层 (2)数据链路层 (3)网络层 (4)传输层 (5)应用层 四、封装和分用(协议的层和层之间

    2024年04月23日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包