网络协议-TCP、IP协议和互联网协议群

news2024/11/15 17:18:39

目录

TCP/IP协议群简介(互联网协议群)(Internet Protocol Suite)

应用层(Application)(合并简化了展示层,会话层)

传输层(Transport)

网络层(Internet)

链接层(Link)

 物理层(Pysical)

 TCP/IP封包

 完整的TCP协议头

TCP协议封包(传输层协议)

建立TCP/IP连接为什么需要三次握手?

传输和处理数据顺序

确定一个消息的顺序:绝对时间

TCP/IP协议的处理方法

挥手(中断连接)

TCP的结束(场景)

总结与思考


TCP/IP协议群简介(互联网协议群)(Internet Protocol Suite)

类似OSI模型,一种网络协议的概念模型。

应用层(Application)(合并简化了展示层,会话层)

提供应用间通信能力

传输层(Transport)

提供主机到主机(host-to-host)的通信能力

网络层(Internet)

提供地址到地址的通信能力

链接层(Link)

提供设备到设备的通信能力

 物理层(Pysical)

 TCP/IP封包

 

 完整的TCP协议头

TCP协议封包(传输层协议)

  • 每个封包称作一个TCP信息段(TCP Segment)
  • Header用于描述传输行为(如源端口,目标端口等)
  • Header后面跟若干个byte数据,每个byte拥有自己的序列号

建立TCP/IP连接为什么需要三次握手?

客户端SYN_SEND【通过connect()】——请求同步SYN——》服务端【listen()】收到,状态变为SYN-RECEIVED

——我确认收到你的同步请求SYN-ACK——》客户端收到状态变为ESTABLISHED(客户端处于连接状态)——确认——》服务端收到ESTABLISHED(服务端处于连接状态)【然后开始交换数据】

具体步骤如下图:

 努力保证数据的可靠

传输和处理数据顺序

确定一个消息的顺序:绝对时间

使用发送、接收时间

  • 服务器时间差异如何解决?

使用自增序号

  • A-B-A-B类型会话可以解决?
  • A-(AB)-B类型会话如何解决?

TCP/IP协议的处理方法

消息的绝对顺序用(SEQ,ACK)这一对元组描述(不变量)

SEQ(Sequence):这个消息发送前一共发送了多少字节

ACK(Acknowledge):这个消息发送前一共收到了多少个字节

挥手(中断连接)

TCP的结束(场景)

可靠性

TCP的四次挥手

发起者close()【FIN_WAIT1】——FIN——>接收者CLOSE_WAIT【先处理自己的响应】LAST_ACK——ACK~FIN——》发起者【FIN_WAIT_2】【TIME_WAIT】——ACK——>CLOSED&&CLOSED

一个人说就聊到这,然后2个人把正在发和回复的消息处理完,都对对方说了就聊到这。然后连接就断了。

总结与思考

  • 最简化原则:没有足够的事情要做,就不必分层
  • 思考计算机对话和人对话的区别?为什么需要三次握手?

人对话是有上下文context的,计算机之间没有那么多上下文

  • 网络中的顺序问题,TCP协议给了完美的解法,这个方法是可以迁移的。(学算法的价值)

不变量(SEQ,ACK)

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

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

相关文章

射频功率放大器在铝板损伤量化表征中的应用

实验名称:基于异常指数的铝板损伤量化表征 研究方向:损伤量化 测试目的: 结构损伤检测与量化评估对于保障航空、航天、船舶、石油化工及兵器工业等领域的基础设施结构安全性具有重要意义,受到了广泛的关注。在现有的结构监测技术中…

微内核与宏内核

了解Linux发展史的同学都知道,关于linux吵架史的一段佳话,就是关于内核设计思想之争,这段故事在linus Tovalds的自传中也有提到。我们都知道linux操作系统由Linus Tovalds模仿minix操作系统开发的。 虽然Linux是受MINIX启发而发明&#xff0c…

Git——利用SSH密钥本地仓库上传远程GitHub库

文章目录 1、前言2、详细步骤2.1 创建密钥2.2 进入密钥文件并复制2.3 在GitHub上添加密钥2.4 回到本地仓库文件夹,连接GitHub并上传 3. 结语 1、前言 现在想要从本地设备将本地仓库上传到GitHub上需要用到SSH密钥,接下来讲解大致的步骤,本文默…

一本通 3.4.6 拓扑排序

1352:【例4-13】奖金 【题目描述】 由于无敌的凡凡在2005年世界英俊帅气男总决选中胜出,Yali Company总经理Mr.Z心情好,决定给每位员工发奖金。公司决定以每个人本年在公司的贡献为标准来计算他们得到奖金的多少。 于是Mr.Z下令召开m方会谈…

openEuler实验-基于openEuler的云景平台文件管理系统

一些常见的Linux命令 目录 前言 实验目的 实验内容 实验知识点 实验环境 实验分析 系统登录和电源管理 1)使用login命令登录系统 2)退出openEuler 3)退出当前的shell 软件管理 1)查询目录信息 2)切换目录路…

基于Tensorflow搭建卷积神经网络CNN(服装分类)保姆及级教程

项目介绍 TensorFlow2.X 搭建卷积神经网络(CNN),实现服装的分类识别。搭建的卷积神经网络是类似VGG的结构(卷积层与池化层反复堆叠,然后经过全连接层,最后用softmax映射为每个类别的概率,概率最大的即为识…

25 - 回文串问题

文章目录 1. 回文子串法一:动态规划法二:双指针法 2. 最长回文子串方法一:动态规划法方法二:双指针法 3. 最长回文子序列 1. 回文子串 法一:动态规划 递推公式 当s[i] ! s[j],那没啥好说的了,d…

三闯港交所,主打性价比的乡村基如何夺魁“中式快餐第一股”?

曾被中金公司称为“中国大消费最燃赛道”的中式餐饮,正在密集掀起IPO的风潮。去年5月和7月,老乡鸡和老娘舅分别向上交所提交招股书,绿茶餐厅、杨国福麻辣烫、捞王等企业也在推进上市计划。 国内第四大中式快餐集团,占据约0.6%市场…

python版pytorch模型转openvino及调用

一、openvino安装 参看官方文档https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/download.html 安装命令是根据上面的选择生成。这里安装了pytorch和onnx依赖。 二、pytorch模型转opnvino模型推理 import os import time import cv2 import nu…

易基因:MeRIP-seq等揭示m6A甲基化修饰对抗病毒基因表达的转录调控机制|Cell Rep

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 2021年03月02日,杜克大学医学中心的分子遗传学和微生物学系Stacy M. Horner教授团队在《Cell Reports》(IF: 9.995)杂志发表了题为“Post-transcripti…

LeetCode算法小抄--归并排序详解及应用

LeetCode算法小抄--归并排序详解及应用 归并排序详解及应用[912. 排序数组](https://leetcode.cn/problems/sort-an-array/)[315. 计算右侧小于当前元素的个数](https://leetcode.cn/problems/count-of-smaller-numbers-after-self/)[hard]--华为笔试[493. 翻转对](https://lee…

Java版本工程项目管理系统源码-全面的工程项目管理

​ ​工程项目管理系统是指从事工程项目管理的企业(以下简称工程项目管理企业)受业主委托,按照合同约定,代表业主对工程项目的组织实施进行全过程或若干阶段的管理和服务。 如今建筑行业竞争激烈,内卷严重&#xff0c…

供应链优化的好处是什么?

企业可以从优质的供应链优化软件中获得许多好处: 成本降低 通过供应链优化,可以消除许多不必要的成本,从而简化业务运营费用。所有重复或无效的流程也可以根据需要消除或自动化。重点可以转移到通过准确及时交付来满足客户的需求上。通过供…

OpUtils网络端口扫描

网络端口扫描程序使 IT 管理员能够密切监视端口,这些端口是网络通信的端点。网络端口支持不同实体之间的数据传输,并支持运行各种服务或应用程序。在日常工作中,网络管理员的任务是扫描和监控数百个交换机端口。网络端口扫描程序工具通过帮助…

Intellij IDEA-插件开发环境搭建

插件开发有两种方式 1.基于Gradle(新版IDEA,按钮名称叫做IDE Plugin,具体多新我也不清楚,反正2023的必须是这种) 2.基于Dev kit(旧版IDEA,按钮名称叫做IntelliJ Platform Plugin,具体…

【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透

前言 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。 Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab主要针对…

基于Udacity模拟器的端到端自动驾驶决策

1 端到端自动驾驶决策 端到端自动驾驶决策的输入为车辆的感知信息,如摄像头信息,输出为车辆的前轮转角和摄像头等信息。 如上图所示,为英伟达公司的端到端自动驾驶决策框架,其CNN网络如下图所示,其中包括一个归一化…

狂神说Docker

思维导图: 文章目录 1.Docker概念与安装1.1 概述1.2 安装1.3 卸载1.4 Docker的执行镜像原理1.5 Docker为什么比Vm快1.6 Docker底层原理 2.Docker常用命令2.1 帮助命令2.2 镜像命令2.3 容器命令2.4 其他常用命令 3.小练习3.1 Docker下安装Nginx3.2 Docker安装Tomcat…

[网络安全提高篇] 一二〇.恶意软件动态分析经典沙箱Cape批量提取动态API特征

终于忙完初稿,开心地写一篇博客。 “网络安全提高班”新的100篇文章即将开启,包括Web渗透、内网渗透、靶场搭建、CVE复现、攻击溯源、实战及CTF总结,它将更加聚焦,更加深入,也是作者的慢慢成长史。换专业确实挺难的,Web渗透也是块硬骨头,但我也试试,看看自己未来四年究…

SpringBoot设计了哪些可拓展的机制?

SpringBoot核心源码 public SpringApplication(ResourceLoader resourceLoader, Class<?>... primarySources) { ...this.primarySources new LinkedHashSet(Arrays.asList(primarySources));// Servletthis.webApplicationType WebApplicationType.deduceFromClass…