【JavaEE】网络原理基础讲解

这篇具有很好参考价值的文章主要介绍了【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模型(重点)


1.网络的发展史

1.1网络的由来 

很多先进的东西都是先是军用,后来发现这东西太方便了,才普遍下来。

网络是什么来的呢?在没有互联网之前,军队都是通过电报、电话来通信的,这东西有一个缺点就是在使用时容易被拦截。于是,美国人就研究,能不能搞一种通讯,可以防止拦截,此时,互联网这个东西就诞生了。 

1.2网络互联

网络互连:将多台计算机连接在一起,完成数据共享。
数据共享本质是网络数据传输,即计算机之间通过网络来传输数据,也称为网络通信
根据网络互连的规模不同,可以划分为局域网和广域网。

1.2.1 独立模式(单机模式)

单机模式的含义就是,当我们有两台电脑时,A电脑处理的事情的结果,无法影响到B电脑的数据。就相当于我们打游戏无法进行人人交互(pvp)。

1.2.2局域网(LAN)

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

 通过网线将若干台电脑链接在一起,这就构成了一个简单的局域网:

【JavaEE】网络原理基础讲解 它们不仅仅可以使用网线进行连接,还可以使用集线器、交换机、路由器进行连接,只要是小规模的电脑连接就是局域网(小规模没有具体定义,需要参考具体对象)。

 1.2.3广域网(WAN)

广域网,英文名称是Wide Area Network,简称WAN
通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。广域网内部的局域网都属于其子网。
 【JavaEE】网络原理基础讲解

 在这个图中,我们可以将各个地区当成局域网,整个图当成一个广域网。如果属于全球化的公共型广域网,则称为互联网(又称公网,外网),属于广域网的一个子集。有时在不严格的环境下说的广域网,其实是指互联网。 

2.网络通信基础 

2.1IP地址 

🐣概念
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本机环回大部分时候用于本机到本机的网络通信(系统内部为了性能,不会走网络的方式传输),对于开发网络通信的程序(即网络编程)而言,常见的开发方式都是本机到本机的网络通信。

2.2端口号

🐣概念
在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程。

简单说:我们可以通过IP地址来定位到这台设备,但是一台设备上有很多进程,我们如果想要知道那个进程发出的请求,我们就要依赖一个东西(端口号)。端口号就是用于定位主机中的进程。就像发送快递时,不光需要指定收货地址(IP地址),还需要指定收货人(端口号)。
🐣格式
端口号是0~65535范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数据。

3.计算机网络协议

3.1网络协议定义

 我们想要让两个网络进行通信,我们就需要达成一些共识,通过这些共识进行通讯。例如,有两个人,一个中国人,一个美国人,他们俩个人说话(都说国语),他们相互说话就很难进行有效沟通,如果他们两个使用同一个语言说话,那他们聊天就会畅通无阻。

【JavaEE】网络原理基础讲解

 3.2网络协议分层

🐣为什么要分层 ?

网络通信其实是一个比较复杂的过程,需求场景越复杂,那么网络协议就越复杂,它越复杂对于我们的学习成本和维护成本就会增大。因此,我们就将就将复杂的难以通过大脑计算的大协议,一点一点的拆分成我们大脑可以解决的小协议,让每个小协议负责大协议中的一些事物,最终将这些小协议联系到一起完成当前的任务。

 🐣网络协议分层的好处

  1. 最大的好处莫过于可以减小我们大脑的负载。
  2. 对于使用方来说,并不关心提供方是如何实现的,只需要使用接口即可,减低了学习成本。
  3. 对于提供方来说,利用封装的特性,隐藏了实现的细节,只需要开放接口即可,降低每层的耦合度,在后续需要迭代时,对于使用方也无需付出学习成本。

就像我们在打电话时,我们就是使用方,我们无需关注使用方式打电话(座机、无线电话),也不关心电话是如何进行传输我们的聊天的。

【JavaEE】网络原理基础讲解

 3.3OSI七层模型

 OSI:英文名称是Open System Interconnection,即开放系统互连,它分为七层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

【JavaEE】网络原理基础讲解

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

3.4TCP/IP模型(重点)

 TCP/IP模型,它从应用层到物理层一个有五层,分别是应用层、传输层、互联网层(网络层)、网卡层(数据链路层)、物理层(硬件),有时候我们也叫它四层协议,因为物理层是硬件,对于我们程序员来说,我们不太关心这个。

【JavaEE】网络原理基础讲解

 🐣各个协议层任务:

  • 应用层: 只关注程序的作用是什么,如何使用的,网络编程主要就是针对应用层。
  • 传输层:负责两台主机之间的数据传输。只关心两个主机的地址,不考虑如何到达这个地方。例如:就像我在淘宝上买东西,我只关心发货地址和收货地址。
  • 网络层:负责地址管理和路由选择。负责两个地址如何走才是最佳路线。例如:我买的东西收获地址是北京,发货地址是上海,我是通过上海->深圳->北京,还是上海->河北->北京。
  • 数据链路层:负责设备之间的数据帧的传送和识别。例如,快递选择了上海->河北->北京这条路,做出决定:是使用火车还是货车。
  • 物理层:针对硬件设备间的协议,约定了网络通信中的基础的硬件设备的规格,保证主机和网络设备之间得到匹配。

在这些几个协议层当中,我们最关心的就是应用层,其他的层都是操作系统内核封装好的,只要应用层我们需要自己手动实现。 

🐣各个协议层工作流程

我们就以qq发送信息为例, 假设A用户向B用户发送了一个“两年半”,时间在2023-04-04 19:00,

我们以发送方的角度看(粗略步骤,精专不考虑): 

✨1.应用层 

 qq应用程序拿到了上方的数据,进行封装,封装成应用层数据报,他的本质就是数据拼接,在qq的具体情况中,比这要复杂的多。

【JavaEE】网络原理基础讲解

 在应用层,封装好这个数据报,qq就会通过调用传输层提供中的API将这个数据报传输给传输层。

✨2.传输层

传输层基于应用层发送过来的数据,调用传输层中的API,传输层的API最常用的是TCP和UDP,他会将应用层传输过来的数据包当作荷载进行封装,UDP报头中包含一个特定的字符串(源端口和目的端口)。这里我们用UDP来举例。

UDP会针对应用层发来的数据报再次封装。

【JavaEE】网络原理基础讲解

 之后传输层将在传输层封装好的数据报发向网络层。

✨3.网络层

这里最典型协议是ip协议,会将传输层数据报继续封装,封装成IP数据报,在原来的数据报上添加一个IP报头,将传输层传输过来的数据报当成荷载。

在IP报头当中,它包含一组数据源ip和目的ip。

【JavaEE】网络原理基础讲解

 ✨4.数据链路层

数据链路层最典型的协议叫做“以太网”,他会在IP数据报的包头和包尾加上帧头和帧尾。

帧头中主要包括 源MAC地址和目的MAC地址,

MAC是指物理地址,描述一个主机在网络上的位置,他的功能和IP很相似,但是这两个地址分别作用于不同的用途。IP用于网络层的路径规划,MAC用来进行描述数据链路层,两个即将进行传输的相邻节点。

【JavaEE】网络原理基础讲解

之后,数据链路层会将封装好的数据报方式给物理层。

✨5.物理层

物理层会将上述的“以太网数据帧”的二进制数据转换成高低电平信号/光信号,通过网线或者无线电波的方式传出出去。 


写在最后:

🐣🐣🐣以上就是本文全部内容,如果对你有所帮助,希望能留下你的点赞+关注,我会更加努力的更新内容!非常感谢🧡🧡🧡

若本篇文章有错误的地方,欢迎大佬们指正!

【JavaEE】网络原理基础讲解文章来源地址https://www.toymoban.com/news/detail-420757.html

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

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

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

相关文章

  • JavaEE 网络原理

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

    2024年01月23日
    浏览(33)
  • 【JavaEE】网络原理-HTTP

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

    2024年03月21日
    浏览(59)
  • 【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. 网络通信基础 1.1 IP地址 1.2 端口号 1.3 认识协议 1.4 五元组 1.5 协议分层 什么是协议分层 分层的作用 OSI七层模型 TCP/IP五层(或四层)模型 网络设备所在分层 网络分层对应 封装和分用 概念: IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简

    2024年01月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-轻松了解网络原理之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]网络通信基础

    目录 IP地址 端口号 网络协议 五元组 TCP/IP五层模型 网络互连之间的目的就是为了相互通信,传输数据,是可以不同进程间的基于网络的数据传输. 而IP就可以确定网络通信的双方.  IP地址主要用于定位标识网络主机或其他网络设备的网络地址 .(就像快递的收货地址一般) 格式:

    2024年02月14日
    浏览(40)
  • 【JavaEE】_网络编程基础

    目录 1. 网络编程基础 1.1 网络编程定义 1.2 网络编程中的基本概念 1.2.1 API 1.2.2.发送端和接收端 1.2.3 请求和响应 1.2.4 客户端和服务端 2. Socket 套接字 2.1 概念 2.2 分类 3. UDP数据报套接字编程 3.1   DatagramSocket API 3.1.1 含义 3.1.2 构造方法 3.1.3 常用方法 3.2   DatagramPacket API 3.2.

    2024年01月24日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包