IP学习——oneday

embedded/2024/11/9 16:43:00/
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地址


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

相关文章

【LLM之Data】WizardLM论文阅读笔记

研究背景 大型语言模型(LLMs)已经成为解决多种自然语言处理(NLP)任务的主要工具。然而,尽管这些模型在生成流畅的文本方面表现出色,但它们往往难以遵循用户的复杂指令。这限制了它们在实际应用中的广泛使用…

应用层自定义协议与序列化

一、理解应用层 上一篇文章http://t.csdnimg.cn/931k6简单介绍了如何写tcp / udp 网络服务,但是其实始终是在应用层。 一个个解决我们实际问题, 满足我们日常需求的网络程序, 都是在应用层。 二、再谈协议 协议是一种 "约定"。socket api 的接口, 在读…

一台电脑对应一个IP地址吗?‌探讨两台电脑共用IP的可能性

在当今数字化时代,‌IP地址作为网络世界中的“门牌号”,‌扮演着至关重要的角色。‌它负责在网络上唯一标识每一台设备,‌使得数据能够在庞大的互联网中准确无误地传输。‌然而,‌对于IP地址与电脑之间的对应关系,‌许…

个人随想-一道简单的AI面试题

大模型的兴起,很多公司现在都开始进入AI开发的新篇章,那么或多或少​也需要招聘一些AI的开发人员。 其实很多公司需要的,说白了就是一个AI开发工程师或者架构师,但是在招聘过程中,或多或少对要求写的太过夸张&#xf…

JavaWeb开发中为什么Controller里面的方法是@RequestMapping?

在Java Web开发中,尤其是在使用Spring MVC框架时,RequestMapping注解被广泛应用于Controller层的方法上,这是因为RequestMapping是Spring MVC提供的一个核心注解,用于将HTTP请求映射到相应的处理器类或处理器方法上。通过这种方式…

QT多个界面

主函数 #include "widget.h" #include "second.h" #include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;Second s;QObject::connect(&w,&Widget::my_signals,&s,&Second::my_slots);w.…

Nature Communications 多模触觉-视觉融合机器人:用于灵巧机器人做家务

随着机器人越来越多地参与人类日常生活&#xff0c;对模仿人类能力的追求推动了机器人多模态感官的进步。然而&#xff0c;目前的感知技术仍然不能满足机器人在家庭任务/环境中的需求&#xff0c;特别是在多感官整合和融合、快速反应能力和高灵敏度感知方面面临着巨大的挑战。 …

卷积神经网络(Datawhale X 李宏毅苹果书AI夏令营)

卷积神经网络(Datawhale X 李宏毅苹果书AI夏令营) 卷积神经网络是一种非常典型的网络 架构&#xff0c;常用于图像分类等任务。 一张图像是一个三维的张量&#xff0c;其中一维代表图像的 宽&#xff0c;另外一维代表图像的高&#xff0c;还有一维代表图像的通道&#xff08;…