趣谈网络协议-笔记(2)

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介: 四、按课程笔记上面基础内容基本是从前三节课程整理出来的,下面从第四节开始分节记录第四节 DHCP源ip到目标ip,如果同一个网段,直接ARP获取mac地址发过去;否则发送到网关。

四、按课程笔记

上面基础内容基本是从前三节课程整理出来的,下面从第四节开始分节记录

第四节 DHCP
  • 源ip到目标ip,如果同一个网段,直接ARP获取mac地址发过去;否则发送到网关。
  • DHCP:dynamic host configuration protocol


    img_b46f9cf7405bf59861b468230c0bec64.jpe
第五节 MAC层
  • mac层解决的问题:
    • 发给谁:arp协议,用吼的方式寻找目标mac地址
    • 谁先发谁后发:多路访问,解决堵车问题
    • 发送出错怎么办:CRC循环冗余检测
第六节 交换机与VLAN
  • STP(Spanning Tree Protocol)协议: 将有环的图变成无环的树。使用最小生成树算法,类比武林比武,4种情况
  • VLAN虚拟隔离:在原来的二层头上增加一个TAG。里面有个VLAN ID
第七节 ICMP与PING
  • ping: 基于ICMP协议,使用查询报文
  • TraceRoute: 使用差错报文,大军前行就带一顿饭(TTL递增),追踪沿途路由器
第八节 网关
img_d75e17317fee5282e60a4d6547302551.jpe
  • 路由器:每个口相当于一个网关,都有一个ip地址,对应着一个局域网
  • 静态路由:一条一条的匹配规则(对应动态路由)
  • 转发网关:路由过程中不改变ip地址,局域网内
  • NAT(Network Address Translation)网关
    • SNAT(Source NAT):内网到公网时,内网ip转换为公网ip,
    • DNAT(Destination NAT):反之
第九节 路由协议
  • 动态路由算法:如何找到最短路径
    • 距离矢量路由算法, 基于Bellman-Ford。仅适用于小网络路由器不多时
    • 链路状态路由算法,基于Dijkstra算法,只广播更新或改变的网络拓扑
  • 动态路由协议:在路由间交换信息
    • OSPF:Open Shortest Path First, 基于链路状态路由算法,广泛应用于数据中心,

      • 也被称为IGP(Interior Gateway Protocol),内部网关协议
      • 等价路由: 多个最短路径上做负载均衡
    • BGP:Border Gateway Protocol,外网路由协议,用于AS之间的互联。类比:国家之间就不是只有远近的问题,还有policy问题,是否允许通行。使用算法是路径矢量路由协议,是距离矢量路由协议的升级版


      img_391d24215814ac40ebceb89955141559.jpe
      • AS(Autonomous System): 自治系统。类比一个个国家(数据中心),每个AS都有边界路由器,通过它与外界建立联系。
      • eBGP:边界路由器之间使用eBGP广播路由
      • iBGP:通过iBGP,内部路由器能够找到到达外网目的地的最好的边界路由器
第十节 UDP
  • 连接:为维护客户端和服务端交互状态而建立的数据结构
  • TCP:面向连接。提供可靠交互,无差错、不丢失、不重复、按序到达。面向字节流,无头无尾。
  • UDP:面向无连接。基于数据报,一个一个发,一个一个收。


    img_e9de6d4e1e76e9d51bbb534b5dd73eb7.jpe
    UDP包结构
  • 适用场景
    1. 需要资源少,网络较好,丢包不敏感。如DHCP
    2. 广播应用,不需要一对一建立连接。
    3. 性能要求高,比如速度快时延低

下一篇:趣谈网络协议-笔记(3)

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
3月前
|
Linux 开发工具 Android开发
FFmpeg开发笔记(六十)使用国产的ijkplayer播放器观看网络视频
ijkplayer是由Bilibili基于FFmpeg3.4研发并开源的播放器,适用于Android和iOS,支持本地视频及网络流媒体播放。本文详细介绍如何在新版Android Studio中导入并使用ijkplayer库,包括Gradle版本及配置更新、导入编译好的so文件以及添加直播链接播放代码等步骤,帮助开发者顺利进行App调试与开发。更多FFmpeg开发知识可参考《FFmpeg开发实战:从零基础到短视频上线》。
288 2
FFmpeg开发笔记(六十)使用国产的ijkplayer播放器观看网络视频
|
3月前
|
机器学习/深度学习 数据可视化 计算机视觉
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
这篇文章详细介绍了如何通过可视化深度学习中每层特征层来理解网络的内部运作,并使用ResNet系列网络作为例子,展示了如何在训练过程中加入代码来绘制和保存特征图。
70 1
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
|
3月前
|
机器学习/深度学习 数据可视化 Windows
深度学习笔记(七):如何用Mxnet来将神经网络可视化
这篇文章介绍了如何使用Mxnet框架来实现神经网络的可视化,包括环境依赖的安装、具体的代码实现以及运行结果的展示。
64 0
|
3月前
|
机器学习/深度学习 编解码 算法
轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
MobileNetV3是谷歌为移动设备优化的神经网络模型,通过神经架构搜索和新设计计算块提升效率和精度。它引入了h-swish激活函数和高效的分割解码器LR-ASPP,实现了移动端分类、检测和分割的最新SOTA成果。大模型在ImageNet分类上比MobileNetV2更准确,延迟降低20%;小模型准确度提升,延迟相当。
97 1
轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
|
3月前
|
机器学习/深度学习 网络架构 计算机视觉
目标检测笔记(一):不同模型的网络架构介绍和代码
这篇文章介绍了ShuffleNetV2网络架构及其代码实现,包括模型结构、代码细节和不同版本的模型。ShuffleNetV2是一个高效的卷积神经网络,适用于深度学习中的目标检测任务。
121 1
目标检测笔记(一):不同模型的网络架构介绍和代码
|
3月前
|
XML 开发工具 Android开发
FFmpeg开发笔记(五十六)使用Media3的Exoplayer播放网络视频
ExoPlayer最初是为了解决Android早期MediaPlayer控件对网络视频兼容性差的问题而推出的。现在,Android官方已将其升级并纳入Jetpack的Media3库,使其成为音视频操作的统一引擎。新版ExoPlayer支持多种协议,解决了设备和系统碎片化问题,可在整个Android生态中一致运行。通过修改`build.gradle`文件、布局文件及Activity代码,并添加必要的权限,即可集成并使用ExoPlayer进行网络视频播放。具体步骤包括引入依赖库、配置播放界面、编写播放逻辑以及添加互联网访问权限。
221 1
FFmpeg开发笔记(五十六)使用Media3的Exoplayer播放网络视频
|
3月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
77 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
|
3月前
|
编解码 人工智能 文件存储
轻量级网络论文精度笔记(二):《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object ..》
YOLOv7是一种新的实时目标检测器,通过引入可训练的免费技术包和优化的网络架构,显著提高了检测精度,同时减少了参数和计算量。该研究还提出了新的模型重参数化和标签分配策略,有效提升了模型性能。实验结果显示,YOLOv7在速度和准确性上超越了其他目标检测器。
67 0
轻量级网络论文精度笔记(二):《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object ..》
|
3月前
|
机器学习/深度学习 Python
深度学习笔记(九):神经网络剪枝(Neural Network Pruning)详细介绍
神经网络剪枝是一种通过移除不重要的权重来减小模型大小并提高效率的技术,同时尽量保持模型性能。
98 0
深度学习笔记(九):神经网络剪枝(Neural Network Pruning)详细介绍
|
3月前
|
机器学习/深度学习 算法 TensorFlow
深度学习笔记(五):学习率过大过小对于网络训练有何影响以及如何解决
学习率是深度学习中的关键超参数,它影响模型的训练进度和收敛性,过大或过小的学习率都会对网络训练产生负面影响,需要通过适当的设置和调整策略来优化。
645 0
深度学习笔记(五):学习率过大过小对于网络训练有何影响以及如何解决