SciTech-EECS-Computer Network:OSI:

链路:mac地址+集线器/交换机⇒子网⇒网络层:ip地址+路由器+

OSI: 链路:mac地址+集线器/交换机⇒子网⇒网络层:ip地址+路由器+

  • 真实的"电路级packet交付"全都是委托给"Data Link Layer"实际交付/传输。

    • 上层(包括 Network Layer),全都是组织汇编好"数据包/bitstream(电路级信号序列)"
    • Data Link Layer: 只关心 用 which port(cable, 一个或全部) 发送/传输 packet bitstream(二进制电信号序列),与"Gateway(网关, 常有 交换机)的配置";
      • 在网状态: 本机 配置有"Mask和Gateway的IP"状态,
      • 直连状态: 用"双机直连网线(RJ45对换Tx与Rx)"状态,
    • Gateway:
    • 局域网(Local Network)以 Switcher+Router 构建网络拓扑.
  • 分“Electronic Signal Stream”和 “Network Packet Stream”两个视角更容易理解:
    • Electronic Signal Stream:

      • 发出Network Packet Stream时,

        1. 发出Process将 packets 转换成 bitstream 先,
        2. 将 Packet Stream 转换成的 bitStream 用 OS(操作系统)的send/recv系统调用收发;
        3. OS 将根据网络收发的系统调用函数, 选取正确的Network Interface执行;
        4. Network Interface(包括网卡/虚拟网卡)用Cable/Wireless链接入网的"Digital/Analog Circuits"收发bitstream;
      • 收到Network Packet Stream时,
        1. 先收到的其实是"Digital/Analog Circuits"收到的bitstream;

          实际上是由 网卡(Network Card)这个硬件设备接收/发出bitstream;
        2. 接收完转换成bitstream存在(Network Card)设备的缓存,并触发硬件中断系统调用.
        3. OS(操作系统)的Networking(网络模块及其协议栈)将透明的把bitstream解译出data packet;

          data packet: 有packet的Class(类型, 如tcp/udp/other), port(端口, 如udp/tcp/other)
        4. OS查PID(接收进程的进程号:) OS有全部data packet的"钩子和管理表(动态表)", 用Class+port反查得接收方PID.
        5. OS(操作系统)的Process Scheduler(进程调度器)会将接收data packet(数据包)的Process(进程)调度入队.
        6. 接收Process(进程号为PID)处理包data packet.

PC (Host A)

配置:

  • 端口:

    网线端口: Physical 的 cable 网线端口,

    当插上的"网线"连接上"交换机/路由器",网口的指示灯会点亮;

    IP的port: 特指 ip/udp的分发port

  • 子网掩码:

    1.组网: 可自定义选择 subnet(子网)的范围;

    2.单机: 判断,数据链路层是否发送给路由器;

  • 网关地址(不在同一subnet时,发包给的ip):

    1.组网: 可自定义配置网关(路由器)的IP地址;

    2.单机: 确定, 数据链路层发送的目标mac/ip;

ARP 缓存表(PC 和 Router都有ARP表):

子网 mac⇔ip表映射;

  1. PC上有始空 ARP 表, "入网"时先用一轮ARP预热缓存.

    缓存全subnet(子网)的arp, 包括网关(路由器)的.

    • 同subnet: 真机mac+目标ip,用Switcher发;
    • 非subnet: 网关mac+目标ip,用Router发.
  2. arp协议(mac地址解析)

    1.网络层 发packet出去 时,只知 目标ip addr.

    2.链路层 发packet必先arp查得 ip⇒mac

    3.路由器: 神奇能力"根据目标ip改目标mac"

Switcher: 端口(Physical 的 cable 网线端口)

1.mac地址表, 子网 mac⇔port(cable)表映射:

  • 查得, 点射给 "目标"port(cable), 只由目标host(mac addr)链接的port(cable)发出.
  • 查无, 广播给"全部"port(cable), 包括任何一个port(cable)可能链接有的Router/Switcher

Router: 端口(Physical 的 cable 网线端口)

  1. ip路由表, 本域: ip⇔port(cable)表映射:
  2. 神奇的“根据目标ip改目标mac”





常用网络协议 的 依赖联系

SciTech-EECS-Computer Network:OSI: 链路:mac地址+集线器/交换机⇒子网⇒网络层:ip地址+路由器+的更多相关文章

  1. 网络层-IP地址

    以下内容是IPv4 IP地址长度32位,Java里面一个int的长度,总共分为5类IP地址 1:分类编址 A类IP地址0开头:           A类有31个位置可以变化,总数是2^31个, [(0 ...

  2. PHP获取IP地址的方法,防止伪造IP地址注入攻击

    PHP获取IP地址的方法 /** * 获取客户端IP地址 * <br />来源:ThinkPHP * <br />"X-FORWARDED-FOR" 是代理 ...

  3. The three day 给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本

    """ 给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本. 所谓无效化 IP 地址,其实就是用 "[.]" 代替了每个 ...

  4. 为什么有mac地址还学要有IP地址??

    历史原因:早期的以太网只有集线器 ,没有交换机,所以发出去的包能被以太网内的所有机器监听到,因此要附带上MAC地址,每个机器只需要接受与自己MAC地址相匹配的包. 个人感觉上面的说法并不是太准确.找明 ...

  5. Mac中如何查看电脑的IP地址

    方法一:使用ifconfig命令 方法二:在charles中查看 Charles 的顶部菜单的 “Help”->”Local IP Address”,即可在弹出的对话框中看到 IP 地址,如下图 ...

  6. 网吧局域网里的设置外网IP地址、设置内网IP地址、限制内网速度和路由器共享

    现在啊,网吧的需求越来越高,同时在经济比较充裕的情况下,作为网吧的老板可能希望打造全千兆的网吧,让每个进入网吧的人都能充分体验高速的感觉,当然更重要的是在同行竞争中处于上游,特别是对网络游戏爱好者的吸 ...

  7. (转)怎样查看局域网中自己的IP地址和其他电脑的IP地址?

    开始菜单->运行->打cmd,回车->再弹出的黑框里打ipconfig -all,回车显示的IP Address就是你的ip地址看局域网的电脑的ip用软件比较方便,比如p2p终结者, ...

  8. 路由器、交换机学习之IP地址、使用网络掩码划分子网

    局域网子网划分 对于C类IP地址来说(192.168.1.X,其中前面的192.168.1为网络号,后面的X为主机号,这样的网络中可以有254台主机,其中.0为局域网地址,.255为广播地址)进行子网 ...

  9. linux,windows下检测指定的IP地址是否可用或者检测IP地址冲突的3种方式(批处理程序,python程序,linux shell 批量ping)

    本文中的脚本适用范围: 1)检测某些IP地址是否被占用: 2)检测网络中某些设备是否存活: 3)在分配新的ip地址之前,批量检测环境中是否存在冲突的机器 以上检测基于ICMP Ping报文,要求所有的 ...

  10. 淘宝IP地址库获取到省市IP地址

    http://ip.aliyun.com/index.html https://ispip.clang.cn/ https://github.com/Pingze-github/local-ips 1 ...

随机推荐

  1. Missing Semester

    计算机教育中缺失的一课 The Missing Semester of Your CS Education 文档:https://missing-semester-cn.github.io/ 网课:h ...

  2. webapi——Postman添加post请求测试

    1.设置Post格式 2.设置传值方式json 3.设置参数 4.发送请求

  3. Spring基于注解的事务管理

    Spring基于注解的事务管理 源码 代码测试 pom.xml <?xml version="1.0" encoding="UTF-8"?> < ...

  4. Java编程--多例设计模式

    多例设计模式 多例设计模式(Multiton Pattern),有时也被称为对象池(Object Pool)模式,是一种创建型设计模式.与单例模式不同,多例模式允许创建并管理多个实例,每个实例都有一个 ...

  5. 基于Vue3搭建ChantGPT前后端端源码及搭建教程-官方接口

    ChantGPT很多,网上很多说的ChantGPT搭建及源码都是假的,无法使用的,自己研究了好几天,搞定了基于Vue3搭建ChantGPT前后端端源码及搭建教程,现在分享出来,有喜欢的朋友自行下载搭建 ...

  6. 知识蒸馏 -- 定位蒸馏LD

    定位蒸馏 定位蒸馏:Localization Distillation,简称LD 论文地址: Localization Distillation for Dense Object Detection ...

  7. Git 查看 tag 标签详解

    摘要:介绍git中tag标签的使用方法,包括创建标签.提交标签.查询标签和删除标签等. 我们拿到一个即将投产的标签后,需要确认标签是否打在了正确的分支,故需要查看标签的详情信息,保证顺利上线.基于此背 ...

  8. 转:基于Redis实现延时队列

    摘要:使用 sortedset,拿时间戳作为score,消息内容作为 key 调用 zadd 来生产消息,消费者用 zrangebyscore 指令获取 N 秒之前的数据轮询进行处理.    前段时间 ...

  9. yoga14c2024(ultra7-155H)使用雷电4转接oculink外接RTX4070Ti Super跑分

    yoga14c2024(ultra7-155H)使用雷电4转接oculink外接RTX4070Ti Super跑分 自媒体跑分 内屏 \[损耗=1-16731/24723\approx32.3\%\n ...

  10. kafka单节点安装

    下载地址:https://archive.apache.org/dist/kafka/2.2.2/kafka_2.11-2.2.2.tgz   1.配置server.xml # 对外监听地址 list ...