2023年用户管理系统192.168.10.1,好哇网为您提供2023年最新用户管理系统192.168.10.1,客户管理系统192.168.1.1(用户管理系统192.168.10.1)等信息,客户管理系统192.168.1.1资讯,帮您及时掌握最新资讯动态。
TCP/IP模型中,每一层都有自己的通信方式,数据链路层依靠MAC地址通信,而网络层则依靠IP地址。在了解TCP/IP协议模型以及各层的功能之后,这篇文章重点针对网络层介绍IP地址结构、IP地址分类、组网的划分,以及网络层设备如何进行数据包的转发,即数据在网络中如何被路由的。
介绍TCP/IP协议栈第三层——网络层。网络层的主要功能是通过IP协议实现的。包括IP编址和IP路由。
这种沿协议栈向下传递数据,并添加报头和报尾的过程被称为封装。数据被封装并通过网络传输后,接收设备将删除添加的信息,并根据报头中的信息决定如何将数据沿协议栈向上传递给合适的应用程序。
TCP/IP模型中层与层之间彼此交换信息,确保网络设备之间能够通信。这些层之间使用协议数据单元(PDU)来彼此通信。不同层的PDU中包含的信息也不同,根据其包含的信息, PDU被赋予不同的名称。如传输层在上层数据中加入TCP报头后得到的PDU被称为数据段(segment)。数据段被传递给网络层,网络层添加IP报头,得到的PDU被称为分组。分组被封装到第二层报头中,得到的PDU被称为帧。最后,帧被转换为比特,通过网络介质进行传输。
数据封装是一个重要的概念,不同设备的对等层依靠封装来交换重要参数,如地址和控制信息。本课程着重介绍网络层地址和协议信息。
网络层接收来自传输层的数据,将源地址和目的地址加到这些数据中。
前面已经学习到,数据链路层有物理地址——MAC地址。 MAC地址是全球唯一的。当有数据发送时,源网络设备查询对端设备的MAC地址,然后将数据发送过去。MAC地址通常存在于一个平面地址空间,没有清晰的地址层次,只适合于本网段主机的通信,另外, MAC地址固化在硬件中,灵
活性较差。对于不同网络之间的互连通信,通常使用基于软件实现的网络层地址—-IP地址来通信,提供更大的灵活性。IP地址,又称逻辑地址, IP地址在一个网络中是独一无二的。每一台网络设备用IP地址作为唯一的标识。
IP地址由32个二进制位组成,这些二进制数字被分为四个八位数组(octets),又称为四个字节。 IP地址可以这样表示:
点分十进制形式: 10.110.128.111
二进制形式: 00001010.01101110.10000000.01101111
十六进制形式: 0a.7e.80.7f
通常IP地址用点分十进制形式表示,很少表示成十六进制形式。IP地址的结构化分层方案将IP地址分为网络部分和主机部分。IP地址的分层方案类似于常用的电话号码。电话号码也是全球唯一的。例如对于电话号码021-12345678,前面的字段021代表的区号,后面的字段12345678代表地区的一部电话。IP地址也是一样,前面的网络部分代表一个网段,后面的主机部分代表这个网段的一台设备。
IP地址采用分层设计,这样,每一台第三层网络设备就不必储存每一台主机的IP地址,而是储存每一个网段的网络地址(网络地址代表了该网段内所有主机组成的网络),大大减少了路由表条目,增加了路由的灵活性。
IP地址的网络部分称为网络地址,网络地址用于唯一地标识一个网段,或者若干网段的聚合,同一网段中的网络设备有同样的网络地址。 IP地址的主机部分称为主机地址,主机地址用于唯一的标识同一网段内的网络设备。如A类IP地址: 10.110.192.111,网络部分地址为10,主机部分地址为110.192.111。
区分IP地址的网络地址和主机地址:最初互联网络设计者根据网络规模大小规定了地址类,把IP地址分为A、 B、 C、 D、 E五类。
A类IP地址的网络地址为第一个八位数组(octet),第一个字节以“0”开始。因此, A类网络地址的有效位数为8-1=7位, A类地址的第一个字节为1~126之间(0和127留作它用)。例如10.1.1.1、126.2.4.78等为A类地址。 A类地址的主机地址位数为后面的三个字节24位。 A类地址的范围为1.0.0.0~126.255.255.255,每一个A类网络共有224个A类IP地址。
B类IP地址的网络地址为前两个八位数组(octet),第一个字节以“10”开始。因此, B类网络地址的有效位数为16-2=14位, B类地址的第一个字节为128~191之间。例如128.1.1.1、 168.2.4.78等为B类地址。 B类地址的主机地址位数为后面的二个字节16位。 B类地址的范围为128.0.0.0~ 191.255.255.255,每一个B类网络共有216个B类IP地址。
C类IP地址的网络地址为前三个八位数组(octet),第一个字节以“110”开始。因此, C类网络地址的有效位数为24-3=21位, C类地址的第一个字节为192~223之间。例如192.1.1.1、 220.2.4.78
等为C类地址。 C类地址的主机地址部分为后面的一个字节8位。 C类地址的范围为192.0.0.0~ 223.255.255.255,每一个C类网络共有28=256个C类IP地址。
D类地址第一个8位数组以“1110”开头,因此, D类地址的第一个字节为224~239。 D类地址通常作为组播地址。关于组播地址,在HCDP路由课程中会有讨论。
E类地址第一个字节为240~255之间,保留用于科学研究。
我们经常用到的是A、 B、 C三类地址。 IP地址由国际网络信息中心组织(International Network Information Center, InterNIC)根据公司大小进行分配。过去通常把A类地址保留给政府机构, B类地址分配给中等规模的公司, C类地址分配给小单位。然而,随着互联网络飞速发展,再加上IP地址的浪费, IP地址已经非常紧张。
IP地址用于唯一地标识一台网络设备,但并不是每一个IP地址都是可用的,一些特殊的IP地址有特殊的用途,不能用于标识网络设备。
对于主机部分全为“0”的IP地址,称为网络地址,网络地址用来标识一个网段。例如, A类地址1.0.0.0,私有地址10.0.0.0,192.168.1.0等。
对于主机部分全为“1”的IP地址,称为网段广播地址,广播地址用于标识一个网络的所有主机。例如, 10.255.255.255 ,192.168.1.255等。广播地址用于向本网段的所有节点发送数据包。
对于网络部分为127的IP地址,例如127.0.0.1往往用于环路测试。全“0”的IP地址0.0.0.0代表所有的主机,华为VRP系列路由器用0.0.0.0地址指定默认路由。
全“1”的IP地址255.255.255.255,也是广播地址,但255.255.255.255代表所有主机,用于向网络的所有节点发送数据包。这样的广播不能被路由器转发。
如上所述,每一个网段会有一些IP地址不能用作主机IP地址。下面计算一下可用的IP地址。
如B类网段172.16.0.0, 有16个主机位,因此有216个IP地址,去掉一个网络地址172.16.0.0,一个广播地址172.16.255.255不能用作标识主机,那么共有216-2个可用地址。 C类网段192.168.1.0有8个主机位,共有28=256个IP地址,去掉一个网络地址192.168.1.0,一个广播地址192.168.1.255,共有254个可用主机地址。每一个网段可用主机地址可以用这样一个公式表示:假定这个网段的主机部分位数为n,则可用的主机地址个数为2n-2个。
网络层设备(例如路由器等)使用网络地址来代表本网段内的主机,大大减少了路由器的路由表条目。
在进行IP地址规划时,通常会在公司内部网络使用私有IP地址。私有IP地址是由InterNIC预留的由各个企业内部网自由支配的IP地址。使用私有IP地址不能直接访问Internet是因为公网上没有针对私有地址的路由。当访问Internet时,需要利用网络地址转换(NAT, Network Address Translation)技术,把私有IP地址转换为Internet可识别的公有IP地址。 InterNIC预留了以下网段作为私有IP地址:
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地址,不仅减少了用于购买公有IP地址的投资,而且节省了IP地址资源。
掩码用于区分网络部分和主机部分。掩码与IP地址的表示法相同。掩码中用1表示该位为网络位, 0表示主机部分。一个255则表示有8个1。
缺省状态下, A类网络的网络掩码为255.0.0.0, B类网络的网络掩码为255.255.0.0, C类网络掩码为255.255.255.0。
192.168.1.100是一个标准C类地址,子网掩码255.255.255.0,该地址的网络地址为192.168.1.0
IP地址是一组32位二进制数,通常用4个8位二进制数组来表示。二进制中用0和1表示。每8位二进制数对应着一个十进制数。 8位二进制数组中的每一位都对应着一个十进制数值。通过将每一位相加可以得出转换后的十进制数。
十进制计数系统是基于10的幂级数: 101, 102 等。二进制计数系统是基于2的幂级数: 21, 22等。8位二进制组中依次从低位到高位分别对应着如图所示的2的0次方, 1次, 2次方,一直到7次方。
实例分析:
1. 一组8位二进制,从左到右每个1表示的数字为27=128, 26=64, 25=32, 24=16, 23=8, 22=4, 21=2, 20=1,每位相加就得到了255。一个8位全为1的二进制组对应的十进制数为255。
2. 二进制数“11101001”,分别将每一位对应成十进制。如果二进制的某位为0,则此位对应的十进制为0。根据前一页列出的每位对应数值计算得出该二进制数的十进制表示为233。
3. 每个IP地址是由32个二进制数组成,分为四个字节,每个字节八位二进制数。
对于没有子网的IP地址组织,外部将该组织看作单一网络,不需要知道内部结构。例如,所有到地址172.16 .X.X的路由被认为同一方向,不考虑地址的第三和第四个8位分组,这种方案的好处是
减少路由表的项目。但这种方案没法区分一个大的网络内不同的子网网段,这使网络内所有主机都能收到在该大的网络内的广播,会降低网络的性能,另外也不利于管理。比如,一个B类网可容纳65000个主机在网络内。假设申请B类地址的用户仅仅只需要100个IP地址,那么剩余的地址无法被别人的用户使用,这就造成了极大的浪费。于是需要一种方法将这种网络分为不同的网段。按照各个子网段进行管理。
从地址分配的角度来看,子网是网段地址的扩充。网络管理员根据组织增长的需要决定子网的大小。
网络设备使用子网掩码(Subnet Masking)决定IP地址中哪部分为网络部分,哪部分为主机部分。
子网掩码使用与IP地址一样的格式。子网掩码的网络部分和子网部分全都是1,主机部分全都是0。缺省状态下,如果没有进行子网划分, A类网络的子网掩码为255.0.0.0, B类网络的子网掩码为
255.255.0.0, C类网络子网掩码为255.255.255.0。利用子网,网络地址的使用会更有效。对外 仍为一个网络,对内部而言,则分为不同的子网。
4. 网络172.16.0.0 分为两个网段: 172.16.4.0、 172.16.8.0。PC(4.1)使用172.16.4.0 子网段;PC(8.1)使用 172.16.8.0子网段。这样可使路由器根据目的子网地址进行路由,从而限制一个子网的广播报文发送到其它网段,不对网络的效率产生影响。
掌握二进制同十进制之间的转换后, IP地址和子网掩码的二进制和十进制的对应关系很容易明白。图中子网掩码比特数是8+8+8+4=28,指的是子网掩码是连续的28个1,表示网络位有28位。
子网掩码的另外一种表示方法是 /28=255.255.255.240 称为反斜扛表示法。
网络地址就是IP地址的二进制和子网掩码的二进制进行“与”的结果。
“与”的计算方法是1&1=1,1&0=0,0&0=0。上图中IP地址和子网掩码的与计算为:
11000000, 10101000, 00000001, 00000111
& 11111111, 11111111, 11111111, 11110000
11000000, 10101000, 00000001, 00000000
最后得到的就是网络地址。
主机数的计算是通过子网掩码来计算的,首先要看子网掩码中最后有多少位是0。假设最后有N位为0,那么总的主机数为2n个,可用主机的个数要减去全0的网络地址和全1的广播地址,即2n-2个。
A类地址标准的子网掩码255.0.0.0,即24bits的主机位; B类地址的标准子网掩码为255.255.0.0,即16bits主机位; C类地址的标准子网掩码255.255.255.0,即8bits的主机位。
本例给出一个C类地址,标准子网掩码有8bits的主机位,这8bits中的前4bits也用作子网掩码,则所能容纳的主机总数为2的8-4次方, 8指的是标准子网掩码的主机位个数, 4为用于子网掩码的bits个数,相减后,就得到了实际的主机位数,即可表示为28-4,由此得到可以容纳的主机总数。
在这个例子中,网段地址是一个C类地址: 201.222.5.0。假设需要20个子网,其中每个子网5个主机,就要把主机地址的最后一个八位组分成子网部分和主机部分。子网部分的位数决定了子网的数目。在这个例子中,因为是C类地址,所以子网部分和主机部分总共是8位,因为24<20<25,所以子网部分占有5位,最大可提供32(25)个子网。剩余3位为主机部分23=8。主机部分全是0的IP地址,是子网网络地址;主机部分全是1的IP地址是本子网的广播地址。这样就剩余6个主机地址。可以满足需要。每个网段分别为:
201.222.5.0~201.222.5.7
201.222.5.8~201.222.5.15
201.222.5.16~201.222.5.23
………
201.222.5.232~201.222.5.239
201.222.5.240~201.222.5.247
201.222.5.248~201.222.5.255
对于B类网络来说,如果子网有八位,则能提供256个子网,每个子网可容纳254台主机。
子网位数子网掩码子网数每一子网主机数
1255.255.128.0232766
2255.255.192.0416382
3255.255.224.088190
4255.255.240.0164094
5255.255.248.0322046
6255.255.252.0641022
7255.255.254.0128510
8255.255.255.0256254
9255.255.255.128512126
10255.255.255.192102462
11255.255.255.224204830
12255.255.255.240409614
13255.255.255.24881926
14255.255.255.252163842
对于图中C类网络来说,如果子网位有五位,则能提供32个子网,每个子网可容纳6台主机。
子网位数子网掩码每一子网主机数子网数
1255.255.255.1281262
2255.255.255.192624
3255.255.255.224308
4255.255.255.2401416
5255.255.255.248632
6255.255.255.252264
把一个网络划分成多个子网,要求每一个子网使用不同的网络标识ID。但是每个子网的主机数不一定相同,而且相差很大,如果我们每个子网都采用固定长度子网掩码,而每个子网上分配的地址数相同,这就造成地址的大量浪费。这时候可以采用变长子网掩码(VLSM, Variable Length Subnet Mask)技术,对节点数比较多的子网采用较短的子网掩码,子网掩码较短的地址可表示的网络/子网数较少,而子网可分配的地址较多;节点数比较少的子网采用较长的子网掩码,可表示的逻辑网络/子网数较多,而子网上可分配地址较少。这种方案能节省大量的地址,节省的这些地址可以用于其它子网上。
5. 某公司准备用C类网络地址192.168.1.0进行IP地址的子网规划。这个公司共购置了5台路由器,一台路由器作为企业网的网关路由器接入当地ISP,其它4台路由器连接四个办公点,每个办公点20台PC。从上图可以看出,需要划分8个子网, 4个办公点各网段需要21个IP地址(包括一个路由器接口),与网关路由器相连的四个网段各需要2个IP地址,每个网段IP地址数目差异较大,可以采用VLSM技术。四个办公点网段采用子网掩码255.255.255.224,划出3个子网位,共有5个主机位,可以容纳最多25-2=30台主机。对于四个办公点路由器和网关路由器相连网段,划出6个子网位, 2个主机位,最多有2个合法IP地址。
CIDR(Classless Inter Domain Routing,无类域间路由)由RFC1817定义。 CIDR突破了传统IP地址分类边界,将路由表中的若干条路由汇聚为一条路由,减少了路由表的规模,提高了路由器的可扩展性。
实例分析:
一个ISP被分配了一些C类网络,198.168.0.0~198.168.255.0。该ISP准备把这些C类网络分配给各个用户群,目前已经分配了三个C类网段给用户。如果没有实施CIDR技术, ISP的路由器的路由表中会有三条下连网段的路由条目,并且会把它通告给Internet上的路由器。通过实施CIDR技术,我们可以在ISP的路由器上把这三条网段198.168.1.0,198.168.2.0, 198.168.3.0汇聚成一条路由198.168.0.0/16。这样ISP路由器只向Internet通告198.168.0.0/16这一条路由,大大减少了路由表的数目。
如果使用CIDR技术汇聚的网络地址的比特位必须是一致的,如上例所示。如果上图所示的ISP连接了一个172.178.1.0网段,这个网段路由将无法被汇聚。
地址解析协议ARP是一种广播协议,主机通过它可以动态地发现对应于一个IP地址的MAC地址。
每一个主机都有一个ARP高速缓存(ARP cache),有IP地址到物理地址的映射表,这些都是该主机目前知道的一些地址。当主机A欲向本局域网上的主机B发送一个IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。如有,就可查出其对应的物理地址,然后将该数据报文发往此物理地址。也有可能查不到主机B的IP地址的条目。可能是主机B才入网,也可能是主机A刚刚加电,其高速缓存还是空的。在这种情况下,假定主机A需要知道主机B的MAC地址,主机A以广播方式发送ARP请求给网段上的每一台主机。发送的ARP请求报文中,带有自己的IP地址到MAC地址的映射,同时还带有需要解析的目的主机的IP地址。目的主机B收到请求报文后,将其中的主机A的IP地址与MAC地址的映射存到自己的ARP高速缓存中,并把自己的IP地址到MAC地址的映射作为响应发回主机A。主机A收到ARP应答,就得到了主机B的MAC地址,同时,主A缓存主机B的IP地址到MAC地址映射。
代理ARP的功能就是使那些不在同一网络上的计算机或路由器能够相互通信。
通常情况下,当一台路由器R收到一条ARP请求报文时,路由器R将进行检查,看该ARP请求的目的地址是否是自己,如果是,发出ARP应答报文;如果不是,丢弃该报文。如果路由器R开启代理ARP功能,当路由器R收到一条ARP请求报文时,发现该报文的目的地址不是自己,路由器R并不立即丢弃该报文,而是查找路由表,如果路由器R有到达该目的地址的路由,则路由器R将自己的MAC地址发送给ARP请求方。 ARP请求方就将到该目的地址的报文发送给路由器R,路由器R再将其转发出去。
Gratuitous ARP(免费ARP):主机发送ARP查找自已IP地址对应的MAC地址。如果网络上没有另一台主机设置了相同的IP地址,则主机不会收到回答。而当主机收到该请求的回答时,则表示有另一台主机设置了与本机相同的IP地址。于是主机会在终端日志上生成一个错误消息,表示以太网上存在一个重复的IP地址。免费ARP的作用:
1、通过发送免费ARP可以确认IP地址是否有冲突。当发送方收到一条免费ARP请求的回答时,表示存在着一个与该IP地址相冲突的设备。
2、更新旧的硬件地址信息。当发送免费ARP的主机正好改变了硬件地址,如更换网卡。免费ARP就可以起到更新硬件地址信息的功能。当接收方收到一条ARP请求时,并且该ARP信息在ARP表中已经存在,则接收方必须用新的ARP请求中的地址信息更新旧的ARP信息表。
在进行地址转换时,有时还要用到逆向地址解析协议RARP。
RARP常用于无盘工作站,这些设备知道自己MAC地址,需要获得IP地址。为了使RARP能工作,在局域网上至少有一个主机要充当RARP服务器。
以上图为例,无盘工作站需要获得自己的IP地址,向网络中广播RARP请求, RARP服务器接收广播请求,发送应答报文,无盘工作站获得IP地址。对应于ARP、 RARP请求以广播方式发送, ARP、 RARP应答一般以单播方式发送,以节省网络资源。
路由器的主要作用是将不同的网络互连为一个整体。互联网络可以实现数据在网络中转发。
数据转发:路由器必须具有根据数据分组的目的网络地址转发分组的功能。
路由(寻径):为了实现数据转发,路由器必须有能力建立、刷新路由表,并根据路由表转发数据包。备份、流控:为了保证网络可靠运行,路由器一般都具备主备线路的切换及流量控制功能。
速率适配:不同接口具有不同的速率,路由器可以利用自己的缓存及流控协议进行适配。
隔离网络:路由器可以隔离广播网络,防止广播风暴,同时也可以对数据包配置灵活多样的过滤策略以保证网络安全(防火墙)。
异种网络互连:互连网的初衷就是为了实现异种网络互连,现代路由器一般都会实现两种以上的网络协议以实现异种网络互连。
路由器工作流程为:物理层从路由器的一个端口收到一个报文,上送到数据链路层。数据链路层去掉链路层封装,根据报文的协议域上送到网络层。网络层首先看报文是否是送给本机的,若是,去掉网络层封装,送给上层。若不是,则根据报文的目的地址查找路由表,若找到路由,将报文送给相应端口的数据链路层,数据链路层封装后,发送报文。若找不到路由,将报文丢弃,并按需要发送相关错误信息。
路由器转发数据包的关键是路由表。每个路由器中都保存着一张路由表,表中每条路由项都指明数据包到某子网或某主机应通过路由器的哪个物理端口发送,然后就可到达该路径的下一个路由器,或者不再经过别的路由器而传送到直接相连的网络中的目的主机。
路由表中包含了下列关键项:
目的地址(Destination):用来标识IP包的目的地址或目的网络。
网络掩码(Mask):与目的地址一起来标识目的主机或路由器所在的网段的地址。将目的地址和网络掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。
输出接口(Interface):说明IP包将从该路由器哪个接口转发。
下一跳IP地址(Nexthop):说明IP包所经由的下一个路由器的接口地址。
1、IP地址分类?
IP地址分为A、 B、 C、 D、 E类地址。其中D类地址是组播地址; E类地址是保留地址。在A、 B、 C类地址中又各自有一段是私有地址。
2、ARP/RARP协议的作用?
ARP协议是地址解析协议。用于IP地址到MAC地址的解析;RARP是反向地址解析协议, MAC地址到IP地址的解析。
3、路由器的工作原理?
物理层从路由器的一个端口收到一个报文,上送到数据链路层。数据链路层去掉链路层封装,根据报文的协议域上送到网络层。网络层首先看报文是否是送给本机的,若是,去掉网络层封装,送给上层。若不是,则根据报文的目的地址查找路由表,若找到路由,将报文送给相应端口的数据链路层,数据链路层封装后,发送报文。若找不到路由,将报文丢弃,并按需要发送相关错误信息。
TCP传输控制协议为应用程序提供可靠的、面向连接的服务。
TCP通过如下几方面提供其可靠性:
面向连接的传输:TCP的任何一方进行数据传输之前必须在双方之间建立连接。
MSS(最大报文段长度):表示TCP发往另一端的最大报文段长度。当建立一个连接时,连接的双方都要通告各自的MSS,以充分利用带宽资源。
传输确认机制:当TCP传输一个数据段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到目的端的确认报文,TCP将重传该数据段。
首部和数据的检验和:TCP将保持首部和数据的检验和,这是一个端到端的检验。目的是检测数据在传输过程中的变化。如果收到段的检验和有所差错,TCP将丢弃该报文段并不确认收到此报文段。因此TCP将启动重传机制。
流量控制:TCP还能提供流量控制。TCP连接的每一方都有一个固定大小的缓冲空间。 TCP接收端只允许另一端发送接收缓冲区所能够容纳的数据。这能够防止较快的主机致使较慢的主机缓冲区溢出。
TCP使用IP作为网络层协议, TCP数据段被封装在一个IP数据包内。
TCP数据段由TCP Head(头部)和TCP Data(数据)组成。
TCP最多有60个字节的首部,如果没有任选字段,正常的长度是20字节。
TCP Head如上图标识的一些字段组成,这里列出几个常用的字段。
16位源端口号: TCP会为源应用程序分配一个源端口号。
16位目的端口号:目的应用程序的端口号。
每个TCP段都包含源和目的端的端口号,用于寻找发端和收端应用进程。这两个值加上IP首部中的源端IP地址和目的端IP地址可以唯一确定一个TCP连接。
32位序列号:用于标识从TCP发端向TCP收端发送的数据字节流。
32位确认序列号:确认序列号包含发送确认的一端所期望收到的下一个序号。确认序列号为上次成功收到的数据序列号加1。
4位首部长度:表示首部占32bit字的数目。因为TCP首部的最大长度为60字节。
16位窗口大小:表示接收端期望接收的字节,由于该字段为16位,因而窗口大小最大值为6553字节。
16位检验和:检验和覆盖了整个TCP报文段,包括TCP首部和TCP数据。该值由发端计算和存储并由接收端进行验证。
TCP提供可靠的面向连接的全双工传输层协议。 TCP的可靠性通过很多方法来得到保障,在数据连接建立之后再传送数据就是其中一种方法。
TCP的任何一方在传输数据之前都必须在通信的双方之间建立一条连接。
TCP连接的建立是一个三次握手的过程。如图所示:
1、请求端(通常也称为客户端)发送一个SYN段表示客户期望连接服务器端口,初始序列号为a。
2、服务器发回序列号为b的SYN段作为响应。同时设置确认序号为客户端的序列号加1(a+1)作为对客户端的SYN报文的确认。
3、客户端设置序列号为服务器端的序列号加1(b+1)作为对服务器端SYN报文段的确认。
这三个报文段完成TCP连接的建立。
前面提到TCP是面向连接的全双工传输层协议。全双工意味着同一时刻双方向都可以进行数据的传输,因此通信的双方都必须关闭连接。
TCP连接的建立是一个三次握手的过程,而TCP连接的终止则要经过四次握手。
1、请求端(通常也称为客户端)想终止连接则发送一个FIN段,序列号设置为a。
2、服务器回应一个确认序号为客户端的序列号加1(a+1)的ACK确认段,作为对客户端的FIN报文的确认。
3、服务器端向客户端发送一个FIN终止段(设置序列号为b,确认号为a+1)。
4、客户端返回一个确认报文(设置序列号为b+1)作为响应。
以上四次交互完成双方向的连接的关闭。
多路复用是指多个应用程序共享同一个传输层建立的连接进行数据的传送。传输层把上层发来的不同应用程序数据分成段,按照先到先发(FIFO)的原则(或者其他原则)发送数据段。这些数据段可以去往同一目的地,也可以去往不同目的地。
在传输过程中,服务器和终端主机继续以它们的协议软件进行通信,以验证数据是否正确接收。当终端设备收到数据流时,它对这些数据流进行分离和排序,以使传输层能够正确地将数据流送到终端主机。当数据传输结束后,双方协商断开虚链路。
MSS(Maximum Segment Size)表示TCP传给另一端的最大报文段长度。当建立一个连接时,连接的双方都要通告各自的MSS,协商得到MSS。 MSS的默认值为536,因此它允许IP数据报长度为576字节(536+20字节IP首部+20字节TCP首部)。通过协商最大报文段长度值,可以更好的提高网络利率和提升网络性能。
TCP的可靠传输还体现在TCP使用确认技术保证数据流从源设备准确无误地发送到目的设备。窗口机制因为使用了肯定确认(positive acknowledgement)技术,通常被认为是非常可靠的。
确认技术的工作原理如下:
当目的设备接收到源设备发送的数据包时,向源端发送确认报文,源设备收到确认报文后,继续发送数据包,如此重复;当源设备发送数据包后没有收到确认报文,在一定时间后(源设备在发送数据包时启动计时器,计时器计时结束的时间),源设备降低数据传输速率,重发数据包。
源设备与目的设备建立了一条端到端的虚链路,开始数据传输。源设备向目的设备发送序列号为1的数据包,目的设备收到数据包后,用序列号2(1+1)来确认正确接收此数据包,源
设备收到确认信息后,继续发送序列号为2(1+1)的数据包。目的设备由于没有正确接收到序列号为2的数据包,所以继续用序列号2(1+1)来进行确认,表示目前只正确接收到序列号为1的数据包。源设备收到序列号为2的确认报文后,重发序列号为2的数据包,当目的设备正确接收到数据包后,用序列号3(2+1)进行确认。
TCP滑动窗口技术通过动态改变窗口大小来调节两台主机间的数据传输。每个TCP/IP主机支持全双工数据传输,因此TCP有两个滑动窗口:一个用于接收数据,另一个用于发送数据。TCP使用肯定确认技术,其确认号指的是下一个所期待的字节。
以数据单方向发送为例,介绍滑动窗口如何实现流量控制。
服务器端向客户端发送4个大小为1024字节的数据段,其中发送端的窗口大小为4096,客户端到以ACK4097响应,窗口大小调整为2048,表明客户端(即接收端)缓冲区只能处理2048个字节的数据段。于是发送端改变其发送速率。发送接收端能够接收的数据段大小2048的数据段。
滑动窗口机制为端到端设备间的数据传输提供了可靠的流量控制机制。然而,它只能在源端设备和目的端设备起作用,当网络中间设备(例如路由器等)发生拥塞时,滑动窗口机制将不起作用。我们可以利用ICMP的源抑制机制进行拥塞管理。
UDP为应用程序提供面向无连接的服务,所以在传数据之前源端和目的端之间不必要像TCP一样需要事先建立连接。正由于UDP是面向无连接的传输协议,所以UDP不需要去维护连接状态和收发状态,因此服务器可同时向多个客户端传输相同的消息。UDP适用于对传输效率要求高的运用,由应用层提供可靠性的保障。如常用于认证计费的Radius协议、RIP路由协议都是基于UDP的。
UDP和TCP一样都使用IP作为网络层协议, TCP数据报被封装在一个IP数据包内。
由于UDP不象TCP一样提供可靠的传输,因此UDP的报文格式相对而言较简单。整个UDP首部有如下标识:
16位源端口号:为源端应用程序分配的一个源端口号。
16位目的端口号:目的应用程序的端口号
16位UDP长度:是指UDP首部和UDP数据的字节长度。该字段的最小值为8。
16位UDP检验和:该字段提供与TCP检验和同样的功能,只不过在UDP协议中该字段是可选的。
上面对比了TCP协议与UDP协议。通过比较可以总结出TCP是适合于对传输可靠性要求高的服务;而UDP适合于对传输速度敏感的服务。 UDP由于协议自身不提供可靠性,因此要求上层协议提供差错控制和重传机制。
1、TCP如何建立连接和终止连接?
TCP连接的建立是一个三次握手过程。通过请求-确认-再确认三次交互建立连接。
由于TCP采用全双工的工作模式。建立连接的双方各自提出终止连接请求并等待对待确认,因此连接的终止则要经过四次交互。
2、TCP如何提供可靠性?
TCP通过序列号和确认机制提供其传输的可靠性。使用序列号通信的双方可以清楚的了解数据报文段的发送和接收情况。TCP的确认机制可以保证传输的可靠性。保证数据流从源设备准确无误地发送到目的设备。
3、TCP滑动窗口技术的目的?
TCP滑动窗口技术通过动态改变窗口大小来调节两台主机间的数据传输。滑动窗口机制为端到端设备间的数据传输提供了可靠的流量控制机制。
TCP/IP协议栈应用层负责处理特定的应用程序。应用层包括大量常用的应用程序,如: FTP、 TFTP、 POP3、 SMTP、 SNMP、Telnet、 Ping、 Tracert、 HTTP、 DNS、 WINS等。
Ping是用来检查IP网络连接及主机是否可达的常用方法。如路由器之间,主机与路由器之间的连通性问题都可以使用Ping来判断。 Ping使用一系列ICMP(Internet Control Message Protocol互联
网控制消息协议)的消息来确定目的地址是否可达,通讯延时以及丢包情况。 Ping实际上是一个发出请求并等待响应的过程。发起Ping命令的源端首先向目的地址发送“Echo”消息并等待回应。如果“Echo”包到达目的地址,并且在确定时间周期内,从目的地成功返回“Echo Reply”包给源端,则Ping成功。一旦超过时间周期则会显现“Request timed out”请求超时的消息。
实际分析:
通过在RTA上使用Ping命令测试与RTB互联IP地址的连接,可以检测RTA与RTB之间的连通性。
Ping 1.1.1.2 , 1.1.1.2为用于测试连通性的目的址址。
Ping除基本命令外提供许多可选参数供使用,这里列举-a和-i两个参数。
-a source-ip-address:设置发送ICMP ECHO-REQUEST报文的源IP地址。
-i interface-type interface-number:设置发送ICMP ECHOREQUEST报文的接口。
还可以用Ping 1.1.1.2 –a 1.1.1.1。
ICMP协议是网络层的一个重要组成部分。 IP不提供可靠性,所以无法获取到网络故障的信息,利用ICMP可以获取网络中问题的反馈。
ICMP传递差错、控制、查询报文等信息。其报文被封装在IP报文中,协议字段值为1。
一些高层应用常会引用ICMP协议,如前面胶片介绍的Ping和即将会看到Tracert应用。
ICMP提供了不同的消息类型,这里列举了常用的消息类型。
0 Echo Reply 响应回应消息
3 Destination Unreachable目的不可达消息
4 Source Quench源抑制消息
5 Redirect重定向消息
8 Echo响应消息
11 Time Exceeded超时消息
12 Parameter Problem参数问题消息
13 Timestamp时间戳消息
Timestamp Reply时间戳回应消息
通常情况下消息类型是成对出现的。如Echo Reply就是对Echo消息的回应。同一个类型的消息也包含了不同的信息。
ICMP报文使用基本的IP报头(即20字节)。ICMP报文封装在IP报文中,数据报有前64bit数据表示是ICMP报文。因此ICMP报文实际是IP报文加上该数据报的前64bit数据。
ICMP报文的基本格式由Type、Code、Checksum和unused字段组成。不同的消息报文其格式略有些不同,这里不做深入的介绍。
Type类型:表示ICMP消息类型。
Code代码:同一个ICMP消息类型中通过不同的代码表示不同的信息。
例如:Type为3的Destination Unreachable目的不可达消息,其Code代码就细分了几类,这里列举了以下四个:
0 = net unreachable 网络不可达
1 = host unreachable 主机不可达
2 = protocol unreachable 协议不可达
3 = port unreachable 端口不可达
Checksum校验和:该字段占16bit,目前没有使用,值为0。
Tracert是为了探测源节点到目的节点之间数据报文所经过的路径。它利用IP报文的TTL值在每经过一个路由器转发后减1,当TTL=0时则向源节点报告TTL超时。Tracert首先发送一个TTL为1的UDP报文,因此第一跳发送回一个ICMP错误消息以指明此数据报不能被发送(因为TTL超时),之后Tracert再发送一个TTL为2的UDP报文,同样第二跳返回TTL超时,这个过程不断进行,直到到达目的地,由于数据报中使用了无效的端口号(缺省从33434开始使用,后续UDP报文目的端口号自动加1)此时目的主机会返回一个ICMP的目的不可达消息,表明该Tracert操作结束。 Tracert记录下每一个ICMP TTL超时消息的源地址,从而提供给用户报文到达目的地所经过的网关IP地址。
Tracert同样可以提供测试连通性的功能,当Tracert某一目的地址时,从显示的路径信息可以判断出故障点在什么地方。
在上面列举出测试连通性的两种方法Ping和Tracert。
Ping和Tracert都可以测试出RTA与RTC的3.3.3.3之间是否连通从两个显示结果可以看到Ping可以简单的直观的知道结果是可达的,而Tracert则更加详细的显示数据包的转发路径。数据包首先经过10.1.1.2然后经过10.2.2.2到达3.3.3.3。另一方面,使用Tracert命令更可以找到问题的故障点。如本例中如果显示信息如下,则说明了数据包可以被送到下一跳10.1.1.2,但是无法从该路由器再转发出去,则证明问题出现在该路由器与目的地之间。
[RTA]tracert 3.3.3.3
traceroute to 3.3.3.3(3.3.3.3) 30 hops max,40 bytes packet
1 10.1.1.2 31 ms 31 ms 32 ms
2 * * *
Telnet常用于远程服务,用户通过Telnet可以登录到远程服务器。
Telnet使用的传输层协议为TCP,其端口号为23。
Telnet命令如下:
telnet 192.168.1.22 23
192.168.1.22:为远程服务器IP地址。
23:为端口号,默认为23,可以不输入。如果不是23的情况下一定要输入端口号。
FTP是用于文件传输的Internet标准协议,它采用两个TCP连接来传输一个文件。一个是控制连接;另一个是数据连接。根据是使用Port模式还是Passive模式, FTP使用不同的TCP端口号。在过去,客户端缺省为Port模式;近来,由于Port模式的安全问题(容易受到黑客攻击),许多客户端的FTP应用缺省为Passive模式。
Port模式下, FTP采用两个缺省端口号: 20与21; 20端口用于数据传输, 21端口用于命令传输。VRP系列路由器即可以作为FTP Client又可以作为FTP Server。
上图中PC作为FTP Client通过FTP协议登录到FTP Server进行操作。客户端PC运行FTP程序(即在“运行”中输入命令FTP1.1.1.1),系统会自动弹出登录视图要求输入用户名和密码,成功输入用户名和密码后,客户端可以成功登录。
使用VRP系列路由器时如果需要从远端服务器中加载系统文件,这时VRP路由器可作为FTP Client从FTP Server获取文件。
在VRP系统参观视图下输“FTP 远端服务器地址”,这时会提示要求输入用名和密码,成功输入用户名和密码后,提示符变为“[FTP]”表示已成功登录。
Get和Put是对文件的两种不同操作方式。其中Get表示从服务器下载文件,而Put表示从本地上传文件到服务器。
命令Get vrpcfg.cc vrp1表示从FTP服务器下载名为vrpcfg.cc的文件到本地,并以vrp1为文件名存储。
TFTP ( Trivial File Transfer Protocol)即简单文件传送协议。当用户需要在服务器端与客户端传送文件且不需要复杂的交互环境时,可以使用TFTP协议。TFTP使用UDP协议,端口号为69 。VRP系列路由器只支持作为TFTP Client。
Ping和Tracert的作用分别是什么?
Ping和Tracert都可用于测试网络的连通性。 Ping可以提供相应的选项来满足不同的测试需求,如可以指定发出报文的源IP,源端口等。而Tracert更多是用于获得数据包的转发路径,通过Tracert也可以初步的判断故障点。
2、ICMP的报文格式?
ICMP报文使用基本的IP报头(即20字节),报文封装在IP报文中。 ICMP报文的基本格式由Type、 Code、 Checksum和unused字段组成。不同的消息报文其格式不同。
3、FTP和TFTP的区别?
FTP是基于TCP,而TFTP基于UDP。 TFTP是一个简单的文件传输协议,适合于只读存储器,而FTP设计用于高吞吐量的文件传输,同时FTP可以提供对FTP用户的登录名和密码的控制, TFTP不提供该功能。路由器可以支持FTP Client和FTP Server两种工作模式,而TFTP只支持Client模式。
以上就是客户管理系统192.168.1.1(用户管理系统192.168.10.1)全部内容,希望对您能够有所帮助,数据由网络提供,仅供读阅,所有信息请自行甄别,风险自担。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台用户上传并发布,不构成投资建议请自行甄别,如有侵权请联系删除:liaycn@163.com
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of the site, which is a social media platform and only provides information storage services.