1. IP

1.1 配套协议

IP 是 TCP/IP 体系中两个最主要的协议之一 。

与 IP 协议配套使用的还有四个协议:  
(1)ARP (Address Resolution Protocol)地址解析协议
(2)RARP (Reverse Address Resolution Protocol)逆地址解析协议
(3)ICMP(Internet Control Message Protocol)因特网控制报文协议
(4)IGMP(Internet Group Management Protocol) 因特网组管理协议

1.2. IP 划分

(1)分类的 IP 地址:这是最基本的编址方法,在 1981 年就通过了相应的标准协议。
(2)子网的划分:这是对最基本的编址方法的改进,其标准[RFC 950]在 1985 年通过。
(3)构成超网:这是比较新的无分类编址方法。1993 年提出后很快就得到推广应用。

1.3. IP <---->MAC

在网络传输中:MAC变化, IP地址变化

IP --> MAC  : ARP

IP<-- MAC:RARP

1.4 IP格式

一个 IP 数据报由首部和数据两部分组成。
首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。
在首部的固定部分的后面是一些可选字段,其长度是可变的。

(1)版本:IPV4,IPV6

(2)首部长度:占 4 bit,可表示的最大数值是 15 个单位(一个单位为 4 字节),因此 IP 的首部长度的最大值是60字节

(3)服务类型:占 8 bit,用来获得更好的服务这个字段以前一直没有被人们使用
(4)总长度:占 16 bit,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。总长度必须不超过最大传送单元 MTU。

(5)标识(identification)    占 16 bit,它是一个计数器,用来产生数据报的标识

(6)标志(flag):3位, MF|DF|0 ,

MF:还有分片?

DF:不可分片?

(7)片偏移:单位8byte

(8)TTL(time to live):数据报在网络中的寿命,其单位为秒

2. 分类的 IP 地址

网络号:net-id,它标志主机(或路由器)所连接到的网络

主机号:host-id,它标志该主机(或路由器)

                                                  IP 地址 ::= { <网络号>, <主机号>} 

3. 划分子网

3.1 有点

(1)安全

(2)控制广播风暴

(3)易于管理

3.2 格式

从主机号借用若干个比特作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个比特

IP地址 ::= {<网络号>, <子网号>, <主机号>} 

3.3 子网掩码

Sub Net Mask:找出 IP 地址中的子网部分

IP & Mask = net-id + sub-id

IP | Mask = host-id

4. CIDR(Classless Inter-Domain Routing)超网

128.14.32.0/20

4.1 特点

(1)CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更加有效地分配 IPv4 的地址空间。
(2)CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。
(3)IP 地址从三级编址(使用子网掩码)又回到了两级编址。

4.2 格式

IP地址 ::= {<网络前缀>, <主机号>} 

这个 ISP 共有 64 个 C 类网络。如果不采用 CIDR 技术,则在与该 ISP 的路由器交换路由信息的每一个路由器的路由表中,就需要有 64 个项目。但采用地址聚合后,只需用路由聚合后的 1 个项目 206.0.64.0/18 就能找到该 ISP。

TCP/IP笔记 二.网络层(1)的更多相关文章

  1. TCP/IP笔记 二.网络层(2)——ICMP,RIP,OSPF,BGP

    1. ICMP ICMP (Internet Control Message Protocol) 作用:提高 IP 数据报交付成功的机会. 1.1 特点 ICMP 允许主机或路由器报告差错情况和提供有 ...

  2. TCP/IP笔记(二)TCP/IP简介

    上回,主要介绍了下协议和OSI参考模型,并简单了解下网络构成要素,这回该说说TCP/IP了 互联网与TCP/IP的关系   互联网进行通信时,需要相应的网络协议,TCP/IP原本就是为使用互联网而开发 ...

  3. TCP/IP(二)物理层详解

    前言 在前面说了一下,计算机网络的大概内容,没有去深刻的去了解它,这篇文章给大家分享一下物理层! 我们知道ISO模型是七层,TCP/IP模型是五层,而tcp/ip协议只将七层概括为4层,我们将学习其中 ...

  4. TCP/IP入门(2) --网络层

    /** 本篇博客由 126(127不可用) 2^24 -2 B 2^14 -1 128.1 191.255 2^16 -2 C 2^21 -1 192.0.1 223.255.255 2^8 -2 D ...

  5. TCP/IP协议<二>

    一.TCP/IP的标准化 1.TCP/IP的含义 一般来说,TCP/IP是利用IP进行通信时所必须用到的协议群的统称. 具体点,IP或ICMP.TCP或UDP.TELENT或FTP.以及HTTP等都属 ...

  6. <再看TCP/IP第一卷>关于网络层及协议细节---ICMP协议几个要注意的地方

    在TCP/IP协议族中,ICMP协议是一个介于网络层和传输层中间的一个协议,许多材料都会认为ICMP是网络层的一个部分,但是ICMP协议的报头是被包裹在IP协议之中的,而UDP协议又可以被ICMP协议 ...

  7. TCP/IP笔记 一.综述

    1. TCP/IP分层 TCP/IP 是四层的体系结构:应用层.运输层.网际层和网络接口层,如下图: OSI协议是国际标准的网络协议,但是由于OSI的实用性等问题造成OSI没有流行起来.目前国际上广泛 ...

  8. TCP/IP笔记(三)数据链路层

    数据链路的作用 数据链路层的协议定义了通过通信媒介互连的设备之间传输的规范.通信媒介包括双绞线电缆.同轴电缆.光纤.电波以及红外线等介质.此外,各个设备之间有时也会通过交换机.网桥.中继器等中转数据. ...

  9. TCP/IP笔记(四)IP协议

    前言 IP相当于OSI参考模型的第3层--网络层:主要作用是"实现终端节点之间的通信"又称"点对点通信". IP作为整个TCP/IP中至关重要的协议,主要负责将 ...

随机推荐

  1. 单实例支撑每天上亿个请求的SSDB

    SSDB 是一个 C++ 开发的 NoSQL 存储服务器, 支持 zset, map 数据结构, 可替代 Redis, 特别适合存储集合数据. SSDB 被开发和开源出来后, 已经在生产环境经受了3个 ...

  2. 基于visual Studio2013解决算法导论之013基数排序

     题目 基数排序 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <malloc.h> #in ...

  3. EasyUI - tab动态加载datagrid

    addTab: function() { $("#myTabs").tabs('add', { title: 'my title', closable: true, tools: ...

  4. 利用ant的javac任务来编译程序使用ant的java任务来运行程序

    <?xml version="1.0" encoding="UTF-8"?> <project name="javaTest&quo ...

  5. sql server 深入使用 总结 part1

    1   OUTPUT  应用场景 : 1.1.对于INSERT,可以引用inserted表以查询新行的属性.         insert into [表名] (a) OUTPUT Inserted. ...

  6. Python之路Day3

    摘要: 复习day2内容 介绍set()-->归档到day2了... collections模块常用类 深浅copy的区别 自定义函数 文件操作 常用内建函数介绍 一.深浅copy的区别 #! ...

  7. LVS集群的体系结构

    2.LVS主要组成部分为: 负载调度器(load balancer/ Director),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称 ...

  8. 【转】java--final

    1.final数据 许多程序设计语言都有自己的办法告诉编译器某个数据是“常数”.常数主要应用于下述两个方面: (1) 编译期常数,它永远不会改变 (2) 在运行期初始化的一个值,我们不希望它发生变化 ...

  9. shell登录模式及其相应配置文件(转)

    参考<linux命令.编辑器与shell编程>(清华大学出版社) 当启动shell时,它将运行启动文件来初始化自己.具体运行哪个文件取决于该shell是登陆shell还是非登陆shell的 ...

  10. RVCT的Linux环境变量配置 ARM® RVDS™ 4.1(b713)

    下载解压 armrvds.tar.gz到/opt 下 在自己的build.sh下导入RVCT的环境变量配置ARM® RVDS™4.1(b713): export ARMROOT=/opt/armrvd ...