温习一下网络基础TCP/IP

news/2024/7/3 13:51:46

通常使用的网络(包括互联网)是在TCP/IP协议族的基础上运作的,而HTTP属于它内部的一个子集

~先来一波书上的知识做个小笔记~

而TCP/IP协议是计算机与网络设备互相通讯的规则;
简单的说从电缆的规格到IP地址的选定方法等与互联网相关联的协议集合起来总称TCP/IP

通过TCP/IP进行分层管理
TCP/IP协议族按照层次分为4层:应用层、传输层、网络层、数据链路层

  • 应用层: 决定了向用户提供应用服务时通信的活动;HTTP协议也处于该层;DNS服务同样处于这层
  • 传输层:提供处于网络连接中的两台计算机之间的数据传输;在传输层有两个性质不同的协议:TCP 和 UDP
  • 网络层: 处理网络上流动的数据包;IP协议
  • 链路层/网络接口层:处理连接网络的硬件设备

以上四层的通讯顺讯
用HTTP来举例:发送端输入URL发送请求(http协议,http请求)查看web页面

图片描述

其中IP协议的作用是把数据包传送给对方;确保准确的传送的两个重要条件是IP地址和MAC地址;MAC地址是指网卡所属的固定地址
接下来,要敲小黑板划重点了

常常放在口中的TCP连接3次握手和四次挥手,到底是怎么实现的呢?
emmm...确实每次都是话到口边却说不来了
下面来打包一下,做个一次性总结:
为了准确无误的将数据送到目标地,连接时TCP采用3次握手策略,握手中使用了TCP的标志:syn和ack

  1. 发送端首先发送带syn同步序列标志的数据包给接收端
  2. 接收端收到后回传一个带有syn/ack(确认)标志的数据包表示传达确认信息
  3. 发送端收到后,在发送一个带有ack(确认)标志的数据包表示握手结束

当客户端不想再连接了,那么它接下来就要向服务端发起结束请求了,但是这不是谈恋爱,不是一方说分手就能分手的。因为客户端发起结束请求,并不代表服务端此刻已经把所有的数据都返给客户端了;所以就有了四次挥手, 目的也是为了确保客户端与服务端的数据传输是完整的

  1. 首先是客户端发起的结束请求,也就是发送FIN报文;此时的客户端进入FIN_WAIT_1状态
  2. 服务端收到FIN后,发送一个ACK给客户端,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),服务端进入CLOSE_WAIT状态
  3. 服务端发送一个FIN,用来关闭服务端到客户端的数据传送,服务端进入LAST_ACK状太
  4. 客户端收到FIN后,客户端进入TIME_WAIT状态,接着发送一个ACK给服务端,确认序号为收到序号+1,服务端进入CLOSED状态,完成四次挥手。

HTTP协议与其他协议之间的关系
DNS服务:解析对应域名的IP
http协议:生成针对目标Web服务器的HTTP请求报文
TCP协议: 为了方便数据传递,将HTTP请求报文分割成报文段,把每个报文段可靠的传送给对方;或者接收对方的报文段,重组成报文
IP协议:搜索对方的地址,一边中转一边传送


http://www.niftyadmin.cn/n/3614056.html

相关文章

4.1 一维数组

一维数组定义方法: 一维数组初始化方法:(有两种初始化方式,给全部元素赋值和给部分元素赋值) 一维数组使用方法:(字符数组可以整体输入输出,但不能如下整体赋值)

Spring Security 单点登录简单示例

本文为[原创]文章,转载请标明出处。本文链接:https://weyunx.com/2019/02/12...本文出自微云的技术博客 Overview 最近在弄单点登录,踩了不少坑,所以记录一下,做了个简单的例子。 目标:认证服务器认证后获取…

4.2 二维数组

二维数组的定义方法: 二维数组的初始化方法: 二维数组的使用方法:

ROS 2 index翻译(二)——ROS 2和不同的DDS/RTPS供应商

ROS 2是建立在DDS/RTPS之上的。作为ROS2的中间件,DDS/RTPS提供发现、序列化和信息传输。这篇文章详细解释了使用DDS实现和DDS的RTPS有线协议背后的动机,但总体上来说,DDS是一个端到端的中间件,它提供与ROS系统相关的功能&#xff…

4.3 结构体

结构体类型定义方法: 结构体变量声明方法: 注意:上述第二种声明方式可以省略结构体名称Date 结构体变量初始化方法:

DHCP 管理命令

在华为S9306交换机上查看vlan 30 dhcp地址池分配情况。 <s9306-01>dis ip pool interface vlanif30 Pool-name : vlanif30Pool-No : 1Lease : 1 Days 0 Hours 0 MinutesDomain-name : -DNS-server0 : 61.177.7.1 DNS-server1 : 221.228.255.1 NBNS-server0 : - Netbios-t…

4.4 枚举(实例三色球组合)

枚举类型定义方法: 注意:枚举常量是以标识符(比如上面的Sun、Mon、Tes等等)表示的整型量,而不是字符串或字面常量 枚举变量声明方法: 枚举变量的使用方法:

LayUI前端框架开发视频讲解

简  介课程知识点&#xff1a; 1、两种容器的区别与使用 2、常用页面元素的使用 3、LayUI内置对象的使用 4、结合学习的知识点编写项目模块 课程播放地址&#xff1a; 进入学习01什么是LayUI【录播】课程资料与在线答疑服务(3分钟) 【录播】认识layui前端框架(10分钟) 【…