【JavaEE】网络原理基础讲解

简介: 【JavaEE】网络原理基础讲解

1.网络的发展史

1.1网络的由来

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

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

1.2网络互联

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

数据共享本质是网络数据传输,即计算机之间通过网络来传输数据,也称为网络通信

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

1.2.1 独立模式(单机模式)

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

1.2.2局域网(LAN)

局域网,英文名称是Local Area Network,简称LAN

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

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

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



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

1.2.3广域网(WAN)

广域网,英文名称是Wide Area Network,简称WAN

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


 


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


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网络协议定义

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



3.2网络协议分层

🐣为什么要分层 ?

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

🐣网络协议分层的好处

1.最大的好处莫过于可以减小我们大脑的负载。

2.对于使用方来说,并不关心提供方是如何实现的,只需要使用接口即可,减低了学习成本。

3.对于提供方来说,利用封装的特性,隐藏了实现的细节,只需要开放接口即可,降低每层的耦合度,在后续需要迭代时,对于使用方也无需付出学习成本。


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


1585e8e45f794bc597e4b55b30906cbc.png


3.3OSI七层模型

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



OSI 七层模型既复杂又不实用:所以 OSI 七层模型没有落地、实现。

实际组建网络时,只是以 OSI 七层模型设计中的部分分层,也即是以下 TCP/IP 五层(或四层)模型来实现。

3.4TCP/IP模型(重点)

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


82c8764f711e4b0db2d64ef12fed9cac.png


🐣各个协议层任务:

应用层: 只关注程序的作用是什么,如何使用的,网络编程主要就是针对应用层。

传输层:负责两台主机之间的数据传输。只关心两个主机的地址,不考虑如何到达这个地方。例如:就像我在淘宝上买东西,我只关心发货地址和收货地址。

网络层:负责地址管理和路由选择。负责两个地址如何走才是最佳路线。例如:我买的东西收获地址是北京,发货地址是上海,我是通过上海->深圳->北京,还是上海->河北->北京。

数据链路层:负责设备之间的数据帧的传送和识别。例如,快递选择了上海->河北->北京这条路,做出决定:是使用火车还是货车。

物理层:针对硬件设备间的协议,约定了网络通信中的基础的硬件设备的规格,保证主机和网络设备之间得到匹配。


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


🐣各个协议层工作流程

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

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


✨1.应用层

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


758dabaf1a0a4b93b8ac68a855ce859c.png


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


✨2.传输层

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

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


00dc62cc5d004b098718a5364324f9b0.png


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


✨3.网络层

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

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


a02eb8cbe24342d4b176ecd434181e2e.png


✨4.数据链路层

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

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

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


dc5cbddc1ee643a5b1221c0d418c04d8.png


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


✨5.物理层

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



相关文章
|
24天前
|
网络协议 安全 5G
网络与通信原理
【10月更文挑战第14天】网络与通信原理涉及众多方面的知识,从信号处理到网络协议,从有线通信到无线通信,从差错控制到通信安全等。深入理解这些原理对于设计、构建和维护各种通信系统至关重要。随着技术的不断发展,网络与通信原理也在不断演进和完善,为我们的生活和工作带来了更多的便利和创新。
61 3
|
6天前
|
运维 物联网 网络虚拟化
网络功能虚拟化(NFV):定义、原理及应用前景
网络功能虚拟化(NFV):定义、原理及应用前景
22 3
|
17天前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
|
28天前
|
机器学习/深度学习 人工智能 监控
深入理解深度学习中的卷积神经网络(CNN):从原理到实践
【10月更文挑战第14天】深入理解深度学习中的卷积神经网络(CNN):从原理到实践
82 1
|
30天前
|
网络协议 Linux 应用服务中间件
Socket通信之网络协议基本原理
【10月更文挑战第10天】网络协议定义了机器间通信的标准格式,确保信息准确无损地传输。主要分为两种模型:OSI七层模型与TCP/IP模型。
|
1月前
|
存储 安全 算法
网络安全与信息安全:构建数字世界的防线在数字化浪潮席卷全球的今天,网络安全与信息安全已成为维系现代社会正常运转的关键支柱。本文旨在深入探讨网络安全漏洞的成因与影响,剖析加密技术的原理与应用,并强调提升公众安全意识的重要性。通过这些综合性的知识分享,我们期望为读者提供一个全面而深刻的网络安全视角,助力个人与企业在数字时代中稳健前行。
本文聚焦网络安全与信息安全领域,详细阐述了网络安全漏洞的潜在威胁、加密技术的强大防护作用以及安全意识培养的紧迫性。通过对真实案例的分析,文章揭示了网络攻击的多样性和复杂性,强调了构建全方位、多层次防御体系的必要性。同时,结合当前技术发展趋势,展望了未来网络安全领域的新挑战与新机遇,呼吁社会各界共同努力,共筑数字世界的安全防线。
|
1月前
|
存储 安全 自动驾驶
探索未来网络:量子互联网的原理与应用
【10月更文挑战第2天】 本文旨在探讨量子互联网的基本原理、技术实现及其在通讯领域的革命性应用前景。量子互联网利用量子力学原理,如量子叠加和量子纠缠,来传输信息,有望大幅提升通信的安全性和速度。通过详细阐述量子密钥分发(QKD)、量子纠缠交换和量子中继等关键技术,本文揭示了量子互联网对未来信息社会的潜在影响。
|
17天前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9-2):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
|
29天前
|
机器学习/深度学习 算法 数据建模
计算机前沿技术-人工智能算法-生成对抗网络-算法原理及应用实践
计算机前沿技术-人工智能算法-生成对抗网络-算法原理及应用实践
25 0
|
1月前
|
XML 网络协议 算法
【TCP】网络原理
【TCP】网络原理
31 0

热门文章

最新文章