We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
图片来源于网络
网络层是 OSI 模型中的第三层(TCP/IP 模型中的网络互连层)。提供路由和寻址的功能,使两终端系统能够互连且决定最佳路径,并具有一定的拥塞控制和流量控制的能力。
由于 TCP/IP 协议体系中的网络层功能由 IP 协议规定和实现,故又称 IP 层。
网络层的作用从表面上看极为简单,即将分组从一台发送主机移动到一台接受主机。为此,需要两种重要的网络层功能:
分组交换机是指一台通用分组交换设备,它根据分组首部字段中的值,从输入链路接口到输出链路接口转移分组。某些分组交换机称为链路层交换机,基于链路层字段中的值做转发决定。其他分组交换机被称为路由器,基于网络层字段中的值做转发决定。
网络层有三个主要组件
运输层能够为应用程序提供无连接服务(UDP)或面向连接(TCP)的服务。以类似的方式,网络层也能够在两台主机之间提供无连接服务或连接服务。
IP 是在 TCP/IP 协议中网络层的主要协议,任务是仅仅根据源主机和目的主机的地址传送数据。为此目的,IP定义了寻址方法和数据报的封装结构。
IPv4 在 IETF 于1981年9月发布的 RFC 791 中被描述。
版本:区分 IPv4 和 IPv6
首部长度:因为一个 IPv4 数据报可包含一些可变数量的选项,需要确定 IP 数据报中数据部分实际从哪里开始。大多数 IP 数据报不包含选项,所以一般 IP 数据报具有 20字节的首部。
服务类型:如一些特别要求低延时、高吞吐量或可靠性的数据报
数据报长度:IP数据报总长度(首部加上数据),以字节计。理论最长长度为 65535 字节,然而,数据报很少有超过 1500 字节的。
标识,标志,片偏移:这三个字段与 IP分片有关
寿命:寿命 (Time-To-Live, TTL) 字段用来确保数据报不会永远(如由于长时间的路由选择环路)在网络中循环。每当数据报由一台路由器处理时,该字段的值减 1。若TTL字段减为 0,则该数据报必须丢弃。
协议:该字段仅在一个 IP数据报到达其最终目的地才会有用。该字段指示了 IP数据报的数据部分应交给哪个特定的运输层协议。例如值为 6 表明数据部分要交给 TCP,而值为 17 表明数据要交给 UDP。
首部检验和:首部校验和用于帮助路由器检测收到的 IP数据报中的比特错误。
为什么 TCP/IP 在运输层和网络层都执行差错检查呢? 在 IP层只对 IP首部计算了检验和,而 TCP/UDP 检验和是对整个 TCP/UDP 报文段进行的。 TCP/UDP 与 IP不一定都必须属于同一个协议栈。原则上 TCP 能运行在一个不同的协议(如ATM)上,而 IP能够携带不一定要传递给 TCP/UDP 的数据。
为什么 TCP/IP 在运输层和网络层都执行差错检查呢?
源和目的IP地址:发送端和接收端 IP地址
选项:选项字段允许 IP首部被扩展。
数据(有效载荷):数据报存在的首要理由!在大多数情况下,IP数据报中的数据字段包含要交付给目的地的运输层报文段(TCP或UDP)。然而,该数据字段也可承载其他类型的数据,如 ICMP报文。
IP数据报分片:
并不是所有链路层协议都能承载相同长度的网络层分组。有的协议能承载大数据报,而有的协议只能承载小分组。例如,以太网帧能够承载不超过 1500 字节的数据,而某些广域网链路的帧可承载不超过 576 字节的数据。
一个链路层帧能承载的最大数据量叫做最大传送单元 (Maximun Transmission Unit, MTU)。因为每个 IP数据报封装在链路层帧中从一台路由器传输到下一台路由器,故链路层协议的 MTU 严格地限制着 IP数据报的长度。
对 IP数据报长度具有严格限制并不是主要问题。问题在于在发送方与目的地路径上的每段链路可能使用不同的链路层协议,且每种协议可能具有不同的 MTU。假定从某条链路收到一个 IP数据报,通过检查转发表确定出链路,并且该出链路的 MTU 比该 IP数据报的长度要小。那么如何将这个过大的 IP分组压缩进链路层帧的有效载荷字段呢?解决该问题的方法是将 IP数据报中的数据分片成两个或更多个较小的 IP数据报,用单独的链路层帧封装这些较小的 IP数据报,然后向输出链路上发送这些帧。每个这些较小的数据报都被称为片(fragment)。
为坚持网络内核保持简单的原则,IPv4 设计者决定将数据报的重组工作放到端系统中,而不是放到网络路由器中。
每个 IP地址长度为 32 比特(4 字节)。因此有2^32个可能的 IP地址。
IP地址由网络地址和主机地址两部分组成。
IP地址分类:
注意:ABC 类的划分是一个历史概念,已无实际意义。请参阅 无类别域间路由 。
私网地址
A,B,C 三类中各保留了3个区域作为私网地址,也就是局域网用的,私网地址不能在公网上出现,只能用在内部网路中,所有的路由器都不能发送目标地址为私网地址的数据报。
A类地址:10.0.0.0~10.255.255.255
B类地址:172.16.0.0 ~172.31.255.255
C类地址:192.168.0.0~192.168.255.255
使用私网保留地址的网络只能在内部进行通信,而不能与其他网络互连。因为本网络中的保留地址同样也可能被其他网络使用,如果进行网络互连,那么寻找路由时就会因为地址的不唯一而出现问题。
广播地址
广播地址用于在同一链路中相互连接的主机之间发送数据包。将 IP地址中的主机地址部分全部设置为 1,就成为了广播地址。
IP多播
多播用于将包发送给特定组内的所有主机。由于其直接使用 IP协议,因此也不存在可靠传输。
为每一台主机设置 IP地址是非常繁琐的事情,为了实现自动设置 IP地址,统一管理 IP地址分配,就产生了 DHCP (Dynamic Host Configuration Protocol)。DHCP 让即插即用成为可能。
DHCP 在分配 IP地址有两种方法。一种是由 DHCP 服务器在特定的 IP地址中自动选出一个进行分配。另一种方法是针对 MAC地址分配一个固定的 IP地址。而且这两种方法可以并用。
NAT (Network Address Translator) 是用于在本地网络中使用私有地址,在连接互联网时转而使用全局 IP地址的技术。
一个刚刚搭建好的网络,需要验证该网络的设置是否正确。确保网络能够按照预期正常工作,遇到问题立即制止问题。ICMP 正是提供这类功能的协议。ICMP 的主要功能包括,确认 IP包是否成功送达目标地址,通知在发送过程当中 IP包被废弃的具体原因,改善网络设置等。
路由器的各个端口都具有 MAC 地址和 IP 地址
自治系统 (Autonomous System,AS) 内部路由选择协议用于确定一个 AS 内执行路由选择的方式。AS 内部路由选择协议又称为内部网关协议 (interior gateway protocol)。
路由选择信息协议 (Routing Information Protocol, RIP) 是一种距离向量型的路由协议,广泛运用于 LAN。
RIP 将路由控制信息定期(30秒一次)像全网广播。RIP 规定等待 6 次(180秒)仍未收到路由信息,才会真正关闭连接。
就像 RIP 一样,开放最短路优先 (Open Shortest Path First, OSPF) 路由选择也被广泛用于因特网 AS 内部路由选择。OSPF 和 IS-IS 通常设置在上层的 ISP 中,而 RIP 却被设置在下层 ISP 和企业网中。
BGP (Border Gateway Protocol) 边界网关协议是连接不同组织机构(或者说自治系统)的一种协议。因此,它属于外部网关协议(EGP)。
数据链路,指 OSI 参考模型中的数据链路层,有时也指以太网,无线局域网等通信手段。
数据链路层使用的信道主要有以下两种类型:
MAC 地址用于识别数据链路中互连的节点。在使用网卡的情况下,MAC 地址一般会被烧入到 ROM 中。因此,任何一个网卡的 MAC 地址都是唯一的。(如果启动了虚拟机,没有硬件的网卡只能由虚拟软件设定 MAC 地址给多个虚拟网卡,这就很难保证唯一了)
交换机
以太网交换机是持有多个端口(非 TCP 等传输层协议中的端口)的网桥
二层交换机工作于 OSI 参考模型的第二层,即数据链路层。
交换机会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。
交换机可用于划分数据链路层广播,即冲突域,连接的所有设备同属于一个广播域(子网),负责子网内部通信。。
路由器
路由工作在 OSI 模型的第三层,即网络层,例如网际协议(IP)。
路由器在转发包时,首先会通过端口将发过来的包接收进来,这取决于端口对应的通信技术(以太网端口或无线局域网端口),然后根据包的 IP 头部记录的接收方 IP 地址在路由表中查询,以此判断转发目标。然后再将包转移到转发目标对应的端口,端口再按照硬件的规则将包发送出去。
路由器可用于划分网络层广播,即广播域,连接的设备分属不同子网,工作范围是多个子网之间,负责网络与网络之间通信。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
网络层
概述
网络层是 OSI 模型中的第三层(TCP/IP 模型中的网络互连层)。提供路由和寻址的功能,使两终端系统能够互连且决定最佳路径,并具有一定的拥塞控制和流量控制的能力。
由于 TCP/IP 协议体系中的网络层功能由 IP 协议规定和实现,故又称 IP 层。
网络层的作用从表面上看极为简单,即将分组从一台发送主机移动到一台接受主机。为此,需要两种重要的网络层功能:
分组交换机是指一台通用分组交换设备,它根据分组首部字段中的值,从输入链路接口到输出链路接口转移分组。某些分组交换机称为链路层交换机,基于链路层字段中的值做转发决定。其他分组交换机被称为路由器,基于网络层字段中的值做转发决定。
网络层有三个主要组件
虚电路和数据报网络
运输层能够为应用程序提供无连接服务(UDP)或面向连接(TCP)的服务。以类似的方式,网络层也能够在两台主机之间提供无连接服务或连接服务。
网际协议(IP)
IP 是在 TCP/IP 协议中网络层的主要协议,任务是仅仅根据源主机和目的主机的地址传送数据。为此目的,IP定义了寻址方法和数据报的封装结构。
IPv4 在 IETF 于1981年9月发布的 RFC 791 中被描述。
IPv4 数据报格式
版本:区分 IPv4 和 IPv6
首部长度:因为一个 IPv4 数据报可包含一些可变数量的选项,需要确定 IP 数据报中数据部分实际从哪里开始。大多数 IP 数据报不包含选项,所以一般 IP 数据报具有 20字节的首部。
服务类型:如一些特别要求低延时、高吞吐量或可靠性的数据报
数据报长度:IP数据报总长度(首部加上数据),以字节计。理论最长长度为 65535 字节,然而,数据报很少有超过 1500 字节的。
标识,标志,片偏移:这三个字段与 IP分片有关
寿命:寿命 (Time-To-Live, TTL) 字段用来确保数据报不会永远(如由于长时间的路由选择环路)在网络中循环。每当数据报由一台路由器处理时,该字段的值减 1。若TTL字段减为 0,则该数据报必须丢弃。
协议:该字段仅在一个 IP数据报到达其最终目的地才会有用。该字段指示了 IP数据报的数据部分应交给哪个特定的运输层协议。例如值为 6 表明数据部分要交给 TCP,而值为 17 表明数据要交给 UDP。
首部检验和:首部校验和用于帮助路由器检测收到的 IP数据报中的比特错误。
源和目的IP地址:发送端和接收端 IP地址
选项:选项字段允许 IP首部被扩展。
数据(有效载荷):数据报存在的首要理由!在大多数情况下,IP数据报中的数据字段包含要交付给目的地的运输层报文段(TCP或UDP)。然而,该数据字段也可承载其他类型的数据,如 ICMP报文。
IP数据报分片:
并不是所有链路层协议都能承载相同长度的网络层分组。有的协议能承载大数据报,而有的协议只能承载小分组。例如,以太网帧能够承载不超过 1500 字节的数据,而某些广域网链路的帧可承载不超过 576 字节的数据。
一个链路层帧能承载的最大数据量叫做最大传送单元 (Maximun Transmission Unit, MTU)。因为每个 IP数据报封装在链路层帧中从一台路由器传输到下一台路由器,故链路层协议的 MTU 严格地限制着 IP数据报的长度。
对 IP数据报长度具有严格限制并不是主要问题。问题在于在发送方与目的地路径上的每段链路可能使用不同的链路层协议,且每种协议可能具有不同的 MTU。假定从某条链路收到一个 IP数据报,通过检查转发表确定出链路,并且该出链路的 MTU 比该 IP数据报的长度要小。那么如何将这个过大的 IP分组压缩进链路层帧的有效载荷字段呢?解决该问题的方法是将 IP数据报中的数据分片成两个或更多个较小的 IP数据报,用单独的链路层帧封装这些较小的 IP数据报,然后向输出链路上发送这些帧。每个这些较小的数据报都被称为片(fragment)。
为坚持网络内核保持简单的原则,IPv4 设计者决定将数据报的重组工作放到端系统中,而不是放到网络路由器中。
IPv4编址
每个 IP地址长度为 32 比特(4 字节)。因此有2^32个可能的 IP地址。
IP地址由网络地址和主机地址两部分组成。
IP地址分类:
私网地址
A,B,C 三类中各保留了3个区域作为私网地址,也就是局域网用的,私网地址不能在公网上出现,只能用在内部网路中,所有的路由器都不能发送目标地址为私网地址的数据报。
A类地址:10.0.0.0~10.255.255.255
B类地址:172.16.0.0 ~172.31.255.255
C类地址:192.168.0.0~192.168.255.255
使用私网保留地址的网络只能在内部进行通信,而不能与其他网络互连。因为本网络中的保留地址同样也可能被其他网络使用,如果进行网络互连,那么寻找路由时就会因为地址的不唯一而出现问题。
广播地址
广播地址用于在同一链路中相互连接的主机之间发送数据包。将 IP地址中的主机地址部分全部设置为 1,就成为了广播地址。
IP多播
多播用于将包发送给特定组内的所有主机。由于其直接使用 IP协议,因此也不存在可靠传输。
动态主机配置协议 DHCP
为每一台主机设置 IP地址是非常繁琐的事情,为了实现自动设置 IP地址,统一管理 IP地址分配,就产生了 DHCP (Dynamic Host Configuration Protocol)。DHCP 让即插即用成为可能。
DHCP 在分配 IP地址有两种方法。一种是由 DHCP 服务器在特定的 IP地址中自动选出一个进行分配。另一种方法是针对 MAC地址分配一个固定的 IP地址。而且这两种方法可以并用。
网络地址转换 NAT
NAT (Network Address Translator) 是用于在本地网络中使用私有地址,在连接互联网时转而使用全局 IP地址的技术。
因特网控制报文协议 ICMP
一个刚刚搭建好的网络,需要验证该网络的设置是否正确。确保网络能够按照预期正常工作,遇到问题立即制止问题。ICMP 正是提供这类功能的协议。ICMP 的主要功能包括,确认 IP包是否成功送达目标地址,通知在发送过程当中 IP包被废弃的具体原因,改善网络设置等。
IPv6
路由器工作原理
路由选择算法
距离向量算法
链路状态算法
因特网中的路由选择
自治系统内部的路由选择 RIP
自治系统 (Autonomous System,AS) 内部路由选择协议用于确定一个 AS 内执行路由选择的方式。AS 内部路由选择协议又称为内部网关协议 (interior gateway protocol)。
路由选择信息协议 (Routing Information Protocol, RIP) 是一种距离向量型的路由协议,广泛运用于 LAN。
RIP 将路由控制信息定期(30秒一次)像全网广播。RIP 规定等待 6 次(180秒)仍未收到路由信息,才会真正关闭连接。
自治系统内部的路由选择 OSPF
就像 RIP 一样,开放最短路优先 (Open Shortest Path First, OSPF) 路由选择也被广泛用于因特网 AS 内部路由选择。OSPF 和 IS-IS 通常设置在上层的 ISP 中,而 RIP 却被设置在下层 ISP 和企业网中。
自治系统间的路由选择 BGP
BGP (Border Gateway Protocol) 边界网关协议是连接不同组织机构(或者说自治系统)的一种协议。因此,它属于外部网关协议(EGP)。
广播和多播路由选择
广播路由选择算法
多播
链路层:链路、接入网和局域网
概述
数据链路,指 OSI 参考模型中的数据链路层,有时也指以太网,无线局域网等通信手段。
数据链路层使用的信道主要有以下两种类型:
数据链路相关技术
MAC地址
MAC 地址用于识别数据链路中互连的节点。在使用网卡的情况下,MAC 地址一般会被烧入到 ROM 中。因此,任何一个网卡的 MAC 地址都是唯一的。(如果启动了虚拟机,没有硬件的网卡只能由虚拟软件设定 MAC 地址给多个虚拟网卡,这就很难保证唯一了)
交换机
交换机
以太网交换机是持有多个端口(非 TCP 等传输层协议中的端口)的网桥
二层交换机工作于 OSI 参考模型的第二层,即数据链路层。
交换机会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。
交换机可用于划分数据链路层广播,即冲突域,连接的所有设备同属于一个广播域(子网),负责子网内部通信。。
路由器
路由工作在 OSI 模型的第三层,即网络层,例如网际协议(IP)。
路由器在转发包时,首先会通过端口将发过来的包接收进来,这取决于端口对应的通信技术(以太网端口或无线局域网端口),然后根据包的 IP 头部记录的接收方 IP 地址在路由表中查询,以此判断转发目标。然后再将包转移到转发目标对应的端口,端口再按照硬件的规则将包发送出去。
路由器可用于划分网络层广播,即广播域,连接的设备分属不同子网,工作范围是多个子网之间,负责网络与网络之间通信。
The text was updated successfully, but these errors were encountered: