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

相关文章

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

SpringCloud整合MQ实现消息总线服务方式

《SpringCloud整合MQ实现消息总线服务方式》:本文主要介绍SpringCloud整合MQ实现消息总线服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、背景介绍二、方案实践三、升级版总结一、背景介绍每当修改配置文件内容,如果需要客户端也同步更新,