【JavaSE】【网络原理】初识网络
网络中的一些概念知识
目录
一、网络互联
网络互联:
网络互联是指将两个以上的通信网络通过一定的方法,用一种或多种网络通信设备相互连接起来,以构成更大的网络系统。
网络互联的目的是以实现不同网络中的用户可以进行互相通信、共享软件和数据等。
数据共享:
数据共享就是让在不同地方使用不同计算机、不同软件的用户能够读取他人数据并进行各种操作、运算和分析。
本质是网络数据传输,即计算机之间通过网络来传输数据,也称为网络通信。
根据网络互连的规模不同,可以划分为局域网和广域网。
二、局域网与广域网
局域网 LAN:
局域网,即 Local Area Network,简称LAN。
Local 即标识了局域网是本地,局部组建的一种私有网络。
指在较小的地理区域内,通过传输介质连接的一组计算机及其外围设备的网络 。局域网的传输速度较快,一般在几百Mbps到几Gbps,延迟较低。局域网是一种私有网络,一般在一座建筑物内或建筑物附近,主要用于办公室、学校、研究所或家庭等相对较小的地理范围内。局域网便于共享资源,如打印机、文件服务及其他应用程序,并可实现数据和信息的快速交换。
局域网组建网络的方式:
- 基于网线直连:
- 基于集线器组建:
- 基于交换机组建:
- 基于交换机,路由器组建:
!](https://i-blog.csdnimg.cn/direct/d1b05f07e4714770b20290ba4572a2a3.png)
广域网 WAN:
广域网,即 Wide Area Network,简称WAN。
通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。广域网内部的局域网都属于其子网。
连接不同地区局域网或城域网计算机通信的远程网。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个地区、城市和国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。广域网并不等同于互联网。
三、网络通信基础
3.1 IP地址
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。
3.2 端口号
端口号:通俗理解,因为一台主机上会有多个应用程序同时使用网络,二端口号就是区分一台主机上多个应用程序的。
端口号格式:
- 端口号是0~65535范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数据。
两个不同的进程,不能绑定同一个端口号,但一个进程可以绑定多个端口号。
3.3 网络协议
网络协议:简单理解就是,通信双方对于发送数据,接收数据格式的约定。最终体现为在网络上传输的数据包的格式。
构成三要素:
- 语法:即数据与控制信息的结构或格式;
类似打电话时,双方要使用同样的语言:普通话 - 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
语义主要用来说明通信双方应当怎么做。用于协调与差错处理的控制信息。
类似打电话时,说话的内容。一方道:你瞅啥?另一方就得有对应的响应:瞅你咋的! - 时序,即事件实现顺序的详细说明。
时序定义了何时进行通信,先讲什么,后讲什么,讲话的速度等。比如是采用同步传输还是
异步传输。
女生和男生的通话,总是由男生主动发起通话,而总是在男生恋恋不舍的时候,由女生要求
结束通话。
3.4 五元组
五元组:进行一次网络通信,5个非常关键的信息,有源IP,源端口,目的IP,目的端口,协议类型。
- 源IP:标识源主机
- 源端口号:标识源主机中该次通信发送数据的进程
- 目的IP:标识目的主机
- 目的端口号:标识目的主机中该次通信接收数据的进程
- 协议类型:标识发送进程和接收进程双方约定的数据格式
四、协议分层
协议分层:
网络通信的过程非常复杂,如果一个协议包含了网络通信中的各方面问题,这个协议将非常复杂,庞大。
把一个大的协议,拆分成若干个小协议,功能单一的协议,但是这些协议又过多。
我们就将这些小协议进行归类,讲这些小协议以类型进行分层。
只有两个相邻层的协议之间才能进行交互。
协议分层的好处:
- 对于使用方来说,并不关心提供方是如何实现的,只需要使用接口即可
- 对于提供方来说,利用封装的特性,隐藏了实现的细节,只需要开放接口即可。
- 封装:上层协议不需要了解下层协议的细节。
- 解耦:分层之后,灵活的替换其中的某一层,对于整体的工作过程影响很小。
4.1 OSI七层网络模型
OSI七层网络模型:这个体系过于复杂,实际应用的真实网络分层方式更简化。
4.2 TCP/IP五层(四层)网络模型
TCP/IP五层(四层)网络模型:TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。
分为以下五层:
- 应用层:关注拿到数据之后怎么使用。负责应用程序间沟通,网络编程主要就是针对应用层。
- 传输层:关注两个任意设备之间进行通信,但是不关心中间设备,只关心起点与终点,也就是源主机和目的主机。
- 网络层:关注两个任意设备之间如何进行通信。负责地址管理和路由选择。
- 数据链路层:完成两个相邻设备之间如何进行通信。负责设备之间的数据帧的传送和识别。
- 物理层:规定一些网络通信中的硬件设施符合的要求。负责光/电/电磁信号的传递方式。
有些资料将数据链路层和物理层合在一起,所以也叫TCP/IP四层协议。
4.3 网络设备
主机:工作过程中主要涉及物理层到应用层。通过应用程序满足网络通信的需求。
路由器:工作主要涉及物理层到网络层,组建局域网,进行进行网络数据包之间的转发。
交换机:工作主要涉及物理层到数据链路层,对路由器接口的扩展,不需要考虑组网的问题。
但是现实的路由器和交换机很多都有对方的功能了。
五、网络数据通信基本流程。
5.1 封装和分用
- 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在⽹络层叫做数据报
(datagram),在链路层叫做帧(frame)。 - 应⽤层数据通过协议栈发到⽹络上时,每层协议都要加上⼀个数据⾸部(header),称为封装
(Encapsulation)。 - ⾸部信息中包含了⼀些类似于⾸部有多⻓,载荷(payload)有多⻓,上层协议是什么等信息。
- 数据封装成帧后发到传输介质上,到达⽬的主机后每层协议再剥掉相应的⾸部,根据⾸部中的"上层协议字段"将数据交给对应的上层协议处理,称为分用。
5.2 简述过程
我们就使用两个设备之间的通信,简述发出和接收两个过程。
封装:
- 应用程序,获取到用户输入,构造一个“用户数据包”。
1.1. 这个用户数据包遵守开发这个程序的程序猿定义的应用层协议。
- 应用程序调用传输层提供的API,把数据交给传输层。传输层拿到数据之后构造出“传输层数据段”。
2.1. 这个“传输层数据段”遵守传输层协议,主要是TCP协议,UDP协议。
2.2. 以TCP协议来说:传输层数据段,也就是TCP数据段由TCP段头+TCP载荷。TCP载荷就是“用户数据包”。
- 传输层构造好“传输层数据段”后,继续调用网络层的API,把“传输层数据段”交给网络层,网络层拿到数据后构造出“网络层数据报”。
3.1. 这个“网络层数据报”遵守网络层协议,主要是IP协议。
3.2. 以IP协议来说:“网络层数据报”,也就是IP数据段由IP报头+IP载荷。IP载荷就是“传输层数据段”。
- 网络层构造好“网络层数据报“后,继续调用数据链路层的API,把“网络层数据报”交给数据链路层,数据链路层拿到后构造出“数据链路层数据帧”
4.1. “数据链路层数据帧” 遵守数据链路层协议,主要是以太网协议。
4.2. 以以太网协议为例:数据链路层数据帧,也就是以太网数据帧由以太网帧头+以太网载荷+以太网帧尾。以太网载荷就是网络层数据报。
- 数据链路层构造好“数据链路层数据帧”后,继续调用物理层的API,把“数据链路层数据帧”交给物理层,物理层给网卡,网卡将上诉二进制数据,最终以光/电/电磁信号发送出去。
分用:
- 信号到达接受方网卡,网卡将这些信号还原为二进制数据,交给上层数据链路层。
- 数据到达数据链路层,通过帧头帧尾包含的数据反应出使用的数据链路层协议,按该协议进行解析,将载荷数据传给上层网络层。
- 数据到达网络层,通过报头包含的数据反应出使用的网络层协议,按该协议进行解析,将载荷数据传给上层传输层。
- 数据到达传输层,通过段头包含的数据反应出使用的传输层协议,按该协议进行解析,将载荷数据传给上层应用层。
- 数据到达应用层,按照程序的应用层协议解析,将信息输出给接受者。
当涉及到路由器与交换机时就有下面工作流程:
路由器工作:
主机的数据 =>路由器,路由器收到之后,物理层,数据链路层,网络层解析 (没有传输层),重新构造出新的网络数据包,构造出以太网数据帧,构造出二进制数据,进行转发。
路由器是工作在网络层,这也叫三层转发。
交换机工作:
主机的数据 =>交换机,交换机收到之后,物理层解析,数据链路层解析(没有网络层了),重新构造出新的以太网数据帧,发给下一个设备数据链路层中,得到的以太网数据帧的帧头,信息就足以支持交换机进行下一步工作。
交换机是工作在数据链路层。这也叫二层转发。
更多推荐
所有评论(0)