4.5、协议

news2025/6/20 20:44:00

4.5、协议

  • 1.简介
  • 2.常见协议
  • 3.UDP协议
  • 4.TCP协议
  • 5.IP协议
  • 6.以太网帧协议
  • 7.ARP协议

1.简介

协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。

为了使数据在网络上从源到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议(protocol),它最终体现为在网络上传输的数据包的格式。

协议往往分成几个层次进行定义,分层定义是为了使某一层协议的改变不影响其他层次的协议。

2.常见协议

  • 应用层常见的协议有:FTP协议(File Transfer Protocol 文件传输协议)HTTP协议(Hyper Text Transfer Protocol 超文本传输协议)NFS(Network File System 网络文件系统)
  • 传输层常见协议有:TCP协议(Transmission Control Protocol 传输控制协议)UDP协议(User Datagram Protocol 用户数据报协议)
  • 网络层常见协议有:IP 协议(Internet Protocol 因特网互联协议)ICMP 协议(Internet Control Message Protocol 因特网控制报文协议)IGMP 协议(Internet Group Management Protocol 因特网组管理协议)
  • 网络接口层常见协议有:ARP协议(Address Resolution Protocol 地址解析协议)RARP协议(Reverse Address Resolution Protocol 反向地址解析协议)

3.UDP协议

在这里插入图片描述

  1. 源端口号:发送方端口号
  2. 目的端口号:接收方端口号
  3. 长度:UDP用户数据报的长度,最小值是8(仅有首部)
  4. 校验和:检测UDP用户数据报在传输中是否有错,有错就丢弃

4.TCP协议

在这里插入图片描述

  1. 源端口号:发送方端口号
  2. 目的端口号:接收方端口号
  3. 序列号:本报文段的数据的第一个字节的序号
  4. 确认序号:期望收到对方下一个报文段的第一个数据字节的序号
  5. 首部长度(数据偏移):TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远,即首部长度。单位:32位,即以 4 字节为计算单位
  6. 保留:占 6 位,保留为今后使用,目前应置为 0
  7. 紧急 URG :此位置 1 ,表明紧急指针字段有效,它告诉系统此报文段中有紧急数据,应尽快传送
  8. 确认 ACK:仅当 ACK=1 时确认号字段才有效,TCP 规定,在连接建立后所有传达的报文段都必须把 ACK1
  9. 推送 PSH:当两个应用进程进行交互式的通信时,有时在一端的应用进程希望在键入一个命令后立即就能够收到对方的响应。在这种情况下,TCP 就可以使用推送(push)操作,这时,发送方TCPPSH1,并立即创建一个报文段发送出去,接收方收到 PSH = 1 的报文段,就尽快地(即“推送”向前)交付给接收应用进程,而不再等到整个缓存都填满后再向上交付
  10. 复位 RST:用于复位相应的 TCP 连接
  11. 同步 SYN:仅在三次握手建立 TCP 连接时有效。当 SYN = 1ACK = 0 时,表明这是一个连接请求报文段,对方若同意建立连接,则应在相应的报文段中使用 SYN = 1ACK = 1。因此,SYN1 就表示这是一个连接请求或连接接受报文
  12. 终止 FIN:用来释放一个连接。当 FIN = 1 时,表明此报文段的发送方的数据已经发送完毕,并要求释放运输连接
  13. 窗口:指发送本报文段的一方的接收窗口(而不是自己的发送窗口)
  14. 校验和:校验和字段检验的范围包括首部和数据两部分,在计算校验和时需要加上 12 字节的伪头部
  15. 紧急指针:仅在 URG = 1 时才有意义,它指出本报文段中的紧急数据的字节数(紧急数据结束后就是普通数据),即指出了紧急数据的末尾在报文中的位置,注意:即使窗口为零时也可发送紧急数据
  16. 选项:长度可变,最长可达 40 字节,当没有使用选项时,TCP 首部长度是 20 字节

5.IP协议

在这里插入图片描述

  1. 版本:IP 协议的版本。通信双方使用过的 IP 协议的版本必须一致,目前最广泛使用的 IP 协议版本号为 4(即IPv4)
  2. 首部长度:单位是 32 位(4 字节)
  3. 服务类型:一般不适用,取值为 0
  4. 总长度:指首部加上数据的总长度,单位为字节
  5. 标识(identification):IP 软件在存储器中维持一个计数器,每产生一个数据报,计数器就加 1,并将此值赋给标识字段
  6. 标志(flag):目前只有两位有意义。
    • 标志字段中的最低位记为 MFMF = 1 即表示后面“还有分片”的数据报。MF = 0 表示这已是若干数据报片中的最后一个。
    • 标志字段中间的一位记为 DF,意思是“不能分片”,只有当 DF = 0 时才允许分片
  7. 片偏移:指出较长的分组在分片后,某片在源分组中的相对位置,也就是说,相对于用户数据段的起点,该片从何处开始。片偏移以 8 字节为偏移单位。
  8. 生存时间:TTL,表明是数据报在网络中的寿命,即为“跳数限制”,由发出数据报的源点设置这个字段。路由器在转发数据之前就把 TTL 值减一,当 TTL 值减为零时,就丢弃这个数据报。
  9. 协议:指出此数据报携带的数据时使用何种协议,以便使目的主机的 IP 层知道应将数据部分上交给哪个处理过程,常用的 ICMP(1)IGMP(2)TCP(6)UDP(17)IPv6(41)
  10. 首部校验和:只校验数据报的首部,不包括数据部分。
  11. 源地址:发送方 IP 地址
  12. 目的地址:接收方 IP 地址

6.以太网帧协议

在这里插入图片描述
类型:0x800表示 IP0x806表示 ARP0x835表示 RARP

7.ARP协议

在这里插入图片描述

  1. 硬件类型:1 表示 MAC 地址
  2. 协议类型:0x800 表示 IP 地址
  3. 硬件地址长度:6
  4. 协议地址长度:4
  5. 操作:1 表示 ARP 请求2 表示 ARP 应答3 表示 RARP 请求4 表示 RARP 应答

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

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

相关文章

JAVA NIO简解

1. 了解NIO 1.1.什么是NIO? Java nio是Java的一个新的输入输出(NewInput/Output)API,它提供了一些高效的数据处理方式,如缓冲区(buffers)、字符集(charsets)、通道&#…

No.036<软考>《(高项)备考大全》【第20章】项目集管理

【第20章】项目集管理1 考试相关2项目集合项目组合的区别2.1 项目组合、项目集、项目管理之间的关系:2.3 举例说三者的关系3 项目集管理3.1 项目集管理与项目管理区别3.2 项目集指导委员会3.3 项目集生命周期4 练习题参考答案1 考试相关 选择1分必考 案例概率低&am…

Ubuntu 23.04 新特性一览

Ubuntu 23.04 “Lunar Lobster” 计划于 2023 年 4 月 20 日星期四发布,这是 Ubuntu 桌面的第 38 个版本。作为一个短期版本,Ubuntu 23.04 共获得了 9 个月的持续更新、安全补丁和关键修复。 在正式发布之前,OMG! Ubuntu! 汇总整理了一些 Ub…

京东产发奔赴港股上市,分拆上市或成互联网大厂的共同选择?

‍数据智能产业创新服务媒体——聚焦数智 改变商业3月30日晚间,京东集团(9618.HK)相继发布2则公告称,拟分拆京东智能产发股份有限公司(以下简称“京东产发”)、京东工业股份有限公司(以下简称“…

基于改进多目标灰狼优化算法的考虑V2G技术的风、光、荷、储微网多目标日前优化调度研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

( “树” 之 DFS) 404. 左叶子之和 ——【Leetcode每日一题】

404. 左叶子之和 给定二叉树的根节点 root ,返回所有左叶子之和。 示例 1: 输入: root [3,9,20,null,null,15,7] 输出: 24 解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 示例 2: 输入: root [1]…

当ChatGPT续写《红楼梦》,能替代原著吗?

来源: 清华大学出版社 近段时间,人工智能聊天机器人ChatGPT火爆网络,“AI写作是否会让文字工作者被替代?”成为人们关注并持续讨论的话题。 闲聊、问答、解题、写代码、写诗、创作小说, 连续回答,不断纠错&#xff0c…

window下面安装phpstudy进行PHP开发

文章目录前言在这里插入图片描述一、安装步骤1.1 下载PHPStudy软件1.2 安装PHPStudy软件1.3 启动PHPStudy软件1.4 设置PHPStudy1.5 安装扩展1.6 启动服务总结前言 php的集成开发环境比较多,有wamp server,xmapp,phpstudy等。经过这些年的体验…

【李宏毅】深度学习——HW5-Machine Translation

Machine Translation 1. Goal 给定一段英文,翻译成繁体中文 2. Introduction 2.1 Dataset training dataset TED2020: TED talks with transcriptions translated by a global community of volunteers to more than 100 language.we will use (en, zh-tw) alig…

身临其境数字世界:探索VR全景元宇宙展厅

随着科技的不断发展,虚拟现实技术已经成为我们生活中的一部分。VR全景元宇宙展厅作为其中的一种形式,正越来越受欢迎。在这里,您可以探索未知的世界,体验全新的视觉和感官体验。 一、VR全景元宇宙展厅的概述 VR全景元宇宙展厅是一…

Kafka---kafka概述和kafka基础架构

kafka概述和kafka基础架构 文章目录kafka概述和kafka基础架构Kafka定义消息队列传统消息队列应用场景缓存/消峰解耦异步通信消息队列的两种模式点对点模式发布/订阅模式kafka基础架构producerConsumerConsumer Group(CG)BrokerTopicPartitionReplicaLead…

基于html+css的盒子内容旋转180度

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

如何学习python自动化测试,这是我见过最完整的教程了

目录 前言 一、 学习Python基础知识 二、 学习自动化测试框架 三、 学习Web自动化测试 四、 学习移动端自动化测试 五、 学习版本控制工具 六、 学习测试管理工具 七、 实践总结 前言 Python自动化测试是目前比较流行的一种自动化测试技术。它具有开发效率高、可扩展性…

《c++入门》-超级详细讲解

本文主要介绍c的一些入门知识,为后面打基础 文章目录前言1、C关键字(C98)2、命名空间2.1 命名空间定义2.2 命名空间使用1.指定命名空间2.全局展开(一般情况,不建议全局展开)3.部分展开3、C输入&输出4、缺省参数4.1 缺省参数定…

人工智能(Pytorch)搭建T5模型,真正跑通T5模型,用T5模型生成数字加减结果

大家好,我是微学AI,今天给大家介绍一下人工智能(Pytorch)搭建T5模型,真正跑通T5模型,用T5模型生成数字加减结果。T5(Text-to-Text Transfer Transformer)是一种由Google Brain团队在2019年提出的自然语言处理模型。T5模型基于Tran…

商办楼宇租赁过程中的风险与管控

在商办地产租赁市场持续高量供应、越来越多楼盘趋向同质化的背景下,商办地产经营需更懂得审时度势,在租赁经营过程中合理运用数字化管理识别、规避风险,针对有风险的经营及时调整管控,提升识别及防范风险的意识和能力,…

数据结构:链表oj下

21. 合并两个有序链表 CM11 链表分割 不加36行代码会造成死循环(形成环) OR36 链表的回文结构 找到中间节点,再把后面的逆置 走完一个链表while(tail) 找链表的最后一个节点while(tail->next) 160. 相交链表 找到AB链表的尾节点&#x…

Python 小型项目大全 6~10

六、凯撒密码 原文:http://inventwithpython.com/bigbookpython/project6.html 凯撒密码是朱利叶斯凯撒使用的一种古老的加密算法。它通过将字母在字母表中移动一定的位置来加密字母。我们称移位的长度为密钥。比如,如果密钥是 3,那么A变成D&…

Linux-初学者系列——篇幅2_系统命令界面

系统命令界面-目录一、命令行提示符1、提示符2、提示符组成3、提示符修改二、系统命令语法规范三、系统命令行常用快捷键1、常用快捷键2、移动光标快捷键3、剪切、粘贴、清楚快捷键4、系统管理控制快捷键5、重复执行命令快捷键上篇: Linux-初学者系列——篇幅1_文件管理命令 一…

Python 小型项目大全 36~40

三十六、沙漏 原文:http://inventwithpython.com/bigbookpython/project36.html 这个可视化程序有一个粗糙的物理引擎,模拟沙子通过沙漏的小孔落下。沙子堆积在沙漏的下半部分;然后把沙漏翻过来,重复这个过程。 运行示例 图 36-…