Linux编程4.3 网络编程-数据封装

1、数据封装

2、Internet协议(IP)

  • IP的主要目的是为数据输入/输出网络提供基本算法,为高层协议提供无连接的传送服务。这意味着在IP将数据递交给接收站点以前不在传输站点和接收站点之间建立对话(虚拟链路)。它只是封装和传递数据,但不向发送者或接收者报告包的状态,不处理所遇到的故障。
  • IP协议有以下四个主要功能
    1. 数据传送
    2. 寻址
    3. 路由选择
    4. 数据报文的分段
  • IP协议不注意包内的数据类型,它所知道的一切是必须将某些称为IP帧头的控制协议回到高层协议(TCP或者UDP)所接受的数据上。

3、IP地址

  • 在TCP/IP网络中,每个主机都有唯一的地址,它是通过IP协议来实现的。
  • IP协议要求在每次与TCP/IP网络建立连接时,每台主机都必须为这个连接分配一个唯一的32位地址,因为在这个32位IP地址中,不但可以用来识别某一台主机,而且还隐含网际间的路径信息。
  • 主机是指网络上的一个节点,不能简单地理解为一台计算机,实际上IP地址是分配给计算机的网络适配器(即网卡)的,一台计算机可以有多个网络适配器,就可以有多个IP地址,一个网络适配器就是一个节点。
  • IP地址为32位地址,一般以4个字节表示。每个字节的数字又用十进制表示,即每个字节的数的范围是0~255,且每个数字之间用点隔开,例如:192.168.112,这种记录方法称为“点-分”十进制记号法,。IP地址的结构如下所示:

4、端口号

  • TCP/UPD协议使用16倍速整数存储端口号,所以每个主机拥有65,535个端口
  • 一些端口被IANA分配给指定应用
    1. 21:FTP
    2. 23:Telent
    3. 80:HTTP
    4. RFC:1700(大约有2000个保留端口)

5、其它用户服务协议

  1. BOOTP(启动协议Boot Protocol)由网络服务器上取得启动信息,然后将本地的网络计算机启动。
  2. FTP(文件传输协议File Transfer Protocol)通过国际互连网从一台计算机上传输一个或多个文件到另外一台计算机。
  3. TELNET(远程登陆)允许一个远程登陆,使用都可以从网络上的一台机器通过TELNET连接到另一台机器,就像使用者直接在本地操作一样。
  4. EGP(外部网关协议Exterior Gateway Protocol)为外部网络传输路由信息。
  5. GGP(网关到网关协议Gateway-to-Gateway Protocol)在网关和网关之间传输路由协议。
  6. IGP(内部网关协议 Interior Gateway Protocol)在内部网络传输路由信息。

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

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

相关文章

【网络工程师进阶之路】BFD技术

个人名片:🪪 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:&a…

软考75-上午题-【面向对象技术3-设计模式】-设计模式的要素

一、题型概括 上午、下午题(试题五、试题六,二选一) 每一个设计模式都有一个对应的类图。 二、23种设计模式 创建型设计模式:5 结构型设计模式:7 行为设计模式:11 考试考1-2种。 三、设计模式的要素 3…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的行人跌倒检测系统(深度学习+UI界面+完整训练数据集)

摘要:开发行人跌倒检测系统在确保老年人安全方面扮演着至关重要的角色。本篇文章详尽地阐述了如何利用深度学习技术构建一个行人跌倒检测系统,并附上了完整的代码实现。该系统采用了先进的YOLOv8算法,并对YOLOv7、YOLOv6、YOLOv5等先前版本进…

js的事件有哪些?

鼠标事件: 鼠标事件 触发条件 onclick 鼠标点击左键触发 oncontextmenu 鼠标点击右键触发 ondblclick 鼠标双击触发 onmouseover 鼠标经过触发 onmouseout 鼠标离开触发 onmousemove 鼠标移动触发 onmouseup 鼠标弹起触发 onmousedown 鼠标按下触发 键盘事…

C经典BUG:给void*传递char **是不会报错的,连警告都没有

初级代码游戏的专栏介绍与文章目录-CSDN博客 我们知道C语言的void*表示无类型的指针,或者说,void*可以接受任何指针,这简直就是个魔法。 这个魔法意味着你可以做任何事,也意味着BUG。 我今天花了一些时间来解决一个BUG。本来一切都…

王道OnlineJudge 14

题目 二叉树层次建树就是一层一层的建树,从左到右。随着纵向层次的深入,结点的数量变化规律为:1→2→4→8→16→32。 先画图,然后看图可闭眼写代码 右边为辅助队列,有多少个二叉树结点,就有多少个辅助队…

【JavaScript】数据类型转换 ① ( 隐式转换 和 显式转换 | 常用的 数据类型转换 | 转为 字符串类型 方法 )

文章目录 一、 JavaScript 数据类型转换1、数据类型转换2、隐式转换 和 显式转换3、常用的 数据类型转换4、转为 字符串类型 方法 一、 JavaScript 数据类型转换 1、数据类型转换 在 网页端 使用 HTML 表单 和 浏览器输入框 prompt 函数 , 接收的数据 是 字符串类型 变量 , 该…

第6章:MATLAB文本数据处理进阶篇的目录 (MATLAB入门课程)

讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 第6章:MATLAB文本数据处理进阶篇 6.1 文本格式化 …

爆肝整理万能sass框架:react18+webpack5+typescript+ant Design,框架在手,交付无忧!!!

来活了,要求一周时间内快速给xxx业务开发一个sass系统平台,要求有角色权限控制,推荐模块,各种业务内容模块,莫慌,直接上代码!!!!! 1.系统框架配置…

DAY by DAY 史上最全的Linux常用命令汇总----命令格式

命令行基本操作 命令使用方法 Linux命令格式: command [-options] [parameter1] … 1 command: 命令名; [-options]:选项,可用来对命令进行控制,也可以省略,[]代表可选 parameter1 …:传给命令的参数&a…

带你摸透C语言相关内存函数

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…

Windows10/11配置WSL(Ubuntu)环境

文章目录 WSL介绍WSL部署扩展:辅助工具Windosw Terminal安装下载 WSL介绍 传统方式获取Linux操作系统,是安装完整的虚拟机及镜像环境,例如虚拟机VMware 而使用WSL,可以以非常轻量化的方式,得到Linux系统环境 它无需单独虚拟一套硬…

【Linux】常用基础命令(一)

命令的提示符 [rootlocalhost: ~]# []:这是提示符的分隔符号,没有特殊含义。root:显示的是当前的登录用户:分隔符,没有特殊含义。localhost:当前系统的简写主机名(完整主机名是 localhost.loc…

校园兼职无忧网-创业计划书(附下载)

校园兼职无忧网是一个致力于为在校大学生提供兼职工作机会的平台,旨在搭建一个便捷、高效、安全的信息对接服务。该平台通过整合校内外各类兼职资源,包括但不限于家教、促销、实习等岗位,帮助学生找到适合自己的兼职工作,同时为用…

PostGIS 中的 K-Means 聚类操作及应用

K-Means算法: K-means 是数据科学和商业的基本算法。让我们深入了解一下。 1. K-means是一种流行的用于聚类的无监督机器学习算法。它是用于客户细分、库存分类、市场细分甚至异常检测的核心算法。 2. 无监督:K-means 是一种无监督算法,用于…

【Git】git pull fatal: refusing to merge unrelated histories

本地项目add到远程仓库后 git remote add origin https://gitee.com/xxx/git-test.git[仓库地址]通过 git pull 拉取远程仓库 显示 fatal: refusing to merge unrelated histories git fetch 没问题git merge 显示:fatal: refusing to merge unrelated histories …

leetcode刷题(javaScript)——分治思想(二分查找、快速排序)相关场景题总结

分治思想是一种将问题分解成更小的子问题,然后解决子问题并将结果合并的算法设计策略。二分查找、快速排序和折半查找都属于分治思想的经典算法。在leetcode里,分治思想一般结合其他场景出现,构成复合型题目。但是在看题时一定要了解能否用分…

C语言分析基础排序算法——计数排序

目录 计数排序 计数排序基本思路 计数排序改进思路 计数排序 计数排序又称为鸽巢原理,是对哈希直接定址法的变形应用。具体思路为: 统计相同元素出现次数根据统计的结果将序列回收到原来的序列中 计数排序基本思路 基本思路分析: //以…

Qt的定时器QTimer

定时器Qtimer:用于重复执行或延迟执行函数的类。它可以在一定的时间间隔内发出信号。 使用它,只需要创建一个QTimer类对象,然后调用start()函数开启定时器即可。 定时器的信号 当定时器超时后,就会发出一个timeout的信号函数。 …

安卓项目:app注册/登录界面设计

目录 第一步:设计视图xml 第二步:编写登录和注册逻辑代码 运行效果展示: 总结: 提前展示项目结构: 第一步:设计视图xml 在layout目录下面创建activity_login.xml和activity_main.xml文件 activity_lo…