超说网络NO.3 | 深入了解网络的分层体系结构

本文是超说网络系列的第三篇,详细介绍了网络的分层结构,包括服务、协议的区别与联系,以及数据的封装和解封装过程。通过学习,有助于理解TCP/IP、HTTP、UDP等协议在网络中的作用,并掌握网络通信的基本原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创作不易,来了的客官点点关注,收藏,订阅一键三连❤😜      

 

前言

运维必备——计算机网络,我是一名即将毕业的大学生,超超。计算机网络是计算机行业的入门基础,超说网络是笔者对于计算机网络知识的梳理总结,和超超一起学习计算机网络,搞定网络知识,秋招拿下理想offer!


系列文章

超说网络NO.2 | 深入了解计算机网络:网络边缘、网络核心、接入网和物理媒体

超说网络NO.1 | 计算机网络基础知识,初探网络协议


概述

超说网络NO.3 | 深入了解网络的分层体系结构,这一期将了解网络的服务、协议以及数据的封装和解封装。


目录

前言

系列文章

概述

服务和服务访问点

服务的类型

面向连接的服务

面向无连接的服务

深入理解协议

服务和协议

服务与协议的区别

服务与协议的联系

理解层与层之间的机制

Internet协议栈

各层次的协议数据单元

封装和解封装


服务和服务访问点

层次化方式实现复杂网络功能

*将网络复杂的功能分层功能明确的层次,每一层实现了其中一个或一组功能,功能中有其上层可以使用的功能:服务

*本层协议实体相互交互执行本层的协议动作目的是实现本层功能, 通过接口为上层提供更好的服务

*在实现本层协议的时候,直接利用了下层所提供的服务

*本层的服务:借助下层服务实现的本层协议实体之间交互带来的新功能(上层可以利用的)+更下层所提供的服务

服务( Service):低层实体向上层实体提供它们之间的通信的能力(垂直关系)。

服务包括:服务用户(service user) 与服务提供者(service provider )

原语(primitive):上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语(类似一些函数,具有一些具体服务信息)来进行交互的---形式。

服务访问点 SAP (Services Access Point) 上层使用下层提供的服务通过层间的接口—地点,即服务访问点是服务提供者向服务用户提供服务的接口。例如TCP向应用层提供服务的访问点是socket。

例子:

邮箱

地址(address):下层的一个实体支撑着上层的多个实体, SAP有标志不同上层实体的作用

可以有不同的实现,队列

例子:传输层的SAP: 端口(port)

服务的类型

面向连接的服务

连接(Connection)两个通信实体为进行通信而建立的一种结合

面向连接的服务通信的过程:建立连接,通信,拆除连接

面向连接的服务的例子:TCP向应用层提供的服务

适用范围:对于大的数据块要传输; 不适合小的零星报文

特点:保序

服务类型:

可靠的信息流

传送页面(可靠的获得,通过接收方的确认)

可靠的字节流 远程登录

不可靠的连接 数字化声

面向无连接的服务

无连接服务:两个对等层实体在通信前不需要建 立一个连接,不预留资源;不需要通信双方都是 活跃;(例:寄信)

特点:不可靠、可能重复、可能失序

IP分组,数据包;

适用范围:适合传送零星数据;

例子:UDP向应用层提供的服务

服务类型:

 不可靠的数据报 电子方式的函件

 有确认的数据报 挂号信

 请求回答 信息查询

深入理解协议

协议的定义

协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和或接收其他事件方面所采取的动作。(对等层的实体,在通信过程中应遵守的规则集合)

协议的作用

协议控制发送、接收消息:如TCP、UDP、IP、HTTP、FTP、PPP

服务和协议

服务与协议的区别

服务(Service):低层实体向上层实体提供它们之间的通信的能力,是通过原语(primitive)来操作的,垂直关系

协议(protocol) :对等层实体(peer entity)之间在相互通信的过程中,需要遵循的规则的集合,水平 关系

服务与协议的联系

本层协议的实现要靠下层提供的服务来实现;本层实体通过协议为上层提供更高级的服务。

水平的表示协议,垂直的代表服务。

理解层与层之间的机制

物理层:物理层在媒体之上传输和接收电磁波信号和光信号,数据链路层传输来的信号(0101类似信号)转化为电磁波,以比特流形式进行发送接受转换;

数据链路层:作用于通过交换机连接的相邻两个节点之间传输以为单位的数据,链路层解决了点到点的问题;

网络层:在链路层提供的相邻两个节点传输的基础上,实现了源主机到目标主机之间的传输;对于距离远的节点之间的传输,通过网络层提供源主机到目标主机的端到端的数据传输来实现;(但端到端可能会丢包等情况)

传输层:加强并细分了网络层提供端到端服务,将主机到主机的传输转换为进程到进程的传输,加强了网络层的不可靠,将不可靠的传输转换为可靠的传输,传输层解决了进程到进程的区分和通信

应用层:按照应用层协议交换应用报文,实现各种网络应用,例如电子支付、邮件传输、浏览网页等网络应用。应用层以下的的设施等都属于基础设施。

Internet协议栈

各层次的协议数据单元

应用层:报文(message)

传输层:报文段(segment):TCP段,UDP数据报

网络层:分组packet(如果无连接方式:数据报 datagram)

数据链路层:帧(frame) ,以帧为单位的数据

物理层:位(bit)

封装和解封装

封装流程

步骤如下:

本机:192.168.144.223;执行命令:telnet 192.168.145.77 23

【封装】1、telnet应用封装telnet程序请求信息,作为数据包传送给下一层;

【封装】2、传输层收到telnet数据包,在其前面封装一个TCP头部:本机随机启动一个端口作为源端口,23端口作为目的端口;然后将TCP报文传送给下一层;

【封装】3、网络层在TCP报文前面封装一个IP头:本地IP地址作为源IP地址,192.168.145.77作为目的IP地址;(多网卡存在不同网段IP,会根据本机路由选择;)根据本地路由表项,查找下一跳地址,如果不在同一个网段,一般会使用default gateway作为下一跳;通过ARP协议查找gateway对应的MAC地址,ARP缓存表没有,则广播查找 who is 192.168.144.1

【封装】4、数据链路层将IP报文,封装一层数据链路头:将下一跳MAC作为目的MAC,192.168.144.223网卡的MAC作为源MAC

5、把网络报文以二进制格式,通过网线发送给下一跳(基本上是路由器或者三层交换的入口);中间如果有二层交换机,根据MAC地址表,将数据报文转发到某一接口。

【解封装】6、以太网帧发送到三层交换或者路由器,数据包将被解封装到IP报文,根据目的IP查找路由表,路由转发;

【封装】7、在三层交换或路由器上,路由表项Inface接口MAC被封装成源MAC,对端接口MAC封装为目的MAC,发送到下一跳。

8、重复6、7步进行路由转发,一直发送到目的IP。

【解封装】9、在目的主机上,会进行解封装,然后根据目的Port发送到对应的进程,由该进程处理payload。

10、回包重复1-9步过程。

此步骤来源:https://blog.youkuaiyun.com/avatar_2009/article/details/107665293

 创作不易,客官点个赞,评论一下吧!超超和你一起加油❤😜 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chaochao️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值