JavaEE 网络原理

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

JavaEE 网络原理

1. 网络互连

随着时代的发展,需要多个计算机协同工作来完成业务的要求越来越多,也因此诞生了网络互连

网络互连:将多台计算机连接在一起,完成数据共享

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

1.1 局域网LAN

局域网,即Local Area Network,简称LAN

Local即标识了局域网是本地,局部组建的一种私有网络

局域网内的主机之间能方便的进行网络通信,又称内网;局域网和局域网之间在没有连接的情况下是无法通信的。

局域网组建网络的方式可分为以下几种:

JavaEE 网络原理,JavaEE,网络,java-ee

1.2 广域网WAN

广域网,即Wide Area NetWork,简称WAN

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

JavaEE 网络原理,JavaEE,网络,java-ee

如果有北、中、南等分公司,甚至海外分公司,把这些分公司以专线方式连接起来,即称为“广域网”。如果属于全球化的公共型广域网,则称为互联网(又称公网,外网),属于广域网的一个子集。

2. 网络通信基础

网络互连的目的是进行网络通信,也可认为是网络数据传输,更具体一点,是网络主机中的不同进程间基于网络传输数据

在此情况下,以下两个标识在网络通信中显得尤为重要:

2.1 IP地址

概念

IP地址用于定位主机的网络地址,就像我们发送快递一样,寄件人需要有一个地址来寄出货物(源IP),收件人也要有一个地址来接受货物(目的IP

格式

IP地址是一个32位的二进制数,通常用 “点分十进制” 的方式来表示,即a.b.c.d的形式(a,b,c,d都是0~255之间的十进制整数)。如:127.0.0.1

2.2 端口号

概念

端口号用于定位主机的进程。类似发送快递时,不关需要指定收获地址(JP地址),还需要指定收货人(目的端口号),并且在网络通信中,即要有目的端口,还要有源端口

格式

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

有了以上两个标识,可以定位到网络中唯一的一个进程,但还存在一个问题,网络通信是基于二进制0/1数据来传输的,如何告诉对方发送的数据是什么样的?又是什么类型的数据呢?

对此,基于网络数据传输,需要使用协议来规定双方的数据格式

3. 网络协议

3.1 概念

网络协议,简称协议,网络协议是网络通信(即网络数据传输)**经过的所有网络设备都必须共同遵守的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。协议(protocol) 最终体现为在网络上传输的数据包的格式

计算机之间的传输媒介是光信号和电信号。通过“频率” 和 “强弱” 来标识 0 和 1 这样的信息。要想传递各种不同的信息,就需要约定好双方的数据格式,大家都来遵守,这就是网络协议

3.2 五元组

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

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

JavaEE 网络原理,JavaEE,网络,java-ee

五元组在网络通信中的作用,类似于发送快递:

JavaEE 网络原理,JavaEE,网络,java-ee

可以在cmd中,输入 netstat -ano 查看网络数据传输中的五元组信息:

JavaEE 网络原理,JavaEE,网络,java-ee

3.3 协议分层

协议分层就是把一个复杂的协议拆分成多个不同层次的协议,把功能定位相似的协议放到同一层中,使得上层协议能够调用下层协议封装好的功能,下层协议给上层协议提供服务,同时只有相邻的层次之间可以进行沟通,不能跨层次调用

这样的协议分层也给我们带来了许多好处:

  1. 上层协议直接使用下层协议即可,不需要了解下层协议的细节(相当于下层协议把细节封装好了)

    JavaEE 网络原理,JavaEE,网络,java-ee

  2. 某一层的协议进行替换之后,对其他层没什么影响

    JavaEE 网络原理,JavaEE,网络,java-ee

3.4 TCP/IP 五层模型

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

TCP/IP 通讯协议采用了五层的层级结构,每一次都呼叫它的下一层所提供的网络来完成自己的需求:

  • 应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层。

  • 传输层: 负责两台主机之间的数据传输。如传输控制协议 (TCP),能够确保数据可靠的从源主机发 送到目标主机。

  • 网络层: 负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识⼀台主机,并通过路由表 的方式规划出两台主机之间的数据传输的线路(路由)。路由器(Router)工作在网路层。

  • 数据链路层: 负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。 有以太网、令牌环网,无线LAN等标准。交换机(Switch)工作在数据链路层。

  • 物理层: 负责光/电信号的传递方式。比如现在以太网通用的网线(双绞线)、早期以太网采的的同 轴电缆(现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。物理 层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层。

    JavaEE 网络原理,JavaEE,网络,java-ee

我们可以把网络通信在这五层模型上的传输步骤和我们平时网购相关联:

我在京东上买了一个鼠标,等我拿到这个鼠标后要用来干什么,解决什么问题,这是应用层的事情,即应用层负责拿到数据之后要用来干啥

快递从哪里寄出,又寄到哪里去,起点和终点在哪里,这是传输层关注的,即传输层负责关注网络数据包的起点和终点

有了起点和终点后,要走哪条路将快递从起点运送到终点,这是网络层负责的,即网络层负责路径规划

确定路线后,我要以什么方式来进行运输,比如从上海到广州用飞机空运,从广州到深圳用货车运输等,这是数据链路层负责的,即数据链路层负责两个相邻节点之间的传输

通信过程中的基础设施如公路、铁路、航线等,这一块由物理层负责,即物理层负责硬件措施

OSI七层模型相对复杂且不实用,一般实际组建网络使用TCP/IP 五层模型来实现,这里不过多解释

3.5 封装和分用
  • 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment), 在网络层叫做数据报(datagram), 在链路层叫做帧(frame);

  • 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装

    例如,数据到传输层时要给应用数据(载荷)加上TCP报头,构成TCP数据包;而到了网络层就要给此时的TCP数据包加上IP报头,构成IP数据包;之后到数据链路层又要给IP数据包首尾各加上以太网帧头和以太网帧尾,构成以太网数据帧,之后在物理层把以太网数据帧这样的二进制结构数据转换成光信号/电信号/电磁波然后进行发送,这样我们的数据才算发送出去了!

    JavaEE 网络原理,JavaEE,网络,java-ee

  • 首部信息中包含了一些类似于首部有多长,载荷(payload)有多长,上层协议是什么等信息;

  • 数据封装成帧后发送到传输介质上,到达目的主机后每层协议在剥削掉相应的首部,根据首部中的"上层协议字段"将数据交给对应的上层协议处理,这个过程就叫做分用,可以理解为封装的反过程。

    JavaEE 网络原理,JavaEE,网络,java-ee文章来源地址https://www.toymoban.com/news/detail-817879.html

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

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

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

相关文章

  • 【Java EE初阶十三】网络初识

            网络发展的几个主要时期:         单机时代-局域网时代-广域网时代-移动互联网时代         随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同工作来完成 业务,就有了网络互连。         网络互连: 将多台计

    2024年02月20日
    浏览(32)
  • 【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日
    浏览(27)
  • 【JavaEE】网络原理-HTTP

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

    2024年03月21日
    浏览(51)
  • 【JavaEE】网络原理

    1.1 独立模式 每个计算机都相互独立,各个终端无法实现相互通信,当想要运行其他数据时,只能进行更换电脑。 1.2 网络互连 通过 网络 将多台设备连接在一起,完成数据共享。 1)局域网LAN 即Local Area Network,简称LAN。 Local标识了这是一种本地网络,是一种局部的网络。 局

    2024年01月23日
    浏览(26)
  • JavaEE 网络原理

    随着时代的发展,需要多个计算机协同工作来完成业务的要求越来越多,也因此诞生了 网络互连 网络互连:将多台计算机连接在一起,完成数据共享 根据网络互联的规模不同,可以划分为局域网和广域网 1.1 局域网LAN 局域网,即Local Area Network, 简称LAN 。 Local即标识了局域

    2024年01月23日
    浏览(28)
  • 【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日
    浏览(29)
  • 【JavaEE】TCP网络原理

    目录 1.TCP协议定义 2.TCP原理 2.1确认应答机制 2.2超时重传机制  2.3连接管理 2.3.1建立连接(三次握手) 2.3.2断开连接(四次挥手) 2.4滑动窗口 2.5流量控制  2.6拥塞控制 2.7延迟应答 2.8捎带应答 2.9面向字节流(粘包问题) 2.10异常处理 TCP即Transmission Control Protocol,传输控制协议

    2024年02月02日
    浏览(26)
  • 【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日
    浏览(22)
  • 【JavaEE】网络原理:网络中的一些基本概念

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

    2024年01月24日
    浏览(29)
  • 网络原理(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日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包