首页 > 其他分享 >1.网络基础基础了解

1.网络基础基础了解

时间:2024-04-01 15:55:20浏览次数:20  
标签:255.255 ip 基础 网络 192.168 Huawei 了解 100.100 32

一、环境准备,软件包

  • ensp(先装下面三个)

  • virtualbox

  • winpcap

  • wireshark

二、数据通信的原理

从个方面说:

(1)IP地址:

(2)路由技术:

(3)DNS域名系统

1、IP地址

1)、IP的基本认识

IP 在 TCP/IP 参考模型中处于第三层

1️⃣:应用层,是一些协议(如:ftp文件传输,ssh远程登录,http网络请求)

2️⃣:传输层,tcp,udp协议(MAC地址+IP地址+端口号)他的功能就是端口到端口的通信(如:我们有了mac地址和ip地址,我们还需要一个参数,表示这个数据包到那个进程(程序使用),相比之下网络层就是建立主机到主机的通信)

3️⃣:网络层,IP协议(mac地址+IP地址)

4️⃣:网络接口层,(数据链路层+物理层)线路,无线电,光纤

2)、ip传输流程

  • 计算机A主机传送表情包到计算机B,

这个数据包就像一个包裹,上面有,源ip地址,目标ip地址,下一跳ip地址,网关ip地址

数据包发送给网关路由器,路由器就会找目标的ip,然后根据路由找到下一个节点(也是一个路由,继续相同操作,直至发送到目标主机),,

3)、ip地址的格式

192.168.1.1

网络位+主机位(划分网段,方便管理)

  • 网络位:是为了确定你属于那个网段

    192.168.1.x

    另一个地址是192.168.1.23,就和我在相同的网段,

    172.16.1.1 不在相同网段

  • 由什么来决定网络的长度?

    由子网掩码来决定是三段还是两段(192.168.1.1 255.255.255.0 :三个255代表192.168.1是网络位,如果是两个255代表192.168.是网络位(一个网段))

  • 主机位:

4)、DHCP作用

作用就是自动给电脑分配ip地址

4.1)、自动获取地址案例

  1.给路由器配置一个ip
[Huawei]interface g 0/0/0
[Huawei-GigabitEthernet0/0/0]ip a 192.168.1.1 255.255.255.0

2.把路由器当成dhcp服务器让他去分发ip
[Huawei]dhcp enable //开启dhcp服务
[Huawei]interface g 0/0/0 //选择一个接口开通dhcp的功能
[Huawei-GigabitEthernet0/0/0]dhcp select interface //选择接口

3.pc1 pc2 pc3设置中开启dhcp配置即可,用ipconfig查看

5)、案例:配置接口ip

  • 配置两台路由设备互联物理接口地址

ar2220

  
AR01
<Huawei>system-view   ##系统视图
[Huawei]interface GigabitEthernet 0/0/0  #进入0/0/0接口
[Huawei-GigabitEthernet0/0/0]ip address 192.168.1.1 255.255.255.0 #给0/0/0配置IP地址

AR02
<Huawei>system-view   ##系统视图
[Huawei]interface GigabitEthernet 0/0/0  #进入0/0/0接口
[Huawei-GigabitEthernet0/0/0]ip address 192.168.1.2 255.255.255.0 #给0/0/0配置IP地址
[Huawei-GigabitEthernet0/0/0]quit

[Huawei]ping 192.168.1.2
 PING 192.168.1.2: 56  data bytes, press CTRL_C to break
   Reply from 192.168.1.2: bytes=56 Sequence=1 ttl=255 time=20 ms
   Reply from 192.168.1.2: bytes=56 Sequence=2 ttl=255 time=20 ms
   Reply from 192.168.1.2: bytes=56 Sequence=3 ttl=255 time=30 ms
   Reply from 192.168.1.2: bytes=56 Sequence=4 ttl=255 time=20 ms
   Reply from 192.168.1.2: bytes=56 Sequence=5 ttl=255 time=20 ms

 --- 192.168.1.2 ping statistics ---
   5 packet(s) transmitted
   5 packet(s) received
   0.00% packet loss
   round-trip min/avg/max = 20/22/30 ms

6)、通过网址去访问(dns域名)

  • 添加dns服务器

  
AR1
[Huawei-GigabitEthernet0/0/0]dhcp server dns-list 192.168.1.100
  • PC1

  • DNS-server

7)、网关讲解

作用:网关的作用是用于不同子网/网段之间的通信

7.1)、一个网关测试

如上图:100.100.100.100和192.168.1.200很明显不在同一网段,需要通过网关来实现通信,如何实现如下图

  
1、给AR1的0/0/1接口配置ip
[Huawei]int g 0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 100.100.100.1 255.255.255.0
2、给pc5配置网关,ip等信息
3、用pc2  ping  pc5

PC>ping 100.100.100.100
Ping 100.100.100.100: 32 data bytes, Press Ctrl_C to break
From 100.100.100.100: bytes=32 seq=1 ttl=127 time=47 ms
From 100.100.100.100: bytes=32 seq=2 ttl=127 time=31 ms
From 100.100.100.100: bytes=32 seq=3 ttl=127 time=32 ms
From 100.100.100.100: bytes=32 seq=4 ttl=127 time=31 ms
From 100.100.100.100: bytes=32 seq=5 ttl=127 time=47 ms

路由器是如何判断该从那个口转发呢?(通过路由表)

  
[Huawei]display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
        Destinations : 10       Routes : 10  

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

 100.100.100.0/24  Direct  0    0           D   100.100.100.1   GigabitEthernet 0/0/1
 100.100.100.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet 0/0/1
100.100.100.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet 0/0/1
     127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
     127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
   192.168.1.0/24  Direct  0    0           D   192.168.1.1     GigabitEthernet 0/0/0
   192.168.1.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet 0/0/0
 192.168.1.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet 0/0/0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0

7.2)、多个网关

  
1、AR1配置
[Huawei]sysname RA
[RA]INT G0/0/0
[RA-GigabitEthernet0/0/0]ip add 192.168.1.10 255.255.255.0
[RA-GigabitEthernet0/0/0]int g 0/0/1
[RA-GigabitEthernet0/0/1]ip add 192.168.2.1 255.255.255.0

2、AR2配置
[Huawei]sysname RB
[RB]int g 0/0/0
[RB-GigabitEthernet0/0/0]ip add 192.168.2.10 255.255.255.0
[RB-GigabitEthernet0/0/0]int g 0/0/1
[RB-GigabitEthernet0/0/1]ip add 192.168.3.1 255.255.255.0

3、配置好pc端和server端的IP地址

4、配置完后发现pc端ping不通server端
原因是因为网关AR1并没有去server端的路由(查看路由)
<RA>display ip routing-table 192.168.3.10
<RA>为空值
***解决方法*******
添加一条去往AR2的静态路由
[RA]ip route-static 192.168.3.0 255.255.255.0 192.168.2.10
*********192.168.3网段的网络都去下一跳的地址192.168.2.10

查看路由表
[RA]display ip routing-table 192.168.3.10
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

   192.168.3.0/24  Static  60   0          RD   192.168.2.10    GigabitEthernet
0/0/1
下一跳地址192.168.2.10

发现还是ping不通,pc端能server端但是回不来所以配置AR2到AR1的路由

5.AR2配置
[RB]dis ip routing-table 192.168.1.1
[RB]ip route-static 192.168.1.0 255.255.255.0 192.168.2.1
[RB]dis ip routing-table 192.168.1.1
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

   192.168.1.0/24  Static  60   0          RD   192.168.2.1     GigabitEthernet
0/0/0

然后就能ping通了
PC>ping 192.168.3.10

Ping 192.168.3.10: 32 data bytes, Press Ctrl_C to break
From 192.168.3.10: bytes=32 seq=1 ttl=253 time=15 ms

2、TCP/UDP讲解

tcp/udp:都工作在传输层,用于程序之间的数据传输

两者的区别,在于连接和非链接

1)、TCP协议

tcp特点:传输可靠(不考虑时间因素)比如:一问一答

  • 解决网络不可靠的连接

tcp的发起过程

  • 三次握手

  • 传输确认

  • 四次挥手

1.1)、如何解决丢包和乱序问题?

TCP将要传输的每个字节都进行了编号​,序号是本报文段发送的数据组的第一个​字节的编号,序号可以保证传输信息的有效性。比如:一个报文段的序号为300,此报文段数据部分共有100字节,则下一个报文段的序号为401。

tcp协议中会携带序列号和长度,接收端收到数据后需要回复确认号,确认报文中的ack=序列号+长度=下一包的起始序列号。

TCP将每个字节的数据都进行了编号,即序列号:

1.2)、超时重传机制

超时重传有两种可能:数据报丢了或者ACK丢了

  • 主机A给主机B发送数据之后可能因为种种原因,数据没有到达主机B

  • 如果主机A在一定时间间隔内没有收到主机B发来的ACK,就会进行重发

如果是ACK丢了

主机A一直收不到主机B的ACK,就会进行重传, 那么主机B就会收到很多重复的数据,那么TCP协议需要能够识别出哪些包是重复的并且去掉,此时利用序列号和确认序号就可以达到去重的效果。

确认序号表示告诉发送方,前面的数据都已经正常接收了。比如主机A收到1001,就表示1-1000之间的数据已经成功传输。

1.3)、连接管理机制(重要,三次握手四次挥手)

正常情况下,TCP要要经过三次握手建立连接,四次挥手断开连接

上图可以这么理解: 客户端:咱建立连接吧!可好? 服务器:好啊好啊 客户端:行!

客户端和服务器开始传输数据

客户端:我这边没啥了,咱关闭连接吧 服务器:好,我看看我这边还有啥 服务器:我这边也没数据了,咱可以关闭连接了 客户端:好的

1.4)、滑动窗口

确认应答机制中,每发一次数据,都要等待一个ACK,发送方收到ACK之后,才可以发送下一个数据。这样做有一个缺点:性能差,耗时

那么可以一次发送多条数据,就会大大提高性能了。

  • 窗口大小指的是无需等待确认应答就可以继续发送数据的最大值。上图的窗口大小是4000个字节

  • 发送前四个段的时候,不需要等待任何ACK,直接发送

  • 收到第一个ACK后,窗口向后移动,继续发送第五个段的数据

  • 依次类推,窗口就像是在滑动一样向后移

  • 操作系统内核为了维护这个滑动窗口,需要开辟发送缓冲区来记录当前还有哪些数据没有应答;只有确认应答过的数据,才能从缓冲区删掉

  • 窗口越大,则网络的吞吐率就越高,性能就越好

情况一:ACK丢了

这种情况下,ACK丢失无所谓,可以通过后面的ACK进行确认。

情况二:数据包丢了

  • 当某一段报文段丢失之后,发送端会一直收到 1001 这样的ACK,就像是在提醒发送端 “我想要的是 1001” 一样

  • 如果发送端主机连续几次收到了同样一个 “1001” 这样的应答,就会将对应的数据 1001 - 2000 重新发送

  • 这个时候接收端收到了 1001 之后,再次返回的ACK就是7001了(因为2001 - 7000)接收端其实之前就已经收到了,被放到了接收端操作系统内核的接收缓冲区中

2)、UDP协议

相当于寄信

  • 无连接:只需要知道对方的IP和端口号,就可以直接发送数据,不需要建立连接

  • 不可靠:没有确认机制和重传机制;如果因为网络故障该段无法发到对方,UDP协议层也不会给应用层返回任何错误信息

  • 面向数据报:不能灵活的控制读写数据的次数和数量。应用层交给UDP多长的报文,UDP原样发送,既不会拆分,也不会合并

  • 有最大传输长度限制:UDP报文头部中有一个数据报长度字段,最大数字是65535字节,限制了一个完整 UDP报文的长度不能超过64k,不适合传输大数据

标签:255.255,ip,基础,网络,192.168,Huawei,了解,100.100,32
From: https://www.cnblogs.com/j-qingtian/p/18108627

相关文章

  • 开启极速网络时代,IDC大带宽引领行业新潮流
    随着信息技术的迅猛发展,企业对网络速度和稳定性的需求日益增长。在这个数字化、信息化的时代,一个稳定、高效的网络环境对于企业的运营和发展至关重要。为了满足广大企业的需求,我们凭借先进的香港机房和海外机房部署,以及强大的企业组网能力,推出了IDC大带宽服务,致力于为企业提供一个......
  • 测试基础和功能测试
    一、质量模型1.功能性:功能数量、功能正确实现、错误处理情况2.性能3.兼容性:浏览器兼容性:谷歌,火狐,Edge4.易用性:简洁、友好、流畅、美观5.可靠性6.安全性7.可移植性8.可维护性*.界面布局a.布局与UI原型一致b.图片与文字准确与UI原型无误二、测试流程1.需求......
  • 【学习笔记】字符串基础:后缀数组
    后置数组好难啊好难啊好难啊好难啊好难啊好难啊最后还是听了不知道从ftp里搞出来的yspm讲课视频才听懂的,但是yspm用的屏幕绘画是看不见的比较尊贵,然后开了画图本文约定字符串下标从\(1\)开始后缀数组后缀数组,即\(\text{SA(SuffixArray)}\),主要关系到两个数组:\(sa......
  • 【Python基础】判断语句
    文章目录@[toc]布尔类型示例比较运算符逻辑运算符and示例or示例not示例特殊情况下的逻辑运算符andorif判断语句格式示例else判断语句格式示例elif语句格式执行流程示例if嵌套格式示例个人主页:丷从心.系列专栏:Python基础学习指南:Python学习指南布尔......
  • 电科院密码保密与信息安全竞赛网络攻防宣传赛 Writeup
    一、战队信息战队名称:20221214战队排名:1二、解题过程ctf1用Winhex打开,最后有一串编码字符,拿去一把梭即可。ctf2目录穿越GET/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/flagctf3仔细观察可以看到url编码后的SQL注入语句,mid用于截取字符串,当出现welcomeadmin!说明该字符正确......
  • 【从零开始AI绘画2】StableDiffusionWebUI的基础使用
    StableDiffusionWebUI的基础使用第一章中已经完成了SDwebui的部署已经初始化,接下来我们开始基础使用,涉及更细节高级的功能本文暂时不写文章目录StableDiffusionWebUI的基础使用界面简介一、大模型SDcheckpoint加载checkpoint下载checkpoint模型二、提示词正向提示词......
  • Python教程01-基础知识
    1.注释1.1什么是注释从小我们知道看书时,可以做一些笔记,能够把当时的灵感想法记录下来,以便在以后再次阅读时快速想起来同样,Python编程语言是由英文编写的,很多时候怕忘记这些代码的作用以及注意点等,也需要写一点“笔记”,此时这些帮助我们的信息就成为“注释”1.2注释的作用......
  • 效率工具RunFlow完全手册之基础篇
    RunFlow是我们开发的一款全新的效率工具,本文作为RunFlow操作手册和功能演示的基础篇,想了解我们有哪些新特性可以阅读我们的这篇文章,这里就不过多赘述了,我们直接开始。关键字关键字是我们的一个核心概念,一个功能通常由一个或多个关键字构成,并且所有的这些关键字您都可以自定义,如......
  • C++类基础8——嵌套类
    嵌套类一个类可以定义在另一个类的内部,前者称为嵌套类或嵌套类型。下面是一个使用C++嵌套类的示例:#include<iostream>classOuterClass{public:classInnerClass{public:voidprintMessage(){std::cout<<"HellofromInnerClass!......
  • 系统学习Java:构建坚实的编程基础
    Java是一种广泛使用的编程语言,以其跨平台性、强大的生态系统和稳健的性能而受到开发者的青睐。无论你是编程新手还是希望转战Java的经验丰富的开发者,系统学习Java都需要一个明确的学习路径。本文将为你提供一个全面的指南,帮助你从多个关键方面入手,构建坚实的Java编程基础。......