第三部分网络互连主要内容网络互连的概念、体系结构和协议IP地址地址解析IP数据报转发IP数据报在互连网上的传输错误报告机制TCP协议1.
概念、体系结构和协议为什么需要网络互连没有哪一种网络技术可以适合所有的需要,一个组织需要多种网络类型.
连接在不同网络上的计算机需要相互通信.
网络硬件和物理编址的不兼容性阻碍了使用不同技术的网络之间进行互连.
我们需要一个能够提供通用服务的通信系统,可以允许任意一对计算机进行通信.
网络互连(internetworking)是为异构网络提供通用服务而设计的模式:硬件系统提供互连的物理网络,相互连接的物理网络系统称为互连网络(internetwork)或互连网(internet).
计算机上的软件提供通用服务.
使用路由器的物理网络连接连接异构网络的基本硬件是路由器.
路由器可以将使用不同技术的网络连接起来,包括使用不同介质、不同物理编址方式和不同帧格式的网络.
路由器主要致力于在其连接的网络之间转发数据.
物理上,互连网是一个通过路由器连接的网络集合,每个组织可自由选择网络的数量、类型与拓扑结构等.
虚拟网络计算机和路由器使用协议软件实现通用服务.
互连网协议软件提供了单一通信系统表现形式:每台计算机被分配一个地址,任何计算机可以向任何其它计算机发送数据包.
协议软件隐藏了网络的物理连接、物理地址和路由信息等细节.
互连网是一个虚拟网络系统,因为它提供了一个统一网络系统的表现形式,而实际上并不存在这样的网络系统.
虚拟网络和对应的物理结构网络互连协议TCP/IP是应用于互连网的第一套协议,也是目前使用最广泛的网络互连协议.
TCP/IP协议族包括了一组协议,其中TCP和IP协议是其中最核心的两个协议.
TCP/IP协议被划分成5个概念层:物理层:与基本网络硬件相对应网络接口层:将数据组织成帧并通过网络传输互连网层:说明通过互连网发送的数据包的格式、编址方式、以及数据包转发方式.
传输层:确保可靠的传输.
应用层:说明应用如何使用互连网.
主机、路由器和协议层主机(hostcomputer):与互连网相连并运行应用程序的任意计算机系统.
主机上一般运行完整的协议栈.
路由器一般不运行应用层协议,个别路由器可能运行应用程序以允许管理员远程管理路由器.
2.
IP地址为提供统一系统的表现形式,所有主机必须使用统一的编址模式,并且每个地址必须是唯一的.
物理网络地址不具有这个能力,为此协议软件定义了一种独立于底层物理地址的编址模式,数据包在互连网中传输时使用协议地址.
在采用TCP/IP协议的网络中,每台主机被分配一个唯一的32位二进制数,这个数称为IP地址(或互连网地址).
每个通过互连网发送的数据包均包含发送者(源)IP址和接收者(目的)IP地址.
IP地址的层次从概念上讲,每个IP地址被划分成前缀和后缀两个部分:前缀标识了与计算机相连的物理网络后缀标识了这个网络上的独立计算机互连网中的每个物理网络均被分配一个唯一的值,称为网络号.
给定物理网络上的每台计算机均被分配一个唯一的地址后缀.
IP地址的层次结构保证了两个重要特性:每台计算机被分配一个唯一的地址.
后缀的分配仅考虑本地唯一性即可.
基于类的IP编址为适合大型和小型网络的组合,最初采用基于类的编址模式.
IP地址空间被划分成5类,用地址的前几位标识类及前缀和后缀的划分.
A类、B类和C类称为基本类,用于主机,D类用于多播传输,E类暂时未用.
基本类采用字节边界将地址划分成前缀和后缀.
五类IP地址点分十进制表示法点分十进制表示法是IP软件与用户进行交互时,表示32位二进制数的一种形式.
32位二进制数中的每8位数字表示成一个十进制数,并用点来分隔每个十进制数.
地址空间的划分分配给前缀的位数决定了可以分配的网络号数量.
分配给后缀的位数决定了网络中最多可以有多少台主机.
地址权威在互连网中,每个网络前缀必须是唯一的.
为使网络能够连接到因特网上,组织必须从提供因特网连接的通信公司(称因特网服务提供商,ISP)获得网络号.
ISP从IANA(InternetAssignedNumberAuthority)获得网络号.
建立私有网络的组织可以自己选择网络前缀(建议使用A类、B类和C类地址),但同样必须保证每个网络前缀在私有网络内的唯一性.
类编址的例子某个组织期望建立一个小型网络、两个中型网络和一个大型网络,于是选择了一个C类地址、两个B类地址和一个A类地址.
子网和无类编址类编址模式不够灵活,一方面IP地址空间正在被耗尽,另一方面大量IP地址被浪费.
克服类编址缺陷的两种机制:子网编址无类编址概括地说,这两种机制不是将地址空间划分为三个明显的地址类,而是允许地址的前缀和后缀之间的界线可以发生在任意位上.
地址掩码无类和子网编址需要每个地址存储额外的信息,用于指定网络前缀和主机后缀之间的界线.
使用地址掩码(或子网掩码)表示地址中前缀和后缀的划分:地址掩码也是一个32位的二进制数,其中含有1的位对应前缀,含有0的位对应后缀.
比如:掩码11111111111111110000000000000000表示前16位为前缀,后16位为后缀.
将地址与掩码相与,即可得到地址前缀.
比如:将IP地址128.
10.
2.
3与以上掩码相与,可可得到地址前缀128.
10.
0.
0.
地址掩码的表示点分十进制表示法:将二进制形式的掩码用点分十进制形式表示,如11111111111111110000000000000000表示成255.
255.
0.
0CIDR表示法:在地址后而附加一个斜线,斜线后面给出掩码长度的十进制值,如128.
10.
0.
0/16.
无类(CIDR)地址分配无类编址可以灵活划分地址空间,根据用户的需要分配适当大小的地址块.
假设ISP有一个B类前缀128.
211.
0.
0如果采用类编址,只能分配给一个客户,这个客户可以分配多达65536个主机地址;如果有两个客户,每个客户只有12台主机,则不能分配.
如果采用CIDR编址,可以将该地址空间分成三块,两个客户各分配一块,如128.
211.
0.
0/28和128.
211.
0.
16/28,剩下一块留给将来的客户.
特殊的IP地址全0/全1的前缀/后缀是保留的,不分配给任何网络和主机.
测试回送任意127在本地网中广播受限广播全1全1在特定的网络中广播直接广播全1网络标识一个网络网络全0网络启动时使用本机全0全0用途地址类型后缀前缀路由器和IP编址原则每台路由器均被分配了两个或两个以上的IP地址:一台路由器需要连接到多个物理网络中每个IP地址的网络前缀只能对应一个物理网络因此,每个IP地址标识的不是某台计算机,而是计算机和网络之间的一个连接.
连接到多个网络的主机称为多宿主机(multi-homedhost),多宿主机有多个协议地址,每个地址对应一个网络连接.
路由器地址分配3.
绑定协议地址IP地址用于在互连网中选路:IP地址的前缀包含了目的主机的位置信息,主机或路由器使用目的IP地址选择下一跳.
一旦选择了下一跳,软件就通过物理网络把这个数据包传送给选择的下一跳节点.
IP地址是由软件维护的虚拟地址,硬件不能理解IP地址.
在物理网络上发送的帧必须使用硬件能够识别的帧格式,帧中所有的地址必须是硬件地址.
因此,在数据包被发送之前,必须将下一跳的IP地址转换成对应的硬件地址.
地址解析地址解析是将计算机的协议地址转换成正确的硬件地址的过程.
地址解析总是局限在网络本地进行,一台计算机不能解析连接在另一个网络中的计算机地址.
地址解析技术表查找使用一个地址绑定表,每个表项包含一个对.
通常用于广域网中的IP地址解析.
地址解析技术(续)闭形式计算在可配置地址的网络中,硬件地址和IP地址是可变的,通过为计算机选择合适的硬件地址和IP地址,可以从IP地址计算出硬件地址.
消息交换需要解析地址的计算机通过网络发送消息并接收应答,请求消息中包含要解析的协议地址,应答消息中包含与协议地址对应的硬件地址.
通常用于静态编址的局域网中.
地址解析协议ARPARP协议定义了两种基本的消息类型:请求和应答.
两种消息中均包含发送方与接收方的协议地址和硬件地址.
ARP协议定义了在网络中发送ARP消息的方法:ARP请求消息放在硬件帧中,通过广播传递给网络中的所有计算机.
收到请求的每台计算机检查IP地址.
如果与自己的IP地址相符,则发送一个应答消息,消息中包含自己的硬件地址,其它计算机不做响应.
ARP消息格式ARP消息交换图示ARP缓存为避免每次发送数据包前都要请求对方的硬件地址,ARP软件从收到的ARP消息中抽取信息,放到内存中进行缓存.
当需要解析一个地址时,ARP软件先查找ARP缓存.
如果表中存在绑定信息,直接使用表中的信息;如果不存在,则发送ARP请求,利用收到的应答更新缓存.
当表空间不够或一个表项在很长一段时间内(一般为20分钟)没有被更新时,旧的表项被删除.
4.
IP数据报与IP数据报转发TCP/IP网络中传输的数据包称为IP数据报(IPdatagram),由报头和数据两部分组成,报头中含有路由所需的信息.
转发IP数据报数据报在网络中通过路由器沿着从源到目的地的路径传输.
路径上的每台路由器接收数据报,从头部取出目的地址,利用目的地址查找路由表决定数据报的下一跳,向下一跳转发数据报.
路由表包含一个表项集合,每个表项指向一个目的网络和到达该目的网络的下一跳.
一个简单的路由表在路由表中使用网络而不是主机作为目的,是为了减小路由表的规模.
IP地址和路由表项实际的路由表中,每个表项还含有地址掩码信息.
若一个目的地址为192.
4.
10.
3的数据报到达路由器,则路由软件选择的下一跳是128.
1.
0.
9.
5.
IP数据报在互连网上的传输数据报如何在不理解它的格式的物理网络上传输--封装技术当一个IP数据报需要在一个物理网络上传输时,该数据报被封装在一个帧的数据区域中,帧头中包含接收该数据报的下一台计算机的物理地址,并指明帧中包含一个IP数据报.
IP封装示例在互连网上传输每一次数据传输均会发生封装:当发送者选择下一跳之后,发送者将数据包封装在帧中,通过物理网络发送到下一跳.
当帧到达下一跳时,接收软件取出IP数据报并抛弃该帧;如果还需要转发到另外一个网络,接收软件会创建另一个新的帧.
每个网络可以使用不同的硬件技术.
数据报在互连网上的传输步骤6.
错误报告机制TCP/IP协议族含有用于报告IP错误的协议—互连网控制消息协议ICMP.
IP和ICMP相互依赖:IP使用ICMP发送错误消息,ICMP使用IP传输消息.
ICMP定义了错误消息和信息消息:错误消息:用于报告错误,指出错误的类型及原因,如目的不可达、超时等.
错误报告消息发送给引起该错误的数据报的源地址.
信息消息:用于请求一些信息,如回声请求/响应、地址掩码请求/响应等.
ICMP消息的封装使用ICMP消息检测可达性Ping程序使用ICMP回声请求和回声响应消息探测可达性:Ping向指定的目的地址发送一个含有ICMP回声请求的消息,然后等待应答.
远程机器上的ICMP软件在收到一个回声请求后,立即发送一个回声响应.
如果ping没有收到回声响应,重发回声请求;如果多次重发后没有得到响应或收到一个ICMP目的不可达消息,声明远程主机不可达.
使用ICMP跟踪路由Traceroute将第一个发送的数据报的TTL置1,第一个收到此数据报的路由器将TTL减1,发现为0后丢弃,并发送一个ICMP超时消息,traceroute得到第一个路由器的地址.
Traceroute将第二个发送的数据报的TTL置为2,第二个收到此数据报的路由器在对TTL减1后,丢弃该数据报并发送ICMP超时消息,traceroute得到第二个路由器的地址.
依次类推,直至数据报到达目的计算机,目的计算机产生一个响应:若traceroute发送一个ICMP回声请求,则目的主机产生一个ICMP回声响应.
微软的traceroute采用这种方法.
若traceroute向目的计算机上一个不存在的应用发送一个数据报,目的主机产生一个ICMP目标不可达消息.
大多数Unix版本实现的traceroute采用这种方法.
7.
TCP协议TCP协议用于为应用程序提供可靠的数据传输服务.
可靠性是计算机系统的基础,应用程序通常依赖底层的计算机系统来确保可靠传输.
为使程序员在创建网络应用程序时仍然能够使用这种传统的可靠传输技术,互连网软件必须提供与传统计算机系统类似的可靠传输语义:数据按照与发送时相同的顺序到达数据在传输过程中没有出错、丢失或重复TCP是目前为止解决该问题最好的协议,因而成为大多数网络应用程序的基础.
TCP提供的服务面向连接:使用TCP进行网络通信时,应用程序必须首先请求一个到目的地址的连接,然后才能使用这个连接传输数据.
点对点通信:每一个TCP连接均有两个端点.
完全可靠性:TCP保证通过一个连接传输的数据完全按照发送的顺序进行传输,而且没有数据丢失.
全双工通信:TCP连接允许数据进行同时双向的通信.
Digital-vm是一家成立于2019年的国外主机商,商家提供VPS和独立服务器租用业务,其中VPS基于KVM架构,提供1-10Gbps带宽,数据中心可选包括美国洛杉矶、日本、新加坡、挪威、西班牙、丹麦、荷兰、英国等8个地区机房;除了VPS主机外,商家还提供日本、新加坡独立服务器,同样可选1-10Gbps带宽,最低每月仅80美元起。下面列出两款独立服务器配置信息。配置一 $80/月CPU:E3-...
之前分享过很多次CloudCone的信息,主要是VPS主机,其实商家也提供独立服务器租用,同样在洛杉矶MC机房,分为两种线路:普通优化线路及CN2 GIA,今天来分享下商家的CN2 GIA线路独立服务器产品,提供15-100Mbps带宽,不限制流量,可购买额外的DDoS高防IP,最低每月82美元起,支持使用PayPal或者支付宝等付款方式。下面分享几款洛杉矶CN2 GIA线路独立服务器配置信息。配...
BuyVM针对中国客户推出了China Special - STREAM RYZEN VPS主机,带Streaming Optimized IP,帮你解锁多平台流媒体,适用于对于海外流媒体有需求的客户,主机开设在拉斯维加斯机房,AMD Ryzen+NVMe磁盘,支持Linux或者Windows操作系统,IPv4+IPv6,1Gbps不限流量,最低月付5加元起,比美元更低一些,现在汇率1加元=0.7...