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

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二进制数据。硬件设备要把上述二进制数据转成光信号/电信号/电磁波,才会真正进行发射。

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


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

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


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

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

上述过程称为"分用"。

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


请求和响应:

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

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

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

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

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

相关推荐
乙己4073 小时前
计算机网络——网络层
运维·服务器·计算机网络
幽兰的天空5 小时前
介绍 HTTP 请求如何实现跨域
网络·网络协议·http
lisenustc5 小时前
HTTP post请求工具类
网络·网络协议·http
心平气和️5 小时前
HTTP 配置与应用(不同网段)
网络·网络协议·计算机网络·http
心平气和️5 小时前
HTTP 配置与应用(局域网)
网络·计算机网络·http·智能路由器
qzhqbb5 小时前
web服务器 网站部署的架构
服务器·前端·架构
Mbblovey6 小时前
Picsart美易照片编辑器和视频编辑器
网络·windows·软件构建·需求分析·软件需求
北顾南栀倾寒7 小时前
[Qt]系统相关-网络编程-TCP、UDP、HTTP协议
开发语言·网络·c++·qt·tcp/ip·http·udp
GZ_TOGOGO7 小时前
PIM原理与配置
网络·华为·智能路由器
7ACE7 小时前
Wireshark TS | 虚假的 TCP Spurious Retransmission
网络·网络协议·tcp/ip·wireshark·tcpdump