网络通讯的理解

news/2024/4/20 1:51:48/文章来源:https://blog.csdn.net/baidu_16370559/article/details/128951028

tcp/ip 协议族

ip

在真实环境中,会把主机号再分成一个子网号和一个主机号。这样的主机号才是最终容纳的主机数量。

所以需要使用子网掩码(32位)来分子网号和主机号。其中值为1的比特是网络号和子网号,值为0的是比特是主机号。可以在windows平台cmd.exe 输入ipconfig 查看本机的ip地址和子网掩码。

另外可以使用netstat命令查看ip连接情况

4位版本号

  指定IP协议的版本。对IPv4来说,为4。

4位头部长度

  标识该IP头部有多少个32bit(即多少行),四位最大表示15,所以IP头部最长为60字节。

8位服务类型

  包括一个三位的优先权字段(现在已忽略)四位的TOS字段和一位保留字段(保留需置0).四位的TOS字段分别表示:最小延时,最大吞吐量,最高可靠性和最小费用。这四位中最多只有一位置1。应用程序根据需要设置(比如ssh需要最小延时,ftp需要最大吞吐量)。

16位总长度

  是指整个IP数据报的长度,以字节为单位,因此IP数据报最大长度为65535-1字节。但由于MTU的限制,长度超过MTU的数据报都将被分片传输,所以实际传输的IP数据报的长度都远远没有达到最大值。

16位标识:

  唯一地标识主机发送的每一个数据报。其初始值由系统随机生成,每发送一个数据报,其值就加一。该值在数据报分片时被复制到每个分片中,因此同一个数据报的所有分片都具有相同的标识符。

3位标志字段:

  第一位保留。第二位标识禁止分片。设置后,IP将不对该数据报分片,当该数据报长度超过MTU时,IP模块将丢弃该数据包并返回一个ICMP差错报文。第三位表示更多分片。除了数据报的最后一个分片外,其他分片都要把该位置1.

13位分片偏移:

  是分片相对原始IP数据报开始处(仅指数据部分)的偏移。实际的偏移值是该值左移三位(乘8)后得到的。因此,每个IP分片的数据部分的长度必须是8的整数倍。

8位生存时间TTL(time to live):

  是数据报到达目的地之前允许经过的路由器跳数。发送端设置(通常是64)。数据报每经过一次路由,该值就被路由器减一,为零时,路由器将丢弃该数据报,并向源端发送一个ICMP差错报文。TTL可以防止数据报陷入路由循环。

8位协议:

  用来区分上层协议。/etc/protocols文件定义了所有上层协议对应的字段的数值。例如,ICMP是1,TCP是6,UDP是17。

16位头部校验和:

  由发送端填充,接收端对其使用CRC算法检验头部在数据传输过程中是否损坏。

32位源端IP地址:

  用来表示IP数据报的发送端

32位目的端IP地址:

  用来表示IP数据报的接收端

选项字段:

  是可变长的可选信息。最多包含40字节,可用的选项有:

  记录路由:将途径的路由器的ip地址填入选项部分,用于跟踪数据报的传递路径。

  时间戳:告诉每个路由器将数据报被转发的时间(或时间与IP地址对)填入IP头部的选项部分,这样就可以测量途径路由之间数据报传输的时间。

  松散路由选择:指定路由IP地址列表,数据包发送过程必须经过其中所有路由器。

  严格路由选择:数据报只能经过被指定的路由器。

wireshark抓包

域名系统(DNS)

ip地址和域名之间的映射关系

通过以太网传输的比特流称之为帧,帧的长度为46-1500字节之间。以太网的最大传输单元MTU是1500

端口

端口最多有65535个,按端口号可分为3大类:自己写的应用一般使用注册端口(即1024-49151之间)

(1)公认端口(WellKnownPorts):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。

(2)注册端口(RegisteredPorts):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。

(3)动态和/或私有端口(Dynamicand/orPrivatePorts):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。

服务端一般绑定在固定的端口上,客户端不关系所使用的端口,可使用临时端口。

环回接口

即在同一台主机上的服务器和客户端通过tcp/ip通信。环回接口的地址是127.0.0.1。环回接口的ip数据报不能出现在网络上。环回接口把数据从ip网络层传到ip输入队列。

ping

它利用ICMP回显请求和回显应答报文,而不用经过传输层(TCP/UDP).

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

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

相关文章

chatGPT 官网使用详细教程 (亲测可行)

文章目录1. chatGPT 介绍2. 进入官网3. 开始使用1. chatGPT 介绍 chatGPT 是一款由 OpenAI 开发的聊天机器人模型,它能够模拟人类的语言行为,与用户进行自然的交互。它的名称来源于它所使用的技术—— GPT-3架构,即生成式语言模型的第3代。 …

软件测试】测试时间不够了,我很慌?项目马上发布了......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 常见的几种情况&…

Java开发学习(四十六)----MyBatisPlus新增语句之id生成策略控制及其简化配置

在前面有一篇博客:Java开发学习(四十一)----MyBatisPlus标准数据层(增删查改分页)开发,我们在新增的时候留了一个问题,就是新增成功后,主键ID是一个很长串的内容。 我们更想要的是按照数据库表字段进行自增…

知乎kol投放怎么做?知乎kol资源从哪里找?

每个领域都有一些比较专业且具有话语权的大V博主,他们推荐某个产品或是品牌就能对粉丝产生很深的影响力,影响用户消费决策。 互联网时代,每个热门的内容平台上都活跃着一大批kol博主,做kol投放具有很高的商业价值。 知乎内容社区…

舆情监测方案怎么写,TOOM舆情监测系统解决方案

舆情监测是通过网络和媒体来收集、分析、评估和报告关于某一特定话题或组织的舆论动态的过程。舆情监测方案通常包括数据收集、数据分析、报告生成等步骤,以帮助组织了解公众对其的看法和声音,并以此作出相应的决策和行动,舆情监测方案怎么写…

Java开发学习(四十八)----MyBatisPlus删除语句之逻辑删除

1、逻辑删除 接下来要讲解是删除中比较重要的一个操作,逻辑删除,先来分析下问题: 这是一个员工和其所签的合同表,关系是一个员工可以签多个合同,是一个一(员工)对多(合同)的表 员工ID为1的张业绩,总共签了三个合同&a…

linux 安装,卸载jdk8

1>安装1 xshell,xsftp 教育版下载 https://www.xshell.com/zh/free-for-home-school/ 2下载jdk包 https://www.oracle.com/java/technologies/downloads/3在usr下新建java文件夹把jdk包拉进去解压tar -zxvf 4首先使用vim打开etc目录下的profile文件 --> vim /etc/profile…

餐饮企业数据可视化大屏(智慧餐饮)

随着信息技术的深入发展,数据大屏的适用场景日益广泛,集工作汇报、实时监控和预测分析等功能于一身。 数据可视化的本质是视觉对话,数据可视化将数据分析技术与图形技术结合,清晰有效地将分析结果信息进行解读和传达。 当前很多餐…

Lecture3 梯度下降(Gradient Descent)

目录 1 问题背景 2 批量梯度下降 (Batch Gradient Descent) 3 鞍点(Saddle Point) 3 随机梯度下降 (Stochastic Gradient Descent) 4 小批量梯度下降 (Mini-batch Gradient Descent) 1 问题背景 图1 上节课讲述的穷举法求最优权重值在Lecture2中,介绍了使用穷举…

重磅!微软推出首款 ChatGPT 版搜索引擎!

微软近期推出了首款 ChatGPT 版搜索引擎,今天带大家一起来看一下。 一夜之间,全球最大的科技公司仿佛都回到了自己年轻时的样子。 在谷歌宣布「实验性对话式人工智能服务」Bard 之后仅 24 小时,北京时间 2 月 8 日凌晨两点,微软发…

2023 软件测试行业内卷动荡,红利期过去后,何去何从?

前段时间席卷全互联网行业的内卷现象,想必有不少人都深陷其中。其实刚开始测试行业人才往往供不应求,而在发展了十几年后,很多人涌入这个行业开始面对存量竞争。红利期过去了,只剩内部争夺。 即便如此,测试行业仍有许…

微服务 分片 运维管理

微服务 分片 运维管理分片分片的概念分片案例环境搭建案例改造成任务分片Dataflow类型调度代码示例运维管理事件追踪运维平台搭建步骤使用步骤分片 分片的概念 当只有一台机器的情况下,给定时任务分片四个,在机器A启动四个线程,分别处理四个…

Python编程自动化办公案例(1)

作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.使用库讲解 1.xlrd 2.xlwt 二.主要案例 1.批量合并 模板如下&#xf…

Monkey

文章目录一、简介二、原理2.1 特殊处理三、命令3.1 启动3.2 关闭四、事件4.1 触摸事件4.2 手势事件4.3 二指缩放事件4.4 轨迹事件4.5 屏幕旋转事件4.6 基本导航事件4.7 主要导航事件4.8 系统按键事件4.9 启动activity事件4.10 键盘事件4.11 其他类型事件五、参数5.1 常规类参数…

go语言实现的一个基于go-zero框架的微服务影院票务系统cinema-ticket

一个基于go-zero框架的微服务影院票务系统cinema-ticket 前言 项目基本介绍 项目开源地址:butane123/cinema-ticket: 一个基于go-zero框架的微服务影院票务系统cinema-ticket (github.com) 这是一个微服务影院票务系统,基于go-zero框架实现&#xff0c…

【Java进阶打卡】JDBC- jdbc连接池

【Java进阶打卡】JDBC- jdbc连接池概述自定义数据库连接池归还连接-装饰设计模式归还连接-适配器设计模式动态代理动态代理-归还数据库连接概述 自定义数据库连接池 DataSource接口概述 javax.sql.DataSource接口:数据源(数据库连接池) Java…

LaoCat带你认识容器与镜像(实践篇二上)

实践篇主要以各容器的挂载和附加命令为主。 本章内容 本文实操全部基于Ubuntu 20.04 宿主机 > linux服务器本身 Docker > 20.10.22 在开始本章内容之前,我解答一个问题,有小伙伴问我说,有的容器DockerHub官网并没有提供任何可参考的文…

软件测试标准流程

软件测试的基本流程大概要经历四个阶段,分别是制定测试计划、测试需求分析、测试用例设计与编写以及测试用例评审。因此软件测试的工作内容,远远没有许多人想象的只是找出bug那么简单。准确的说,从一个项目立项以后,软件测试从业者…

【项目精选】基于Java的敬老院管理系统的设计和实现

本系统主要是针对敬老院工作人员即管理员和员工设计的。敬老院管理系统 将IT技术为养老院提供一个接口便于管理信息,存储老人个人信息和其他信息,查找 和更新信息的养老院档案,节省了员工的劳动时间,大大降低了成本。 其主要功能包括: 系统管理员用户功能介绍&#…

面临激烈竞争的汽车之家仍有新的增长机会

来源:猛兽财经 作者:猛兽财经 竞争激烈是汽车之家面临的主要问题 在汽车之家(ATHM)2021财年的20-F文件中,汽车之家将自己描述为中国最大的“汽车服务平台”运营商,但行业数据却显示,汽车之家的…