【北航计算机网络课程笔记】4. 网络层

同系列链接

【北航计算机网络课程笔记】1. 介绍和基本术语
【北航计算机网络课程笔记】2. 物理层
【北航计算机网络课程笔记】3. 数据链路层
【北航计算机网络课程笔记】4. 网络层
【北航计算机网络课程笔记】5. 传输层
【北航计算机网络课程笔记】6. 应用层
【北航计算机网络课程笔记】7. IPv6和WLAN

基本分类

网络层: 向传输层提供什么样的服务呢?
面向连接的服务: 虚电路 传输数据前先由网络建立连接, 由网络保证可靠性
无连接的服务: 数据报 传输数据前不用建立连接, 数据分组独立传输(路径可不相同),由用户主机保证可靠性(可靠性由传输层保证)
TCP/IP采用数据报服务

网络层的PDU是 包\packet\分组

IP协议配套的四个协议
地址解析协议ARP
逆地址解析协议RARP
网际控制报文协议ICMP
网际组管理协议IGMP

IP地址

IP地址: A B C D(组播) E(保留)类地址

首部+应用层数据 = TCP报文
TCP报文+首部(IP地址) = IP地址 --网络层
IP地址+首部(硬件地址) = MAC帧 --数据链路层

IP数据报格式: 20字节的固定字段+0到多个的可选字段.

APR协议: 使用IP地址得到MAC地址, 广播帧ARP请求, 存储MAC地址到ARP缓存, 不在同一局域网则通过路由器转发.

有了 IP 地址,为什么还要用 MAC 地址?https://blog.csdn.net/hjding/article/details/80301389

既然MAC地址是唯一的,为什么还需要IP地址?https://blog.csdn.net/qq_29996285/article/details/85213687

数据包从源主机到达目标主机的过程http://blog.chinaunix.net/uid-23886490-id-3038875.html

IP报文

IP数据报(ipv4)格式:
version+
IHL(IP包头长度)+
Type+
length(IP包长)+
Identification(标识,分片的多个包有相同标示)+
DF(=0允许分片)+
MF(=1后面还有分片)+
Fragment offset(片偏移,8字节为单位)+
TTL(time to live)生存时间\跳数(IP包经过一个路由器叫"一跳")+
protocol(协议类型)+
Header checksum(包头校验和)+
源IP地址+
目的IP地址+
选项字段(4字节为单位,最长40字节)

ipv4: 20-60字节
ipv6: 固定60字节

https://blog.csdn.net/weixin_37590253/article/details/81170030

划分子网

IP地址利用率低, 尤其是A类B类地址, 所以开始划分子网

<网络号,子网号,主机号>,从原来的主机号中分出一部分作为子网号.

子网掩码和IP地址 按位与 得到子网地址

子网分组转发过程:
目的地址&子网掩码 == 主机地址&子网掩码, 则会直接交付
目的地址&子网掩码 == 网络目的地址, 则发向该网络出口

无分类编址CIDR

无分类编址CIDR:
消除ABC类划分, 分为{网络前缀, 主机号}, 两级编址
斜线记法, IP地址后加 “/”, 后跟前缀的位数, 如128.14.35.7/2
其他记法: 00001010 00* (*为主机号)
实现了路由聚合, 构成超网(CIDR地址块大多包含多个C类地址)
使用地址掩码: /20的是11111111.11111111.11110000.00000000
查询路由表时采用最长前缀匹配

网际控制报文协议ICMP

网际控制报文协议ICMP
位于IP层, 封装在IP包种
报文有9种, 5种差错报文+2对(4种)询问报文

实现了路由聚合

ICMP的应用: Ping和Tracert

路由器

Routing路由,Router:路由器, Routing table路由表

路由器依据路由信息转发分组
路由信息(路由表)是路由协议生成的
路由算法是路由协议的基础和核心

静态路由(适用小规模且变化少的网络)和动态路由
Internet采用分层次的路由
自治系统(Autonomous System)

内部网关协议IGP(RIP或OSPF使用较多)+外部网关协议EGP(BGP-4使用较多)

距离向量路由是动态路由算法(只跟邻居交换信息的最短路径算法), RIP采用
对好消息反应快,但对坏消息反应慢

路由算法是路由协议的基础和核心

路由算法RIP、OSPF

基于距离路由向量算法的RIP协议: (软件Zebra)
距离=路由器跳数, 最长距离15跳, 直接连接0跳
仅和相邻路由器交换信息, 交换信息是路由器全部信息, 按固定时间间隔交换路由信息(间隔30秒), 3分钟没收到标记不可达
如果收到的路由表中存在某一项的目的网络也是该路由器的路由表中某一项的目的网络,且下一跳为发送路由表的路由,那无论如何该路由器都要更新对应的表项,将距离改为收到的表项中的距离+1;即使距离变大, 因为可能距离真的变大了, 这是与最短路径算法最大的不同(动态变化, 最短路径可能会变大)
实现简单, 开销较小, 但故障传递很慢, 网络规模有限, 全部路由信息导致开销增加.
RIP报文在UDP用户数据报中

链路状态路由算法:
先构建(学习邻居路由器, 发给所有路由器)全网(自治系统内)的拓扑结构图, 使用Dijkstra算法得到最佳路径.
多个路由器连在一个LAN时, 引入人工节点

基于链路状态路由的OSPF协议:
有变化时, 向所有节点发送(洪泛)更新报文, 更新快且量不大
将自治系统划分为若干个区域: 区域内只需要知道本区域的拓扑结构图, 减少洪泛法的数据量
OSPF直接用IP数据报传送

外部网关协议

外部网关协议BGP:
难以找到最佳路由, 只能找可达且较好的路由
发言人, 每个AS至少一个路由器为BGP发言人
信息是可达性, 通过TCP协议进行.
支持CIDR无分类编址
刚运行时, 交换完整BGP路由表,之后只需要更新变动部分.

路由器: 具有多个输入\输出端口的专用计算机, 任务是转发分组
路由转发部分(按路由协议更新路由表)+分组转发部分(交换结构, 转发表(路由表简化得到), 输入/输出端口)
线速(分组的处理速率能达到分组的传输速率)
衡量指标: pps每秒包个数
物理层->数据链路层->网络层(分组排队, 查表和转发)->交换结构->网络层(分组排队, 缓存管理)->数据链路层->物理层
注意:当排队的分组数量过多时,可能导致路由器内部缓冲区溢出丢包
交换结构: 储存器, 总线, 互连网络

SDN: 将路由器协议从交换机分离出来, 单独工作, 将计算出的路由表再输入到交换机中.

组播,NAT,VPN

组播(多播):
大大减少网络流量
局域网常用, Internet中少用

网络地址转换NAT
专用地址(保留地址): 只用于机构内部, Internet路由器不转发目的地址为专用地址的包
内网中使用专用地址时, 需要NAT路由器转换地址(使用TCP/UDP端口号实现)

虚拟专用网VPN:
基于公共网络的专用网络(安全)
两种情形: 内部网络通过Internet互联(IPSec的ESP隧道模式)
远程用户访问内部网(拨号虚拟专用网VPDN 或 基于SSL的VPN)
在公共网络传输的数据内容均加密, 外部仅能通过IP分组头得知通信隧道两端在通信, 得不到两个主机的信息.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值