IP第一次笔记

embedded/2025/4/1 5:47:09/

一、TCP协议

第0步:如果浏览器和host文件存在域名对应的P地址记录关系
则直接封装HTTP数据报文,如果没有记录则触发DNS解析获
取目标域名对应的P地址
第一步:终端主机想服务器发起TCP三次握手
1.TCP的三次握手
2.传输网页数据
HTTP  --应用层
TCP  SPORT X DPORT 80
 IP    
SIP PC   DIP 服务器(DNS)
SMAC PC   DMAC 网关
3.服务器进行回复
4.断开连接---TCP四次挥手
5.TCP---是面向连接的协议
实质上是一种点到点(端到端)的连接---一对一的通讯
第二步:终端发起http请求
第三步:服务器基于请求的资源目录,进行回复
第四步:四次挥手断开服务器和终端的TCP会话
跨层封装-
对TCP三次握手和四次挥手详细解析:
SYN(同步序列编号):
客户端发送一个SYN报文到服务器,并进入SYN-SENT状态。
在这个SYN报文中,客户端将指定自己的初始序列号(ISN),这是后续传送数据时的参考点。
SYN-ACK(同步确认应答):
服务器收到客户端的SYN报文后,会发送一个SYN-ACK报文作为应答。
服务器同样在应答中包含自己的初始序列号(Y)。
服务器将确认序号设置为客户端的初始序列号加1(X+1),表示服务器已经收到了客户端的SYN。
服务器此时进入SYN-RCVD状态。
ACK(确认):
客户端收到服务器的SYN-ACK报文后,会向服务器发送一个ACK报文。
这个ACK报文中的确认序号会是服务器的初始序列号加1(Y+1)。
客户端此时进入ESTABLISHED状态,表示客户端到服务器的连接已经建立。
服务器在收到这个ACK报文之后,也进入ESTABLISHED状态,表示服务器到客户端的连接也已经建立。
TCP四次挥手(终止连接)
四次挥手是TCP终止连接时的机制,用于在两个TCP端点之间终止一个可靠的连接。这个过程确保了双方都结束数据传输,并且正确关闭连接。

FIN(结束):
当客户端完成数据传输后,它需要发送一个FIN报文到服务器,并进入FIN-WAIT-1状态。
在这个FIN报文中,客户端告诉服务器它已经没有数据发送了。
ACK(确认):
服务器收到这个FIN报文后,会发送一个ACK报文作为应答,并进入CLOSE-WAIT状态。
服务器此时仍然可以发送数据,客户端仍处于半开状态。
FIN(结束):
当服务器完成数据传输后,它也会发送一个FIN报文到客户端,并进入LAST-ACK状态。
在这个FIN报文中,服务器告诉客户端它已经没有数据发送了。
ACK(确认):
客户端收到这个FIN报文后,会发送一个ACK报文作为应答,并进入TIME-WAIT状态。
服务器收到这个ACK报文后,关闭连接,进入CLOSED状态。
客户端在经过一段时间(称为TIME-WAIT等待时间)后,确保服务器收到了最后的ACK报文,也会关闭连接,进入CLOSED状态。

OSPF--跨四层封装的协议--可以提升数据包转发效率
利用协议字段区分上层协议
TCP---6
UDP--17
OSPF--89
STP---生成树协议跨三四层进行封装
静态配置IP地址
DHCP--动态主机配置协议--应用层协议
UDP    c---68   s---67
1.首次获取ip地址
1.1 C—>S   dhcp-discover--寻址网络中可能存在的DHCP服务器

UDP SPORT 68      DPORT 67

 SIP    0.0.0.0  DIP  255.255.255.255

 SMAC   PC   DMAC  FF-FF..FF

 
1.2、 S—C   dhcp-offer报文---携带一个可用的IP地址
UDP SPORT 67       
DPORT 68
 SIP FWQ    

DIP  可用的IP地址/255.255.255.255
 Smac fwq  dmac  pc/ff..FF

 1.3C—>S---dhcp request--请求报文,请求一个IP地址
UDP SPORT 68      DPORT 67

 SIP    0.0.0.0  DIP  255.255.255.255

 SMAC   PC   DMAC  FF-FF..FF

1.通知请求的服务端我使用了你下发的IP地址

2.告知网络中其他dhcp服务端,你的地址没有使用可用释放掉

1.4  S—C   dhcp-ack报文---携带一个可用的IP地址

UDP SPORT 67       DPORT 68
 SIP FWQ   
 DIP  可用的IP地址/255.255.255.255
Smac fwq  dmac  pc/ff..FF

 ACK--NAK
 1.在次获取ip地址

租期--24h
1.3C—>S---dhcp request--请求报文,请求一个IP地址--单播发送
UDP SPORT 68      DPORT 67
 SIP    获取到的地址  DIP  fwq
 SMAC   PC   DMAC  FWQ

1.4  S—C   dhcp-ack报文---携带一个可用的IP地址
UDP SPORT 67       DPORT 68

 SIP FWQ   

   DIP  可用的IP地址/255.255.255.255

 Smac fwq  dmac  pc/ff..FF

 T1时间---50%租期 12h
 T2时间--87.5%租期 21H

二、ARP协议--地址解析协议
已知一种地址获取另外一种地址的协议
正向ARP--通过IP地址获取MAC地址
反向ARP-ARP是一种网络协议,允许局域网中的主机从网关服务器的ARP表或者缓存上请求其IP地址。
在ARP中,主机发送一个广播请求,请求包含其MAC地址,询问“我的IP地址是什么?”
网络上的RARP服务器收到这个请求后,会根据请求中的MAC地址查找对应的IP地址,然后发送一个包含IP地址的应答给请求的主机。
ARP主要在早期的网络环境中使用,现代网络环境中较少使用。
免费ARP-FreeARP是一种ARP协议的变体,它允许设备在没有收到ARP请求的情况下,主动广播自己的IP地址和MAC地址映射关系。
这通常用于网络设备在启动时,或者当设备的IP地址发生变化时,主动通知网络上的其他设备其新的IP地址。
FreeARP可以减少网络中的ARP流量,因为它减少了为了解析IP地址而发送的ARP请求的数量。

交换机转发:首先收到数据帧之后,需要基于接受该数据帧的接口和数据
帧中源MAC地址信息,记录对应关系到MAC地址表中,之后根据数据帧
中的目标MAC进行转发,一旦存在记录则直接单播转发(只从某一个记
录的接口发出),如果没有记录或者,的mac是全FF则洪范——除了接
收该数据帧的接口外,想剩下所有接口复制转发一份该数据帧
路由器的转发原理:当一个数据包来到路由器路由器会根据自身的路由表
查看数据包中的目标IP地址进行转发,如果存在记录则直接转发,如果没
有记录则直接丢弃

三、VLAN

VLAN---虚拟局域网

VLAN---作用:交换机利用VLAN可以实现将一个广播域

逻辑上拆分为多个虚拟的广播域

LAN--局域网

MAN--城域网

WAN--广域网

VID ---VLAN-ID作用:区分和标识划分出来的虚拟局域网

数量4096 取值范围0-4095 实际的取值范围1-4094,设备

默认存在VLAN-1

1.创建VLAN(创建VLAN-ID

[Huawei]vlan 2--单纯创建VLAN

批量创建VLAN

接口绑定VLAN--一层VLAN (物理VLAN

分区 新分区 的第 1 1

定义接口链路类型

如果将接口配置为 ccess接口,那么该接口发出的所有数据均A

不携带VLAN标签

[Huawei-GigabitEthernet0/0/1]port link-type access

[Huawei-GigabitEthernet0/0/1]port default vlan 2——定义接口链路类

型,并且将接口绑定VLAN的配置

当数据来到交换机交换机会记录数据帧中源MAC地址和接口的对应关

系,并且会记录接口绑定的VLAN-ID,之后基于目标MAC进行转发,当

MAC地址表存在记录则单播,如果没有记录则洪范给具有相同VLAN-ID

的接口

如果接口需要放通多个VLAN的数据,并且需要对数据进行区

分,那么需要将该接口配置为TRUNK

[Huawei-GigabitEthernet0/0/5]port link-type trunk

[Huawei-GigabitEthernet0/0/5]port trunk allow-pass vlan 2 3

分区 新分区 的第 1 2

[Huawei-GigabitEthernet0/0/5]port trunk allow-pass vlan 2 3

华为设备接口默认的链路类型是混杂

PVID---接口绑定的VID

[Huawei-GigabitEthernet0/0/5]port trunk pvid vlan 2--trunk接口可以修

改接口PVID

华为设备规定所有交换机内部的流量必须携带标签

分区 新分区 的第 1 3

混杂接口---通过配置混杂接口可以做到针对二层业务数据进行访问控

制的效果,可以将VLAN的逻辑根据需求做到更加灵活的处理

配置

[sw1]vlan batch 2 3 4

[sw1-GigabitEthernet0/0/1]port link-type hybrid

[sw1-GigabitEthernet0/0/1]port hybrid pvid vlan 2

[sw1-GigabitEthernet0/0/1]port hybrid untagged vlan 2 3 4--允许接口放

VLAN数据不携带VLAN标签

[sw1-GigabitEthernet0/0/ ] port hybrid tagged vlan 2 to 43 --允许接口放通

VLAN数据携带VLAN标签

[sw2-GigabitEthernet0/0/10]undo port hybrid vlan 1

分区 新分区 的第 1 4

子接口配置

interface Ethernet0/0/0.1

dot1q termination vid 2

ip address 192.168.1.10 255.255.255.0

arp broadcast enable

三层交换机

[SW3]vlan batch 2 3--1.创建VLAN

[SW3]interface GigabitEthernet 0/0/1

[SW3-GigabitEthernet0/0/1]port link-type trunk

[SW3-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 3---接口

放通VLAN

SVI接口---交换机虚拟接口

[SW3]interface Vlanif 2--创建VLANIF接口--注意编号和vlan本身

需要一一对应

[SW3-Vlanif2]ip address 192.168.1.10 24

[SW3-Vlanif3]ip address 192.168.2.10 24

分区 新分区 的第 1 5

[SW3-Vlanif3]ip address 192.168.2.10 24

分区 新分区 的第 1 6


http://www.ppmy.cn/embedded/177715.html

相关文章

Go语言nil原理深度解析:底层实现与比较规则

Go语言nil原理深度解析:底层实现与比较规则 引言 在Go语言中,nil 是一个特殊的关键字,用于表示引用类型的“零值”。它在指针、切片、映射、通道、接口和函数等类型中广泛使用。本文将从 底层实现、比较规则、与其他语言的对比 等角度&#…

使用 Go Colly 更改用户代理以进行网络抓取

引言 在网络爬虫的世界里,Web 服务器通常借助 User-Agent 字符串来识别访问其资源的客户端类型,如浏览器、机器人或爬虫。若爬虫在每次请求中都发送相同的 User-Agent,就极有可能被检测到并被阻止。因此,更改 User-Agent 字符串成…

Leetcode 组合总和 III

回溯法 java solution class Solution {public List<List<Integer>> combinationSum3(int k, int n) {//先创建返回的结果List<List<Integer>> result new ArrayList<>();//然后开始回溯backtrack(k, n, 1, new ArrayList<>(), result)…

禅道品牌全面战略升级:开创项目管理国产化替代新格局

2025年&#xff0c;禅道软件完成企业品牌战略深度升级。此次升级&#xff0c;从产品力、服务力到生态圈构建等方面进行了全面优化&#xff0c;以更智慧的解决方案、更开放的生态布局&#xff0c;更安全的国产化解决方案&#xff0c;助力企业实现从“工具应用”到“价值创造”的…

RAG生成中的多文档动态融合及去重加权策略探讨

目录 RAG生成中的多文档动态融合及去重加权策略探讨 一、RAG生成概述 二、多文档动态融合策略 1. 拼接与分段编码 2. 独立编码与后续融合 3. 基于查询的动态加权 三、检索结果的去重与加权策略 1. 去重策略 2. 加权策略 四、实践中的挑战与思考 五、结语 RAG生成中的…

Vue3.5 企业级管理系统实战(十):面包屑导航组件

1 breadcrumb 组件 1.1 安装插件 path-to-regexp 首先&#xff0c;我们需要安装插件 path-to-regexp&#xff0c;以便在下面的面包屑组件中对路由地址进行解析。 path-to-regexp是一个 JavaScript 库&#xff0c;可将路径字符串转化为正则表达式&#xff0c;广泛用于 Web 开发…

Linux常见使用场景

一、文件查看与内容操作 ​1. cat ​作用&#xff1a;查看文件内容&#xff08;一次性输出全部内容&#xff09;。​常用选项&#xff1a; -n&#xff1a;显示行号。-b&#xff1a;仅对非空行显示行号。 ​示例&#xff1a; cat file.txt # 查看文件内容 cat -n fil…

一文详解QT环境搭建:ubuntu20.4安装配置Qt5

随着软件开发技术的不断进步&#xff0c;跨平台应用程序的需求日益增长&#xff0c;开发者们面临着如何在不同操作系统之间保持代码的一致性和效率的问题。Qt作为一个成熟的跨平台C框架&#xff0c;在这方面提供了卓越的支持&#xff0c;不仅简化了GUI应用程序的创建过程&#…