IP学习——oneday

2024-09-06 11:44
文章标签 ip 学习 oneday

本文主要是介绍IP学习——oneday,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.什么是网络?为什么需要网络?

空间,时间;传统的邮件传输要考虑到距离,网络解决了空间距离(太远)、解决了时间问题(旧音乐等)

云:面向客户的虚拟化服务
运营商公司主营业务:“云服务”  +  “微服务”
2.网络的构成:

①中间系统:负责转发流量功能;

实例:路由器(基于IP做转发) 交换机(基于mac做转发)

特点: 快 (带宽、延迟:面向语音类和视频类)、准 、稳(高可用网络)

②终端系统:应用数据处理(发送数据,接受数据)

客户端与服务器之间的通信(一般通信类型)

客户端与客户端之间的通信(实时性)

服务器与服务器之间的通信(定时性)

3.OSI七层模型:
(1)为什么需要分层?

①层与层之间相互独立,相互没有影响

②高层看低层是透明的

③任意下层可以承载任意上层协议

4.封装与解封装
MTU(Maximum Transmission Unit)值,即最大传输单元,是指单个数据报在特定数据通信链路上可以具有的最大字节数。MTU的默认值为 1500 字节。
现实中调制的都是 2000

二次分片 在路由器和交换机(数通设备)上

防火墙:防的是内网设备

传输设备:调制解调器(Modem)

数据设备:路由器和交换机

5.TCP/IP协议栈和OSI七层模型

TCP/IP协议栈由厂家组成的一个联盟(1977年)

OSI由ISO组织定义标准

网络的网络标准:CLNP协议(1984年)

网络层协议IP、IPX、CLNP、AppleTalk、NETBLOS

⬆(任意下层可以承载任意上层结构,物理与)

链路层: 以太网、FDDI、令牌环。。。

目前网络通信通道:光纤 (数据设备)

MSTP(传输通道)

链路层架构:

①非广播多路访问(54K-2.048M):FR帧中继、ATM

②点到点:PPP(point to point),dhlc 专用链路:T1、E1

③广播性多路访问:以太网(最低带宽10M-最高带宽100G) 链路:光缆,PON光纤

serial端口到serial之间的端口
e接口 10 M的,f接口 100 M的,g接口 1000 M的,在物理环境中只能使用g对g,e对e

下代网络:SDN(Software-Defined Networking)即软件定义网络,是一种新型的网络架构和理念,它允许网络管理者通过软件程序来定义、控制和管理网络流量和服务,而不是依赖于传统的硬件设备和物理连接。SDN将网络的控制平面(负责决策和路由信息)与数据转发平面(负责实际的数据包转发)分离,使得网络更加灵活、可编程和易于管理。
​
SDN的核心组件通常包括:
​
控制层(Control Layer):这是SDN的大脑,由一个或多个控制器组成,负责收集网络的全局视图,并根据业务需求和网络策略来制定数据转发的决策。控制器使用标准的南向接口(如OpenFlow)与转发设备通信。
数据转发层(Data Forwarding Layer):也称为基础设施层,由交换机、路由器等网络设备组成,负责实际的数据包转发。这些设备不再像传统网络中那样进行复杂的路由决策,而是根据控制器的指令来转发数据包。
应用层(Application Layer):通过北向接口与控制层交互,允许开发者编写网络应用程序,这些应用程序可以动态地定义网络策略、优化网络性能、实现网络虚拟化等。

6.Internet协议特征(IPv4)

运行于OSI网络层

面向无连接的协议

独立处理数据包

分层编制

尽力而为传输

无数据恢复功能

7.IP报头

1.TTL用于防止环路,数据包在网络上可以存在的最大跳数(经过的路由器数)。每当数据包经过一个路由器时,其TTL值就会减1。当TTL值减到0时,数据包就会被丢弃,同时发送方会收到一个超时通知。

2.tracert追踪路由

8.计算机获取IP地址的方式:

1.静态配置

2.DHCP动态

3.系统分配 (windows)默认地址169.254.0.0/16

UDP:目的端口号,源端口号
TCP:目的端口号,源端口号,序列号,确认序列号(三次握手、四次挥手)

2

P2P终结者(应用:用来控制局域网其他主机流量和服务的软件)

ARP种类:

①普通ARP:IP转Mac地址

②代理ARP:Linux

③无故ARP(免费ARP):检测局域网IP地址冲突

④反向ARP

⑤逆向ARP FR网络环境中 拿2层的DLCI号找对应的IP地址

arp -a 查看PC机的ARP表

通信

1.局域网内通信

ping request(请求)源向目标发送

ping reply(回复)目标向源发送

2

####

icmp是IP协议的第一子协议;

                                    icmp数据包信息:
源IP:192.168.1.1
目标IP:192.168.1.2
源MAC:AD-DA-5F-BC-D8-27
目标MAC:FF-FF-FF-FF-FF-FF(意思是空的,通过arp数据包获取目标MAC后再发送数据包)
                                    ARP数据包:
源IP:192.168.1.1
目标IP:192.168.1.2
源MAC:AD-DA-5F-BC-D8-27
目标MAC:空
​
​
源MAC:AD-DA-5F-BC-D8-27
目标MAC:FF-FF-FF-FF-FF-FF(意思是空的,通过arp数据包获取目标MAC后再发送数据包)
                                    通信步骤:1.封装        4个地址     3个已知     1个未知DMAC      先放一边
2.PC1查看自身的ARP表, arp -a  ,有没有去往目标IP的MAC地址
3.结果:有,跳转到第8步无,发送ARP报文找对方的MAC地址
4.在发送ARP报文的时候需要判定,目标终端和自身是否在一个广播域PC1拿自己的IP和自己的掩码做与运算,得到源IP的网段信息PC1拿PC2的IP和自己的掩码做与运算,得到目标IP的网段信息如果两个网段相同,一个子网,一个广播域,直接发广播arp request 找目标IP的mac地址如果两个网段不同,不在一个广播域,发广播arp request 找网关的mac地址
5.PC2收到PC1发送的arp request,把PC1的IP和MAC的映射关系存放在ARP表中
6.PC2向PC1发送ARP、REPLAY应答
​
7.PC1收到应答的时候,把PC2的IP和MAC的映射关系存放在ARP表中
8.把PC2MAC地址封装到ping request报文中,目标MAC
9.PC1向PC2发送ping request
10.pc2收到Ping request报文,并做了relpy响应
11.PC1收到PC2的reply应答。

2.局域网之间的通信

1.封装        4个地址     3个已知     1个未知DMAC
2.PC1查看自身的ARP表, arp -a  ,有没有去往目标IP的MAC地址
3.发送ARP报文找对方的MAC地址,判定。。。
4.发ARP找网关的MAC地址,网关收到ARP REQUEST报文,把PC1的IP地址和MAC地址的映射关系存放到自身的ARP的表中,路由器查看ARP表,使用的命令是: display arp
5.R1 G0/0/0 做ARP reply   PC1收到应答后把网关的IP和MAC的映射关系存放到ARP表中去
6.把网关的MAC地址封装icmp request报文,DMAC
7.PC1把ping request发送到网关,网关查看目标MAC地址和接受接口的是否相同
8.拆到MAC封装,读取目标IP,查找路由表,找到出口G0/0/1
9.重写二层   smac:出口的MAC地址   dmac:2.2
10.是否有2.2的MAC地址?查看ARP表,如果有直接封装,如果没有,发ARP request
11.把2.2的MAC地址封装到ping request报文
12.PC2收到PC1的ping request报文。做ping reply应答
13.R1的G0/0/1 拆2层,查路由表 ,在G0/0/0转发重写2层
14.PC1收到PC2的reply应答,通信完成

路由器的每个接口都有一个对应的网卡

数据经过一次路由器,数据都会重写mac地址

这篇关于IP学习——oneday的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Java根据IP地址实现归属地获取

《Java根据IP地址实现归属地获取》Ip2region是一个离线IP地址定位库和IP定位数据管理框架,这篇文章主要为大家详细介绍了Java如何使用Ip2region实现根据IP地址获取归属地,感兴趣... 目录一、使用Ip2region离线获取1、Ip2region简介2、导包3、下编程载xdb文件4、J

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地