用TCP/IP进行网际互联二


  • 无分类和子网地址扩展(CIDR)
把ip地址分为两部分的主要原因在于路由器中所需路由表的大小。路由器不必为每个目的主机维护一个路由表项,而是为每个网络保留一个路由表项。
 
 
 
  • 使网络数量最小
解决网络地址不足的方法。
 
代理ARP
代理ARP、混杂ARP和ARP窃用,都是指的把一个网络前缀用于两个物理网络时用到的技术。这一技术,只适用于那些使用ARP将互联网地址绑定到物理地址的网络。
 
子网编址
允许一个网络地址涵盖多个物理网络,成为子网编址、子网转发或者划分子网
一个网点可以选择与众不同的方式分配和使用ip地址,只要保证
1.网点上所有主机和路由器都一致认同该网点的编制方案
2.因特网上其他的网点可以将地址处理为一个网络前缀和一个主机后缀。
 
在使用子网编址时,我们把一个32位的ip地址看成有一个互联网部分和一个本地部分,其中互联网部分标志某个网点,该网点可能有多个物理网络,而本地部分标志了该网点中的一个物理网络和主机。
 
 
 
  • 变长划分子网
可以独立的为每个物理网络选择一种划分方式,一旦选择某种划分方法,该网上所有机器都必须遵守。
 
带掩码的子网的实现
子网掩码,网络前缀的部分对应的比特设置为1。
如果一个网络使用子网编址,那么子网的划分要尽可能的简单,特别应该坚持下面的原则:
一个给定网络ip地址的所有子网应该是相邻的,子网掩码在所有网络上应该一直,并且所有机器都应该参与子网转发。
 
 
 
  • 无分类编址
允许网络前缀具有任意长度
无分类域间路由选择(CIRD)
CIRD记法:又叫斜线记法 128.211.168.0/21
 
 
 
--------------------------------------------------------------------------------------------
 
  • TCP/IP模型中的两条重要分割线
一条是分割高级和低级寻址协议的分割线(ip地址和物理地址的区分),另一条是分割系统和应用程序的操作系统分界线。
 
 
  • 复用和分用思想
发送报文时,源计算机加入一些额外的编码信息,如报文类型,所用协议等
所有报文都放入帧中进行传送,并组合起来形成一个分组流。
在接收端,网络接口利用帧的类型来分用帧。
 
 
 
  • 用户数据报协议UDP
利用IP在机器之间传输报文,提供不可靠的服务,使用IP来运载报文,但是比IP增加了区分制定主机上多个目的地的能力。
 
 
  • 可靠的流运输服务TCP
特征:面向流,虚电路连接,带缓冲的传送,无结构的流,全双工通信
 
 
滑动窗口:
是正面确认和重传的一种更复杂形势,更好的利用网络带宽,允许在等待确认到达时发送多个分组。可以调整窗口大小使得网络中的分组完全饱和。
 
一个窗口由三个指针定义:左边界,右边界,已发送和未发送的边界。
一个连接有四个窗口,每端两个,一个在发送时滑动,一个在接收时滑动。
在每个确认中,除了指明收到的数据之外,还有一个窗口通告,之处接收方准备再接收多少数据
提供可靠传输和流量控制。
 
极端情况下,窗口大小可能会变为0
重新启动时一种是发送方传输紧急位为1的报文段,通知接收方有紧急数据可用,
另一种情况,发送方周期性发送零窗口探寻报文段。
 
TCP使用连接而不是协议端口作为他基本的抽象,连接是一对端点之间来标志的。
同一台机器上的某个TCP端口号可以被多个连接共享。
 
 
 
  •  报文格式
 
代码位,来表示该如何解释报文首部中的其他字段
URG    紧急指针有效
ACK    确认字段有效
PSH    请求推操作
RST    连接复位
SYN    同步序号
FIN    发送方的字节流已经发完
 
窗口字段表明可用缓冲区大小
 
 
 
  • 确认重传和超时
一个TCP确认指出了接收方期望收到的下一个八位组的序号。
为了适应互联网环境中遇到的时延变化,TCP使用自适应重传算法来检测每一个连接的时延,并相应的调整各个连接的超市参数。
 
 
  • 拥塞控制
慢启动和乘法减小
为了控制拥塞,TCP使用第二个窗口限制,即拥塞窗口限制,当发生拥塞时,可以使用此限制让数据流量小于接收方缓冲区的大小
allowed_window = min(receiver_advertisement, congestion_window)
 
乘法减小的拥塞避免策略:
一旦发生报文段丢失,就把拥塞窗口减少一半,对于留在窗口内的报文段,采用指数避退算法计算重传计时器的时限值。这样可以迅速减小通信量。
 
慢启动:
在一条新的链路上开始传输时,或者在一段时间的拥塞后增加通信量时,拥塞窗口的大小刚开始只有一个报文段,随着一个确认的到达,拥塞窗口的大小每次增加一个报文段。
 
 
快速重传或者叫快速恢复
在偶尔发生丢失的环境中拥有更高的吞吐量
如果一个报文丢失,后续的报文段到达接收方时,要求接收方产生一个ACK, 该确认指明了丢失的报文段在流中的位置,从发生方的角度来看,会收到一系列确认,如果连续收到三个确认就会引起一次重传,而不必等待计时器超时。
 
 
 
 
  • 三次握手
 
  • 四次分手
 
差别在于机器收到FIN后不是立即发送第二个FIN报文,而是先发送一个确认,防止对方重传第一个FIN报文,通知相应的应用程序关闭。
 
 
  • 复位
RST字段置为1,另一端对复位报文的反应是立即中断连接,还要通知应用程序立即终止连接。
 
 
 
posted @ 2012-09-15 22:19  w0w0  阅读(332)  评论(0编辑  收藏  举报