当前位置: 首页 > article >正文

TCP/IP学习笔记

TCP\IP从实际应用的五层结构开始,自顶而下的去分析每一层。

TCP/IP五层架构概述

学术上面是TCP/IP四层架构,OSI/ISO是七层架构,实际中使用的是TCP/IP五层架构。

画板

数据链路层

画板

ICMP数据包分析

Wireshark抓包分析ICMP协议_wireshark抓ping包分析数据报格式-CSDN博客

ping百度的ip地址。

请求报文

DDOS攻击
DDoS(分布式拒绝服务)攻击是一种恶意网络攻击,**旨在通过向目标服务器、服务或网络发起大量的流量请求,导致其无法正常工作**,从而使其无法为合法用户提供服务。与传统的DoS(拒绝服务)攻击不同,DDoS攻击是由多个受控设备(通常是被恶意软件感染的设备,形成一个“僵尸网络”)同时发起攻击,从而分散了攻击来源,使其更难被防范和追踪。

Ping Flood 攻击:这是最简单的 DDoS 攻击之一。攻击者使用大量设备向目标服务器发送大量 ICMP 回显请求(类似于 ping 命令),目的是占用目标的网络带宽和 CPU 资源。

网络层

IP协议

画板

IP习题

首部长度为20字节

前八位中后四位0100,表示4是ip首部的长度,这个最小值为5.所以需要丢弃这个分组。

4个二进制表示一个十六进制。生存时间必须是32+32个位也就是16个十六个十六进制。 生存时间8位两个十六进制。01表示这个分组的跳数是1。下一个两个十六进制就是协议类型。02表示的是IGMP协议。

片位移式100 *8=字节,前面长度位799。下一个从800开始。 首部20,总长度100. 这个分片有80字节。

第一个字节编号 800 最后一个879

wireshark抓取ip数据包进行分析。

4 表示ipv4
5 首部长度位5*4=20字节
00 是区分服务
0030 总长度 长度48
7a4f 表示标识字段
4000 标志和片位移  0100 0000  1标识不分片
7c 生存时间   124
06 上层TCP协议
635d 首部校验和 
3b517295 源地址 59.81.114.149
3b 51 37 e4 目的地址  59.81.55.228

分析ip数据包,应该是必考的.

Wireshark分析IP数据报_用wireshark分析ip报文结构-CSDN博客

前面的MAC地址,MAC地址长度是48位。四位是一个十六禁止,所以六位是一个MAC地址。

第一个4 标识ipv4的协议。

6是首部的长度,首部长度位30字节。

00 标识区分服务。

校验和确认

IP地址

画板

OSPF和RIP协议

画板

求当前最短路径的算法。

https://blog.csdn.net/yunfengfengfeng/article/details/105555008?ops_request_misc=&request_id=&biz_id=102&utm_term=dijkstra%E7%AE%97%E6%B3%95%E8%AE%A1%E7%AE%97%E8%B7%AF%E7%94%B1%E8%A1%A8&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-105555008.142v100pc_search_result_base2&spm=1018.2226.3001.4187

ARP报文分析

画板

https://blog.csdn.net/weixin_46027505/article/details/106440848

ARP(Address Resolution Protocal,地址解析协议)是将IP地址解析为以太网的MAC地址(或者称为物理地址)的协议。在局域网中,当主机或其他网络设备有数据要发送给另一个主机或设备时,它必须知道对方的网络层地址(即IP地址)。但是仅仅有IP地址还是不够的,因为IP数据报文必须封装成帧才能通过物理网络发送,因为发送站还必须有接收站的物理地址,所以需要一个从IP地址到物理地址的映射。ARP就是实现这个功能的协议。

arp的理解(考研考过)

arp 请求的时候是广播报文,响应式单播报文。

查看本地arp 缓存

arp -a

arp -d * 删除本地的缓存表  需要管理员的权限

ARP请求

arp响应报文

HardWare type  1表示当前的硬件类型式以太网
protoco type 表示上层协议类型  ipv4
hardware size MAC地址长度
Protocol size ip协议地址长度
opcode reply 操作类型  1 表示arp请求报文 2表示 arp应答报文
源MAC和源IP
目的MAC和目的IP地址

传输层

TCP协议

报文格式

画板

三次握手

第一次握手  SYN=1 请求建立连接  seq=x 表示当前的序号是x

第二次握手  SYN=1 ACK=1  ack=x+1 表示收到了前x个,下一个从x+1开始,seq表示当前是从y

第三次握手  ACK=1表示有效  ack=y+1  seq=x+1

是否可以进行两次握手。

防止已经失效的连接请求,一个报文在网络中逗留了很长的时候,在到达服务器端,这个时候服务器端打开状态,而客户端已经关闭了状态,浪费了资源。

选择C ACK=上一次的seq+1.

四次挥手

第一次挥手   FIN=1  ACK=1 seq=u ack=v请求关闭连接 
第二次挥手 服务器发送 ACKACK=1 seq=v ack=u+1
第三次挥手  服务器发送FIN=1 请求关闭连接
第四次挥手  发送ACK报文

四次挥手详细过程如下:

  1. 客户端发送关闭连接的报文段,FIN 标志位1,请求关闭连接,并停止发送数据。序号字段 seq = x (等于之前发送的所有数据的最后一个字节的序号加一),然后客户端会进入 FIN-WAIT-1 状态,等待来自服务器的确认报文。
  2. 服务器收到 FIN 报文后,发回确认报文,ACK = 1, ack = x + 1,并带上自己的序号 seq = y,然后服务器就进入 CLOSE-WAIT 状态。服务器还会通知上层的应用程序对方已经释放连接,此时 TCP 处于半关闭状态,也就是说客户端已经没有数据要发送了,但是服务器还可以发送数据,客户端也还能够接收。
  3. 客户端收到服务器的 ACK 报文段后随即进入 FIN-WAIT-2 状态,此时还能收到来自服务器的数据,直到收到 FIN 报文段。
  4. 服务器发送完所有数据后,会向客户端发送 FIN 报文段,各字段值如图所示,随后服务器进入 LAST-ACK 状态,等待来自客户端的确认报文段。
  5. 客户端收到来自服务器的 FIN 报文段后,向服务器发送 ACK 报文,随后进入 TIME-WAIT 状态,等待 2MSL(2 * Maximum Segment Lifetime,两倍的报文段最大存活时间) ,这是任何报文段在被丢弃前能在网络中存在的最长时间,常用值有30秒、1分钟和2分钟。如无特殊情况,客户端会进入 CLOSED 状态。
  6. 服务器在接收到客户端的 ACK 报文后会随即进入 CLOSED 状态,由于没有等待时间,一般而言,服务器比客户端更早进入 CLOSED 状态。

两倍的MSI时间,保证TCP服务器端能收到第四次挥手的内容,如果第四次发送的内容咋在网络中丢失了,那么服务器端一直会发送重新响应报文。

16进制一个数字用四个二进制来表示。

0532源端口  0017目的端口 都是16位。

00000001 是序号 seq
 
00000000 确认号 ack

5 首部长度  5*4等于20字节

报文类型  0000 0000 0010  SYN等于107FF 窗口的大小

0000 校验和

0000紧急指针
wireshark分析TCP\IP三次握手和四次挥手的过程。

大脑里面需要有那一张的图

先 ping www.baidu.com
然后再 curl  www.baidu.com  

解释curl命令
https://blog.csdn.net/ngczx/article/details/143669372?spm=1001.2014.3001.5501

第一次握手

seq和ack都是0.

第二次握手

seq=0,ack=上一次的+1=1

第三次握手

seq等于1,客户端第二次和服务器进行交互了。 ACK等客户端序号+1=1

第一次挥手

seq=79 ack=2782 FIN=1 请求关闭连接。

第三次挥手

第四次挥手

https://blog.csdn.net/dfBeautifulLive/article/details/121889271

TCP的高级特性包括**重传机制、滑动窗口、流量控制、拥塞控制。**

重传机制

画板

往返时间RTT测量是比较复杂度的。

计算RTO的值。

滑动窗口
滑动窗口是一种流量控制机制,用于管理发送方和接收方之间的数据传输。**它通过定义一个窗口大小,限制在任何时间点内发送方可以发送但未被确认的数据量,从而防止接收方被过多的数据淹没。 **

画板

流量控制
窗口的大小 **rwnd**。

拥塞控制

画板

完整的拥塞控制过程

考研题目

UDP协议

画板

TCP和UDP协议的区别

特性TCPUDP
全称传输控制协议用户数据包协议
面向连接无连接
传输具有可靠性不可靠
速度较慢,需要建立连接速度较快
使用场景文件传输、网页浏览器实时视频会议、DNS查询

wireshark抓取UDP报文分析

应用层的协议

Http协议

画板

报文类型
请求报文

请求方法  URL   HTTP版本

请求头

请求体(post请求才有请求体)

响应报文

HTTP的版本  状态码  状态信息
HTTP/1.1  200   OK

响应头
key:value

响应体
wireshark分析HTTP报文
[wireshark抓包分析HTTP协议,HTTP协议执行流程,_浏览网页wireshark进行报文捕获-CSDN博客](https://blog.csdn.net/wangyuxiang946/article/details/132634902)

报文符合三次握手和四次挥手的过程。

DNS协议

**域名: **** www.baidu.com。**

就像 IP 地址必须转换成 MAC 地址才能访问主机一样,域名也必须要转换成 IP 地址,这个过程就是“域名解析”。

采用任播的技术,每次请求的时候都是找到最近的根域名服务器。

查询一般使用递归或者迭代查询

DNS本身是传输使用的是UDP,如果是DNS服务器之间传输数据可能会用TCP,所以DNS不一定是UDP。

NAT协议

```javascript 私有的IP地址。 10.0.0.0 ——— 10.255.255.255

172.16.0.0——— 172.16.255.255

192.168.0.0———192.168.255.255


为了解决ip地址非常稀少的问题,提出了NAT协议,将私网的ip地址映射到公网上面去。实现了一个公司使用一个公网的ip地址。

NAPT 加上了ip地址和端口号

![](https://img-blog.csdnimg.cn/img_convert/f0029da6d7fb5ea38b47f3a27b06c296.png)



NAT对于外网屏蔽了内网主机地址,能够为内网主机提供一定的安全保护。

<h3 id="OMfj9">DHCP协议</h3>
需要掌握

**DHCP 客户使用的端口是68,DHCP服务器使用的端口是67。**

DHCP在没有获取到ip地址的时候默认是**0.0.0.0**。只有通过四次交互之后才会真正分配ip地址。

![](https://img-blog.csdnimg.cn/img_convert/f796add3ada4aa22e1cec8867d4eff8b.png)![](https://img-blog.csdnimg.cn/img_convert/4b7e091386981ab0efa8837bc1359608.png)


http://www.kler.cn/a/411070.html

相关文章:

  • RL78/G15 Fast Prototyping Board Arduino IDE 平台开发过程
  • 《基于FPGA的便携式PWM方波信号发生器》论文分析(三)——数码管稳定显示与系统调试
  • 从ChatGPT到代理AI:安全领域的新变革
  • Redis常见面试题总结(上)
  • 『 Linux 』网络层 - IP协议 (二)
  • C#构建一个简单的循环神经网络,模拟对话
  • 平安科技Java面试题及参考答案
  • 浅谈人工智能之基于容器云进行文生视频大模型搭建
  • 零基础学安全--云技术基础
  • Vue3常见Composition API详解(适用Vue2学习进入Vue3学习)
  • testImplementation和androidTestImplementation区别
  • 力扣 53. 最大子数组和
  • 《PH47 快速开发教程》发布
  • 华三(HCL)和华为(eNSP)模拟器共存安装手册
  • SpringBoot - 优雅的实现【账号登录错误次数的限制和锁定】
  • 类和对象(下):点亮编程星河的类与对象进阶之光
  • 【PTA】【数据库】【SQL命令】编程题2
  • MR30分布式 IO 模块在冷却水泵系统中的卓越应用
  • 通过异步使用消息队列优化秒杀
  • Web开发技术栈选择指南
  • 刷题日常(移动零,盛最多水的容器,三数之和,无重复字符的最长子串)
  • Java 中实现异步的方式
  • IMX 平台UART驱动情景分析:read篇--从硬件驱动到行规程的全链路剖析
  • XG(S)-PON原理
  • 【贪心算法第五弹——300.最长递增子序列】
  • QUICK调试camera-xml解析