网络原理 总结

 

 

IP:

网络互联

1. 为什么需要网络互联?

    设计的每一种网络技术都必须满足特定的一组约束条件,例如局域网技术知识设计用于提供短距离通信。

    没有任何一种单一的网络技术对于所有的需求都是最好的的。

2. 全局服务

    连接到给定网络的计算机只能与连接到同一网络的加算计通信,支持全局服务的通信系统允许任意两台计算机间通信,这样有助于提高个体的生产效率,所以全局服务是必需的。

3. 互联网体系结构

    互联网是通过路由器连接起来的一组网络所构成,在规划互联网方案时,允许单位按使用要求来选择网络的数量和类型,用于互连的路由器数量及具体的互联拓扑结构。

4. 如何实现全局服务

    网络互联的目标是实现通过异构网络提供全局服务,因为不同网络所使用的帧格式和编址方案不同,因此,互联网络中,在计算机和路由器上都需要安装协议软件,才能实现全局服务。

5. 虚拟网络

    互联网软件提供了一个连接着许多计算机的单一的二无缝的通信系统,这种系统提供全局服务,即:每台计算机只分配一个地址;任何计算机都能发送分组到其他的计算机。互联网协议软件隐藏了物理网络等方面的细节。

    硬件和软件的联合提供了一个“单一网络”这样的幻觉,事实上并不存在这一网络,所以说互联网是一种虚拟的网络系统,这只是一种抽象而已。


 

网际协议地址
1. 虚拟互联网地址

    虚拟互联网和其他网络一样,允许计算机发送和接收数据分组。互联网与物理网络的主要区别是:互联网仅仅是设计者想象的抽象,完全由软件产生。

    为了呈现一个单一的统一的系统,所有的主机应该使用统一的编址方案。物理网络并不满足这样的要求。协议软件定义了一套与底层地址无关的编址方案,协议地址作为虚拟网络的目的地址使用,这就类似物理网络中把MAC地址作为目的地址使用。

 

2. 地址掩码

    在子网编址和无分类编址中,不是采用三个不同的地址分类,改为直接利用网络前缀和后缀在网络地址的任意码位上进行分界。无类编址和子网编址方案中还要求随同地址一起存储一点额外的信息,就是地址掩码,利用这个地址掩码来制定网络前缀和后缀的分界。

    在主机和路由器的路由表中必须保存两部分信息来表示每个地址,即:32位地址本身,指定前缀与后缀的分界另一个32位长的掩码,地址掩码用“1”来标识网络前缀,用“0”标识网络后缀。

    之所以把分=分界值用一个掩码来保存,这主要是为了提高计算效率,当路由器和主机在处理一个IP分组时,需要比较路由表中地址前缀部分的值,利用掩码可以加快比较速度。

    假设有一个地址D,对于路由表项(A,M)A表示32位网络地址,M表示32位掩码,进行比较时只需要执行 A==(D&M)。

 

协议地址绑定

1. 为了形成大型的互联网络,软件使用统一的IP地址转发分组,下一跳地址和目的地址都是IP地址,然而物理网络的硬件在传输帧时,协议不能使用IP地址,硬件设备不能理解IP地址。在特定的物理网络中传输帧时,必须使用该网络的帧格式,因此在传输帧之前,必需要IP地址转换为等效的硬件地址。

2. 将计算机的协议地址翻译成等效的硬件地址的过程叫做地址解析,并且只有两个计算机连接在同一个网络的情况时,一台计算机才能解析另一台计算机的硬件地址——一台计算机不能解析远程网络上的计算机的地址。

3. 地址解析协议ARP

    ARP解决这个问题的方法是在主机的高速ARP缓存中存放一个从IP地址到硬件地址的映射表,并且随时更新这个表。

 

IP层的尽力传输

   IP使用“尽力而为”这个词来描述它所提供的服务,这个标准规定IP会尝试尽力传输每个数据分组,但并不保证能够处理诸如数据报重复、延迟、乱序、数据损坏、数据包丢失等问题。每层协议只负责通信的某些方面,IP层不负责这些问题,而是由高层协议软件去处理。

 

差错报告机制

1. 尽力服务的语义

    IP是一种“尽力而为”的通信服务,它的数据报可能会在传输过程中发生丢失、重复、延迟、乱序。理解尽力而为不能说成是漠不关心。IP试图避免差错的发生,并在差错发生时报告这种消息。

    当一台主机产生一个IP数据报时,该主机会产生一个对整个头部有效的校验和,接收者对整个头部重新计算机检验和,在IP中对校验和出错的反应非常简单:立即丢弃出错的数据报,不做进一步处理。这容易理解,因为接收者无法相信头部中的任何一个域,接收者不知道是哪一位发生改变,也无法给发送者发出任何差错报文,因为接收者不确定头部中的源地址是否正确,同样,接收者也不转发已经损坏的数据报,因接收者也不相信目的地址是否正确,接收者除了丢弃损坏的数据报外别无他法。

2. 互联网控制报文协议

    对于不是传输出错那样严重的其他错误,都可认为是可报告的错误,例如,互联网中的一些物理路径出故障了,导致互联网被分割为两个无路相同的网络,则数据报无法传输。

    互联网控制报文协议(ICMP)就是专门用于转发差错报文的协议,这个协议是IP标准实现所需要的。

    IP与ICMP是相互依赖的:IP要发送一个差错控制报文时利用ICMP,而ICMP又是利用IP来传送报文。当路由器需要发送一个ICMP报文时,就产生一个IP数据报,并将ICMP报文封装在数据报中。

 

 

运输层:

1. 运输层的两个主要协议

    UDP 用户数据报协议(User Datagram Protocol),UDP在传输数据前不需要先建立连接,远地主机的运输层在接收到UDP报文后,不需要给出任何确认,虽然UDP不提供可靠的交付,但在某些情况下UDP却是一种最有效的方式。

    主要特点:

  (1)无连接的,减少了开销和发送前的延时。

  (2)尽最大努力交付。

  (3)面向报文的,发送方UDP对应用进程交下来的报文,在添加首部后向下交付给IP。对交付下来的应用层报文既不拆分,也不合并,接收方UDP对IP层上交的UDP数据报,除了去除首部,然后就原封不动的交付给上层应用进程。

  (4)没有拥塞控制机制。

    TCP 传输控制协议(Transmission Control Protocol),传输数据之前必须先建立连接,数据传送结束后腰释放链接。

    主要特点:

  (1)面向连接。

  (2)点对点通信。

  (3)可靠交付。

  (4)全双工通信。

  (5)面向字节流。TCP中的“流”指的是流入到进程的或从进程流出的字节序列。TCP面向字节流的含义:应用程序和TCP的交互是一次一个数据块,但TCP把应用程序交下来的数据报看成仅仅是一连串的无结构的字节流,TCP并不知道所传送的字节流的含义。

 

2. 运输层的端口号

    应用层所有的进程都可以通过运输层再传送至IP层,这是复用,运输层从IP层收到数据后必须交付给指明的应用进程,这是分用。给应用层的每个进程赋予一个非常明确的标识是至关重要的。

    这种标识不能使用计算机操作系统的进程标识符,因为在因特网上使用的操作系统种类很多,不同操作系统的进程标识符的格式各不相同。把一个特定主机上的特定进程指明为因特网上通信的最后终点也是不可行的,因为进程的创建和撤销都是动态的,通信的一方几乎无法识别对方机器上的进程。

    解决的方法是在运输层使用协议端口号(Port),即是说通信的终点虽然是一个应用进程,但只要把数据交付到目的主机的某一个合适的目的端口,剩下的工作(即交付到具体的目的进程)就由TCP来完成。可见,两个计算机要通信,不仅必须要知道对方的IP地址找到目的主机,还要知道对方的端口号,为了找到对方计算机中的应用进程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值