TPC/IP概述 协议层次及服务模型

2023-11-03 22:40

本文主要是介绍TPC/IP概述 协议层次及服务模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在正式学习网络之前,我们务必要明白理解层次的概念

每一层通过模块化来简化精准的完成整个网络的组成构建。

下层协议通过开放一个端口向上层提供给服务。

上层协议调用下层协议端口,享受下层协议的服务。

服务和协议的关系

协议是水平的:协议是标准,在实现本层协议的时候,要借助下层所提供的服务。目的是为了为上层协议服务。本层协议工作必须要借助下层所提供的服务,才能够实现本层的功能,从而为上层服务。

服务是垂直的:在两层相邻层中为上层服务。从而连接上下层。

TCP/IP协议每一层的作用:

每一层数据的单位以及作用和协议举例

应用层:应用报文 message

(作用:在传输层所提供的基础上完成应用报文的交互。实现各种各样的网络应用。)

FTP SMTP HTTP DNS POP3

传输层:报文段;段 segment

(作用:实现端口到端口,进程到进程区分,其中TCP可以弥补网络层的不可靠,实现数据传输的可靠性。不出错,不重复,不丢失,不失序。建立在IP层端到端的服务之上。)

TCP

UDP

网络层:分组;包  packet (如果是五连接方式数据报datagram)

END TO END (ETE)

(作用:两台主机之间会有很多跳。实现源主机到目标主机,端到端通讯。路由转发和寻址,可以有很多的端,建立在数据链路层点到点的服务之上。但是是尽力而为。)

RIP  IGRP ISIS OSPF BGP  EIGRP 

数据链路层:数据帧  (frame)

POINT TO POINT (PTP)

(作用:实现一条链路上相邻两点的数据帧传输,识别数据帧头,剥离后将后面的数据交给上层)

802.3 以太网 协议

PPP 协议

802.11 WLAN 协议

物理层:位;比特  (bit)

(作用:将数据链路层传输下来的数据帧转化成比特流,以光电信号的方式,通过网线或者光纤等介质在链路传输,反之对端物理层也可以还原)

概述:

怎么样设计实施组织一个复杂的网络

把他分成一个个功能明确的层次,每一个层次实现一个或一组功能。

具体实现的时候采用协议实体的相互动作来实现

每一层借助于层间的接口,借助下层所提供的服务来相互交换PDU来实现

实现PDU协议动作的目的是为了上层提供更好的服务,每一层向上层提供的服务包括了所有下层向上所提供的服务总和,还包括了本层和对等层的实体交互的过程所形成的一些新的服务特性。通过层间的接口来向上提供服务,否则本层失去了意义。 

服务:

服务用户:TCP的实体上可以跑很多协议。http ftp等等

服务访问点:SAP是向上层提供服务的一个节点,服务访问点通过socket来判断这个数据是发给谁的。

套节字socket:传输层向应用层传递时信息,承接SAP,区分哪个端口号的服务(socket可以包含源目地址已经源目端口号这样一个四元组的集合)

两个实体对等体向上层提供服务,通过下层所提供的服务,两个实体可以交互PDU,可以向上层服务。

 下层实体向上层提供服务的时候分为两种形式

如果先要建立关系,就是面向连接的服务

反之则是无连接服务

数据单元(DU) 协议数据单元(PDU)

上层传下来的数据叫做SDU(服务数据单元),SDU+控制信息传输给下层(ICI)。

协议数据单元(PDU):   SDU+本层控制信息(需要和对端交互的信息),形成本层的控制信息,形成PDU(协议数据单元),(我和对等层的实体交互的时候都是通过PDU交换的),如果sud刚好则封上自己的控制头部,形成PDU,如果SDU较小则组合,组合部分前装入控制头部;太大则切片,每个切片前装入控制头部。

简单描述下两台主机 pc1和pc2之间的通讯过程

1.PC1将应用层的数据载荷传输给交换机

其中数据中包含了对应的应用服务类型,源目端口号 ,源目IP地址 ,源目MAC地址

2.SW1在收到数据帧后拆开数据链路层的头部,并且查询MAC地址表做对应的转发,且转化为bit流交给物理层以光电信号的形式在介质上传输。

3.R1收到数据后,首先会通过自己的网口对其数据链路层的头部进行拆包,再会拆开三层,查询路由表做对应的转发。传递给R1的数据链路层,会从重发封装上自己的MAC地址,即数据链路层头部,并且重新转化为光电信号。

4.SW2做SW1同样的工作

5.PC2在收到光电信号后,首先通过物理层转化为bit流还原成数据帧,在通过数据链路层检查是否是自己对应的数据帧后拆开数据帧头部分,发送给自己的网络层,网络层同样拆开对应的数据包,将传输层数据内容传输给传输层,传输层通过socket来判断对应的端口号,转发给对应的应用。

这篇关于TPC/IP概述 协议层次及服务模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/341346

相关文章

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

SysMain服务可以关吗? 解决SysMain服务导致的高CPU使用率问题

《SysMain服务可以关吗?解决SysMain服务导致的高CPU使用率问题》SysMain服务是超级预读取,该服务会记录您打开应用程序的模式,并预先将它们加载到内存中以节省时间,但它可能占用大量... 在使用电脑的过程中,CPU使用率居高不下是许多用户都遇到过的问题,其中名为SysMain的服务往往是罪魁

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

Java对接MQTT协议的完整实现示例代码

《Java对接MQTT协议的完整实现示例代码》MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛,:本文主要介绍Ja... 目录前言前置依赖1. MQTT配置类代码解析1.1 MQTT客户端工厂1.2 MQTT消息订阅适配器1.

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

Linux中的自定义协议+序列反序列化用法

《Linux中的自定义协议+序列反序列化用法》文章探讨网络程序在应用层的实现,涉及TCP协议的数据传输机制、结构化数据的序列化与反序列化方法,以及通过JSON和自定义协议构建网络计算器的思路,强调分层... 目录一,再次理解协议二,序列化和反序列化三,实现网络计算器3.1 日志文件3.2Socket.hpp

Linux中的HTTPS协议原理分析

《Linux中的HTTPS协议原理分析》文章解释了HTTPS的必要性:HTTP明文传输易被篡改和劫持,HTTPS通过非对称加密协商对称密钥、CA证书认证和混合加密机制,有效防范中间人攻击,保障通信安全... 目录一、什么是加密和解密?二、为什么需要加密?三、常见的加密方式3.1 对称加密3.2非对称加密四、