王道计算机网络学习笔记(4)——网络层

前言

文章中的内容来自B站王道考研计算机网络课程,想要完整学习的可以到B站官方看完整版。

四:网络层

​​​​​​​​​​​​​​在计算机网络中,每一层传输的数据都有不同的名称。

  1. 物理层:传输的数据称为比特(Bit)。
  2. 数据链路层:传输的数据称为帧(Frame)。
  3. 网络层:传输的数据称为数据报(Datagram)。
  4. 传输层:传输的数据称为段(Segment)或用户数据报(User Datagram)。
  5. 应用层:传输的数据根据具体的应用不同,可以称为消息(Message)、报文(Packet)或请求/响应(Request/Response)等。

4.1.1:网络层功能概述

网络层:主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务,网络层的传输单位是数据报。 

功能一:路由选择与分组转发(最佳路径)

 功能二:异构网络互联

 功能三:拥塞控制

路由器功能

转发:达到路由器输入链路之一的数据报如何转发到该路由器的输出链路之一

路由选择:控制数据报沿着从源主机到目的主机的端到端路径中路由器之间的路由方式

 数据平面执行的主要功能是根据转发表进行转发,这是路由器的本地动作

 控制平面(传统方法/每路由器法)

4.2.1:路由算法和路由协议

 路由算法(静态路由算法、动态路由算法)

分层次的路由选择协议

自制系统AS基本概念

4.3.1:IP数据报格式 

IP数据报格式和各数据段解释

版本:IPv4/IPv6 ?

首部长度:单位是4B,最小是5(因为当可变部分为0时,固定部分还有20B)

区分服务:指示期望获得哪种类型的服务

总长度:首部+数据,单位是1B

生存时间TTLtime to leave):IP分组的保质期,经过一个路由器-1,变成0则丢弃。表示数据包在网络中可以传输的最大跳数,生存时间字段的目的是防止数据包在网络中无限循环,并确保数据包能够在一定时间内到达目的地。

协议:数据部分的协议

 首部检验和:只检验首部

 源IP地址和目的IP地址:32位

4.3.2:IP数据报分片

最大传送单元MTU链路层数据帧可以封装数据的上限

 

标识:同一数据报的分片使用同一标识

标志:只有两位有意义x_ _,中间位DFDon’t Fragment(DF = 1, 禁止分片; DF = 0, 允许分片)。最低位MFMore Fragment(MF = 1, 后面还有分片; MF = 0, 代表没有分片)

片偏移:指出较长分组分片后,某片在原分组中的相对位置。以8B为单位

IP数据报分片例题

IP数据报中首部长度、总长度、片偏移单位

 

4.3.3:IPv4地址

IP编址的过程

分类的IP地址(其中127.0.0.1用于本地回环测试)

 特殊IP地址

私有地址,网段个数(能够分配多少个网络号)

每类IP地址最大网络、主机可用数

4.3.4:网络地址转换NAT

4.3.5:子网划分和子网掩码

子网划分

 两级IP地址和三级IP地址的子网掩码,主机号全0

子网掩码和IP地址逐位相与就可得到子网网络地址,子网掩码可以确定主机号有多少位

子网掩码例题:

由主机IP和子网掩码可以求出,子网是180.80.76.0。其中网络号(B类地址)占前16位,子网号占6位,其余10位为主机号。当主机号全为1时就是广播地址,即选D

4.3.6:无分类编址CIDR

无分类编制CIDR优点

消除了传统的A类,B类和C类地址及划分子网的概念

CIDR地址块:CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址块”

 构成超网、路由聚合

 例题

最长前缀匹配

4.3.7:ARP协议

ARP高速缓存:IP地址和MAC地址的映射

本质是解决下一跳到哪

1号主机和3号主机通信,1号主机先通过广播ARP请求分组告诉3号主机,然后3号主机就会返回它对应的IP地址和MAC地址

 ARP协议使用过程

ARP协议(Address Resolution Protocol)是一种用于将IP地址解析为MAC地址的协议。在计算机网络中,每个设备都有一个唯一的MAC地址和一个IP地址。当设备需要发送数据包给目标设备时,它首先需要知道目标设备的MAC地址才能发送数据。这就是ARP协议的作用,它通过发送ARP请求广播来询问目标设备的MAC地址,然后目标设备会回复ARP响应包,包含自己的MAC地址。

RARP协议(Reverse Address Resolution Protocol)是与ARP相反的协议。它用于将MAC地址解析为IP地址。在某些情况下,设备可能只知道自己的MAC地址,但需要获取其IP地址。这时候就可以使用RARP协议。设备发送一个RARP请求广播来询问自己的IP地址,然后网络中的RARP服务器会回复包含对应IP地址的RARP响应包。

需要注意的是,随着技术的发展,ARP协议已经被更先进的协议替代,如NDP(Neighbor Discovery Protocol)取代了IPv6中的ARP。同样地,RARP协议也已经不再常用,因为现代的操作系统都支持动态主机配置协议(DHCP),可以自动分配IP地址给设备

4.3.8:DHCP协议

主机获取IP地址的方式(静态和动态)

DHCP协议工作流程

4.3.9:ICMP协议

ICMP报文放在IP数据报的数据部分

总之,ICMP在计算机网络中起到了重要的作用,它不仅提供了错误报告和诊断功能,还能用于网络连接测试、网络拓扑发现以及路由器通信等方面

4.4:IPv6

IPv4数据报格式

IPv6数据报格式

IPv6地址的表示形式

IPv6基本地址类型

 IPv6IPv4过渡的策略(双栈协议和隧道技术)

4.5.1:RIP协议与距离向量算法

RIP协议是一种分布式的基于距离向量的路由选择协议

RIP协议和谁交换?多久交换一次?交换什么?

距离向量算法核心

距离向量算法例题

 

4.5.3:BGP协议

BGP和谁交换?交换什么?多久交换?

 

 BGP-4的四种报文

三种路由协议的比较(RIP、OSPF、BGP)

 

4.6:IP组播

ip数据报的三种传输方式(单播、广播、组播)

 

组播地址范围为224.0.0.0~239.255.255.255(D类地址),一个D类地址表示一个组播组,只能用作分组的目标地址,原地址总是为单播地址。

硬件组播

以太网多播地址(48位)组成

IGMP协议与组播路由选择协议

IGMP协议让路由器知道本局域网上是否有主机参加或退出了某个组播组

IGMP工作的两个阶段

组播路由选择协议

 

4.7:移动IP

概念(设备移动,IP不动)

 

4.8:网络层设备(路由器)

 输入端口

 输出端口

三层设备比较

物理层关注传输媒介和信号的特性;数据链路层负责帧的传输和检测;网络层则处理数据的路由和分组

 

 “同一网段”

在计算机网络中,同一网段指的是具有相同网络地址(Network Address)的设备集合。一个网络地址由IP地址和子网掩码(Subnet Mask)组成,IP地址用于标识主机或网络,而子网掩码用于划分主机和网络之间的界限。

在同一网段中,设备可以使用相同的网络地址,并且可以直接进行通信,而无需经过路由器。它们共享相同的网络前缀,因此可以通过局域网(Local Area Network,LAN)或交换机互相发送数据帧。

例如,假设有三台设备连接到同一个局域网上,它们的IP地址和子网掩码如下所示:

设备1:IP地址 192.168.0.10,子网掩码 255.255.255.0 设备2:IP地址 192.168.0.20,子网掩码 255.255.255.0 设备3:IP地址 192.168.0.30,子网掩码 255.255.255.0

由于它们的IP地址的前三个字节是相同的(192.168.0),并且子网掩码也相同,因此它们属于同一网段。这意味着它们可以直接通信,而不需要经过路由器。

同一网段的设备可以方便地进行局域网内的通信和资源共享,而不需要经过外部网络设备。

总结

以上是本文的全部内容,非常感谢你能看到这。

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

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

相关文章

vmware-ubuntu 出现的奇怪问题

虚拟机突然连不上网 参考博文-CSDN-卍一十二画卍(作者)-Vmware虚拟机突然连接不上网络【方案集合】 sudo vim /var/lib/NetworkManager/NetworkManager.statesudo service network-manager stop sudo vim /var/lib/NetworkManager/NetworkManager.stat…

git -- SSL certificate problem

SSL certificate problem 1.问题描述 新建一个仓库,在向里面上传文件时,出现SSL证书问题 2.解决方法 这个问题是由于没有配置信任的服务器HTTPS验证。默认,cURL被设为不信任任何CAs,就是说,它不信任任何服务器验证。…

HOT64-搜索二维矩阵

leetcode原题链接:搜索二维矩阵 题目描述 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非递减顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回…

【机器学习】吴恩达课程1-Introduction

一、机器学习 1. 定义 计算机程序从经验E中学习,解决某一任务T,进行某一性能P,通过P测定在T上的表现因经验E而提高。 2. 例子 跳棋程序 E:程序自身下的上万盘棋局 T:下跳棋 P:与新对手下跳棋时赢的概…

用Python采用Modbus-Tcp的方式读取PLC模块数据

使用计算器得到需要的寄存器地址 这里PLC地址是83,对应的程序16进制读取地址是53 实际上由于PLC地址从1开始,所以这里实际地址应该是52,因为计算机从0开始 使用网络调试助手生成报文 使用Python中的内置函数int()。以下是将人员卡号’b’3b44’转换为十…

解决appium-doctor报gst-launch-1.0.exe and/or gst-inspect-1.0.exe cannot be found

一、下载gst-launch-1.0.exe and gst-inspect-1.0.exe 下载地址:Download GStreamer runtime installer 和 development installer 两个应用程序都要下载并安装 二、运行安装 下载好后点击安装会弹出如下界面,点击“更多信息”展开,点击“仍然…

拓宽“主航道”的Serverless与EDA领域,亚马逊云科技不断创新开拓

在新潮如走马灯般变换的时尚界,每隔几年就会刮起一阵复古风。被誉为“时尚教父”的著名设计师安德烈莱昂塔利曾说:“时尚总是在寻找新的灵感和方向,而复古是其中一个重要的来源。” 无独有偶。日新月异的高科技领域也会出现公认的“过时”…

msys2安装与配置: 在windows上使用linux工具链g++和包管理工具pacman C++开发

文章目录 为什么用这个msys2下载、doc安装,很简单初次运行,做些配置更新软件安装与卸载方法安装必要的软件包设置win环境变量在windows terminal中使用在vscode中使用 为什么用这个msys2 方便windows上的C开发demo,不需要VS了方便C开发安装o…

跨越山海,爱在滇西|拓数派为滇西孩子点亮科学梦想

近日,拓数派在共青团浙江大学委员会、景东县教育体育局和景东团县委等单位指导下开展“爱在滇西”2023年公益助学活动,并携手浙大国际科创中心、浙大微纳电子学院、启真科技控股公司和北京德恒律所共同向景东浙大求是中学捐赠爱心助学金,用于…

【RISC-V】昉·星光 2单板计算机初始调试记录

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…

JavaSwing+MySQL的飞机订票系统(内含oracle版本)

点击以下链接获取源码: https://download.csdn.net/download/qq_64505944/88055544 JDK1.8 MySQL5.7 功能:接收客户端发来的数据、处理客户端发来的数据、发送数据包到客户端;客户端:查询所有航班的信息、查看自己所定的票、订票…

mac批量提取文件夹的名称,怎么操作?

mac批量提取文件夹的名称,怎么操作?很多小伙伴想知道在mac电脑上可以一键快速批量的将大量文件夹的名提取出来,而不是采用一个一个名称提取的方法,这是一个有利于提高工作效率的办法,这一项技能在网上几乎找不到解决办…

cloudwatch agent通过squid代理上传指标到cloudwatch

1.安装cloudwatch agent代理 1.1、安装cloudwatch代理包 2.2、更改程序包的目录 3.3.创建cloudwatch代理配置文件 运行以下命令配置向导 sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard 按照提示选择个性化服务 2.安装squid服务器 简…

Git基本操作命令

** 创建仓库 **,用于被git管理 第一步: $ mkdir learngit $ cd learngit $ pwd /Users/michael/learngit第二步: 通过git init命令把这个目录变成Git可以管理的仓库: $ git init** 提交代码 **: 第一步&#xff…

JVM概述

1.什么是虚拟机? 虚拟机就是一台虚拟的计算机。它是一款软件,它分为系统虚拟机(比如VMware)和程序虚拟机(比如Java虚拟机)。 2.JVM的作用 Java虚拟机负责装载字节码文件到内部,编译为对应平台上的机器码指令来执行,还有自动的垃…

系统学习Linux-Rsync远程数据同步服务(三)

一、概述 rsync是linux 下一个远程数据同步工具 他可通过LAN/WAN快速同步多台主机间的文件和目录,并适当利用rsync 算法减少数据的传输 会对比两个文件的不同部分,传输差异部分,因此传输速度相当快 rsync可拷贝、显示目录属性&#xff0c…

透视表可视化简单案例

import pandas as pd import numpy as np import os basepath/Users/kangyongqing/Documents/kangyq/202307/标准版学期制C2/pathos.path.join(basepath,02freetime.csv) dtpd.read_csv(path,dtype{shifen:object}) print(dt.head()) import matplotlib.pyplot as pltfor i in …

自动化测试-selenium环境搭建

文章目录 1. 什么是自动化2. 自动化测试分类3. selenium的环境搭建4. 测试selenium 1. 什么是自动化 自动化是指使用软件工具、脚本或程序来执行一系列的任务、操作或流程,而无需人工干预或指导。 自动化测试:使用自动化工具和脚本来执行测试用例&#x…

奖牌数领跑是为何?解码长沙华中医卫科技中等职业学校的国防教育成功之道

近些年,越来越多的学生、家长、企业开始重新审视职业教育的价值。在产教融合的大背景下,职业教育已经成为了高新产业发展的人才引擎,职业教育的教学模式、软硬件配置乃至未来毕业生的就业情况,已完全变了模样。 实际上&#xff0…

Windows 组策略 部署打印机

一、服务端 1、打印机管理:添加打印机 2、选择打印机 3、第一次安装,选择这个 4、下载驱动,从磁盘安装 5、已成功安装 6、选中打印机右击属性:列出目录 7、创建一个组策略 8、组策略设置 用户设置 → 首选项 → 控制面板 → 打印…