【linux基础】17、TCP/IP网络基础(下)

一、IP地址

1、IANA

IANA 就是指(Internet Assigned Numbers Authority) ,Internet号分配的机构。负责对IP地址分配规划以及对TCP/UDP公共服务的端口定义。

2、IP地址的基本格式

IPv4使用32位(4字节)地址,因此整个地址空间中有4,294,967,296(2^32)个地址,也就是近43亿个地址。IPv4地址在计算机内部是以二进制形式表示,是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。

IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。

例:点分十进IP地址(100.4.5.6),实际上是32位二进制数(01100100.00000100.00000101.00000110)。

地址格式为:IP地址=网络地址+主机地址 或 IP地址=网络地址+子网地址+主机地址。

3)、子网掩码

子网掩码的作用就是获取主机IPv4地址中的网络地址信息

用于区别主机通信不同情况,选择不同路由

子网掩码与IP地址一样,也是由32位二进制组成的。它被分成“网络ID”和“主机ID”两部分。

“网络ID”部分全是“1”;“主机ID”部分全是“0”表示。

4)、IP地址分类

IPv4地址的基本分类

五个类别:A、B、C、D和E。

A、B和C类用于单播通信中设备IP地址分配,D类属于组播地址,用于组播通信,E类是保留地址。

它们均有不同的网络类别(也就是“网络ID”)长度,用来标识不同的网络类别,剩余的部分被用来识别网络内的主机(称之为“主机ID”)。

“网络ID”用来确定每类网络中有的网络数

“主机ID”则用来确定每个网络中有的IP地址数

最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。

同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。

大:0 000 0000-0 111 1111: 0-127     #A类网

中:10 00 0000-10 11 1111: 128-191    #B类网

小:110 0 0000-110 1 1111: 192-223    #C类网

1110  0000-1110 11111: 224-239   #组(多)播地址

1111  0000-1111 1111: 240-255    #留作实验使用

主机位全0:网络地址

主机位全1:广播地址

A:1-126  #127段网络做回环测试

2^7-2个网络:126个网络

每个网络的主机:2^24-2

B:128-191

2^14个网络

每个网络中的主机:2^16-2

C:192-223

2^21个网络

每个网络中的主机:2^8-2

1. A类IP地址

A类地址的网络ID为1~126。

一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”, 地址范围从1.0.0.0 到126.0.0.0,默认网络掩码为:255.0.0.0;可用的A类网络有126个,每个网络能容纳1亿多个主机。

注意,数字0和 127不作为A类地址,数字127保留给内部回送函数,而数字0则表示该地址是本地宿主机,不能传送。

2. B类IP地址

B类地址的网络ID为128~191。

一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255,默认网络掩码为:255.255.0.0;可用的B类网络有16382个,每个网络能容纳6万多个主机 。

3. C类IP地址

C类地址网络ID为192~223。

一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255,默认网络掩码为:255.255.255.0;C类网络可达209万余个,每个网络能容纳254个主机。 
4. D类地址用于多点广播(Multicast)。 
    D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。 
5. E类IP地址 
     以“11110”开始,为将来使用保留。

127.0.0.1是代表本身呆板的回路地点,不管是不是联网,本身呆板皆是127.0.0.1。 而127段是保存区段,127.0.0.2实际中上基础用没有到那个IP,只是实际上的地点 那个应当是目前收集装备的一种特]

127.0.0.1是代表自己机器的回路地址,无论是否联网,自己机器都是127.0.0.1。
而127段是保留区段,127.0.0.2现实中上根本用不到这个IP,只是理论上的地址
而又无法由DHCP得到IP时(网络断开、DHCP服务器、路由器失效等等),就会自动分配一个169.254段的IP给自己。
有类/无类IPV4网络

有类

A、B、C、D、E类IPv4地址

每类IPv4地址都有固定长度的网络ID,有固定的子网掩码

大大降低了IPv4地址的利用率和可用的网络数

无类(VLSM 可变长子网掩码)

每个IPv4地址的网络ID长度都可以不固定

通常把以前的有类网络称之为标准网络,而把网络ID长度大于对应标准网络的网络称之为“子网”

网络地址

用来标识一个有类或无类网络的地址,是对应网络或子网的第一个IPv4地址,即“主机ID”部分全为0的IPv4地址

主机地址

除了网络地址和广播地址这两个一头一尾的地址外,中间的其他所有地址都是主机地址,可以直接分配给主机使用

广播地址

是一个有类或无类网络中的最后一个IPv4地址,即“主机ID”部分全为1的IPv4地址

IPv4地址前缀表示形式

在一个IPv4地址后面先加上一个斜杠(/),然后在这个斜杠后面直接写出该地址所在网络的“网络ID”,或者“子网掩码”长度

如192.168.1.10/24代表的是一个标准的C类网络IPv4地址,而10.1.0.10/8则代表了一个标准的A类网络IPv4地址

私有IP地址

在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:

A类地址:10.0.0.0/8(10.0.0.0,255.0.0.0)    1个网络  每个网络的主机数:2^24 -2

B类地址:172.16.0.0/12(172.16.0.0,255.240.0.0)

172.16.0.1--172.31.255.254            16个网络  每个网络的主机数:2^20 -2

C类地址:192.168.0.0/16(192.168.0.0,255.255.0.0) 256个网络  每个网络的主机数:2^16 -2

全零(“0.0.0.0”)地址对应于当前主机。全“1”的IP地址(“255.255.255.255”)是当前子网的广播地址。

查阅百度知道里一些说法如下:

1. 严格说来,0.0.0.0已经不是一个真正意义上的IP地址了。它表示的是这样一个集合:所有不清楚的主机和目的网络。这里的“不清楚”是指在本机的路由 表里没有特定条目指明如何到达。对本机来说,它就是一个“收容所”,所有不认识的“三无”人员,一 律送进去。如果你在网络设置中设置了缺省网关,那么Windows系统会自动产生一个目的地址为0.0.0.0的缺省路由。

2. 网络中0.0.0.0的IP地址表示整个网络,即网络中的所有主机。

它的作用是帮助路由器发送路由表中无法查询的包。如果设置了全零网络的路由,路由表中无法查询的包都将送到全零网络的路由中去。

0.0.0.0 表示监听本地所有ip地址,其他电脑是可以访问的,并且修改ip不受响。127.0.0.1 表示只监听本机回环地址,只能本机访问。x.x.x.x ip地址,是只监听这个ip。修改ip后程序就不能监听了。需要手动修改软件监听地址才可以用localhost 只是 127.0.0.1 的别

169.254开头的IPv4地址

“自动专用IP地址”,其地址范围为:169.254.0.0/16,子网掩码为255.255.0.0。

127.0.0.1地址

“环回地址”(Loopback Address),是主机IP堆栈内部的IPv4地址,主要用于网络软件测试以及本地机进程间通信;在IP网络中就是用来测试主机TCP/IP协议是否工作正常v0.0.0.0地址

0.0.0.0地址

代表所有IPv4地址,常用于默认路由配置,或者代表整个不确定的IP地址范围

VLSM子网划分:

把原来标准网络IPv4地址中的“网络ID”部分向“主机ID”部分借位,

把一部分原来属于“主机ID”部分的位变成“网络ID”的一部分(通常称之为“子网ID”)

原来的“网络ID”+“子网ID”=新“网络ID”

“子网ID”长度决定了可以划分子网的数量

全0子网:“全0子网”代表的是对应子网的“子网ID”部分各位都是0,是第一个子网

全1子网:“全1子网”代表的是对应子网的“子网ID”部分各位都是1,是最后一个子网

二进制数的逻辑运算

二进制数的逻辑运算包括

逻辑加法(“或”运算)

逻辑乘法(“与”运算)

逻辑否定(“非”运算)

逻辑“异或”运算。

(1)逻辑“或”运算

又称为逻辑加,可用符号“+”或“∨”来表示。逻辑“或”运算的规则如下:

0+0=0或0∨0=0

0+1=1或0∨1=1

1+0=1或1∨0=1

1+1=1或1∨1=1

可见,两个相“或”的逻辑变量中,只要有一个为1,“或”运算的结果就为1。仅当两个变量都为0时,或运算的结果才为0。计算时,要特别注意和算术运算的加法加以区别。

(2)逻辑“与”运算

又称为逻辑乘,常用符号“×”或“· ”或“∧”表示。“与”运算遵循如下运算规则:

0×1=0或0·1=0或0∧1=0

1×0=0或1·0=0或1∧0=0

1×1=1或1·1=1或1∧1=1

可见,两个相“与”的逻辑变量中,只要有一个为0,“与”运算的结果就为0。仅当两个变量都为1时,“与”运算的结果才为1。

(3)逻辑“非”运算

又称为逻辑否定,实际上就是将原逻辑变量的状态求反,其运算规则如下:

可见,在变量的上方加一横线表示“非”。逻辑变量为0时,“非”运算的结果为1。逻辑变量为1时,“非”运算的结果为0。

(4)逻辑“异或”运算

“异或”运算,常用符号“”或“”来表示,其运算规则为:

00=0 或 00=0

01=1 或 01=1

10=1 或 10=1

11=0 或 11=0

可见:两个相“异或”的逻辑运算变量取值相同时,“异或”的结果为0。取值相异时,“异或”的结果为1

以上仅就逻辑变量只有一位的情况得到了逻辑“与”、“或”、“非”、“异或”运算的运算规则。

当逻辑变量为多位时,可在两个逻辑变量对应位之间按上述规则进行运算。

特别注意,所有的逻辑运算都是按位进行的,位与位之间没有任何联系,即不存在算术运算过程中的进位或借位关系。下面举例说明。

【例1.1】 如两变量的取值 X=00FFH,Y=5555H

Z1=XYZ2=XYZ3=Z4=XY的值。

解:X=0000000011111111

Y=0101010101010101

则:Z1=0000000001010101=0055H

Z2=0101010111111111=55FFH

Z3=1111111100000000=FF00H

Z4=0101010110101010=55AAH

子网掩码是一个网络或一个子网的重要属性

路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。

路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。

若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码。

练习:

1、一公司原来使用的是192.168.1.0/24这个标准网络,现在想为公司中每个部门(共6个)单独配置一个子网,其中最大一个部门要分配IPv4地址的数量不超过25个。求每个子网的子网掩码、地址范围、网络地址和广播地址。

子网数: 2^2<6<2^3

子网掩码为:/27,   255.255.225.224

每个子网的可用主机数:2^5 -2=30>25

每个子网的地址范围:0-31,32-63,64-95,96-127,128-159,160-191,192-223,224-255

就是说192.168.1.30/27和192.168.1.60/27属于不同网络,要三层路由能才互通

2、IPv4地址为202.112.14.137,子网掩码为255.255.255.224,求:所在子网的网络地址和广播地址各是什么?

IP:   202.112.14.1000 01001

掩码:255.255.255.1110 0000

子网:202.112.14.1000 0000

子网数:2^3=8

每个子网的地址范围:0-31,32-63,64-95,96-127,128-159,160-191,192-223,224-255

答案:网络地址:202.112.14.128

广播地址:202.112.14.159


超网(supernetting)

子网划分是把一个网络划分成为多个不同的网络,而构造超网则是把网络前缀都相同的连续的ip地址组成一个“CIDR地址块”。

其中CIDR(Classless Inter_Domain Routing)是无分类域间路由选择。使用超网能够减少路由表中的项目、减轻路由表的负担。

CIDR消除了传统的A类、B类和C类地址以及划分子网的概念,把32位的IP地址划分为两个部分。如:128.14.35.7/20是某个CIDR地址块中的一个地址,其前20位是网络前缀(用下划线表示的部分),后面的12位为主机号:

128.14.35.7/20= 10000000 00001110 00100011 00000111

其地址掩码,也叫子网掩码是:11111111 11111111 11110000 00000000 (20个连续的1),即斜线后面的数字就是地址掩码中1的个数。

若某个公司拥有地址块 206.0.64.0/18 ,即相当于有64个C类网络。再举个简单的例子:

192.168.0.0/24   192.168.1.0/24   192.168.2.0/24   192.168.3.0/24  这四个网络,通过CIDR可以汇总成一个超网192.168.0.0/22 ,因为这四个网络 的前22 位网络号相同。  呵呵,看明白了吗?

就是向网络位借主机位咯,增加主机数,实现一个网络内超过254个主机


主机名:FQDN(Full Qulified Domain)

完全合格域名/全称域名,是指主机名加上全路径,全路径中列出了序列中所有域成员。

全域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。

从全域名中包含的信息可以看出主机在域名树中的位置。

DNS解析流程:首先查找本机HOSTS表,有的直接使用表中定义,没有查找网络连接中设置的DNS 服务器由他来解析。

www.magedu.com

时间: 2024-12-16 10:45:35

【linux基础】17、TCP/IP网络基础(下)的相关文章

关于linux内核的tcp ip网络框架实现

关于linux内核的tcp ip网络框架实现 上图是linux内核的tcp ip网络框架实现 需要注意的是,linux采用函数指针的方式来模拟"面向对象"概念的动态函数绑定.所以需要仔细看上面的函数指针实际指向的函数,才能知道上面的tcp.ip的函数如何被调用到的.上图需要仔细看. 注意箭头方向,表明了函数传递数据和获取数据的方向. 下面引用一下<深入Linux内核架构>的图 更详细的内容请参见我的视频课程:<深入linux内核>https://edu.51ct

【linux基础】17、TCP/IP网络基础(上)

一.计算机网络概述 1.什么是网络? 一群具有独立功能的计算机组成的系统通过通信设备及传输媒体互连起来,在通信软件支持下,实现资源共享.信息交换的整个系统 产生计算机网络的基本条件:通信技术与计算机技术的结合 2.计算机网络的产生与发展 1954年 主机-终端的通信网络  第一代计算机网络 以单个主机为中心.面向终端设备的网络结构.系统中除主计算机具有独立的数据处理功能外,系统中所连接的终端设备均无独立处理数据的功能 1969年 主机-主机的通信网络  ARPANET网  第二代计算机网络 以分

Linux程序设计学习笔记----Socket网络编程基础之TCP/IP协议簇

转载请注明出处: ,谢谢! 内容提要 本节主要学习网络通信基础,主要涉及的内容是: TCP/IP协议簇基础:两个模型 IPv4协议基础:IP地址分类与表示,子网掩码等 IP地址转换:点分十进制\二进制 TCP/IP协议簇基础 OSI模型 我们知道计算机网络之中,有各种各样的设备,那么如何实现这些设备的通信呢? 显然是通过标准的通讯协议,但是,整个网络连接的过程相当复杂,包括硬件.软件数据封包与应用程序的互相链接等等,如果想要写一支将联网全部功能都串连在一块的程序,那么当某个小环节出现问题时,整只

(转) HTTP &amp; HTTPS网络协议重点总结(基于SSL/TLS的握手、TCP/IP协议基础、加密学)

HTTP & HTTPS网络协议重点总结(基于SSL/TLS的握手.TCP/IP协议基础.加密学) 原文:http://blog.csdn.net/itermeng/article/details/78517364 原文地址:https://www.cnblogs.com/liujiacai/p/8325931.html

理解TCP/IP网络栈&amp;编写网络应用(下)

1.摘要 这是<翻译:理解TCP/IP网络栈&编写网络应用>的下篇,文章中会通过讲解TCP的代码实现帮助大家理解发送.接收数据的流程,也描述了一些网卡.驱动等网络栈底层的原理. 原文地址:原文地址 原作者:Hyeongyeop Kim 2.数据结构 以下是一些关键数据结构.我们了解一下这些数据结构再开始查看代码. 2.1.sk_buff_structure 首先,sk_buff结构或skb结构代表一个数据包.图6展现了sk_buff中的一些结构.随着功能变得更强大,它们也变得更复杂了.

【TCP/IP协议基础】

TCP/IP协议基础 -------------------------------------------------------------------------------- 1.TCP/IP协议栈 四层模型 TCP/IP这个协议遵守一个四层的模型概念:应用层.传输层.互联层和网络接口层. 网络接口层 模型的基层是网络接口层.负责数据帧的发送和接收,帧是独立的网络信息传输单元.网络接口层将帧放在网上,或从网上把帧取下来. 互联层 互联协议将数据包封装成internet数据报,并运行必要的

TCP/IP 网路基础

一.引子 ????????TCP/IP是"Transmission Control Protocol/Internet Protocol"的简写,翻译成中文为传输控制协议/互联网网络协议.TCP/IP是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据来往格式及传送方式.TCP/IP是Interent的基础协议,也是一种计算机数据打包和寻址的标准方法. 二.计算机网络概述 ????????计算机网络是指将地理位置不同的,具有独立功能的多台计算机及其他外

IP网络基础——传输介质简介

IP网络基础知识 网络产生的主要原因:终端相互传递信息和资源共享的需求. 终端可以产生.发送和接收数据,网络是终端建立通信的媒介,终端通过网络建立连接.用来传输数据的载体称为介质,网络可以使用各种介质进行数据传输,包括物理线缆,无线电波等. 网络就是通过介质把终端互连而成的一个规模大.功能强的系统,从而使得众多的终端可以方便地互相传递信息,共享信息资源. 双绞线和同轴电缆传输数据时使用的是电信号,而光纤传输数据时使用的是光信号.光纤支持的传输速率包括10Mbps,100Mbps,1Gbps,10

《TCP/IP网络编程》

<TCP/IP网络编程> 基本信息 作者: (韩)尹圣雨 译者: 金国哲 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787115358851 上架时间:2014-6-19 出版日期:2014 年6月 开本:16开 页码:1 版次:1-1 所属分类:计算机 > 计算机网络 > 网络协议 > TCP/IP 更多关于>>><TCP/IP网络编程> 编辑推荐 为初学者准备的网络编程 本书涵盖操作系统.系统编程.TCP/IP协议等多种