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. ORACLE存储过程笔记2

    ORACLE存储过程笔记2 运算符和表达式     关系运算 =等于<>,!=不等于<小于>大于<=小于等于>=大于等于       一般运算   +加-减*乘/除 ...

  2. Delphi资源大全

    A curated list of awesome Delphi frameworks, libraries, resources, and shiny things. Inspired by awe ...

  3. Android GridView增加HeaderView和FooterView的实现

    Android GridView增加HeaderView和FooterView的实现 做的项目中遇到一个问题,需要实现一个页面 页面的上面是一个自定义的View和GridView,当向下滚动屏幕的时候 ...

  4. 转:什么是 HTTP Headers?

    什么是HTTP Headers HTTP是“Hypertext Transfer Protocol”的所写,整个万维网都在使用这种协议,几乎你在浏览器里看到的大部分内容都是通过http协议来传输的,比 ...

  5. Ubuntu下编译Android JNI最靠谱的方法...

    网上资料太杂乱,搞了大半天都还是没搞懂怎么系统的调用NDK.最后干脆放弃了Win改用Ubuntu编译JNI,虽然编译环境简单了,但是资料却少了不少.几乎没有一篇完整的文章.我想或许是能在Ubuntu下 ...

  6. BZOJ 1072 [SCOI2007]安排perm 如压力DP

    意甲冠军:联系 方法:状压DP? 题解:这题事实上没啥好写的.不算非常难,推一推就能搞出来. 首先看到这个问题,对于被d整除这个条件,非常easy就想到是取余数为0,所以想到可能状态中刚開始含有取余数 ...

  7. vpn技术原理详解

    转载于:http://blog.csdn.net/quqi99/article/details/7334617 假设有这样一个需求,需要从家中访问公司内网机器,可以用ssh遂道技术来作转发,遂道分正向 ...

  8. ZOJ 3603字符串操作

    解题思路:找到公共子串然后升序输出 坑的地方就在于输入是存在相同字母的 #include <stdio.h> #include <algorithm> #include < ...

  9. 01-OC介绍

    目录 一.OC语言介绍 二.ios系统 三.在OC语言开发中使用C语言语法 四.面向对象 回到顶部 一.OC语言介绍 1 早在20世纪80年代早期,BardCox发明了Objective-C,扩充了C ...

  10. Git 将本次修改追加在上一次修改上面

    Git 将本次修改追加在上一次修改上面 git add . git commit --amend 之后就是进入日志提交页面 确保change-Id那条记录出现在最后一行,如: zh-->en 修 ...