当前位置: 首页 > news >正文

【JavaSE】【网络原理】网络层、数据链路层简单介绍

目录

  • 一、网络层
    • 1.1 IP协议
      • 1.1.1 协议头
      • 1.1.2 地址管理
      • 1.1.3 路由选择
  • 二、数据链路层
    • 2.1 以太网
      • 2.1.1 以太网数据帧
      • 2.1.2 认识MTU
      • 2.1.3 ARP协议
  • 三、DNS

一、网络层

主要工作:

  1. 地址管理:使用IP地址。标识网络设备的位置;
  2. 路由选择:在两个通信节点之间,规划一条合理路径。

1.1 IP协议

1.1.1 协议头

协议头格式:

内容简介:

  • 四位版本号:指定协议的版本,IPv4 和 IPv6
  • 四位首部长度:单位四字节,最大表示60字节((2^4) - 1 * 4),但是IP协议首部长度也是可变的,通过选项。
  • 8位服务类型:决定IP协议的工作方式。

3位优先权字段(已经弃⽤),4位TOS字段,和1位保留字段(必须置为0)。4位TOS分别表⽰:最⼩延时,最⼤吞吐量,最⾼可靠性,最⼩成本。这四者相互冲突,只能选择⼀个。对于ssh/telnet这样的应⽤程序,最⼩延时⽐较重要;对于ftp这样的程序,最⼤吞吐量⽐较重要。

  • 16位总长度:IP数据报整体的总长度(IP协议内置了拆包组包功能)
  • 16位标识:表示当前哪几个包是一组的。在拆包的时候,将同一个包拆下来的设为相同的标识。
  • 3位标志:第一位保留(现代没使用),第二位表示是否触发拆包(1表示触发),第三位表示是否是最后一个子包(1表示最后一个,其余都是0)
  • 13位片偏移:描述先后顺序,在组包的过程,偏移小的包放在前。
  • 8位生存时间(TTL):一个IP数据报,能够在网络上传输的最大时间(实际是次数),数据报每经过路由器转发一次,TTL就减一。
  • 8位协议:标识传输层使用哪种协议
  • 16位首部检验和:使⽤CRC进⾏校验,只校验首部,不校验载荷了
  • 32位源IP地址:源IP地址
  • 32位目的IP地址:目的IP地址

1.1.2 地址管理

为保证IP的唯一性,网络设备的数量早超过32位表示的IP数量,解决方法:

  1. 动态分配IP:上网分配,不上网不分配
  2. NAT机制,网络地址转换:把所有IP分为两大类:公/外 网IP,私/内 网IP(172.16. * - 172.32. * 和 192.168. * 和10. *)。我们只要求公网IP唯一,私网IP在不同的局域网中可以重复。NAT机制就可以使用一个公网IP 对应一系列私网IP
  3. 使用IPv6:IPv6使用16个字节来表示IP地址

NAT机制下,网络通信进行的方式:

  • ( 同一个局域网,设备A访问设备B);和(公网设备A访问公网设备B):NAT不起作用
  • (不同局域网,设备A访问设备B)和 (公网设备A访问私网设备B):NAT机制禁止这种访问方式。
  • 局域网设备A访问公网设备B:若干个私网IP共用一个公网IP,设备A的IP会在发给它的公网设备的时候会替换源IP(会使用“哈希表”结构记录,以便返回报文)为公网设备IP,继续发送到目的IP的设备。

网段划分 :
涉及到组建网络环境(组网)。

  • 把一个IP地址,分成两个部分,前半部分,称为“网络号”,后半部分称为“主机号”。比如:192.168.100.98, 192.168.100就是网络号,98就是主机号(这种是可以自己配置,子网掩码属性1的比特位表示网络号)。
  • 在一个局域网中,网络号必须相同,主机号必须不同;
  • 两个相邻局域网中,网络号必须不同,主机号无限制。

特殊的IP地址:

  • 将IP地址中的主机地址全部设为0,就成为了⽹络号,代表这个局域⽹;
  • 将IP地址中的主机地址全部设为1,就成为了⼴播地址,⽤于给同⼀个链路中相互连接的所有主机发送数据包;
  • 127.*的IP地址⽤于本机环回(loop back)测试,通常是127.0.0.1

1.1.3 路由选择

路由选择:通过IP协议,进行数据转发的过程。问路的方式是启发式、探索式的。

网络环境非常复杂,一个路由器只能知道附近的网络情况。当数据包到达某个路由器的时候,就会匹配这个路由器记录周围设备信息的“路由表”,如果目的IP刚好在此表中,直接按照对应转发。如果没有匹配到,路由表中就按照上图“下一跳”。
路由表大致长相:
-

二、数据链路层

2.1 以太网

以太网 是数据链路层 + 物理层的协议。通过网线上网走的协议就是以太网。

2.1.1 以太网数据帧

格式如下图:

  • 源地址和⽬的地址是指⽹卡的硬件地址(也叫MAC地址),⻓度都是6个字节,是在⽹卡出⼚时固化的;

  • 帧协议类型字段有三种值,分别对应IP、ARP、RARP;

  • 帧末尾是CRC校验码。

IP和Mac的对比:

  • IP地址描述的是路途总体的 起点 和 终点;
  • MAC地址描述的是路途上的每⼀个区间的起点和终点;

2.1.2 认识MTU

MTU 就是对数据包大小的限制。和通信的硬件结构相关。
MTU对各协议的影响:

  • IP协议:会使IP协议数据包不断拆包组包
  • TCP协议:通信双⽅会进⾏MSS协商,MSS的值正好是在IP不会被分⽚处理的最⼤⻓度(这个⻓度仍然是受制于数据链路层的MTU)
  • UDP协议:一旦数据报携带数据长度超过1472,就会在网络层分层多个IP数据包

2.1.3 ARP协议

ARP:功能是根据IP地址,得到对应设备的mac地址。

工作流程:

三、DNS

DNS:域名解析系统。是⼀整套从域名映射到IP的系统。

  • DNS是应⽤层协议

  • DNS底层使⽤UDP进⾏解析

  • 浏览器会缓存DNS结果

http://www.dtcms.com/a/398177.html

相关文章:

  • PyTorch 神经网络工具箱核心内容
  • Git高效开发:企业级实战指南
  • 外贸营销型网站策划中seo层面包括影楼网站推广
  • ZooKeeper详解
  • RabbitMQ如何构建集群?
  • 【星海随笔】RabbitMQ开发篇
  • 深入理解 RabbitMQ:消息处理全流程与核心能力解析
  • docker安装canal-server(v.1.1.8)【mysql->rabbitMQ】
  • 学习嵌入式的第四十天——ARM
  • 佛山营销网站建设公司益阳市城乡和住房建设部网站
  • Linux磁盘数据挂载以及迁移
  • 【图像算法 - 28】基于YOLO与PyQt5的多路智能目标检测系统设计与实现
  • Android音视频编解码全流程之Muxer
  • 一家做土产网站呼和浩特网站建设信息
  • Android Studio - Android Studio 检查特定资源被引用的情况
  • 借助Aspose.HTML控件,使用 Python 编程创建 HTML 页面
  • 营销型网站建设运营网站建设yuanmus
  • Day67 基本情报技术者 单词表02 编程基础
  • 《Java操作Redis教程:以及序列化概念和实现》
  • 欧拉公式与拉普拉斯变换的关系探讨与深入理解
  • 新的EclipesNeon,新的开始,第003章
  • 计算机专业课《数据库系统》核心解析
  • 光流 | 2025年光流及改进算法综述:原理、公式与MATLAB实现
  • 做外贸网站的价格嘉兴网站建设培训
  • 西宁制作网站需要多少钱做网站数据库多少钱
  • [第二章] web入门—N1book靶场详细思路讲解(一)
  • ES 的 shards 是什么
  • LVS:Linux 内核级负载均衡的架构设计、三种工作模式与十大调度算法详解
  • 【触想智能】工业一体机在金融领域的应用优势和具体注意事项
  • 制作大模型获取天气数据工具(和风API)