IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络学习笔记(7)---网络层、虚电路网络、数据报网络、IP协议、DHCP(动态主机配置协议)、NAT(网络地址转换) -> 正文阅读

[网络协议]计算机网络学习笔记(7)---网络层、虚电路网络、数据报网络、IP协议、DHCP(动态主机配置协议)、NAT(网络地址转换)

目录

1 网络层

1.1 网络层---从发送主机向接收主机传送数据段(segment)

1.2 虚电路网络(virtual-circuit network)

?1.2 数据报网络(datagram)

?1.3 IP协议(1)---IP数据报

1.4 IP协议(2)---IP分片

?1.5 IP协议(3)---IP编址(addressing)

?1.6 IP协议(4)---有类IP地址(Addresses)

?1.7 IP协议(5)---IP子网划分与子网掩码

?1.8 IP协议(6)---CIDR与路由聚合

?1.9 DHCP(Dynamic Host Configuration Protocol)动态主机配置协议

?2.0 网络地址转换(NAT)


1 网络层

1.1 网络层---从发送主机向接收主机传送数据段(segment)

(1)发送主机:将数据段(segment)封装到数据报(datagram)中;

(2)接收主机:向传输层交付数据段(segment);

1、每个主机和路由器都运行网络层协议

2、路由器检验所有穿越它的IP数据报的头部域:决策如何处理IP数据报;

3、网络层的核心功能------转发(forwarding)与路由

?4、网络层核心功能------连接建立

?

?5、网络层服务模型

(1)无连接服务(connection-less service)---数据报网络(datagram network)

a、不是先为系列分组的传输确定传输路径;

b、每个分组独立确定传输路径;

c、不同分组可能传输路径不同;

(2)连接服务(connection service)---虚电路网络(virtual-circuit network)

a、首先为系列分组的传输确定从源到目的经过的路径(建立连接);

b、然后沿该路径(连接)传输系列分组;系列分组传输路径相同

c、传输结束后拆除连接;

1.2 虚电路网络(virtual-circuit network)

1、连接服务与无连接服务

(1)数据报(datagram)网络与虚电路(virtual-circuit)网络是典型的两类分组交换网络;

(2)数据报网络提供网络层无连接服务;虚电路网络提供网络层连接服务;

(3)类似于传输层的无连接服务(UDP)和面向连接服务(TCP),但是网络层服务:

主机到主机的服务、网络核心实现

2、虚电路(virtual circuits)

(1)通信过程:呼叫建立(call setup)->数据传输->拆除呼叫;

(2)每个分组携带虚电路标识(VC ID),而不是目的主机地址;

(3)虚电路经过的每个网络设备(如路由器),维护每条经过它的虚电路连接状态;

(4)链路、网络设备资源(如带宽、缓存等)可以面向虚电路VC进行预分配;

3、VC虚电路的具体实现

(1)每条虚电路包括:

a、从源主机到目的主机的一条路径;b、虚电路号(VCID),沿路每段链路一个编号;

c、沿路每个网络层设备(如路由器),利用转发表记录经过的每条虚电路;

(2)沿某条虚电路传输的分组,携带对应虚电路的VCID,而不是目的地址;

(3)同一条VC在每段链路的VCID通常不同---路由器转发分组时依据转发表改写/替换虚电路号;

4、VC(虚电路)转发表---VC路径上的每个路由器都需要维护VC连接的状态信息!

?5、虚电路信令协议(signaling protocols)

(1)用于VC的建立、维护与拆除----路径选择

(2)应用于虚电路网络---如ATM、帧中继(frame-relay)网络等;

(3)目前Internet不采用;

?1.2 数据报网络(datagram)

1、数据报网络特点

(1)网络层无连接;(2)每个分组携带目的地址;

(3)路由器根据分组的目的地址转发分组;

a、基于路由协议/算法构建转发表;b、检索转发表;c、每个分组独立选路

2、数据报转发表

(1)路由算法(协议)确定通过网络的端到端路径;转发确定在本路由器如何转发分组;

?

?(2)最长前缀匹配优先

?

在检索转发表时,优先选择与分组目的地址匹配前缀最长的入口(entry);?

?3、数据报网络 or VC网络?

?

?1.3 IP协议(1)---IP数据报

?1、Internet网络层

?

?2、IP数据报(分组)格式

(每行4个字节32个比特位,固定部分就有5行,20个字节)

(1)版本号:字段占4位,IP协议的版本号,例如4->IPv4;6->IPv6;

(2)首部长度:4位,IP分组首部长度;以4字节为单位,例如5->IP首部长度为20(5*4)字节

(3)服务类型(TOS):字段占8位,指示期望获得哪种类型的服务;

a、1988年这个字段改名为区分服务;只有在网络提供区分服务(DiffServ)时使用;

b、一般情况下不使用,通常IP分组的该字段(第2字节)的值为00H;

?(4)总长度:字段占16位,IP分组的总字节数(首部+数据);

a、最大IP分组的总长度:65535B;b、最小的IP分组首部:20B;

c、IP分组可以封装的最大数据:65535-20=65515B

(5)生存时间(TTL):字段占8位,IP分组在网络上中可以通过的路由器数(或跳步数)

a、路由器转发一次分组,TTL减1;b、如果TTL=0,路由器则丢弃该IP分组;

(6)协议:字段占8位,指示IP分组封装的是哪个协议的数据包;

a、实现复用/分解;

b、例如:6为TCP,表示封装的是TCP段,17为UDP,表示封装的是UDP数据段;

(7)首部校验和:字段占16位,实现对IP分组首部的差错检测;

a、计算校验和时,该字段置全0;b、采用反码算术运算求和,和的反码作为首部校验和字段;

c、每次经过路由器转发时,首部校验和都要重新计算;逐跳计算,逐跳校验;

(8)源IP地址、目的IP地址字段各占32位:分别标识发送分组的源主机/路由器(网络接口)和接收分组的目的主机/路由器(网络接口)的IP地址;

(9)选项字段:长度可变,在1-40B之间:携带安全、源选路径、时间戳和路由记录等内容;

实际上很少被使用;

(10)填充:字段占长度可变,范围在0-3B之间,目的是补齐整个首部,符合32位对齐,即保证首部长度是4字节的倍数;

1.4 IP协议(2)---IP分片

1、最大传输单元(MTU)---链路层数据帧可封装数据的上限

2、IP分片与重组?

?IP分组格式:标识(ID)、标志位、片偏移

?(1)标识字段:占16位,标识一个IP分组,

?a、IP协议利用一个计数器,每产生IP分组计数器加1,作为该IP分组的标识;

?(2)标志位:字段占3位;保留+DF+MF

?(3)片偏移字段:占13位,一个IP分组分片封装原IP分组数据的相对偏移量;

?a、片偏移字段以8字节为单位;

3、IP分片过程

?

?4、IP分片过程举例

?

?1.5 IP协议(3)---IP编址(addressing)

1、IP分组

?(1)源地址(SA)-从哪里来;(2)目的地址(DA)-到哪里去;

2、接口(interface):主机/路由器与物理链路的连接

(1)实现网络层功能;(2)路由器通常有多个接口;

(3)主机通常只有一个或两个接口(e.g,有线的以太网接口,无线的802.11接口)

3、IP子网(Subnets)?

?1.6 IP协议(4)---有类IP地址(Addresses)

?1、特殊IP地址

?2、私有(Private)IP地址

?1.7 IP协议(5)---IP子网划分与子网掩码

?1、子网划分

?2、子网掩码

??

?3、子网划分举例

?

?4、子网掩码的应用---将IP分组的目的IP地址与子网掩码按位与运算,提取子网地址

?5、一个C类网络划分子网举例

?1.8 IP协议(6)---CIDR与路由聚合

?1、CIDR(Classless InterDomain Routing)无类域间路由

?(1)消除传统的A类、B类和C类地址界限:NextID+SubID->Network Prefix(Prefix)可以任意长度

?(2)融合子网地址与子网掩码,方便子网划分:无类地址格式:a.b.c.d/x,其中x为前缀长度

?

?2、CIDR(Classless InterDomain Routing)无类域间路由的优点

(1)提高IPv4地址空间分配效率;

(2)提高路由效率:a、将多个子网聚合成一个较大的子网;b、构造超网(supernetting)

?3、路由聚合(route aggregation)---大大简化路由表,记录超网

?

?1.9 DHCP(Dynamic Host Configuration Protocol)动态主机配置协议

?1、IP地址获取

(1)“硬编码”---静态配置

(2)DHCP(Dynamic Host Configuration Protocol)动态主机配置协议:

a、从服务器动态获取:IP地址、子网掩码、默认网关地址、DNS服务器名称与IP地址;

b、“即插即用”;c、允许地址重用;d、支持在用地址续租;e、支持移动用户加入网络;

2、DHCP(动态主机配置协议)工作过程示例?

?

?2.0 网络地址转换(NAT)

?

?1、网络地址转换(NAT)动机

(1)只需/能从ISP申请一个IP地址:IPv4地址耗尽;

(2)本地网络设备IP地址的变更,无需通告外界网络;

(3)变更ISP时,无需修改内部网络设备IP地址;

(4)内部网络设备对外界网络不可见,即不可直接寻址(安全);

?2、NAT实现

?(1)替换:利用(NAT IP地址,新端口号)替换每个外出IP数据报的(源IP地址,源端口号)

?(2)记录:将每对(NAT IP地址,新端口号)与(源IP地址,源端口号)的替换信息存储到NAT转换表中;

(3)替换:根据NAT转换表,利用(源IP地址,源端口号)替换每个进入内网IP数据报的(目的IP地址,目的端口号),即(NAT IP地址,新端口号);

?3、NAT实现的问题

(1)16-bit端口号字段:可以同时支持60,000多并行连接;

(2)NAT主要争议:a、路由器应该只处理第3层功能;

b、违背端到端的通信原则:应用开发者必须考虑到NAT的存在,e.g,P2P应用;

c、地址短缺问题应该又IPv6来解决;

4、NAT穿透问题---实现外网对内网的地址直接访问

?

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-14 13:44:27  更:2021-09-14 13:44:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:33:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码