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

相关文章

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas

shell脚本快速检查192.168.1网段ip是否在用的方法

《shell脚本快速检查192.168.1网段ip是否在用的方法》该Shell脚本通过并发ping命令检查192.168.1网段中哪些IP地址正在使用,脚本定义了网络段、超时时间和并行扫描数量,并使用... 目录脚本:检查 192.168.1 网段 IP 是否在用脚本说明使用方法示例输出优化建议总结检查 1

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

SpringBoot实现基于URL和IP的访问频率限制

《SpringBoot实现基于URL和IP的访问频率限制》在现代Web应用中,接口被恶意刷新或暴力请求是一种常见的攻击手段,为了保护系统资源,需要对接口的访问频率进行限制,下面我们就来看看如何使用... 目录1. 引言2. 项目依赖3. 配置 Redis4. 创建拦截器5. 注册拦截器6. 创建控制器8.

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

Linux限制ip访问的解决方案

《Linux限制ip访问的解决方案》为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制,具体来说,就是要确保只有指定的内部IP地址能够访问这些服务,所以本文给大家介绍了Linux限制ip访问... 目录背景:解决方案:使用Firewalld防火墙规则验证方法深度了解防火墙逻辑应用场景与扩展背景:

Java如何接收并解析HL7协议数据

《Java如何接收并解析HL7协议数据》文章主要介绍了HL7协议及其在医疗行业中的应用,详细描述了如何配置环境、接收和解析数据,以及与前端进行交互的实现方法,文章还分享了使用7Edit工具进行调试的经... 目录一、前言二、正文1、环境配置2、数据接收:HL7Monitor3、数据解析:HL7Busines