TCP/IP协议基础(第二讲)
这样当路由器收到一个包后,该包向上传给IP: (1)如果交通阻塞(听起来蛮可怕的),包在路由器中停滞,TTL至少减1或更多。要是它降到0的话,包就会被抛弃。 在下一主机,包被发送到TCP或UDP。每个路由器都要重复该过程。直到包到达最终目的地。当包到达最终目的地后,IP将小包组装成原来的包。 5、TCP TCP是一种可靠的面向连接的传送服务。它在传送数据时是分段进行的,主机交换数据必须建立一个会话。它用比特流通信,即数据被作为无结构的字节流。 通过每个TCP传输的字段指定顺序号,以获得可靠性。如果一个分段被分解成几个小段,接收主机会知道是否所有小段都已收到。通过发送应答,用以确认别的主机收到了数据。对于发送的每一个小段,接收主机必须在一个指定的时间返回一个确认。如果发送者未收到确认,数据会被重新发送;如果收到的数据包损坏,接收主机会舍弃它,因为确认未被发送,发送者会重新发送分段。 端口 SOCKETS实用程序使用一个协议端口号来标明自己应用的唯一性。端口可以使用0到65536之间的任何数字。在服务请求时,操作系统动态地为客户端的应用程序分配端口号。 套接字 套接字在要领上与文件句柄类似,因为其功能是作为网络通信的终结点。一个应用程序通过定义三部分来产生一个套接字:主机IP地址、服务类型(面向连接的服务是TCP,无连接服务是UDP)、应用程序所用的端口。 TCP端口 TCP端口为信息的传送提供定地点,端口号小于256的定义为常用端口。 TCP的三次握手 TCP对话通过三次握手来初始化。三次握手的目的是使数据段的发送和接收同步;告诉其它主机其一次可接收的数据量,并建立虚连接。 我们来看看这三次握手的简单过程: (1)初始化主机通过一个同步标志置位的数据段发出会话请求。 TCP滑动窗口 TCP滑动窗口用来暂存两台主机间要传送的数据,有点类似CACHE。 6、UDP 用户数据报协议UDP提供了无连接的数据报服务。它适用于无须应答并且通常一次只传送少量数据的应用软件。 UDP端口 端口作为多路复用的消息队列使用。 IP地址分配 1、IP地址 IP地址标识着网络中一个系统的位置。我们知道每个IP地址都是由两部分组成的:网络号和主机号。其中网络号标识一个物理的网络,同一个网络上所有主机需要同一个网络号,该号在互联网中是唯一的;而主机号确定网络中的一个工作端、服务器、路由器其它TCP/IP主机。对于同一个网络号来说,主机号是唯一的。每个TCP/IP主机由一个逻辑IP地址确定。 网络号和主机号 IP地址有两种表示形式:二进制表示(1和0太多了就搞不清)和点分十进制表示。每个IP地址的长度为4字节,由四个8位域组成,我们通常称之为八位体。八位体由句点.分开,表示为一个0-255之间的十进制数。一个IP地址的4个域分别标明了网络号和主机号。 2、地址类型 为适应不同大小的网络,internet定义了5种IP地址类型。可以通过IP地址的前八位来确定地址的类型: 类型 IP形式 网络号 主机号 我们来看一下这5类地址: A类地址:可以拥有很大数量的主机,最高位为0,紧跟的7位表示网络号,余24位表示主机号,总共允许有126个网络。 B类地址:被分配到中等规模和大规模的网络中,最高两位总被置于二进制的10,允许有16384个网络。 C类地址:被用于局域网。高三位被置为二进制的110,允许大约200万个网络。 D类地址:被用于多路广播组用户,高四位总被置为1110,余下的位用于标明客户机所属的组。 E类地址是一种仅供试验的地址。 3、地址分配指南 在分配网络号和主机号时应遵守以下几条准则: (1)网络号不能为127。大家知道该标识号被保留作回路及诊断功能,还记得平时ping 分配网络号 对于每个网络以及广域连接,必须有唯一的网络号,主机号用于区分同一物理网络中的不同主机。如果网络由路由器连接,则每个广域连接都需要唯一的网络号。 分配主机号 主机号用于区分同一网络中不同的主机,并且主机号应该是唯一的。所有的主机包括路由器间的接口,都应该有唯一的网络号。路由器的主机号,要配置成工作站的缺省网关地址。 有效的主机号 A类:w.0.0.1--w.255.255.254 4、子网屏蔽和IP地址 TCP/IP上的每台主机都需要用一个子网屏蔽号。它是一个4字节的地址,用来封装或“屏蔽”IP地址的一部分,以区分网络号和主机号。当网络还没有划分为子网时,可以使用缺省的子网屏蔽;当网络被划分为若干个子网时,就要使用自定义的子网屏蔽了。 缺省值 我们来看看缺省的子网屏蔽值,它用于一个还没有划分子网的网络。即使是在一个单段网络上,每台主机也都需要这样的缺省值。 它的形式依赖于网络的地址类型。在它的4个字节里,所有对应网络号的位都被置为1,于是每个八位体的十进制值都是255;所有对就主机号的位都置为0。例如:C类网地址192.168.0.1和相应的缺省屏蔽值255.255.255.0。 确定数据包的目的地址 我们说把屏蔽值和IP地址值做“与”的操作其实是一个内部过程,它用来确定一个数据包是传给本地还是远程网络上的主机。其相应的操作过程是这样的:当TCP/IP初始化时,主机的IP地址和子网屏蔽值相“与”。在数据包被发送之前,再把目的地址也和屏蔽值作“与”,这样如果发现源IP地址和目的IP地址相匹配,IP协议就知道数据包属于本地网上的某台主机;否则数据包将被送到路由器上。 注:我们知道“与”操作是将IP地址中的每一位与子网屏蔽中相应的位按逻辑与作比较。 建立子网 1、 子网简介 一个网络实际上可能会有多个物理网段,我们把这些网段称之为子网,其使用的IP地址是由某个网络号派生而得到的。 (1) 混合使用多种技术,比如以太网和令牌环网。(最流行的两种接口都支持了哦) 实现子网划分 在动手划分子网之前,我们一定要先分析一下自己的需求以及将来的规划。一般情况下我们遵循这样的准则: (1) 确定网络中的物理段数量。(就是子网个数嘛) 子网屏蔽位 在定义一个子网屏蔽之前,确定一下将来需要的子网数量及每子网的主机数是必不可少的一步。因为当更多的位用于子网屏蔽时,就有更多的可用子网了,但每个子网中的主机数将减少。(这和定义IP地址的概念正好相反) 2、定义子网屏蔽 将网络划分成若干个子网时,必须要定义好子网屏蔽。我们来看看定义的步骤: (1)确定物理网段也就是子网的个数,并将这个数字转换成二进制数。比如B类地址,分6个子网就是110。 3、定义子网号 子网号与子网屏蔽的位数相同。 (1)列出子网号按高到低的顺序使用的位数。例如子网屏蔽使用了3位,二进制值是11100000。 4、定义子网中的主机号 从上面的例子看出,一旦定义了子网号,就已经确定了每个子网的主机号了。我们在做每次增量后得出的值表明了子网中主机号范围的起始值。 确定每个子网中的主机数目 (1)计算主机号可用的位数。例如在B类网中用3位定义了网络号,那么余下的13位定义了主机号。 实现IP路由 1、IP路由简介 路由就是选择一条数据包传输路径的过程。当TCP/IP主机发送IP数据包时,便出现了路由,且当到达IP路由器还会再次出现。路由器是从一个物理网向另一个物理网发送数据包的装置,路由器通常被称为网关。对于发送的主机和路由器而言,必须决定向哪里转发数据包。在决定路由时,IP层查询位于内存中的路由表。 (1)当一个主机试图与另一个主机通信时,IP首先决定目的主机是一个本地网还是远程网。 每发现一条路由,数据包被转送下一级路由器,称为一次“跳步”,并最终发送至目的主机。 若未发现任何一个路由,源主机将收到一个出错信息。 |
|
来自: zybingliu > 《TCP/IP协议系列讲座》