目录

1. 网络通信基础

1.1 IP地址

概念:

IP地址的格式:

1.2 端口号

概念:

格式:

问题:

1.3 认识协议

概念:

作用:

1.4五元组

1.5 协议分层

1.5.1 OSI七层网络模型

1.5.2 TCP/IP五层模型


1. 网络通信基础

A和B经常线上聊天,但你有没有想过,A主机发送的数据是怎么找到B主机,并传入B的主机设备中的。

1.1 IP地址

概念:

IP地址主要是提供一个网络地址给网络设备简单来说IP用于定位主机的网络地址。

(就像网购,商家知道你的地址才能把快递发到附近的快递点)

IP地址的格式:

IP地址是一个32位的二进制数,通常分成4个“8位二进制”来表示IP地址,如:

01101101.11101001.00011101.11010100   四个部分,每个部分占一个字节大小,在此基础上我们通常使用“点分十进制”的方式标识IP地址,最后得到的就是我们最常见的IP地址格式—》109.233.29.212

1.2 端口号

概念:

在网络通信中,IP是用来标识主机的网路地址。而端口号则是这台主机的进程编号,用来标识发送、接收数据的进程。

一台主机正在运行的程序(也就是进程),少则几十,多则成百上千;比如,我们通过手机或电脑打开微信,点击微信APP操作系统就为微信分配了一个进程,我们在发送或接收时,数据通过主机IP地址找到主机,那么IP的使命到此结束,最后数据怎么正确显示到微信程序就是端口号在导航了。

(形象来说,IP地址告诉商家后,货运通过你给商家的地址开始运输,运到你家附近的快递点后,快递小哥再根据端口号,再在附近的住户中找到你)

格式:

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

问题:

有了IP地址和端口号可以定位到主机上唯一一个进程。但还有一个问题,网络通信(即网络数据传输)传输的数据类型有多种:图片、视频及文本等,同一个类型的数据,格式也可能不同,那么设备该用什么编码格式是一个大问题。

基于网络通信传输的数据对端怎么正确解析,需要协议来规定双方的数据格式。

1.3 认识协议

概念:

协议”是“网络协议”的简称。协议的作用和它的字面意思相同。如:两个不同国家的人约定使用一种语言才能正常交流;两个人约定今晚买朵花在公园见面,这种提前说好的约定就叫“协议”。

协议最终体现在网络数据的封装和分用上(网络数据封装成数据包,再把数据包分用回原样)。

作用:

计算机(等网络设备)通过网卡产生发送和接收光电信号,控制光电信号的频率强弱,表示二进制的0/1,然后接收方接收信号转化为二进制数据,并通过一系列约定好的协议进行解析数据,最后将不同数据类型的数据展示在我们眼前。

现在所有网络设备都遵守网络协议,也就意味着各种1.计算机生产商,2.硬件生产商,3.不同的操作系统等都遵守这个协议。

1.4五元组

结合以上我们了解到网络通信(网络数据传输)需要IP地址、端口号和协议号,数据才能被对端接收。因此在TCP/IP协议中使用一个五元组标识网络通信

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

1.5 协议分层

网络数据在应用层生成到物理层(硬件)转化为光电信号传播,所要经过多层协议封装。对端接收的网络数据从物理层到应用层使用相同协议分用(解封装)

1.5.1 OSI七层网络模型

网络传输已经不使用OSI七层模型概念(因为分的太细了),现在也就学校会讲。

OSI七层网络模型把网络从逻辑上分为七层:

OSI七层模型分的太细了,现在没人会分怎么细,主流使用下面的TCP/IP五层模型

1.5.2 TCP/IP五层模型

TCP/IP五层模型:

通常说TCP/IP五层模型从高到低分为:应用层传输层网络层数据链路层物理层。每个层级都有对应的协议(数据链路层和物理层也有),如应用层有DNS、URL、HTML和HTTP等协议。因为TCP协议IP协议起着非常重要的作用,因此这样的五层模型就使用TCP、IP命名——》TCP/IP五层网络协议模型。

  • 应用层是由开发项目程序的程序员自己根据传输层提供的api定义的,网络设备上没有内置的应用层;相邻层级可以交互,不相邻的则不行;下层提供api给上层使用,下层会反馈信息给上层(解耦合了)。
  • 对于一台主机:它的操作系统内核实现了从传输层物理层的协议,也就是TCP/IP五层模型的下四层。
  • 对于一台路由器:它实现了从网络层物理层,也就是下三层。
  • 对于一台交换机:它实现了从数据链路层物理层,也就是下两层。

计算机发送的信息要经过路由器、交换机才能被对端接收,在传输过程中会被不断的封装分用:

计算机从应用层封装:

数据链路层下层就是物理层了;分用就是从下往上

上面讲的是常规传统的路由器和交换机,也称为三层路由器(工作在TCP/IP五层模型的下三层)和二层交换机。

随着网络通信技术的发展,也出现了三、四层交换机,四层路由器。但现在说的网络设备都是传统意义上的。

注意:不同协议层对数据包的叫法不一样

  • 传输层:叫“段”,数据段
  • 网络层:叫“报”,数据报
  • 数据链路层:叫”帧“,数据帧

但其实经常混着说,了解有这个东西就行。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐