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

相关文章

Python实现快速扫描目标主机的开放端口和服务

《Python实现快速扫描目标主机的开放端口和服务》这篇文章主要为大家详细介绍了如何使用Python编写一个功能强大的端口扫描器脚本,实现快速扫描目标主机的开放端口和服务,感兴趣的小伙伴可以了解下... 目录功能介绍场景应用1. 网络安全审计2. 系统管理维护3. 网络故障排查4. 合规性检查报错处理1.

nacos服务无法注册到nacos服务中心问题及解决

《nacos服务无法注册到nacos服务中心问题及解决》本文详细描述了在Linux服务器上使用Tomcat启动Java程序时,服务无法注册到Nacos的排查过程,通过一系列排查步骤,发现问题出在Tom... 目录简介依赖异常情况排查断点调试原因解决NacosRegisterOnWar结果总结简介1、程序在

Apache服务器IP自动跳转域名的问题及解决方案

《Apache服务器IP自动跳转域名的问题及解决方案》本教程将详细介绍如何通过Apache虚拟主机配置实现这一功能,并解决常见问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录​​问题背景​​解决方案​​方法 1:修改 httpd-vhosts.conf(推荐)​​步骤

Linux(centos7)虚拟机没有IP问题及解决方案

《Linux(centos7)虚拟机没有IP问题及解决方案》文章介绍了在CentOS7中配置虚拟机网络并使用Xshell连接虚拟机的步骤,首先,检查并配置网卡ens33的ONBOOT属性为yes,然后... 目录输入查看ZFhrxIP命令:ip addr查看,没有虚拟机IP修改ens33配置文件重启网络Xh

Java领域模型示例详解

《Java领域模型示例详解》本文介绍了Java领域模型(POJO/Entity/VO/DTO/BO)的定义、用途和区别,强调了它们在不同场景下的角色和使用场景,文章还通过一个流程示例展示了各模型如何协... 目录Java领域模型(POJO / Entity / VO/ DTO / BO)一、为什么需要领域模

深入理解Redis线程模型的原理及使用

《深入理解Redis线程模型的原理及使用》Redis的线程模型整体还是多线程的,只是后台执行指令的核心线程是单线程的,整个线程模型可以理解为还是以单线程为主,基于这种单线程为主的线程模型,不同客户端的... 目录1 Redis是单线程www.chinasem.cn还是多线程2 Redis如何保证指令原子性2.

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Java服务实现开启Debug远程调试

《Java服务实现开启Debug远程调试》文章介绍如何通过JVM参数开启Java服务远程调试,便于在线上排查问题,在IDEA中配置客户端连接,实现无需频繁部署的调试,提升效率... 目录一、背景二、相关图示说明三、具体操作步骤1、服务端配置2、客户端配置总结一、背景日常项目中,通常我们的代码都是部署到远程

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求: