iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >网络基础-数据包
  • 768
分享到

网络基础-数据包

2024-04-02 19:04:59 768人浏览 安东尼
摘要

目录前言数据包简要生命周期理解区数据包前言 本笔记通过记录 数据包 在网络中的生命履历来引出一些网络基础知识,如: Mac、ARP、IP、子网掩码、网关、集线器、交换机、路由器这些概

前言

笔记通过记录 数据包 在网络中的生命履历来引出一些网络基础知识,如:

Mac、ARP、IP、子网掩码、网关、集线器、交换机、路由器这些概念都是在链路层和网络层。
这些都不做严谨的说明,只是为了更好的了解而表达的个人描述

数据包简要生命周期

浏览本小节的时候遇到疑问点可以可以跳到理解区 check 一下有没有答案

数据包:

简单路径:源主机 -> 目标主机。可能路径:源主机 -> 交换机A -> 路由器A -> 路由器B -> 交换机B -> 目标主机。

参考图:

源主机视角:

  • 需要知道 本地IP 和 目标IP。
  • 通过子网掩码判断是否在同一个子网中。
  • 同一子网,则直接获取目标主机的MAC地址,发送出去。
  • 不同子网,获取默认网关的 MAC,把数据包发给默认网关设备。

交换机视角:

  • 收到的数据包必须有目标 MAC 地址。
  • 通过 MAC 地址表查映射关系。
  • 查到了就按照映射关系从我的指定端口发出去。
  • 查不到就所有端口都发出去。

路由器视角:

  • 收到的数据包必须有目标 IP 地址。
  • 通过路由表查映射关系。
  • 查到了就按照映射关系从我的指定端口发出去(不在任何一个子网范围,走其路由器的默认网关也是查到了)。
  • 查不到则返回一个路由不可达的数据包。

三张表:

  • arp 缓存表 是不断通过 arp 协议的请求逐步完善起来的。
  • 交换机中的 MAC 地址表,用于映射 MAC 地址和它的端口。
  • 路由器中的 路由表 用于映射 IP 地址(段)和它的端口。

理解区

数据包

得先了解 tcp/IP 网络七层级及各级的作用和数据封装。

  • 应用层
  • 表示层
  • 会话层
  • 传输层
  • 网络层(本节需要了解
  • 数据链路层(本节需要了解
  • 物理层

应用层的数据一层一层通过包装下来,通过物理层的物理设备发出去,到最终目的主机后,又像扒洋葱一样,一层一层扒开,最终到达应用层后的数据和源主机应用层的数据一样。如图:


名词说明:

IP:主机地址。属于网络层地址。

一般用于源主机和最终目标主机中。

MAC:设备地址。属于数据链路层地址。

一般用于当前设备和下一设备中(不一定是最终设备)。

子网掩码:用于判断 IP 处于哪个网段。

一般用于比较两个 IP 是否处于同一个子网中。

默认网关:

若发送的数据不在本子网,就丢给默认网关处理。

一般用于与外网通信。

默认网关IP一般都设为路由器IP,因为一般都是通过路由器与外网通信。

ARP:

是一种地址解析协议。根据IP地址来获取MAC地址的。

源主机携带IP数据广播给通过支持ARP设备连接起来的多主机,若目标IP对于,则该主机返回携带MAC数据给源主机。

集线器:

字面理解即可,如何一台主机数据发到集线器,都广播到所有出口。

作用在物理层(第一层),不对MAC操作。

交换机:

比集线器高级,不再是广播到所有出口,而是只转发到目标MAC的出口。

作用在数据链路层(第二层),参考MAC,只转发到目标MAC的出口。

工作在局域网内。

路由器:

比交换机高级。

具有路由功能。

作用在网络层(第三层),参考IP。

连接局域网和外网。

MAC

MAC:设备地址。属于数据链路层地址。
一般用于当前设备和下一设备中(不一定是最终设备)。

IP

IP:主机地址。属于网络层地址。

一般用于源主机和最终目标主机中。

子网

子网掩码 & 判断是否在同一子网:
IP 与 子网掩码 做 按位与 ,就可以得出该 IP 的子网网段。
如:

子网掩码:255.255.255.0

IP-1: 192.168.1.2 & 255.255.255.0 = 192.168.1.0

IP-2: 192.168.1.123 & 255.255.255.0 = 192.168.1.0

IP-3: 192.168.2.123 & 255.255.255.0 = 192.168.2.0

因为 192.168.1.0 = 192.168.1.0,所以IP-1与IP-2处于同一子网。

因为 192.168.1.0 != 192.168.2.0,所以IP-1与IP-3不在同一子网。

在发数据包时,子网的作用:

  • 若源IP和目标IP在同一子网:直接获取目标IP主机的MAC,然后把数据包丢出去。
  • 若源IP和目标IP不在同一子网:获取默认网关的 MAC ,然后把数据包丢给默认网关那边。

ARP

ARP:

  • 是一种地址解析协议。根据IP地址来获取MAC地址的。
  • 源主机携带IP数据广播给通过支持ARP设备连接起来的多主机,若目标IP对于,则该主机返回携带MAC数据给源主机。如图:

集线器

字面理解即可,如何一台主机数据发到集线器,都广播到所有出口。
作用在物理层(第一层),不对MAC操作。
如图:

交换机

比集线器高级,不再是广播到所有出口,而是只转发到目标MAC的出口。
作用在数据链路层(第二层),参考MAC,只转发到目标MAC的出口。
工作在局域网内。

交换机连接:
左边交换机的地址表:

MAC 地址 端口
bb-bb-bb-bb-bb-bb 1
cc-cc-cc-cc-cc-cc 3
aa-aa-aa-aa-aa-aa 4
dd-dd-dd-dd-dd-dd 5
ee-ee-ee-ee-ee-ee 6
ff-ff-ff-ff-ff-ff 6
gg-gg-gg-gg-gg-gg 6
hh-hh-hh-hh-hh-hh 6

路由器

作用在网络层(第三层),参考IP。
路由器的每一个端口,都有独立的 MAC 地址。
连接局域网和外网。
转发时,根据路由表转发,实际出口是根据MAC来发送到下一个设备。下一个设备判断数据包目标IP是否是本设备,若不是,就又找出下一个MAC地址把数据包丢出去。

到此这篇关于网络基础-数据包的文章就介绍到这了,更多相关数据包内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 网络基础-数据包

本文链接: https://www.lsjlt.com/news/133830.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 网络基础-数据包
    目录前言数据包简要生命周期理解区数据包前言 本笔记通过记录 数据包 在网络中的生命履历来引出一些网络基础知识,如: MAC、ARP、IP、子网掩码、网关、集线器、交换机、路由器这些概...
    99+
    2022-11-12
  • 网络基础入门(网络基础概念详解)
      本篇文章主要是对网络初学的概念进行解释,可以让你对网络有一个大概整体的认知。 文章目录 一、简单认识网络 1、1 什么是网络 1、2 网络分类  二、网络模型 2、1OSI七层模型 2、1、1 简单认识协议 2...
    99+
    2023-10-03
    网络
  • 网络原理(一)网络基础,包括IP ,网络相关的定义
    网络基础,包括IP ,网络相关的定义 网络基础冲突域广播域DNSNATNAPT 网络基础 以下图片是书上的网图。 什么是IP地址? IP地址(Internet Protocol Add...
    99+
    2023-09-12
    网络 tcp/ip php
  • 网络基础(一)桥接网络
    网络基础知识 桥接网络 桥接网络是一种网络设计技术,其目的是将两个或多个网络段连接在一起,使它们在逻辑上表现为单个网络。这通过使用网络桥来实现,网络桥工作在数据链路层(第2层),只关心MAC地址,而不...
    99+
    2023-09-01
    网络
  • wireshark网络抓包工具基础使用教程
    目录  简介 WireShark软件安装 Wireshark 开始抓包示例 Wireshark过滤器设置 停止抓包 ​编辑保存数据 界面介绍 基础操作 1. 调整界面大小 2. 设置显示列 1)添加显示列 ​2)隐藏显示列 3)删除显示列 ...
    99+
    2023-08-31
    网络 wireshark 服务器
  • Python基础:网络编程socket基
    socket也叫套接字,是对各种协议的封装,实现收发数据。Python里socket工作过程:(图片来自网络)socket在Python中实际上是一个模块,实现发送和接收数据的功能。因为socket是一个类,所以只导入模块需要使用socke...
    99+
    2023-01-31
    网络编程 基础 Python
  • python网络-计算机网络基础(23)
    一、网络简介 网络是由节点和连线构成,表示诸多对象及其相互联系。 一个人玩:   两个人玩:   多个人玩: 说明 网络就是一种辅助双方或者多方能够连接在一起的工具 如果没有网络可想单机的世界是多么的孤单 使用网络的目的 就是...
    99+
    2023-01-31
    计算机网络 基础 网络
  • Java 网络编程基础
    文章目录 前言什么是网络编程网络编程基础知识网络通讯流程长连接和短连接Socket Java 网络编程总结 前言 一个网络请求、服务之间的调用都需要进行网络通讯,在日常开发时我们可能并不会关心我们的服务端是怎么接收到请求的、...
    99+
    2023-08-16
    java 网络 开发语言
  • 网络基础入门3
    路由 路由器的工作原理:1、路由器仅仅关心数据中的 “ 目标IP 地址” ; 2、路由器提取 目标IP地址,与 路由表中的条目...
    99+
    2023-01-31
    入门 基础 网络
  • python编程之网络基础
    1 套接字是一种具有通讯端点概念的计算机网络数据结构,网络化的应用程序在开始任何通讯之前都必须要建立套接字。 套接字起源于20世纪70年代,有时人们把套接字成为“伯克利套接字”或“BSD套接字”,期初,套接字被设计用在同一台主机上多个应用...
    99+
    2023-01-31
    基础 网络 python
  • Python基础:网络编程sockets
    socketserver此模块简化了socket的编写。    1、它有一个基类,定义了如何建立连接。BaseServer提供了服务类接口,BaseServer使用了select创建了多线程。BaseServer下面有四个类:TCPServ...
    99+
    2023-01-31
    网络编程 基础 Python
  • 【网络】计算机网络基础概念入门
    🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁 🦄 个人主页——🎐个人主页 🎐✨🍁 🪁...
    99+
    2023-10-19
    计算机网络 OSI网络模型 TCP/IP模型 MAC帧地址 套接字 虚拟网络互联 网络分类
  • 网络基础知识有哪些
    这篇文章主要介绍网络基础知识有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!网络是由若干节点和连接这些节点的链路构成,表示诸多对象及其相互联系。在数学上,网络是一种图,一般认为专指加权图。网络除了数学定义外,还有...
    99+
    2023-06-27
  • Linux知识点 -- 网络基础(一)
    Linux知识点 – 网络基础(一) 文章目录 Linux知识点 -- 网络基础(一)一、网络发展二、协议1.OSI七层模型2.TCP/IP五层(或四层)模型 三、网络传输基本流程1.局域网中的两台主机通信流程2.跨网段的两台主...
    99+
    2023-08-30
    网络 linux 运维
  • Java网络编程基础详解
    目录网络编程1.1 概述1.网络编程中有两个主要的问题2.网络编程中的三要素1.3、IP1.4、端口1.5、通信协议UDP协议TCP协议1.6、TCP模拟通信客户端服务器文件上传1....
    99+
    2022-11-12
  • 《Python网络编程基础》笔记
                              python网络编程基础                           ================== Author: lujun9972 <luj...
    99+
    2023-01-31
    网络编程 基础 笔记
  • Python网络爬虫之Web网页基础
    目录⭐️Web网页基础🌟1.网页的组成✨HTML✨CSS✨JavaScript🌟2.网页的结构🌟3.节点树和节点间的关系🌟4.选择器🌟5.总结⭐️Web网页基础 我们在学习爬虫之前,...
    99+
    2023-05-15
    Python网络爬虫Web网页基础 Python网络Web网页基础 Python Web网页基础
  • python 解析网络数据包
    1、问题描述 网络数据包,我已经使用mitmproxy代理抓取了,但是,数据包有些数据是gzip进行编码的,那么怎么还原成原始报文呢?使用的语言是python。 2、网上资料 使用的方法,网上有zlib和gzip。使用gzip.deco...
    99+
    2023-01-31
    数据包 网络 python
  • 【数据链路层】网络基础 -- MAC帧协议与ARP协议
    数据链路层认识以太网以太网帧格式(MAC帧)认识MAC地址对比理解MAC地址和IP地址认识MTUMTU对IP协议的影响MTU对UDP协议的影响MTU对于TCP协议的影响 再谈局域网转发...
    99+
    2023-09-25
    网络 macos MAC帧 ARP协议 RARP
  • 详解python的网络编程基础
    目录一.什么是网络编程二.socket1.socket的基本语法2.与socket有关的一些函数服务端函数客户端函数公共函数三.程序需求服务端分析客户端分析四.代码升级加上通信循环&...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作