说一下TCPIP四层结构。

2024-06-01 06:58
文章标签 tcpip 四层 一下 结构

本文主要是介绍说一下TCPIP四层结构。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.说一下TCP/IP四层结构。

  1. 链路层(数据链路层/网络接口层):包括操作系统中的设备驱动程序、计算机中对应的网络接口卡
  2. 网络层(互联网层):处理分组在网络中的活动,比如分组的选路。
  3. 运输层:主要为两台主机上的应用提供端到端的通信。
  4. 应用层:负责处理特定的应用程序细

 

http工作流程?http1.0,1.1,2.0具体有哪些区别?

工作流程

1. 地址解析:把url地址解析成解出协议名、主机名、端口、对象路径等部分

2. 封装http请求数据包

3. 封装成tcp包,建立tcp连接(三次握手)

4. 客户端发送请求

5. 服务器响应

6. 服务器关闭tcp连接

http1.0,1.1,2.0的区别

1. 长连接:HTTP 1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接。

2. 节约带宽:HTTP 1.1支持只发送header信息(不带任何body信息),如果服务器认为客户端有权限请求服务器,则返回100,否则返回401。客户端如果接受到100,才开始把请求body发送到服务器。

这样当服务器返回401的时候,客户端就可以不用发送请求body了,节约了带宽。

3. HOST 域:现在可以web server例如tomat,设置虚拟站点是非常常见的,也即是说,webserver上的多个虚拟站点可以共享同一个ip和端口。

HTTP1.0是没有host域的,HTTP1.1才支持这个参数。

 

HTTP2.0使用了多路复用的技术,:做到同一个连接并发处理多个请求,而且并发请求的数量比HTTP1.1大了好几个数量级。

数据压缩:HTTP1.1不支持header数据的压缩,HTTP2.0使用HPACK算法对header的数据进行压缩,这样数据体积小了,在网络上传输就会更快。

服务器推送:意思是说,当我们对支持HTTP2.0的web server请求数据的时候,服务器会顺便把一些客户端需要的资源一起推送到客户端,免得客户端再次创建连接发送请求到服务器端获取。这种方式非常合适加载静态资源。

 

 

TCP三次握手,四层分手的工作流程?画一下流程图。为什么是四次?

0AB251C37DCB44E3B7EBCBE080DF0BA3uploading.4e448015.gif转存失败重新上传取消

 

画一下https的工作流程?具体如何实现?如何防止被抓包?

 

1.[Server]生成一对密钥:公钥和私钥,我们称之为“KeyPub”,“KeyPri”

2.[Server]服务端将公钥(KeyPub)发送到客户端

3.[Client]生成一个对称密钥(姑且称之为key2),然后用key2加密数据。

4.[Client]使用公钥(KeyPub)加密key2.这时,key2是安全的,因为只有服务度有私钥KeyPri

5.[Client]发送用key2加密后的信息及用KeyPub加密过的key2到服务端

6.[Server]服务端使用KeyPri解密得到加密过的key2,得到真正的key2

7.[Server]使用key2解密消息正文。这样,数据就被安全的传输到了服务端。

具体实现可以参照rsa加密流程

RSA加密使用方式及签名验证 - CSDN博客

如何防止被抓包:https 所谓的防止被抓包并不是能够杜绝抓包的行为,而是让抓包变得无意义,例如用https进行抓包之后,抓包方无法得知里面的数据内容,也无法进行伪造。

除了https防止抓包外,数据传输更内层也对数据进行了保护,也就是SSL(Secure Socket Layer,安全套接字层)。

这篇关于说一下TCPIP四层结构。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1020299

相关文章

百度OCR识别结构结构化处理视频

https://edu.csdn.net/course/detail/10506

微信小程序开发必知必会:文件结构和基本配置

一、微信小程序基本文件结构 1.  project.config.json:项目的基本配置文件,包括项目名称、appid、项目目录、页面文件夹等。     {"setting": {"urlCheck": false,"es6": true,"postcss": true,"nodeModulesPath": "D:\\\\node_modules"},"appid": "wxd678e

利用结构体作为函数参数时结构体指针的定义

在利用结构体作为函数的参数进行传递时,容易犯的一个错误是将一个野指针传给函数导致错误。 #include <stdio.h>#include <math.h>#include <malloc.h>#define MAXSIZE 10typedef struct {int r[MAXSIZE]; //用于存储要排序的数组,r[0]作为哨兵或者临时变量int length;

学习VXLAN -- 报文结构、原理和配置

目录 VXLAN背景什么是VXLANVXLAN的优势VXLAN报文结构一些特定名词BDVBDIFVAPVSIVSI-InterfaceAC VXLAN的实现原理图VXLAN MAC地址表项MAC地址动态学习 VXLAN隧道VXLAN隧道工作模式L2 GatewayIP Gateway VXLAN隧道的建立与关联VXLAN隧道建立的方式VXLAN对到与VXLAN关联的方式 配置VXLAN接入

【Vite】控制打包结构

配置 vite.config.json 文件: import { defineConfig } from "vite";export default defineConfig({// ...build: {rollupOptions: {output: {entryFileNames: "js/[name]-[hash].js",chunkFileNames: "js/[name]-[hash]

【PL理论深化】(3) MI 归纳法:归纳假设 (IH) | 结构归纳法 | 归纳假设的证明

💬 写在前面:所有编程语言都是通过归纳法定义的。因此,虽然编程语言本身是有限的,但用该语言编写的程序数量是没有限制的,本章将学习编程语言研究中最基本的归纳法。本章我们继续讲解归纳法,介绍归纳假设和结构性归纳法。 目录 0x00 归纳假设 (IH) 和结构归纳法 0x01 归纳假设的证明 0x00 归纳假设 (IH) 和结构归纳法 归纳法是一种用于证明归纳定义的集合中的元素所具有

体验了一下AI生产3D模型有感

我的实验路子是想试试能不能帮我建一下实物模型 SO 我选择了一个成都环球中心的网图 但是生成的结果掺不忍睹,但是看demo来看,似乎如果你能给出一张干净的提示图片,他还是能做出一些东西的 这里我延申的思考是这个物体他如果没看过背面,他怎么猜? 他产出的物品为啥都是一张图的,我还是不太理解 但是如果多张图片,其实又和一个多图3D重建的能力似乎重复了 或者我感觉这个功能需求两张图片 正上面45

SuiNS发布子名及新命名标准,推动Web3身份结构的进步

SuiNS子名是Sui Name Service的强大扩展,最近与新命名标准一起发布。子名允许用户在一个主要的SuiNS名下创建额外的自定义身份,而无需额外费用。用户 @gia 可以创建如 gaming@gia 或 lending@gia 这样的子名,从而增强个人组织和支持群组与组织的层级结构。 这一发展对于个人和企业都具有重要意义。通过子名,公司、DAO和其他组织可以为其用户或员工发放品牌账户

折腾了一下,让博客访问速度变快了

最近一直在写笔记,而没有更新系统性的内容,所以也很久没有打开自己的博客(xuzhougeng.top),最近打算更新一篇笔记的时候,发现博客居然打不开了。 我查了查原因,发现有两方面的问题 我使用halo建站,服务器地理位置不太好我用的halo主题太笨重了,需要加载太多的css 找到问题之后,就很好解决了。 我首先迁移了博客,发现访问速度并没有明显提升。接着,我通过浏览器的开发者工具,检查哪些内

全面分析一下前端框架Angular的来龙去脉,分析angular的技术要点和难点,以及详细的语法和使用规则,底层原理-小白进阶之路

Angular 前端框架全面分析 Angular 是一个由 Google 维护的开源前端框架。它最早在 2010 年发布,最初版本称为 AngularJS。2016 年,团队发布了一个完全重写的版本,称为 Angular 2,之后的版本(如 Angular 4、Angular 5 等)都统称为 Angular。 一、历史背景 1. AngularJS(Angular 1.x) 发布年份:2