计算机网络中的一些基本概念

ip地址:IP地址是ip协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。是用来区分主机的

端口号:每个应用程序对应一个端口号,通过类似门牌号的端口号,客户端才能真正的访问到该服务器。为了对端口进行区分,将每个端口进行了编号,这就是端口号.是用来区分同一主机上的不同程序的。

**协议:**协议是一种约定,是通信双方对于通信规则的约定。

注:协议和标准还是有差别的,标准往往是一个认可面非常广的"国家标准"。协议,则不一定,可以是认可面非常广,也可以是认可面不广的。

**协议分层:**网络通信是一个非常复杂的事情,这个过程中涉及到很多的细节问题。如果只使用一个协议来约定上述所有的细节,这个协议就会非常庞大,复杂。此时,就可以把一个功能复杂的协议,拆分成多个功能更单一的协议了。这些协议要进行分类(分层)。按照不同的功能分成不同的层级,每个层级都有对应的主线任务,上层协议会调用下层协议的功能,下层协议会给上层协议提供服务。(不能"越级调用")

分层通常有两种:1)OSI七层模型(仅存在于课本上,客观世界中不存在)

2)TCP/IP五层(也可说四层,除去物理层)模型

可以认为是OSI的简化版本,是真实世界采取的网络分层模型。

封装: 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装。首部信息中包含了一些类似于首部有多长,载荷有多长,上层协议是什么等信息。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应地首部,根据首部中的"上层协议字段"将数据交给对应的上层协议处理。

以下为数据封装过程:

以下为数据分用过程:

两台主机之间的网络通信流程:

1)应用层

应用层会将要传递的内容,组织成"应用层数据包"。将要传输的发送人,接收人,消息时间,消息内容组织到一个字符串中,不同的应用层协议数据组织的格式是不相同的。本身要发送的是一个结构化的数据(包含很多属性,字段),把结构化的转化成字符串的过程,称为"序列化"。把字符串转化成结构化数据的过程称为"反序列化"。

2)传输层

传输层(操作系统内核)提供了api(称为socket api)。让应用程序去调用。应用层接下来要把数据交给传输层,传输层拿到应用层数据包之后,就会把这个数据包进行进一步的封装,添加一个报头,构造成传输层数据包,在传输层有两个典型协议TCP和UDP,此处假设使用UDP。

传输层构造好数据包之后,就会继续把数据包交给网络层。

3)网络层

网络层又继续给数据包添加ip报头,ip报头里包含收件人的ip地址和发件人的ip地址。构成ip数据包。

接下来调用数据链路层的api,把ip数据包交给数据链路层的协议。

4)数据链路层

数据链路层的典型协议是以太网,以太网也有自己的数据包格式,就会拿到上述ip数据包,进一步的封装。

至此数据已经进入到网卡驱动中了,接下来就要真正发送出去了。

5)物理层

上述的以太网数据帧,本质上还是0101二进制数据。硬件设备要把上述二进制数据转成光信号/电信号/电磁波,才会真正进行发射。

上述层层包装数据,不停的加数据报头的过程,称为"封装"。


注:服务端:在常⻅的⽹络数据传输场景下,把提供服务的⼀⽅进程,称为服务端,可以提供对外服务。

客⼾端:****获取服务的⼀⽅进程,称为客⼾端。


当数据经由交换机/路由器一系列转发之后,最终到达客户端。

客户端所做的就是将上述过程反过来。

上述过程称为"分用"。

注:在纸面上**,"路由器"工作在网络层。"交换机"工作在数据链路层**。而在真实情况下,现在的路由器和交换机功能越来越多,有些交换机的功能,路由器也有,所以界限就没那么分明了。


请求和响应:

⼀般来说,获取⼀个⽹络资源,涉及到两次⽹络数据传输:

• 第⼀次:请求数据的发送

• 第⼆次:响应数据的发送。

好⽐在快餐店点⼀份炒饭: 先要发起请求:点⼀份炒饭,再有快餐店提供的对应响应:提供⼀份炒饭

以上,关于网络的基本概念,希望对你有所帮助。

相关推荐
萧瑟余晖28 分钟前
Java深入解析篇九之NIO详解
java·网络·nio
纵有疾風起39 分钟前
计算机网络的性能指标体系:带宽、时延、吞吐量
计算机网络·rtt·408·带宽·性能指标·吞吐量·时延
夏殇之殁43 分钟前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
我不管我就要叫小猪1 小时前
嵌入式Linux----网络通信
linux·运维·服务器
泡沫冰@1 小时前
ECS 的介绍和使用
linux·服务器·网络
笨鸟先飞,勤能补拙1 小时前
AI 赋能网络安全领域深度剖析
网络·人工智能·windows·安全·web安全·网络安全·github
土星云SaturnCloud2 小时前
抽水蓄能设备智慧运营:基于土星云边缘计算实现机组全生命周期预测性维护
服务器·人工智能·ai·边缘计算
hyf3266333 小时前
泛程序:从零开始搭建稳定程序项目框架
运维·服务器·爬虫·百度·seo
NiceCloud喜云4 小时前
海外云服务器怎么选?适用场景、价格和避坑经验总结
运维·服务器
中微极客4 小时前
多智能体编排实战:CrewAI vs AutoGen(2026版)
大数据·网络·人工智能