001网络模型与socket的介绍

news2024/11/27 2:28:19

    我们平常使用的程序(或者说软件)一般都是通过应用层来访问网络的,程序产生的数据会一层一层地往下传输,直到最后的网络接口层,就通过网线发送到互联网上去了。数据每往下走一层,就会被这一层的协议增加一层包装,等到发送到互联网上时,已经比原始数据多了四层包装。整个数据封装的过程就像俄罗斯套娃。

   当另一台计算机接收到数据包时,会从网络接口层再一层一层往上传输,每传输一层就拆开一层包装,直到最后的应用层,就得到了最原始的数据,这才是程序要使用的数据。

    给数据加包装的过程,实际上就是在数据的头部增加一个标志(一个数据块),表示数据经过了这一层,我已经处理过了。给数据拆包装的过程正好相反,就是去掉数据头部的标志,让它逐渐现出原形。

   你看,在互联网上传输一份数据是多么地复杂啊,而我们却感受不到,这就是网络模型的厉害之处。我们只需要在代码中调用一个函数,就能让下面的所有网络层为我们工作。

  我们所说的 socket 编程,是站在传输层的基础上,所以可以使用 TCP/UDP 协议,但是不能干「访问网页」这样的事情,因为访问网页所需要的 http 协议位于应用层。

两台计算机进行通信时,必须遵守以下原则:

  1. 必须是同一层次进行通信,比如,A 计算机的应用层和 B 计算机的传输层就不能通信,因为它们不在一个层次,数据的拆包会遇到问题。
  2. 每一层的功能都必须相同,也就是拥有完全相同的网络模型。如果网络模型都不同,那不就乱套了,谁都不认识谁。
  3. 数据只能逐层传输,不能跃层。

What is Socket?


  1. 简单来说是IP地址与端口的结合协议(RFC793)
  2. 一种地址与端口的结合描述协议
  3. TCP/IP协议的相关API的总称;是网络API的集合实现
  4. 涵盖了:Stream Socket/Datagram Socket

Socket的作用与组成


  1. 在网络传输中用于唯一标示两个端点之间的链接
  2. 端点:包括(IP+Port)
  3. 4个要素:客户端地址、客户端端口、服务器地址、服务器端口

TCP


  1. TCP是面向连接的通信协议
  2. 通过三次握手建立连接,通讯完成时要拆除连接
  3. 由于TCP是面向连接的所以只能用于端到端的通讯

UDP


  1. UDP是面向无连接的通讯协议
  2. UDP数据包括目的端口号和源端口号信息
  3. 由于通讯不需要连接,所以可以实现广播发送,并不局限于端到端

 

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

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

相关文章

chatgpt赋能python:Python如何写配置文件-一种简单的方法

Python 如何写配置文件 - 一种简单的方法 在Python编程中,配置文件是必不可少的,因为它们允许我们在代码中保持所有可配置属性,而不是在代码中写死它们。这样,我们可以很容易地更改我们的应用程序的行为,而不必更改代…

MySQL从入门到快速上手

文章目录 第一章 了解SQL第二章 检索数据第三章 排序第四章 过滤数据第五章 高级数据过滤第六章 多表查询内连接(交集)外连接多表连接UNIONUNION ALL 第七章 单行函数日期和时间函数获取日期、时间日期与时间戳的转换获取月份、星期、星期数、天数等函数…

Banana Pi BPI-Wifi6路由器采用创耀科技TR6560/TR5220 wifi芯片方案设计,支持PoE网络供电

香蕉派BPI-Wifi6路由器设计采用了创耀科技TR6560 TR5220 wifi无线芯片设计,是一款标准的wifi6路由器解决方案。内置高性能双核ARM Cortec A9处理器,用于WIFI消息转发或智能业务处理,内置高性能LSW和硬件NAT,最大支持5Gbps的报文转…

Python 写Android App性能:入门到高级

引言 Android性能测试是移动应用开发的关键部分。无论是响应时间,内存使用,CPU占用,还是电池消耗,性能的每个方面都直接影响到用户体验。在这篇文章中,我们将介绍如何使用Python进行Android性能测试,从入门…

怎么样正确的看待档案室的八防环境监控系统

历史文化遗产是无价之宝,而如何保护它们却是一项永恒的任务。近日,盛世宏博推出了八防环境监控系统,让人惊叹不已!这个系统不仅能够实时监测温度、湿度、光照等多项指标,还能进行预警和自动调节,保障资料的…

【H5】avalon前端数据双向绑定

系列文章 C#底层库–记录日志帮助类 本文链接:https://blog.csdn.net/youcheng_ge/article/details/124187709 文章目录 系列文章前言一、技术介绍二、项目源码2.1 绑定text输入框2.2 绑定select下拉框2.3 绑定radio单选按钮2.4 不使用双向绑定处理方式 三、效果展…

分布式锁工具Redisson

一、Redisson概述 二、分布式锁 三、Redisson分布式锁 四、RLock 五、公平锁 六、总结 一、Redisson概述 什么是Redisson? Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式…

笔记本安装centos操作系统

一、下载centos镜像 centos官方历史版本:Index of / 常用的镜像文件类型介绍: DVD ISO:普通光盘完整安装版镜像,可离线安装到计算机硬盘上,包含大量的常用软件(一般选择这种jing)。 Everythi…

运维小白必学篇之基础篇第十九集:rsync+inotfy实时同步

rsyncinotfy实时同步 目录 rsyncinotfy实时同步 一、服务器端 二、客户端 一、服务器端 1、安装网站服务,启动,但是不写首页文件 yum -y install httpd 2、安装raync服务 yum -y install rsync 3、修改主配置文件 (/etc/rsyncd.conf&am…

Python代码部署的三种加密方案

本文主要介绍了Python代码部署的三种加密方案,主要介绍了代码混淆、代码编译、代码打包这三种,具有一定的参考价值,感兴趣的可以了解一下 前言 最近需要源码部署一个项目,因此探索一下保护源码的方式,由简单到复杂主要…

好网角怎么发帖?文章发不出去怎么解决?

好网角怎么发帖?文章发不出去怎么解决?如何在网上发帖子?在网上发帖子#科技#电脑#网络#方法 N 如何在网上发帖子? 试用系统 windows 7 首先打开电脑中的任意浏览器,进入之后打开百度网站,点击右上角的登录…

信噪比对重构算法的影响

前面分析了MP算法、OPM算法和SP算法的原理以及采样率对三种算法的影响。在实际的应用中,会混入噪声,没有噪声那是理想的情况,这里就研究一下信噪比对重构信号产生的MSE的影响。 1、 信噪比对MP算法的影响 首先研究信噪比对MP算法产生的影响…

数字化的未来,VR全景房产解决方案,引领房地产行业变革!

导语: 随着科技的迅猛发展,数字化正逐渐改变着各行各业的面貌。在房地产领域,一种创新的数字化工具正逐渐崭露头角——VR电子楼书。 它融合了虚拟现实技术,为购房者提供了一种前所未有的全新体验,也为房地产行业带来了…

【Linux网络编程】传输层udp协议篇

udp协议篇 一、本篇是在应用篇的后面的二、传输层2.1、再谈端口号2.2.1、两个问题2.2.2、两个常用命令 2.2、UDP协议2.2.1、udp协议端格式&&理解报头2.2.2、udp的特点2.2.3、udp的缓冲区2.2.4、基于udp的应用层协议 一、本篇是在应用篇的后面的 讲解过程是自顶向下的&…

常用模拟低通滤波器的设计——巴特沃斯滤波器

常用模拟低通滤波器的设计——巴特沃斯(Butterworth)滤波器 滤波器是一种具有频率选择作用的电路或运算处理系统,它具有区分区分输入信号的各种不同频率成分的功能,具有滤除噪声和分离各种不同信号的功能。综合一个滤波器的基本步骤分为逼近和实现。逼近…

如何在电脑上图片裁剪?裁剪图片大小的方法介绍

图片裁剪大小的优点 在数字化时代,图片已成为人们日常生活中使用最频繁的媒介之一。然而,由于不同尺寸和比例的图片在不同的平台上展示效果有所不同,因此需要对其进行裁剪。 图片裁剪大小的主要优点包括: 1. 优化页面显示&…

OJ #207. 评奖2

题目描述 ​ 山治同学所在的班级共有 N名同学,期末考试时进行了数学、语文、英语、地理四门功课的 测试。现要将班里总分最高的同学评为“学习小状元”。​ 如 3 名学生,4 门课程的成绩如下: 数学 语文 英语 地理 hong 98 90 87 74 Ming 96…

Hive学习---5、分区表和分桶表

1、分区表和分桶表 1.1 分区表 Hive中的分区就是把一张大表的数据按照业务需求分散的存储到多个目录,每个目录就称为该表的一个分区。在查询时通过where子句中的表达式选择查询所需要的分区,这样的查询效率会提高很多。 1.1.1 分区表基本语法 1、创建…

树莓派VNC控制报错:The connection was refused by the computer 已解决

在进行VNC远程操控树莓派的时候,出现了这个错误:The connection was refused by the computer。 大概原因有两个:一个是树莓派的IP地址更改了,另一个就是树莓派的VNC服务没有开启。 我的这块板子是个新板子,原因很显…

软件测试理论

测试理论 一 测试定义及原则 1 软件定义 一些列按着特定顺序组织的计算机数据和指令的集合: 软件 数据 指令 文档 2 软件分类 工具类软件游戏类软件电商类软件社交类软件教育类软件等 3. 软件架构分类 单机软件: office、红警等分布式软件 C/…