计算机网络初识

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
简介: 本篇作为计算机网络部分知识的起始篇,先带大家来了解关于计算机网络的一些基本内容。

1.网络发展与常见概念


1.1 网络发展


起初,计算机常常单独进行工作,随着计算机的不断发展,逐渐实现了计算机之间的相互通信,完成数据共享,即计算机之间通过网络来传输数据,也称为网络通信。


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


在一定的区域内通过利用网线、交换器、路由器等设备进行互相连接就组成一个局域网;

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


微信图片_20230111132357.png

1.2 IP地址


网络互连的目的就是进行网络通信,也就是通过网络完成数据传输,那怎么判断到底是从哪台主机,将数据传输到哪台主机呢?这就需要用IP地址来进行标识。


IP地址用于标识一个主机在网络上的位置信息,就像我们发快递一样,需要知道对方的收货地址,快递员才能将包裹送达目的地。


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


1.3 端口号


通过IP地址,只是确定了一台主机,但这台主机上还有很多的程序,端口号用于定位主机中的进程。类似发送快递的时候,不仅需要收货地址(IP地址),还需要指定收货人(端口号)。

格式:

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


注意事项:

两个不同的进程,不能绑定同一个端口号,但一个进程可以绑定多个端口号。


2.协议


有了IP地址和端口号后,我们可以定位到网络中唯一的一个进程,但是网络通信是基于二进制来进行数据传输的,而网络通信传输的数据类型可能有很多中,如图片、视频、文本等;即使是同类型的数据,格式也有可能不同,所以我们就需要使用协议来规定双方的数据格式完成数据传输。


2.1 认识协议


协议即为约定,即所有的网络设备都必须遵从的一组约定、规则。

通常由三要素组成:

1.语法:即数据与控制信息的结构或格式

2.语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。

3.时序:即事件实现顺序的详细说明。


协议最终体现为在网络上传输的数据包的格式。


2.2 五元组


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

1.源IP:标识源主机

2.源端口号:标识源主机中该次通信发送数据的进程

3.目的IP:标识目的主机

4.目的端口号:标识目的主机中该次通信接收数据的进程

5.协议号:标识发送进程和接收进程双方约定的数据格式


微信图片_20230111132352.png


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


微信图片_20230111132349.png

2.3 协议分层


在网络中的协议比较复杂,无法通过一个协议,来把所有的功能都涵盖进去,就需要拆分出多个协议。

为了更好的组织这么多的协议,就按照这些协议的定位进行分类,于是就有了“协议分层”。


协议分层类似于打电话时,定义不同的层次的协议:


微信图片_20230111132346.png

上述例子分成两层实现了两方面的好处:

1.达到了封装的效果(此处的封装类似于Java类的封装)。把实现细节隐藏起来,降低人们的使用成本。


打电话的人不需要理解具体的电话工作原理

造电话的人也不需要懂各种方言


2.可以很方便的对其中某层/某些协议进行灵活的替换


如果要针对网络协议中的某个细节进行改进升级,只需要替换对应层的协议即可,不需要对其他层次的协议进行影响


2.3.1 OSI七层模型


在教科书上的协议分层模型,OSI七层模型,从硬件到软件分别为物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。


微信图片_20230111132342.png

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


OSI七层模型只是存在于教科书上,并不是在真实世界中存在的,真实世界中的网络模型更简单一些,就是常说的TCP/IP五层模型(或者说是四层模型,因为往往会忽略物理层这一偏向于硬件的层)


微信图片_20230111132335.png

各层作用:


应用层:具体的应用程序

传输层:只关注起点和终点,不必关注具体的通信细节

网络层:针对网络上的任意两台主机,完成一个通信路径的规划,以及具体传输

数据链路层:实现了两个相邻设备之间的数据通信

物理层:硬件设备;网络通信的基础设施(例如网线)


这里举一个网购的栗子,来更好的理解TCP/IP五层模型

我在淘宝上买一件衣服,就需要填写我的收货人地址和电话,卖家发货也需要填写发货人地址和电话,我和卖家只用关心起点和终点,我们相当于传输层。卖家要把货交给快递公司,快递公司就需要规划一个具体的运货路线,快递公司相当于网络层;在快递公司将包裹运到目的地范围后,快递小哥来进行送货,该环节就是数据链路层;公路,铁路,航道…等基础设施就是物理层


2.3.3 网络设备所在分层


对于一台主机,它的操作系统内核实现了从传输层到物理层的内容,也就是TCP/IP五层模型的下四层

对于一台路由器,它实现了从网络层到物理层,也就是TCP/IP五层模型的下三层

对于一台交换机,它实现了从数据链路层到物理层,也就是TCP/IP五层模型的下两层

对于集线器,它只实现了物理层

真实情况并不是这样,目前路由器和交换机的概念以及比较模糊,例如一些比较好的路由器、交换机,也往往会实现一些传输层及应用层的内容(例如舆情分析中,路由器、交换机可能会解析数据包,来提取用户所发送的信息是什么)


3.封装和分用


我们以在qq上发送信息为例,来了解数据在各个层的传输过程

假设用户A给B在2022.8.29 15:30发送了一条“Hello”的消息


1.应用层——qq软件会将这些内容打包成一个应用层数据包,然后将这个数据包传给操作系统的传输层


微信图片_20230111132330.png

2.在传输层中就会把刚才的数据包打包成一个传输层数据包(假设此处使用UDP协议),传输层将这个数据报传输给网络层


微信图片_20230111132328.png

3.网络层也会把这个数据报打包成一个网络层数据报(例如此处使用IP协议),网络层会把这个数据报交给数据链路层


微信图片_20230111132325.png

4.数据链路层将该数据报封装成数据链路层数据报(例如使用“以太网”协议,将数据按照以太网数据帧的格式进行组织),数据链路层将这个数据交给物理层


微信图片_20230111132322.png

5.物理层会把这个数据以二进制的方式,转换成0/1这样的光电信号,并通过网线/光纤/无线网络等方式进行传输


6.光电信号到达接收端主机,先到达接收端的物理层,转换成0/1二进制序列,也就得到了一个以太网数据帧,把这个数据帧交给数据链路层


7.数据链路层对这个以太网数据帧进行分析,去掉帧头和帧尾,获取到中间负载交给上层协议(网络层)


微信图片_20230111132319.png

8.网络层通过IP协议格式解析数据,去掉IP报头然后将获取到的负载交给上层传输层


微信图片_20230111132316.png

9.传输层的UDP协议再解析这个数据,去掉UDP报头交给应用层


微信图片_20230111132313.png

10.应用程序在这里按照应用层的协议再解析,取出其中的关键信息,然后将内容显示再屏幕上。


微信图片_20230111132310.png

上面从应用层到物理层数据的层层包装的转变过程称为封装,当接收方收到数据时会将已经封装好的数据进行层层拆分,这个过程叫做分用。

微信图片_20230111132302.png


相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
2天前
计算机网络:传输媒体
计算机网络:传输媒体
9 1
|
6天前
|
存储 网络协议 网络性能优化
计算机网络
无线:无线信号频率 IEEE802.11
25 6
|
4月前
|
存储 安全 网络协议
计算机网络知识
【1月更文挑战第11天】计算机网络知识。
42 0
|
7月前
|
存储 缓存 网络协议
计算机网络知识小总结
计算机网络知识小总结
32 0
|
8月前
|
存储 安全 算法
计算机网络中的安全
计算机网络中的安全
85 0
|
9月前
计算机网络的组成
计算机网络的组成
|
10月前
|
域名解析 网络协议 安全
计算机网络知识总结
计算机网络知识总结
115 0
|
12月前
|
缓存 网络协议 安全
计算机网络:组帧
计算机网络:组帧
268 0
计算机网络:组帧
初识计算机网络(四)
计算机网络简介(计算机网络的类型)
190 0
初识计算机网络(四)