lv7 嵌入式开发-网络编程开发 03 TCP/IP与五层体系结构

news2025/1/11 23:02:09

目录

1 TCP/IP协议族体系结构

1.1 OSI与TCP/IP

1.2 TCP/IP 的体系结构 

1.3 TCP/IP 体系结构的另一种表示方法

1.4 沙漏计时器形状的 TCP/IP 协议族

2 五层协议的体系结构

2.1 各层的主要功能 

2.2 互联网中客户-服务器工作方式

2.3 同时为多个客户进程提供服务 

3 练习


1 TCP/IP协议族体系结构

1.1 OSI与TCP/IP

1.2 TCP/IP 的体系结构 

是事实上的国际标准

实质上TCP/IP只有最上面的三层,最下面的网络接口层(链路层)并没有具体内容

链路层所使用的各种局域网标准是由IEEE的802委员会下属的各工作组负责制定的

路由器在转发分组时最高只用到网际层,没有使用运输层和应用层。

1.3 TCP/IP 体系结构的另一种表示方法

现在互联网使用的 TCP/IP 体系结构已经发生了演变,即某些应用程序可以直接使用 IP 层,或甚至直接使用最下面的网络接口层。 (如ping命令,只需要用到网络层ICMP协议即可通信)

1.4 沙漏计时器形状的 TCP/IP 协议族

支持多种网络接口:双绞线、光纤、wifi等 

2 五层协议的体系结构

2.1 各层的主要功能 

应用层:

  • 任务:通过应用进程间的交互来完成特定网络应用。
  • 协议:定义的是应用进程间通信和交互的规则。 把应用层交互的数据单元称为报文(message)。 例如:DNS,HTTP,SMTP

运输层:

  • 任务:负责向两台主机中进程之间的通信提供通用的数据传输服务。 具有复用和分用的功能。
  • 主要使用两种协议: 传输控制协议 TCP 用户数据报协议 UDP 。
  • TCP (Transmission Control Protocol): 提供面向连接的、可靠的数据传输服务。 数据传输的单位是报文段 (segment)。
  • UDP (User Datagram Protocol): 提供无连接的尽最大努力 (best-effort) 的数据传输服务(不保证数据传输的可靠性)。 数据传输的单位是用户数据报。

网络层:

  • 为分组交换网上的不同主机提供通信服务。
  • 两个具体任务: 路由选择:通过一定的算法,在互联网中的每一个路由器上,生成一个用来转发分组的转发表。 转发:每一个路由器在接收到一个分组时,要依据转发表中指明的路径把分组转发到下一个路由器。
  • 互联网使用的网络层协议是无连接的网际协议 IP  (Internet Protocol) 和许多种路由选择协议,因此互联网的网络层也叫做网际层或 IP 层。 IP 协议分组也叫做 IP 数据报,或简称为数据报。

数据链路层:

  • 常简称为链路层。 任务:实现两个相邻节点之间的可靠通信。 在两个相邻节点间的链路上传送帧(frame)。
  • 如发现有差错,就简单地丢弃出错帧。 如果需要改正出现的差错,就要采用可靠传输协议来纠正出现的差错。这种方法会使数据链路层协议复杂

物理层:

  • 任务:实现比特(0 或 1)的传输。 确定连接电缆的插头应当有多少根引脚,以及各引脚应如何连接。
  • 注意:传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议的下面

2.2 互联网中客户-服务器工作方式

2.3 同时为多个客户进程提供服务 

3 练习

简述五层模型体系结构每一层及其功能?

五层模型体系结构,也称为TCP/IP模型,是互联网通信中常用的网络协议参考模型。它将通信过程划分为五个不同的层级,每一层都有其独特的功能和作用。

下面是五层模型体系结构的每一层及其功能:

  1. 物理层(Physical Layer):负责在物理媒介上传输原始比特流,确保数据以正确的电压和信号形式在物理介质上传输。主要关注传输媒介、连接器类型、电气特性等。

  2. 数据链路层(Data Link Layer):提供可靠的点对点数据传输,将原始比特流组织成数据帧,并进行错误检测和纠正。主要关注物理地址寻址、差错控制、帧同步和流控制等。

  3. 网络层(Network Layer):负责在网络间寻址和路由选择,将数据包从源节点传输到目标节点。主要关注逻辑寻址、IP协议、路由选择和数据包转发等。

  4. 传输层(Transport Layer):提供端到端的可靠数据传输服务,确保数据的完整性和可靠性。主要关注数据的分段、传输控制、差错恢复和流量控制等。常见的传输层协议包括TCP(传输控制协议)和UDP(用户数据报协议)。

  5. 应用层(Application Layer):提供网络服务和应用程序之间的接口,使用户能够访问网络资源和应用。主要关注应用程序的协议和接口设计,如HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)等。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1058533.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WebSocket实战之六心跳重连机制

一、前言 WebSocket应用部署到生产环境,我们除了会碰到因为经过代理服务器无法连接的问题(注:该问题可以通过搭建WSS来解决,具体配置请看 WebSocket实战之四WSS配置 ),另外一个问题就是外网环境不稳定经常…

力扣刷题-哈希表-三数之和

15 三数之和 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a b c 0 ?请你找出所有满足条件且不重复的三元组。 注意: 答案中不可以包含重复的三元组。 示例&#xff1a…

Collagen

\ collagen XV/XVIII, Endostatin- angiogenesis inhibitor; c-type lectin 结构; TSP ( 含有 Laminin-G)

asp.net core 远程调试

大概说下过程: 1、站点发布使用Debug模式 2、拷贝到远程服务器,以及iis创建站点。 3、本地的VS2022的安装目录:C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE下找Remote Debugger 你的服务器是64位就拷贝x64的目…

WOL唤醒配置(以太网、PHY、MAC)

目录 wol 以太网 MAC PHY RMII 通信配置 总结 wol Wake-on-LAN简称WOL,WOL(网络唤醒) 是一种标准网络协议,它的功效在于让已经进入休眠状态或关机状态的计算机,透过局域网(多半为以太网&#xff…

Vue项目搭建图文详解教程

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 预备工作 请在本地创建文件夹用于存放Vue项目,例如:创建HelloWorld文件夹存放即将创建的Vue新项目。 创建Vue项目 首先,请在DOS中将目录…

多线程(如何理解pthread库)

上一节,我们主要介绍了pthread库中一些常见函数的用法,这节我们主要分析一下pthread库到底是什么? 什么是库 我们之前提过,在每一个linux平台下,必定会存在对应的pthread库 它存在于/lib64这个路径底下 换句话说&am…

Android逆向学习(五)app进行动态调试

Android逆向学习(五)app进行动态调试 一、写在前面 非常抱歉鸽了那么久,前一段时间一直在忙,现在终于结束了,可以继续更新android逆向系列的,这个系列我会尽力做下去,然后如果可以的话我看看能…

jvm 参数配置

查看当前jvm配置参数的值 jsp查看所有的jvm端口 jinfo -flag 参数(XX:后面的) JIT配置 -XX:CompileThreshold在方法调用的默认阈值在客户端1500次,在服务器端10000次。 -XX:-UseCounterDecay用来关闭热度衰减。 -XX:CounterHalfLifeTime设置半衰减的时间&#x…

Ubuntu中启动HDFS后没有NameNode解决办法

关闭进程: stop-dfs.sh 格式化: hadoop namenode -format 出现报错信息: 23/10/03 22:27:04 WARN fs.FileUtil: Failed to delete file or dir [/usr/data/hadoop/tmp/dfs/name/current/fsimage_0000000000000000000.md5]: it still exi…

我的企业证书是正常的但是下载应用app到手机提示无法安装“app名字”无法安装此app,因为无法验证其完整性解决方案

我的企业证书是正常的但是下载应用app到手机提示无法安装“app名字”无法安装此app,因为无法验证其完整性解决方案 首先,确保您从可信任的来源下载并安装企业开发者签名过的应用程序。如果您不确定应用程序的来源,建议您联系应用程序提供者…

大数据-玩转数据-Flink 海量数据实时去重

一、海量数据实时去重说明 借助redis的Set,需要频繁连接Redis,如果数据量过大, 对redis的内存也是一种压力;使用Flink的MapState,如果数据量过大, 状态后端最好选择 RocksDBStateBackend; 使用布隆过滤器,…

快速选择排序

"你经过我每个灿烂时刻,我才真正学会如你般自由" 前些天有些无聊,想试试自己写的快排能否过leetcode上的排序算法题。结果是,不用截图可想而知,肯定是没过的,否则也不会有这篇文章的产出。 这份快排算法代码…

请求转发与请求作用域

创建input.jsp页面,通过表单输入学号、姓名后,单击登录按钮,控制转发到FirstServlet对其进行处理,然后通过请求对象的getRequestDispartcher()获得RequestDispartcher对象,将请求转发至SecondServlet,在Sec…

辅助驾驶功能开发-测试篇(2)-真值系统介绍

1 真值系统概述 1.1 真值评测系统核心应用 快速构建有效感知真值,快速完成感知性能评估,快速分析感知性能缺陷。 主要应用场景包括: 1. 感知算法开发验证: 在算法开发周期中,评测结果可以作为测试报告的一部分,体现算法性能的提升。 2. 遴选供应…

九、2023.10.3.Linux(end).9

文章目录 33、简述mmap的原理和使用场景?34、互斥量能不能在进程中使用?35、协程是轻量级线程,轻量级表现在哪里?36、说说常见信号有哪些,表示什么含义?37、说说线程间通信的方式有哪些?38、说说…

基于matlab创作简易表白代码

一、程序 以下是一个基于MATLAB的简单表白代码: % 表白代码 clc; % 清除命令行窗口 clear; % 清除所有变量 close all; % 关闭所有图形窗口 % 输入被表白者的名字 name input(请输入被表白者的名字:, s); % 显示表白信息 fprintf(\n); fprintf(亲爱的…

深入浅出的算法设计与分析技巧解读(软件设计师笔记)

😀前言 在计算机科学的庞大体系中,算法始终占据着核心的地位,充当着解决问题的“钥匙”。本章主要深入探讨了算法设计与分析这一主题,旨在通过具体的问题解析和代码实现,引导读者深入理解各种经典算法的设计原理和应用…

ElasticSearch第四讲:ES详解:ElasticSearch和Kibana安装

ElasticSearch第四讲:ES详解:ElasticSearch和Kibana安装 本文是ElasticSearch第四讲:ElasticSearch和Kibana安装,主要介绍ElasticSearch和Kibana的安装。了解完ElasticSearch基础和Elastic Stack生态后,我们便可以开始…

力扣 -- 322. 零钱兑换(完全背包问题)

参考代码&#xff1a; 未优化代码&#xff1a; class Solution { public:int coinChange(vector<int>& coins, int amount) {int n coins.size();const int INF 0x3f3f3f3f;//多开一行&#xff0c;多开一列vector<vector<int>> dp(n 1, vector<i…