计算机网络原理总结C-网络层

网络层

  • 网络层提供的两种服务
  • 网际协议IP
    • 虚拟互连网络
    • IP地址
    • 子网掩码(无分类编址CIDR)
    • IP地址和MAC地址
    • IP数据报格式
    • (路由)转发分组的流程
      • 因特网的路由选择协议(动态路由协议)
  • 网际控制报文协议ICMP
  • IP多播(IGMP协议)
  • 虚拟专用网VPN和网络地址转换NAT

1、网络层提供的两种服务

  1. 争论焦点
  2. 虚电路服务和数据包服务
  3. 两种服务的对比

2、网际协议IP

1. 虚拟互连网络(逻辑互连,通过路由器将网络互连)
  1. 4种网络互连的设备【中间设备又称为中间系统或中继系统】
    • 物理层中继系统:转发器(repeater)
    • 数据链路层中继系统:网桥或桥接器-交换机(bridge)
    • 网络层中继系统:路由器(router)
    • 网络层以上的中继系统:网关(gateway)
  • 【注意】

    • 现在所说的网关是路由器的一个接口:如果没有配置网关,将不能访问其它网段,但可以访问本网段的网络,网关是访问其它网段的路由器的接口。

    • 计算机可以配置多个网关

    • 网关一般使用本网段的第一个地址或最后一个地址

  1. 虚拟互连网络需要解决的问题:虚拟互连网络可以由多种异构网络互连组成

  2. IP协议简介(四个协议)

    • ARP
    • RARP
    • ICMP
    • IGMP
2. IP地址
  1. 分层次:网络号和主机号

  2. 点分十进制记法

  3. IP地址的分类:(通过第一个字节和子网掩码划分)

    1. 十进制和二进制的关系(网络部分)

    十进制和二进制的关系1

    十进制和二进制的关系2

    十进制和二进制的关系3

    1. 常见的三种类别的IP地址
    网络类别最大网络数第一个可用的网络号最后一个可用的网络号每个网络中最大的主机数
    A类126(2^7-2)112616,777,214
    B类16383(2^14-1)128.1191.25565534
    C类2,097,151(2^21-1)192.0.1233.255.255254
    1. 特殊的几个IP地址

      • 网络部分

      (1)本地环回地址

       172.0.0.1
      

      (2)分配异常地址:Windows通过自动分配地址时,如果没有分配到正确的地址,自动分配这个网段的地址;

       169.254.0.0
      

      (3)保留的私网地址:(这些地址互联网上没有使用,提供给学校、企业等机构使用)

       10.0.0.0172.16.0.0——172.31.0.0192.168.0.0——192.168.255.0
      
      • 本机部分

        (1)主机部分全为0,代表区号

        (2)主机部分全为1,代表广播

3.无分类编址CIDR(子网掩码)
  1. 子网掩码的作用
  • 主机地址IP和子网掩码进行二进制“与”运算得到网段;如果相同则两台主机在同一网段上,就可以直接通信;否则需要通过路由器的网关进行通信。
  1. 子网划分

    1. C类网络的子网划分

    2. 点到点网络的子网掩码最好是252

      • 原因:这样网络里就有两个地址,不浪费
    3. 变长子网的划分【不等分的子网掩码不一样】及练习

    4. 将B类网络划分为两个子网

  2. 构造超网(合并网段:子网掩码向前移动)

4. IP地址和MAC地址
  1. 数据包和数据帧

    数据段+源IP+目标IP=数据包		//IP地址决定最终到哪一台机器
    数据包+源MAC+目标MAC=数据帧	//MAC地址决定下一跳给谁
    
  2. 基于MAC地址控制的代理服务器只能控制本网段计算机是否能上网:CCProxcy软件(代理软件)+Proxifier

  3. ARP协议相关(不安全)

    1. 工作机制:通过广播,将IP地址解析为MAC地址

    2. ARP欺骗(可截获数据包)

      1. P2P终结者:利用ARP欺骗将你们通信的目标Mac地址设置为自己的电脑,自己接受到数据包再发出去,可利用这个来控制带宽。

      2. 网络执法官:利用ARP欺骗拦截并返回一个根本不存在的Mac地址,这样可以控制计算机间的通信。

        • 【思考】如果想禁止本网段的网络访问互联网,如何操作?

        • 使用网络执法官将本网段的网络解析错误的网关的mac地址,这样就禁止本网段的网络访问互联网

      3. ARP防火墙:配置静态MAC地址,可以防止ARP欺骗;

        • 如果想自动配置,将命令arp -s写在.bat文件中,并设置为开机自启(在Windows中输入gpedit.msc,设置启动脚本
        arp -a //查看MAC地址
        arp -s 10.7.90.1 00-0f-e2-8f-f8-8c	//配置静态MAC地址(造成ARP欺骗,导致不能上网-不能ping网关)
        
        • 应用软件:金山贝壳ARP防火墙
    3. 【案例】如何判断ARP欺骗

      如何判断ARP欺骗

AB可以正常上网,C可以与AB正常通信,说明AB没问题并且C的物理层也没问题,可以考虑C解析不到网关的Mac地址,在可以正常通信的A使用arp -a查看正确的网关Mac地址,看C解析的Mac地址是否正确即可

  • 如果C缓存了一个错误的Mac地址使用 arp -d可以清空缓存即可

  • windows对网卡进行【网络诊断】,会把所有的MAC地址都清除掉

5.IP数据包格式
ping -i 1	//路由器网关(IP地址)回复:TTL传输中过期
【实验】通过抓包工具分析数据包首部
6.(路由)转发分组的流程
  1. 概念:路由器在不同网段转发数据包

  2. 路由表的作用

    • 沿途的路由器必须知道到目标网络下一跳给哪个接口
    • 沿途的路由器必须知道到网络下一跳给哪个接口
  3. 网络畅通的条件:能去能回

  4. 静态路由

【实验】添加静态路由
```
show interfaces fastEthernet 0/0	//查看路由器的接口地址show ip route	//查看路由表ip route (下一个网段的,路由器不关心具体地址)192.168.0.0 255.255.255.0 (下一跳接口IP)172.16.0.1	//添加静态路由no ip route 192.168.0.0 255.255.255.0 	//删除静态路由
```
  1. 默认路由

    1. Windows网关就是默认路由,网关不设置,就没有默认路由

    2. 【实验】添加默认路由

    route print	//打印路由表route add (代表下一个网段)0.0.0.0 (子网掩码)mask 0.0.0.0 (下一跳,即网关)10.7.86.1	//添加默认路由
    
    1. 设置计算机路由的作用

    【问题】当计算机有两个网卡(即两个网关)时,可连通两个网络,相当于有两个路由,这样可能会出现计算机在返回数据时,一条发到网络A,一条发到网络B

    【解决方案】只在一个网卡上加默认路由,另一个给下一跳路由

  2. 动态路由协议

    1. RIP协议(内部网关协议,自治系统内)

      1. 特点:最早、周期性广播(30秒)、根据跳数计算最佳路径(最大跳数16跳)

      2. 【实验】配置路由器的动态路由RIP协议

      route rip	//进入RIP全局配置模式network 172.16.0.0	//这里默认B类网络,所以不需要加子网掩码255.255.0.0show ip route	//查看路由器的路由表
      
    2. OSPF协议(内部网关协议,自治系统内;开放式,在电商、互联网等地方应用的协议)

      1. 特点:

        • 度量值:带宽
        • 支持多区域:即使用OSPF协议划分区域
        • 触发式更新:自动计算最佳路径
        • 有三个表:邻居表(邻居之间会发hello包)、链路状态表(交换邻居表,构成网络拓扑图)、计算路由表(最短路径优先算法,不会出现环路)
      2. 【实验】配置OSPF协议(单区域)

      route OSPF 1(进程号---可随意写,无特殊意义)	//进入OSPF全局配置模式network 172.16.0.0 (反码掩码)0.0.255.255 (告诉它这个路由器属于哪一个区域)area 0show ip route //查看路由器的路由表tracert 172.17.0.2 //跟踪路由路径
      
    3. 路由优先级:静态路由(1)> OSPF协议分配的路由(110)> RIP协议动态分配的路由(120)

    4. BGP协议(外部网关协议,自治系统间)

3、ICMP协议(网际控制报文协议)

  1. 类型:
ICMP报文种类类型的值ICMP报文的类型
差错报告报文3终点不可达
源点抑制报文
11时间超过
12参数问题
5改变路由
询问报文8或0回送(Echo)请求或回送回答
13或14时间戳(Timestamp)请求或时间戳应答
  1. 格式及内容

  2. 【应用】诊断网络故障—ping tracert pathping三大命令

    1. ping命令:判断网络拥塞、粗略估算带宽
    2. tracert/traceroute命令:跟踪一个分组从源点到终点的路径
    3. pathping命令:跟踪数据包路径;能计算丢包率(路由器转发丢包率、链路丢包率);判断拥塞时,哪一段网络丢包比较严重
【实验】抓包分析ICMP协议

4、虚拟专用网VPN

  1. 用途:通过外网访问内网

  2. 原理:将局域网通信数据等使用互联网再包一层进行传输

  3. 【应用】(案例3个)创建VPN拨号连接

(1)设置连接或网络-----(2)连接到工作区-----(3)VPN连接------(4)输入IP地址-----(5)输入用户名、密码(出现网卡)-----(6)修改属性(网络:去掉“在远程网络上使用默认网关”/这样访问互联网时不会进入内网)

  1. 站点间VPN:将两个局域网的使用VPN服务器连通,这样两个局域网内的终端可以互连

5、网络地址转换NAT

  1. 用途

    • 内网访问外网
    • 节省公网IP
  2. 原理:公网地址切换

    • NAT(只替换地址)
    • PAT(替换端口和地址)
    netstat -n	//查看目标和源端口
    
  3. 应用

    1. 配置虚拟机的NAT
    2. 虚拟机配置NAT的端口映射( 在路由器上也可以配置端口映射)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/456858.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

纯血鸿蒙的最难时刻才开始

关注卢松松,会经常给你分享一些我的经验和观点。 纯血鸿蒙(HarmonyOS NEXT)也正式发布了,绝对是一个历史性时刻,但最难的鸿蒙第二个阶段,也就是生态圈的建设,才刚刚开始。 目前,我劝你现在不要升级到鸿蒙…

最新版本jdbcutils集成log4j做详细sql日志、自动释放连接...等

maven坐标 <!-- MySQL 8 --><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.0.33</version></dependency><!-- Druid连接池 --><dependency><groupId&…

软考中级嵌入式系统设计师笔记分享(二)

1.TTL 电路是电流控制器件&#xff0c;而CMOS 电路是电压控制器件。 2.TTL 电路的速度快&#xff0c;传输延迟时间短(5-10ns)&#xff0c;但是功耗大。 常见的串行总线有 SPI、II2C、USB、RS232/RS422/RS485、CAN等;高速串行总线主要有 SATA、PCIE、IEEE 1394、Rapidl0、USB 3…

C# Unity 同步/异步编程和多线程什么关系?async/await和coroutine又是什么?

目录 不用模板生成的目录怎么这么丑啊 1.同步&#xff1f;异步&#xff1f;多线程&#xff1f; 2.async/await和coroutine&#xff1f; 证明 单线程中的同步/异步 同 异 多线程中的同步异步 同 异 1.同步&#xff1f;异步&#xff1f;多线程&#xff1f; 首先&#…

模型选择拟合

1.通过多项式拟合交互探索概念 import math import numpy as np import torch from torch import nn from d2l import torch as d2l 2.使用三阶多项式来生成训练和测试数据的标签 max_degree 20 # 多项式的最大阶数 n_train, n_test 100, 100 # 训练和测试数据集大小 true…

手动改造UPX壳,增加IAT保护

随便拿Delphi7&#xff0c;新建一个VCL窗体程序&#xff0c;画一个按钮&#xff0c;写两行代码。这一步骤讲究的是什么呢&#xff1f;率性而为&#xff0c;反正没什么卵用。比如&#xff0c;俺写的是这玩意。 <span style"color:#666666"><span style"…

FFMPEG+Qt 实时显示本机USB摄像头1080p画面以及同步录制mp4视频

FFMPEGQt 实时显示本机USB摄像头1080p画面以及同步录制mp4视频 文章目录 FFMPEGQt 实时显示本机USB摄像头1080p画面以及同步录制mp4视频1、前言1.1 目标1.2 一些说明 2、效果3、代码3.1 思路3.2 工程目录3.3 核心代码 4、全部代码获取 1、前言 本文通过FFMPEG(7.0.2)与Qt(5.13.…

YOLO系列入门:1、YOLO V11环境搭建

YOLO了解 yolo检测原理 yolo是目标检测模型&#xff0c;目标检测包含物体分类、位置预测两个内容。目前yolo的开发公司官网为&#xff1a;https://docs.ultralytics.com/zh截止到目前2024年10月&#xff0c;最新的是yolo11。关于YOLO的介绍可以参考这篇文章&#xff1a;https…

Python+Django+VUE 搭建深度学习训练界面 (持续ing)

PythonDjangoVUE 搭建深度学习训练界面 &#xff08;持续ing&#xff09; 环境说明 Pycharm 专业版2024.1.4&#xff0c;社区版不支持网页开发 下载链接&#xff1a;https://www.jetbrains.com/pycharm/download/other.html 参考链接&#xff1a;https://www.quanxiaoha.co…

es实现桶聚合

目录 聚合 聚合的分类 DSL实现桶聚合 dsl语句 结果 聚合结果排序 限定聚合范围 总结 聚合必须的三要素&#xff1a; 聚合可配置的属性 DSL实现metric聚合 例如&#xff1a;我们需要获取每个品牌的用户评分的min,max,avg等值 只求socre的max 利用RestHighLevelClien…

BIO,NIO,直接内存,零拷贝

前置知识 什么是Socket&#xff1f; Socket是应用层与TCP/IP协议族通信的中间软件抽象层&#xff0c;它是一组接口&#xff0c;一般由操作系统提供。在设计模式中&#xff0c;Socket其实就是一个门面模式&#xff0c;它把复杂的TCP/IP协议处理和通信缓存管理等等都隐藏在Sock…

vue3使用i18n做国际化多语言,实现常量跟随语言切换翻译

因为我有一个常量的配置文件在项目中&#xff0c;而且有中文内容&#xff0c;我想在切换语言的时候&#xff0c;跟着这个翻译也实时切换&#xff0c;就可以使用computed计算属性实现。 把name改成下面的样子&#xff1a; name: computed(() > t(pad.regularMode)), 就可以…

分享一款录屏、直播软件

光音录屏 光音录屏 是新一代的录屏工具&#xff0c;跟传统录屏工具相比&#xff0c;它不仅可以录制屏幕&#xff0c;还可以同时录制「人像 屏幕」&#xff0c;此外它还提供了美颜、虚拟背景、绿幕抠像、图片、文本编辑、字幕、白板等更多高级功能。你可以将录制好的视频&…

ue5实现数字滚动增长

方法1 https://www.bilibili.com/video/BV1h14y197D1/?spm_id_from333.999.0.0 b站教程 重写loop节点 方法二 写在eventtick里

ffmpeg视频滤镜: 色温- colortemperature

滤镜简述 colortemperature 官网链接 》 FFmpeg Filters Documentation 这个滤镜可以调节图片的色温&#xff0c;色温值越大显得越冷&#xff0c;可以参考一下下图&#xff1a; 咱们装修的时候可能会用到&#xff0c;比如选择灯还有地板的颜色的时候&#xff0c;选暖色调还是…

多厂商的实现不同vlan间通信

Cisco单臂路由 Cisco路由器配置 -交换机配置 -pc配置 华三的单臂路由 -路由器配置 -华三的接口默认是打开的 -pc配置及ping的结果 -注意不要忘记配置默认网关 Cisco-SVI -交换机的配置 -创建vlan -> 设置物理接口对应的Acess或Trunk -> 进入vlan接口&#xff0c;打开接…

【纯血鸿蒙】HarmonyOS和OpenHarmony 的区别

一、开源鸿蒙&#xff08;Open Harmony&#xff09; 鸿蒙系统愿来的设计初衷&#xff0c;就是让所有设备都可以运行一个系统&#xff0c;但是每个设备的运算能力和功能都不同&#xff0c;所以内核的设计上&#xff0c;采用了微内核的设计&#xff0c;除了最基础的功能放在内核…

mfc之tab标签控件的使用--附TabSheet源码

TabSheet源码 TabSheet.h #if !defined(AFX_TABSHEET_H__42EE262D_D15F_46D5_8F26_28FD049E99F4__INCLUDED_) #define AFX_TABSHEET_H__42EE262D_D15F_46D5_8F26_28FD049E99F4__INCLUDED_#if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // TabSheet.h : …

C++面向对象编程学习

C面向对象编程学习 前言一、C面向对象编程二、知识点学习1. 定义一个类1.1 使用struct定义1.2 使用class定义1.3 struct和class的区别 2. 类的定义方式2.1 单文件定义&#xff08;Inline Definition&#xff09;2.2 分离定义&#xff08;Separate Definition&#xff09;2.3 头…

[bug] vllm 0.6.1 RuntimeError: operator torchvision::nms does not exist

[bug] vllm 0.6.1 RuntimeError: operator torchvision::nms does not exist 环境 python 3.10 torch 2.4.0cu118 torchvision 0.19.0cu118 vllm 0.6.1.post2cu118问题详情 if torch._C._d…