TCP/IP详解

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

目录

一、OSI参考模型

1.图示

2.OSI七层模型各自作用

3.七层通信过程

二、IP协议

1.IPv4首部

2.IPv6首部

三、TCP协议

1.tcp首部格式

2.握手挥手图示

3.握手流程

4.为什么要三次握手?

5.四次挥手流程

6.为什么要四次分手?

7.为什么要等待2MSL?

8.TCP流量控制

9.TCP拥塞控制

9.1 慢开始和拥塞避免

9.2 快重传和快恢复

四、UDP协议

五、HTTP协议

1.http请求报文

2.http响应报文

3.method: 请求方法,标明客户端希望服务器对资源执行的动作

4.status:标记请求处理过程中发生的情况,如200,301, 302, 404, 502

5.HTTP 首部字段

6.图示为http跟踪流实例,可以很好的了解一个http的请求和响应流程

7.Get请求抓包情况

8.Post请求抓包情况,和get请求不一样的是post的数据是放到了包体部分,而get请求是放到了heads里面

源码等资料获取方法


一、OSI参考模型

1.图示

 

2.OSI七层模型各自作用

应用层

为应用程序提供服务并规定应用程序中通信的相关细节。包括文件传输、电子邮件、远程登录等协议。

表示层

将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式。因此它主要负责数据格式的转换。

会话层

负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等数据传输相关的管理。

传输层

起着可靠传输的作用。只在通信双方节点上进行处理,而无需在路由器上处理。会话层负责决定建立连接和断开连接的时机,而传输层进行实际的建立和断开处理

网络层

将数据传输到目标地址。目标地址可以是多个网络通过路由器连接而成的某个地址。因此这一层主要负责寻址和路由选择

数据链路层

负责物理层上的互联、节点之间的通信传输。例如与1个以太网相连的2个节点之间的通信。将0、1序列划分为具有意义的数据帧传送给对端(数据帧的生成与接收)。

物理层

负责0、1比特流(0、1序列)与电压的高低、光的闪灭之间的互换

3.七层通信过程

二、IP协议

1.IPv4首部

  • 版本:表示 IP 协议的版本。
  • 首部长度:首部的长度,单位是 4 字节。
  • 区分服务:暂时无意义。
  • 总长度:首部和数据之和的长度,单位为字节,当数据报的总长度超过数据链路层的最大传送单元时就必须进行分片处理。将一个 IP 数据报分成多个分片,每个分片都具有 IP 首部。
  • 标识:对分片进行标识,同一个数据报的分片具有同样的标识。
  • 标志:占 3 位。最低位记为 MF(More Fragment),MF = 1 表示后面“还有分片”,MF = 0 表示这是多个数据报片中的最后一个;中间一位记为 DF(Don't Fragment),只有当 DF = 0 时才允许分片。
  • 片偏移:表示该分片在原分组中的相对位置,片偏移以 8 个字节为偏移单位。
  • 生存时间:TTL,表示该数据报在网络中可以被转发的次数,每经过一次转发,这个值减 1。
  • 首部校验和:这个字段只检验数据报的首部,不检验数据部分。
  • 源地址
  • 目的地址
  • 可变部分:可变部分中包括用于增加 IP 数据报功能的选项,这些选项一个一个拼起来,中间不需要分隔符,最后用 0 填充为 4 字节的整数倍。

WireShark抓包的情况

可以看到首部长度值为5行,20bytes(5行*4字节每行=20字节)

首部长度是4bit,而2^4是16,所以它的取值范围是0-15(也可理解为4bit即是4个1,转换成十进制就是15),图中每行是4个字节(32bits),所以最大长度就是15*4=60字节。

2.IPv6首部

  • 版本:协议的版本,对于 IPv6 是 6.
  • 流标号:“流”指互联网络上从特定源点到特定终点的一系列数据报,所有属于同一个流的数据报都具有同样的流标号。
  • 有效载荷长度:表示 IPv6 数据报除基本首部以外的字节数。
  • 下一个首部:当没有扩展首部时,下一个首部字段指出基本首部后面的数据应该移交给哪个高层协议。当出现扩展首部时,下一个首部字段的值表示后面第一个扩展首部的类型。
  • 数据报图中经过的路由器不处理扩展首部。
  • IPv6 采用冒号十六进制记法,如 68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF,冒号十六进制记法允许零压缩,即一连串连续的零可以为一对冒号所取代,任一地址中只能够使用一次零压缩。

三、TCP协议

面向连接,提供可靠的服务,有流量控制,拥塞控制,无重复、无丢失、无差错,面向字节流(把应用层传下来的报文看成字节流,把字节流组织成大小不等的数据块),只能是点对点,首部 20 字节,全双工

1.tcp首部格式

  • 序号 :用于对字节流进行编号,例如序号为 301,表示第一个字节的编号为 301,如果携带的数据长度为 100 字节,那么下一个报文段的序号应为 401。
  • 确认号 :期望收到的下一个报文段的序号。例如 B 正确收到 A 发送来的一个报文段,序号为 501,携带的数据长度为 200 字节,因此 B 期望下一个报文段的序号为 701,B 发送给 A 的确认报文段中确认号就
网络基础】TCP/IP协议详解 tcpip协议 阅读详情

相关推荐

网络协议TCP/IP 协议

1、TCP/IP 模型 TCP/IP 协议模型,包含了一系列构成互联网基础的网络协议,是 Internet 的核心协议。 基于 TCP/IP 协议栈可分为四层或五层,转换为 OSI 参考模型,可以分为七层,分别如下图所示: 通常我们所说的都是基于 TCP/TP 五层模型。 2、TCP/IP 协议栈每一层功能 应用层:HTTP、FTP 等等我们熟悉的协议。 传输层:TCP 和 UDP 协议、HTTPS。 网络层:IP 协议,它负责对数据加上 IP 地址和其他的数据以确定传输的目标。 数据链路层:为待传

u011035026的博客 1万+

计算机网络协议

目录   一、计算机网络的发展历程      1、计算机网络发展      2、计算机的模式变化  二、各种协议      1、协议的重要性      2、协议的标准:OSI七层模型  三、TCP/IP协议      1、介绍      2、TCP/IP协议的发展历程      3、TCP/IP四层模型  四、IP协议      1、介绍      2、IP协议特点      3、IPV4和I...

littlerain666 1365

TCP/IP详解(一)

TCP/IP协议的深入理解,望各位大佬进行指点

草原上唱山歌的博客 6274

TCP/IP详解 卷1,2,3详解

大家知道,TCP/IP已成为计算机网络的事实上的标准。在关于TCP/IP的论著中,最有影响的就是两部著作。一部是Douglas E. Comer的《用TCP/IP进行网际互连》,而另一部就是Stevens写的这3卷书。这两套巨著都很有名,各有其特点。无论是从事计算机网络的教师还是进行科研的技术人员,这两套书都应当是必读的。   《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP

七水的博客 5318

TCP/IP协议详解

TCP/IP协议详解 - 知乎 (zhihu.com)

weixin_44843792的博客 109

TCP/IP详解》学习笔记

TCP/IP详解》学习笔记

2501_92095291的博客 516

TCP/IP详解

TCP/IP详解》这三卷书(《TCP/IP详解,卷1:协议》、《TCP/IP详解 卷2:实现》、《TCP-IP详解卷三TCP事务协议,HTTP,NNTP和UNIX域协议》)可谓是TCP/IP论著中的圣经,无论是从事计算机网络的教师还是进行科研的技术人员,这套书应当是必读的。但这套书是不适合初学计算机网络的学生学习的,对于初学者强烈推荐机械工业出版社的那本《计算机网络:自顶向下方法》,...

weixin_34319999的博客 176

TCP/IP详解卷1,2,3PDF下载

好东西啊!! TCP/IP详解 卷1 下载地址 TCP/IP详解 卷2 下载地址 TCP/IP详解 卷3 下载地址 转载于:https://www.cnblogs.com/coderzh/archive/2008/06/27/1230935.html...

weixin_34195364的博客 934

【免费下载】 深入探索TCP/IP协议:《TCP/IP协议详解》全三卷中文PDF下载

深入探索TCP/IP协议:《TCP/IP协议详解》全三卷中文PDF下载 【下载地址】TCPIP协议详解全三卷下载 TCP/IP协议详解全三卷 下载 项目地址: https://gitcode.com/open-source-too...

gitblog_09816的博客 908

TCP/IP详解:实现》学习导图

TCP/IP详解:实现》学习导图 关于TCP/IP协议的所有理论知识请查看《TCP/IP详解:协议》学习导图 1.基于《4.4BSD-Lite 源码》解析 4.4BSD-Lite 源码地址 https://pub.allbsd.org/bsd-sources/ 说明:BSD对UNIX最重要的贡献之一是TCP/IP。BSD 有8个主要的发行版中包含了TCP/IP...

yexiangCSDN的专栏 1462

精读《TCP/IP 详解

也算写了好些 tcp/udp 应用的程序了。断断续续的看了几本关于网络编程的书。这一本跟编程无关的书也当资料般的查过几章。但这几年来,居然没能抽出时间把它精读一遍,想想还真不是我的风格 :D 直到近几天,我才坚持慢慢的读这本书。前几天在三亚晒太阳,同行的一个同事(游戏部门的技术总监)在读一本英文版关于 AJAX 的书。市场部的同事看到表示不理解。带书出门,似乎是程序员的共性,其实我自己也带了本

sLeebaby的专栏 3096

TCP/IP详解pdf版下载介绍

TCP/IP详解pdf版下载介绍 去发现同类优质开源项目:https://gitcode.com/ 《TCP/IP详解pdf版》是一套深受计算机网络领域专业人士推崇的经典著作,包括以下三卷: 卷1:协议 本卷详细介绍了TCP/IP协议的各个方面,包括每一层的各个协议以及它们在不同操作系统中的运行方式。通过使用Lawrence Berkeley实验室的tcpdump程序捕获不同操作系统和TCP/...

gitblog_06731的博客 670
上一篇: TCP的三次握手与四次挥手
下一篇: ARP解析MAC地址的全过程(ARP的工作机制)
bug捕手
博客等级 码龄4年 888粉丝 417原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值