zoukankan      html  css  js  c++  java
  • 网络协议初探(二)

    • TCP和UDP是两种最为着名的运输层协议,二者都使用IP作为网络层协议,
    • TCP使用不可靠的IP服务,但是却提供一种可靠的运输层服务
    • UDP为应用程序发送和接收数据报。UDP是不可靠的,它不能保证数据报能安全无误的达到目的地。
    • IP(网际协议)是网络层上的主要协议,同时被TCP和UDP使用。TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。
    • ICMP(internet控制报文协议)是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。
    • IGMP(internet组管理协议)。它用来把一个UDP数据多播到多个主机。
    • ARP(地址解析协议)和RARP(逆地址解析协议)是网络接口使用的特殊协议,用来转换IP层和网络接口层使用的地址。
    • IPv4地址长32位。IP地址具有一定的结构。五类不同的互联网地址格式如下:

    • 这些32位的地址通常写成四个十进制的数,其中每个整数对应一个字节。这种表示法称作“点分十进制数表示法”例如,常见的路由器的IP地址:192.168.1.1 (username:admin       password:admin)
      DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。它是由解析器以及域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。
    • 封装
           当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层,直接到当作一串比特流送入网络。其中每一层对收到的数据都要加一些首部信息(有时还要增加尾部信息),如图所示:


    • IP数据报
      IP数据报的格式如图所示,普通的IP数据报首部为20个字节,除非含有选项字段。
      • 版本号:目前的版本号为4,即IPv4
      • 首部长度:指的是首部占32bit字的数目,包括选项长度
      • 服务类型(TOS):(现在大多数的TCP/IP实现不支持TOS特性)4bit的TOS分别代表:最小延迟,最大吞吐量,最高可靠性和最小费用。4bit只能置其中1bit,如果4bit均为0,则为一般服务。
      • 总长度字段:整个IP数据报的长度,以字节为单位。总长度是IP首部中必要的内容
      • 标识字段:唯一地标识主机发送的每一份数据报。
      • 标志字段:会在IP分片和重组的时候使用到。标志字段的最低位记为MF,中间的一位记为DF。MF=1表示后面还有分片。DF=0时,才能进行分片。
      • TTL(time-to-live):设置了数据可以经过的最多的路由器数,每经过一次路由器,该值-1.
      • 首部检验和:是根据IP首部计算的检验和码。
      • 源地址:
      • 目的地址:
      • 任选项:(一般没有)包括以下内容
        • 安全和处理限制
        • 记录路径(每个路由器都记录它的IP地址)
        • 时间戳
        • 宽松的源站选路
        • 严格的源站选路

      IP地址分类

      • 网络号
                用于识别主机所在的网络;
      • 主机号
                用于识别该网络中的主机。
      • IP地址分为五类,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同。
                  A、B、C三类IP地址的特征:当将IP地址写成二进制形式时,A类地址的第一位总是0,B类地址的前两位总是10,C类地址的前三位总是110。
      • A类地址
      (1)A类地址第1字节为网络地址,其它3个字节为主机地址。它的第1个字节的第一位固定为0.
      (2)A类地址范围:1.0.0.1---126.255.255.254
      (3)A类地址中的私有地址和保留地址:
      ① 10.X.X.X是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)。
      范围(10.0.0.1---10.255.255.254)
      ② 127.X.X.X是保留地址,用做循环测试用的。
      • B类地址
      (1) B类地址第1字节和第2字节为网络地址,其它2个字节为主机地址。它的第1个字节的前两位固定为10.
      (2) B类地址范围:128.0.0.1---191.255.255.254。
      (3) B类地址的私有地址和保留地址
      ① 172.16.0.0---172.31.255.254是私有地址
      ② 169.254.X.X是保留地址。如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器。就会得到其中一个IP。
      191.255.255.255是广播地址,不能分配。
      • C类地址
      (1)C类地址第1字节、第2字节和第3个字节为网络地址,第4个字节为主机地址。另外第1个字节的前三位固定为110。
      (2)C类地址范围:192.0.0.1---223.255.255.254。
      (3) C类地址中的私有地址:
      192.168.X.X是私有地址。(192.168.0.1---192.168.255.255)
      • D类地址
      (1) D类地址不分网络地址和主机地址,它的第1个字节的前四位固定为1110。
      (2) D类地址范围:224.0.0.1---239.255.255.254
      • E类地址
      (1) E类地址不分网络地址和主机地址,它的第1个字节的前四位固定为1111。
      (2) E类地址范围:240.0.0.1---255.255.255.254
      IP地址如果只使用ABCDE类来划分,会造成大量的浪费:一个有500台主机的网络,无法使用C类地址。但如果使用一个B类地址,6万多个主机地址只有500个被使用,造成IP地址的大量浪费。因此,IP地址还支持VLSM技术,可以在ABC类网络的基础上,进一步划分子网。
      • 掩码
           为了标识IP地址的网络部分和主机部分,要和地址掩码(Address Mask)结合,掩码跟IP地址一样也是32 bits,用点分十进制表示。IP地址网络部分对应的掩码部分全为“1”,主机部分对应的掩码全为“0”。
           缺省状态下,如果没有进行子网划分,A类网络的子网掩码为255.0.0.0,B类网络的子网掩码为255.255.0.0,C类网络的子网掩码为255.255.255.0。利用子网,网络地址的使用会更加有效。
           有了子网掩码后,IP地址的标识方法如下:
           例:192.168.1.1 255.255.255.0或者标识成192.168.1.1/24(掩码中“1”的个数)
      特殊的IP地址
      • 组播地址
           在IP地址空间中,有的IP地址不能为设备分配的,有的IP地址不能用在公网,有的IP地址只能在本机使用,诸如此类的特殊IP地址众多:注意它和广播的区别。从224.0.0.0到239.255.255.255都是这样的地址。224.0.0.1特指所有主机, 224.0.0.2特指所有路由器。
      • 169.254.x.x
           主机使用了DHCP功能自动获得一个IP地址。
      • 受限广播地址
           广播通信是一对所有的通信方式。若一个IP地址的2进制数全为1,也就是255.255.255.255,则这个地址用于定义整个互联网。如果设备想使IP数据报被整个Internet所接收,就发送这个目的地址全为1的广播包,但这样会给整个互联网带来灾难性的负担。因此网络上的所有路由器都阻止具有这种类型的分组被转发出去,使这样的广播仅限于本地网段。
      • 直接广播地址
           一个网络中的最后一个地址为直接广播地址,也就是HostID全为1的地址。主机使用这种地址把一个IP数据报发送到本地网段的所有设备上,路由器会转发这种数据报到特定网络上的所有主机。
      • NetID为0的
           当某个主机向同一网段上的其他主机发送报文时就可以使用这样的地址,分组也不会被路由器转发。
      • 环回地址
            127网段的所有地址都称为环回地址,主要用来测试网络协议是否工作正常的作用。比如使用ping环回地址127.0.0.1就可以测试本地TCP/IP协议是否已正确安装。另外一个用途是当客户进程用环回地址发送报文给位于同一台机器上的服务器进程,来测试服务是否正常启动。
      • 专用地址
            IP地址空间中,有一些IP地址被定义为专用地址,这样的地址不能为Internet网络的设备分配,只能在企业内部使用,因此也称为私有地址。
           这些专有地址是:
      10/8 地址范围:10.0.0.0到10.255.255.255 共有2的24次方个地址
      172.16/12 地址范围:172.16.0.0至172.31.255.255 共有2的20次方个地址
      192.168/16 地址范围:192.168.0.0至192.168.255.255 共有2的16次方个地址
      参考:http://www.cnblogs.com/newwy/
       
  • 相关阅读:
    emoji表情,直接存入数据库报错,,出现java.sql.SQLException: Incorrect string value: 'xF0x9Fx98x8ExF0。。。。。。
    Springmvc的服务端数据验证-----Hibernate Validator
    HashMap
    Treeset的两种排序方法(自然排序和比较器排序)
    Java设计模式之适配器模式
    Java中的三种工厂模式
    构造方法私有化_骰子
    Java中equals的覆盖
    HttpClient请求
    JAVA的单例模式与延时加载
  • 原文地址:https://www.cnblogs.com/codings/p/3567305.html
Copyright © 2011-2022 走看看