第四章:网络层

文章目录

  • 第四章:网络层
    • 《1》网络层功能
    • 《2》网络协议
      • ARP协议
      • IP协议
      • ICMP
      • IGMP协议和多播组播
    • 《3》路由协议
    • 《4》ip

网络层简单模型

《1》网络层功能

1.负责在不同的网络之间(基于数据包的IP地址)尽力转发数据包,不负责丢包重传和接收顺序。

2、网络层通信(PC4向PC3传输数据)

发送端(封装):
(1)应用层提供传输的数据;
(2)传输层把报文进行分段并编号;(数据段)
(3)网络层把传输层的每一个数据包增加原IP地址和目标IP地址;(数据包)
(4)数据链路层把每个数据加上目的MAC地址和源MAC地址;
两种情况:(数据帧)
使用自己的子网掩码,判断自己和目标地址分别在哪个网段,若在同一个网段(不过路由器),通过ARP协议广播的方式得到目标IP地址的MAC地址,然后就能封装出一个数据帧;如果子网掩码不是一个网段,通过ARP协议广播的方式得到路由器(网关)的MAC地址,然后把数据通过交换机发送到路由器M2,每一个路由根据自己的路由协议得知全网可达的路由路径,然后根据路由将自己得到的数据包传输到需要网段。
(5)物理层把数据帧变成数字信号(bit流)

接收端(解封):
(1)交换机Hub0接收bit流,能对数据进行存储转发。它根据数据帧的MAC地址,确定数据是从哪来的,要去哪。
(2)路由器M2获取交换机的数据包,识别其中的IP地址,根据路由表选择出口,它无法识别数据段内容。
(3)路由器M2到M3是点对点通信,遵守PPP协议。
(4)PC3收到bit流后,数据链路层发现MAC地址是自己的,去掉MAC地址给它的网络层,网络层去掉IP地址给传输层,传输层把数据给应用层,应用层把各个数据拼接起来。

3、网络层复杂性
数据包在Internet中的传输,Internet既有局域网,又有广域网,既有光纤,又有铜线,无线,还有不同的协议,这是Internet复杂所在。

4、虚拟互联网
虚拟网络把复杂的Internet看成一个网络。虚拟互联网络就是我们把实际的一个一个分散的网络抽像合并成一个大的网络。

《2》网络协议

ARP协议

1、TCP/IP协议层次关系

IP协议:把数据包从一个网段转到另一个网段,就是用来选择路径用的。ARP为IP服务,IP为ICMP/IGMP服务。

2 、ARP协议的作用(解析路由Mac地址和计算机MAC地址)
将IP地址通过广播(本网段,不通过路由器),解析目标IP地址的MAC地址。
ARP是解决同一个局域网上的主机或路由器的IP地址和MAC地址的一一对应关系。如果所找的主机和原主机不在同一个局域网上,那么就要通过ARP找一个位于本局域网上的某个路由器的MAC地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。从IP地址到MAC地址的解析是自动进行的,主机的用户对这种地址解析过程是不知情的。

只要主机或路由器要和本网络上的另一个已知IP地址的主机或路由器进行通信,ARP协议就会自动地将该IP地址解析为链路层所需要的MAC地址。

3、使用ARP的两种典型情况
(1)不跨网关,本地主机要把IP数据报发送到本网络的路由器,路由器经过广播,此时用ARP找到目标主机的MAC地址;
(2)跨网关,要把IP数据报发送到另一个网络的另一个主机,此时用ARP找到本网络上一个路由器的MAC地址,剩下的工作由路由器进行;

4、逆地址解析协议RARP
只知道自己MAC地址就能获得其IP地址。

5、 ARP欺骗/网络执法官/ARP防火墙-实验课
如果同一网段中有电脑中毒,可能会把中毒电脑的MAC地址传回去

IP协议

1、ip协议功能:在路由器上传输数据包
2、IP数据包的结构
注意,ARP数据包不是这个格式。
首部:第一部分是固定长度,20字节,是所有IP数据包必须具有的。后一部分是可选字段,长度可变

每一行32bit相当于1个字节,一共5行,共20字节

(1)版本:用来表示TCP/IP是哪个版本,ipv4还是ipv6.
(2)区分服务:确定更高的传输优先级。
(3)总长度:确定数据部分长度。一共是16位,最多有2^16-1=65535字节。
->注意,网络层,数据包最大65535字节;而数据链路层数据最大是1500字节,是不一样的。所以说,一旦超过数据链路层的最大要求时(网络层数据部分超过1480字节),数据包会分片。最大传输单元MTU。

数据包分片:把数据分割,分别添加IP地址,通过网络发给目标MAC地址。目标在通过网络层拼接。传送过程中可能会丢包,或者后发的先到(泪滴攻击就是利用目标机发送破坏的IP包(重叠包和数据量过大的负荷包)可以通过TCP/IP协议来瘫痪各种不同的操作系统)。所以需要编号。
(4)标识:如果出现数据包分片,那么标识用来确定哪些数据包是需要组合的。
(5)标志:确定该数据包是完整的还是分片中的一部分。占3位,只有前两位有用,标志字段最低位是MF(More Fragment),MF=1表示后面还有分片,MF=0表示最后一个分片。标志字段中间一位是DF(Don’t Fragment),只有DF=0才允许分片。
(6)片偏移:偏移等于当前字节在数据部分的第几个再除以8.

(7)生存时间:就是TTL,time to live,每过一个路由器就减1。8位二进制。防止数据包在网络中循环。
(8)协议:用协议号标识数据部分是什么数据
ICMP协议号:1;
IGMP协议号:2;
TCP协议号:6;
UDP协议号:17;
IPv6协议号:41;
OSPF协议号:89;
(9)首部检验和:16位,只检验数据报的首部,不检验数据部分。这里不是采用CRC检验码而是采用简单的计算方法。每经过一个路由器就会检验一次。

(10)可变部分:一般没用。

ICMP

1、ICMP:在IP之上,用来测试网络层源地址和目的地址都是IP地址,32位,只符合IPv4。IPv6是128位。有没有故障。使用最多的命令是ping(命令诊断网络故障)。
2.为了提高IP数据报交付成功的机会,在网络层使用了ICMP(Internet Control Message Protocol),ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告;ICMP报文件为IP层数据报的数据加上数据报的首部,组成IP数据报发送出去。
(1)ping因特网包套所起,用于测试网络连接量的程序。
(2)ping指端对端联通,通常用作可用性检测,但是某些病毒会强行大量远程执行ping命令抢占你的网络资源,导致系统网速变慢。严禁ping入侵作为大多数防火墙的一个基本功能提供给用户进行选择。
(3)如果打开IE浏览器访问网站失败,可以通过ping命令测试到Internet的网络连通,可以为你排除网络故障提供线索。
1.ping和pathping命令
pathping 能跟踪数据包路径,发现出问题的位置。
Windows上跟踪数据包路径的命令:tracerert 10.7.1.53
路由器上跟踪数据包路径的命令:traceroute 12.0.0.3
(4)数据包生命周期
TTL是数据报的生存时间每过一个路由器就会减1,作用是防止数据报在网络中循环。TTL默认初始值如下(但是在特殊情况下可以改动):
Linux 64 Windows 128 Unix 256
可以根据TTL值粗略判定对方是什么系统。

IGMP协议和多播组播

点到点通信。
广播:目标MAC地址全是F,目标IP地址全是255,也就是全是1.全网广播不能跨越路由器。
组播=多播:分组广播。
访问多播视频节目
使用多播一般用于直播,网络会议,能够节省带宽。
IGMP协议的作用就是周期性扫描本网段内有没有主机在访问多播数据包。

《3》路由协议

1.网络畅通的条件
沿途路由器必须知道下一跳给谁,数据包有去有回。

2 、静态路由
需要管理员告诉路由器所有没有直连的网络下一跳给谁,适合于小规模网络,不能自动调整路由。
直连路由:当给路由器其中的一个端口指点ip地址的时候就会自动产生并且他只能去与他之间相连的路由器接口
静态路由:目的路由+去目的路由的直连路由的接口。
默认路由 (缺省路由):缺省路由属于静态路由。
例:ip route-static 0.0.0.0 0 12.1.1.2 访问任何网段都将数据包交给12.1.1.2其中0.0.0.0下一跳的为任何网段0代表子网掩码。静态路由是一种替补路由只有当其他路由不到达时才会使用缺省路由缺省路由一般在边缘节点,以及企业出口。
3、动态路由:自动记录网关之间的ip地址,并且选择其中最小的路径。
距离矢量(Distance-Vector)路由协议:RIP(Routing information Protocol)
链路状态(Link-State)路由协议:OSPF、IS-IS、IGP
平衡混合(Balanced-Hybrid)路由协议:BGP

《4》ip

IP构成

255=子网掩码=网络号+主机号
网络号:由子网掩码决定(网络号=2^n,n为几个1)
主机号:电脑的唯一标识(主机号=2^n,n为几个0)

IP地址划分

 特殊IP地址:

主机号全0:网络地址,表示网络本身。(0.0.0.0:表示所有不清楚的主机和目的网络的集合)
主机号全1:广播地址,用于向网络中的所有设备进行广播。(1.1.1.1:有限广播地址,用于本网广播)
127.0.0.1:本地环回地址,该地址是指电脑本身(localhost),用于网络软件测试以及本地机进程间通信。(是127.0.0.0这个网段所有主机以及169.254.0.0也是环回地址)
第二层广播地址:FFFF-FFFF-FFFF,三层广播地址:255.255.255.255
定向广播:192.168.80.255
组播:244.0.0.0–239.255.255.255
保留的私网地址:
A 10.0.0.0
B 172.0.0.0—172.310.0.0
C 192.168.0.0—192.168.255.255

十进制和二进制之间的转换


2进制和10进制的关系2的0的个数次方 64=2^6 6为0的个数
2进制转换10进制11110000=16+32+64+128=240
10进制转换2进制128=2^7 7为1后面0的个数

子网划分

子网和超网形成:根据移动子网掩码,划分255形成子网和超网(子网向右移形成超网,向左移动形成子网)

等分子网划分:

变长子网划分:

    网络合并:


合并网络(方法):1、把几个网段写成2进制 2、找出网段中共有的最大2进制位

 判段ip所属网段


1、写出子网个数 2、写出每个子网中主机的个数

计算机网络-——网络层相关推荐

  1. 无连接可靠传输_计算机网络-网络层和传输层

    计算机网络-网络层和传输层 网络层概述 面向连接的服务,即虚电路(virtual circuit) TCP/IP采用数据报服务,无连接的服务,因为网络层是整个互联网的核心,因此应当让网络层尽可能简单. ...

  2. 计算机网络——网络层路由协议、IP组播、移动 IP、路由器

    文章目录 前言 一.RIP 协议与距离向量算法 1.RIP 协议 2.距离向量算法 二.OSPF 协议与链路状态算法 1.OSPF 协议 2.链路状态算法 三.BGP 协议和三种路由协议的比较 1.B ...

  3. 计算机网络-网络层 笔记

    前言:今天听闫乐林老师讲了计算机网络的课,自我感觉真的特别棒,就感觉像是把知识揉碎了喂我们,每个知识都会用生活上的例子,来帮助我们理解.现在再来写篇笔记回顾一下,如果能帮到大家就更好了.如有不恰当部分 ...

  4. 计算机网络---网络层实验

    文章目录 计算机网络---网络层实验 一.实验目的 二.实验环境和任务 三.实验步骤及实验结果记录 四.实验结果分析和总结 计算机网络-网络层实验 一.实验目的 理解通信子网的完整概念,掌握网络层的作 ...

  5. 计算机网络网络层 习题答案

    计算机网络网络层 习题答案 1. 考虑使用32比特主机地址的某数据报网络.假定一台路由器具有4条链路,编号为0~3,分组能被转发到如下的各链路接口: a. 提供一个具有4个表项的转发表,使用最长前缀匹 ...

  6. 【王道】计算机网络网络层(三)

    王道考研计算机网络网络层 网络层 1.1.网络层功能 1.2.IP数据报格式 1.2.1.TCP/IP协议栈 1.2.2.IP数据报格式 1.2.3.IP数据报分片 1.最大传送单元MTU 2.IP数 ...

  7. 计算机网络rip路由表的题目,计算机网络-网络层-练习题

    <计算机网络-网络层-练习题>由会员分享,可在线阅读,更多相关<计算机网络-网络层-练习题(5页珍藏版)>请在人人文库网上搜索. 1.1 下面有关虚电路和数据报的特性,正确的是 ...

  8. 计算机网络网络层重要概念

    本文主要介绍计算机网络OSI模型第三层--网络层 1.VLAN:即虚拟局域网 (Virtual LAN),是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求. 2.广播风暴: ...

  9. 计算机网络-网络层(网络层功能概述,异构网络互联,路由与转发,SDN基本概念)

    文章目录 1. 网络层功能概述 2. 异构网络互联 3. 路由与转发 4. SDN基本概念 SDN控制平面 1. 网络层功能概述 网络层的主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供 ...

  10. 计算机网络——网络层——思维导图

    -------- 思维导图下载地址 -------- 网络层的功能 1.1. 异构网络互联 1.1.1. 将两个以上的计算机网络,通过一定的方法,用一种或多种通信处理设备(即中间设备)相互联接起来,以 ...

最新文章

  1. 阿里云:国际化是云计算技术能力的照妖镜
  2. 异常解决(二)-- AttributeError: cannot assign module before Module.__init__() call
  3. MySQL(18)--- UNION 操作符
  4. Oracle ORA-02069: 此操作的 global_names 参数必须设置为 TRUE
  5. Linux之父新年首次“炮轰”:英特尔在扼杀整个ECC行业
  6. Java多线程深度探索
  7. YAF 接口 2016-10-27
  8. 「WC 2019」数树
  9. android textwatcher 获取当前控件,TextWatcher如何找到调用它的EditText
  10. Trickbot 年度版本变化情况
  11. 小米手机多功能计算机都怎么使用方法,图文展示小米手机如何连接电脑详细操作...
  12. 应用于高速计数器的编码器基础知识介绍
  13. 快学scala第二版笔记
  14. JAVA POI WORD XWPFDocument 常用操作-随时更新
  15. EXP9 web安全基础实践
  16. UG曲面造型——手机壳
  17. JAVA里的jsp网页背景_【JavaWeb】JSP 页面
  18. 微机原理-汇编语言设计
  19. “离散元数值模拟仿真技术与应用”系列专题培训的通知
  20. linux下u盘网卡驱动,通过u盘给linux安装网卡驱动的做法——深圳培训linux

热门文章

  1. 织梦dedecms源码安装方法
  2. 金蝶 K3 库存账龄分析表 数据不一致
  3. 金蝶K3 SQL报表系列-库存账龄分析
  4. 服务器php环境配置续费,php 服务器环境搭建配置
  5. 前端pc端和移动端的区别?
  6. linux curses,Linux下利用curses库实现弹球游戏
  7. 【调剂】华东交通大学信息工程学院2022年硕士研究生招生预调剂公告
  8. mdbook通过markdown制作电子书(代替gitbook)
  9. java jfinal_如何使用JFinal开发javaweb
  10. 一对一关联查询注解@OneToOne的实例详解(一)