zoukankan      html  css  js  c++  java
  • TCP/IP 协议

      (无意中有人问题什么是TCP/IP协议,故做此整理)

      什么是TCP/IP协议呢?TCP/IP 是一类协议系统,它是用于网络通信的一套协议集合。准确的来说TCP/IP不是一个协议,而是一个协议族的统称。里面包括了IP协议,IMCP协议,TCP协议,以及我们更加熟悉的http、ftp、pop3协议等等。传统上来说 TCP/IP 被认为是一个四层协议:

      网络层主要就是做物理地址与逻辑地址之间的转换。目前市场上应用的最多的是 32 位二进制的 IPv4 ,因为 IPv4 的地址已经不够用了,所以 128 位二进制的 IPv6 应用越来越广泛了(但是下面的介绍都是基于 IPv4 进行的)

    1) IP:TCP/IP 协议网络上的每一个网络适配器都有一个唯一的 IP 地址。IP 地址是一个 32 位的地址,这个地址通常分成 4 端,每 8 个二进制为一段,但是为了方便阅读,通常会将每段都转换为十进制来显示,比如大家非常熟悉的 192.168.0.1

    IP 地址分为两个部分:网络 ID、主机 ID

    具体哪部分属于网络 ID,哪些属于主机 ID 并没有规定.绝大部分 IP 地址属于以下几类:

    A 类地址:IP 地址的前 8 位代表网络 ID ,后 24 位代表主机 ID。
    B 类地址:IP 地址的前 16 位代表网络 ID ,后 16 位代表主机  ID。
    C 类地址:IP 地址的前 24 位代表网络 ID ,后 8 位代表主机  ID。

    这里能够很明显的看出 A 类地址能够提供出的网络 ID 较少,但是每个网络可以拥有非常多的主机

    如何看出一个 IP 地址到底是哪类地址呢?

    如果 32 位的 IP 地址以 0 开头,那么它就是一个 A 类地址。
    如果 32 位的 IP 地址以 10 开头,那么它就是一个 B 类地址。
    如果 32 位的 IP 地址以 110 开头,那么它就是一个 C 类地址。
    如果 32 位的 IP 地址以 111 开头,那么它就是一个 D 类地址。
    如果 32 位的 IP 地址以 1111开头,那么它就是一个 E 类地址。

    那么转化为十进制(四段)的话,我们就能以第一段中的十进制数来区分 IP 地址到底是哪类地址了。

    注意:
    每一类都有一些排除地址,这些地址并不属于该类,他们是在一些特殊情况使用地址
    除了这样的方式来划分网络,我们还可以把每个网络划分为更小的网络块,称之为子网(后面会介绍)
    全是 0 的主机 ID 代表网络本身,比如说 IP 地址为 130.100.0.0 指的是网络 ID 为130.100 的 B 类地址。
    全是 1 的主机 ID 代表广播,是用于向该网络中的全部主机方法消息的。 IP 地址为 130.100.255.255 就是网络 ID 为 130.100 网络的广播地址(二进制 IP 地址中全是 1 ,转换为十进制就是 255

    1)以十进制 127 开头的地址都是环回地址。目的地址是环回地址的消息,其实是由本地发送和接收的。主要是用于测试 TCP/IP 软件是否正常工作。我们用 ping 功能的时候,一般用的环回地址是 127.0.0.1
    2)地址解析协议 ARP
    简单的来说 ARP 的作用就是把 IP 地址映射为物理地址,而与之相反的 RARP(逆向 ARP)就是将物理地址映射为 IP 地址。
    3)子网
    前面提到了 IP 地址的分类,但是对于 A 类和 B 类地址来说,每个网络下的主机数量太多了,那么网络的传输会变得很低效,并且很不灵活。比如说 IP地址为 100.0.0.0 的 A 类地址,这个网络下的主机数量超过了 1600 万台。
    所以子网掩码的出现就是为了解决这样的问题。
    我们先回顾一下之前如何区分主机 IP 和网络 IP 的。
    以 A 类地址 99.10.10.10 为例,前 8 位是网络 IP ,后 24 位是主机 IP 。子网掩码也是一个 32 为的二进制数,也可以用四个十进制数来分段,他的每一位对应着 IP 地址的相应位置,数值为 1 时代表的是非主机位,数值为 0 时代表是主机位。

    网关一般是选择一个网络段的第一个或最后一个可用IP。

  • 相关阅读:
    CentOS7搭建FastDFS V5.11分布式文件系统(二)
    CentOS7搭建FastDFS V5.11分布式文件系统(一)
    JRebel最新破解激活版(IDEA自动部署插件)
    idea常用插件
    idea安装完成后要做的几件事(设置字体、编码、行号)
    IDEA修改Maven全局配置
    IDEA打开光标是粗黑色,backspace键、insert键点击无效的解决办法
    Hadoop build error java.lang.NoClassDefFoundError: org/sonatype/aether/graph/DependencyFilter
    Golang项目目录结构组织
    再看GOPATH
  • 原文地址:https://www.cnblogs.com/cooper-73/p/9958961.html
Copyright © 2011-2022 走看看