【计网】网络层详解(下)
来源:互联网 发布:淘宝店铺流量来源查询 编辑:程序博客网 时间:2024/05/05 07:34
网际控制报文协议 ICMP
1.定义
为了提高 IP 数据报交付成功的机会,在网际层使用了网际控制报文协议 ICMP (Internet Control Message Protocol)。
ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。
ICMP 不是高层协议,而是 IP 层的协议。
ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去
2.ICMP 报文的格式
3.ICMP 报文的种类
(1)ICMP 差错报告报文
ICMP差错报告报文的种类
- 终点不可达
- 源点抑制(Source quench)
- 时间超过
- 参数问题
- 改变路由(重定向)(Redirect)
不应发送 ICMP 差错报告报文的几种情况
- 对 ICMP 差错报告报文不再发送 ICMP 差错报告报文。
- 对第一个分片的数据报片的所有后续数据报片都不发送 ICMP 差错报告报文。对具
- 有多播地址的数据报都不发送 ICMP 差错报告报文。
- 对具有特殊地址(如127.0.0.0 或 0.0.0.0)的数据报不发送 ICMP 差错报告报文
(2)ICMP 询问报文
- ICMP询问报文的种类
- 回送请求和回答报文
- 时间戳请求和回答报文
- 不再使用ICMP 报文的几种情况
- 信息请求与回答报文
- 掩码地址请求和回答报文
- 路由器询问和通告报文
4.PING 的特点(Packet InterNet Groper)
PING 用来测试两个主机之间的连通性。
PING 使用了 ICMP 回送请求与回送回答报文。
PING 是应用层直接使用网络层 ICMP 的例子,它没有通过运输层的 TCP 或UDP
5.Tracert
Tracert是路由跟踪程序,用于确定 IP 数据报访问目标所经过的路径
用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由
tracert 是一个简单的网络诊断工具,可以列出分组经过的路由节点,以及它在IP 网络中每一跳的延迟
因特网的路由选择协议
1.基本概念
(1)路由选择是个非常复杂的问题
它是网络中的所有结点共同协调工作的结果。
路由选择的环境往往是不断变化的,而这种变化有时无法事先知道
(2)从路由算法的自适应性考虑
静态路由选择策略——即非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化。
动态路由选择策略——即自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大
(3)两大类路由选择协议
内部网关协议 IGP (Interior Gateway Protocol)
即在一个自治系统内部使用的路由选择协议。外部网关协议EGP (External Gateway Protocol)
若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用外部网关将路由选择信息传递到另一个自治系统中。
(4)自治系统 AS(Autonomous System)
在单一的技术管理下的一组路由器,而这些路由器使用一种 AS 内部的路由选择协议和共同的度量以确定分组在该 AS 内的路由,同时还使用一种 AS 之间的路由选择协议用以确定分组在 AS之间的路由
2.内部网关协议 RIP
(1)工作原理
路由信息协议 RIP 是内部网关协议 IGP中最先得到广泛使用的协议。
RIP 是一种分布式的基于距离向量的路由选择协议。
RIP 协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录
(2)特点
仅和相邻路由器交换信息。
交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
按固定的时间间隔交换路由信息,例如,每隔 30 秒。
(3)RIP2 协议的报文格式
(4)RIP 协议的优缺点
RIP 存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。
RIP 协议最大的优点就是实现简单,开销较小。
RIP 限制了网络的规模,它能使用的最大距离为 15(16 表示不可达)。
路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。
3.内部网关协议 OSPF
(1)概念
“开放”表明 OSPF 协议不是受某一家厂商控制,而是公开发表的。
“最短路径优先”是因为使用了 Dijkstra 提出的最短路径算法SPF
OSPF 只是一个协议的名字,它并不表示其他的路由选择协议不是“最短路径优先”。
是分布式的链路状态协议
(2)三个要点
向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。
发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。
只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息
(3)OSPF 的区域
- OSPF 划分为两种不同的区域
(4)特点
OSPF 直接用 IP 数据报传送
OSPF 构成的数据报很短。这样做可减少路由信息的通信量
所有在 OSPF 路由器之间交换的分组都具有鉴别的功能。
支持可变长度的子网划分和无分类编址 CIDR。
每一个链路状态都带上一个 32 位的序号,序号越大状态就越新
支持多路径间的负载平衡
OSPF 对于不同类型的业务可计算出不同的路由
(5)OSPF 的五种分组类型
- 问候(Hello)分组。
- 数据库描述(Database Description)分组。
- 链路状态请求(Link State Request)分组。
- 链路状态更新(Link State Update)分组,用洪泛法对全网更新链路状态。
- 链路状态确认(Link State Acknowledgment)分组。
4.外部网关协议 BGP
(1)特点
BGP 协议交换路由信息的结点数量级是自治系统数的量级,这要比这些自治系统中的网络数少很多。
每一个自治系统中 BGP 发言人(或边界路由器)的数目是很少的。这样就使得自治系统之间的路由选择不致过分复杂
BGP 支持 CIDR
(2)BGP-4 共使用四种报文
- 打开(OPEN)报文,用来与相邻的另一个BGP发言人建立关系。
- 更新(UPDATE)报文,用来发送某一路由的信息,以及列出要撤消的多条路由。
- 保活(KEEPALIVE)报文,用来确认打开报文和周期性地证实邻站关系。
- 通知(NOTIFICATION)报文,用来发送检测到的差错。
IP 多播
1.特点
多播使用组地址—— IP 使用 D 类地址支持多播。多播地址只能用于目的地址,而不能用于源地址。
永久组地址——由因特网号码指派管理局 IANA 负责指派。
动态的组成员
使用硬件进行多播
2.网际组管理协议 IGMP
(1)IP多播需要两种协议,网际组管理协议 IGMP 和多播路由选择协议。
(2)IGMP 的两个阶段
当某个主机加入新的多播组时,该主机应向多播组的多播地址发送IGMP 报文,声明自己要成为该组的成员。本地的多播路由器收到 IGMP 报文后,将组成员关系转发给因特网上的其他多播路由器。
因为组成员关系是动态的,因此本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员。
(3)几种多播路由选择协议
- 距离向量多播路由选择协议 DVMRP (Distance Vector Multicast Routing Protocol)
- 基于核心的转发树 CBT (Core Based Tree)
- 开放最短通路优先的多播扩展 MOSPF (Multicast Extensions to OSPF)
- 协议无关多播-稀疏方式 PIM-SM (Protocol Independent Multicast-Sparse Mode)
- 无关多播-密集方式 PIM-DM (Protocol Independent Multicast-Dense Mode)
虚拟专用网 VPN 和网络地址转换 NAT
1.虚拟专用网 VPN
(1)用隧道技术实现虚拟专用网
(2)内联网与外联网
内联网:部门 A 和 B 的内部网络所构成的虚拟专用网 VPN ,
部门 A 和 B 都是在同一个机构的内部外联网:一个机构和某些外部机构共同建立的虚拟专用网 VPN
(3)远程接入VPN(remote access VPN)
在外地工作的员工拨号接入因特网,而驻留在员工 PC 机中的 VPN 软件可在员工的 PC 机和公司的主机之间建立 VPN 隧道,因而外地员工与公司通信的内容是保密的,员工们感到好像就是使用公司内部的本地网络
2.网络地址转换 NAT (Network Address Translation)
(1)定义
它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术,在一定程度上,能够有效的解决公网地址不足的问题。
(2)分类
- 静态NAT(Static NAT)
- 动态地址NAT(Pooled NAT)
- 网络地址端口转换NAPT(Port-Level NAT)。
(3)特点
数据包伪装
可以将内网数据包中的地址信息更改成统一的对外地址信息,不让内网主机直接暴露在因特网上,保证内网主机的安全。同时,该功能也常用来实现共享上网。平衡负载
目的地址转换NAT可以重定向一些服务器的连接到其他随机选定的服务器端口转发
当内网主机对外提供服务时,由于使用的是内部私有IP地址,外网无法直接访问。因此,需要在网关上进行端口转发,将特定服务的数据包转发给内网主机透明代理
NAT可以把连接到因特网的HTTP连接重定向到一个指定的HTTP代理服务器以缓存数据和过滤请求。一些因特网服务提供商就使用这种技术来减少带宽的使用而不用让他们的客户配置他们的浏览器支持代理连接
小疑问
1.内网、外网、局域网、公网有什么区别?
答:(1)内网:IP地址是Inetnet上的保留地址,使用NAT(网络地址转换)协议,通过1个公共的网关访问Internet。内网的计算机可向Internet上的其他计算机发送连接请求,但Internet上其他的计算机无法向内网的计算机发送连接请求。一般是用路由器或者交换机相互连的网络
例:公司、学校等的网络。
(2)外网:IP地址是Inetnet上的非保留地址,和Internet上的其他计算机可随意互相访问,直接接连到互联网的网络。
例:联通、电信、移动等的网络。
(3)局域网:(LAN、私网、内网)内电脑发起的对外连接请求,路由器或网关都不会加以阻拦,小范围内的计算机互联网络
例:几台电脑之间的通信
(4)公网:即公共网络,没有限制,只要能上网的用户,都可以访问
例:百度,新浪等的网站
(5)小结:其实局域网就指的是LAN、私网或内网,而广域网指WAN、公网和外网
2.私有IP、浮动IP、固定IP有什么区别?
答:(1)私有IP:指在局域网中使用的IP地址。
(2)浮动IP:随着主机服务挂掉而转移到另外一个能够提供相同服务的主机上,一般在高可用集群中使用,
(3)固定IP:给每个连接在Internet上的主机分配的一个32bit地址,一般视频监控、邮件服务器、WEB服务器、WAP服务器等使用。
3.短连接、长连接的区别?
答:(1)长连接:在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,在没有数据通信时,定时发送数据包(心跳),以维持连接状态
* 长连接多用于操作频繁(读写),点对点的通讯,而且连接数不能太多情况
(2)短连接:指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接
* WEB网站的http服务一般都用短链接
4.反向代理、正向代理的区别?
(1)正向代理:代理的对象是客户端,隐藏了真实的请求客户端,
为了在防火墙内的局域网提供访问internet的途径。另外还可以使用缓冲特性减少网络使用率
(2)反向代理:代理的对象是服务端,隐藏了真实的服务端
将防火墙后面的服务器提供给internet用户访问。同时还可以完成诸如负载均衡等功能
5.chunked的概念
答:chunked即分块技术,实体被分成许多的块,也就是应用层的数据,TCP在传送的过程中,不对它们做任何的解释,而是把应用层产生数据全部理解成二进制流,然后按照MSS的长度切成一份一份的,全放到tcp协议栈里面去,而具体这些二进制的数据如何做解释,需要应用层来完成,所以在这之前,一块整体应用层的数据需要等它分成的所有TCP segment到达对方,重新组装后,应用程序才使用自己的解码方法还原它们。
本人才疏学浅,若有错,请指出
谢谢!
参考资料:《计算机网络 第六版》-谢希仁
- 【计网】网络层详解(下)
- 【计网】网络层详解(上)
- 计网--OSI七层与TCP/IP五层网络架构详解
- 计网——网络层
- 【计网】数据链路层详解
- 【计网】运输层概述
- 【计网】应用层概述
- Linux下套接字详解(补充)--OSI七层与TCP/IP五层网络架构详解
- 【计网】物理层详解
- 【计网】HTTPS详解
- 网络七层详解
- CNN网络层详解
- 计网——数据链路层
- 计网——传输层
- 计网——各层功能
- 【计网】HTTP协议详解
- OSI七层模型详解(物理层、数据链路层、网络层、传输层.....应用层协议与硬件)
- OSI七层模型详解(物理层、数据链路层、网络层、传输层.....应用层协议与硬件)
- spark上部署微服务
- CentOS安装strongLoop
- 最全的mysql学习笔记
- SpringMVC
- SOAP webserivce 和 RESTful webservice 对比及区别
- 【计网】网络层详解(下)
- MyEclipse中创建maven web项目
- docker+svn+maven+tomcat一键部署项目
- HttpServeltResponse对象介绍,http://www.cnblogs.com/xdp-gacl/p/3789624.html
- Oracle 创建DBLink (转)
- XML
- Qt图形视图框架(三) 自定义QGraphicsItem
- 有限元 和 FEA
- u-boot中的text、bss、data和rodata区别和联系