以下测试的网络环境为:虚拟机NAT模式,ubuntu设置为自动获取ip。
具备基本的网络知识对于linux的学习非常重要,只有了解了这些基础知识,才能更好的学习网络相关指令、网络设置、网络服务等内容。
1.OSI七层模型
OSI模型即网络结构的标准模型,是由国际互联网标准化组织定义的网络分层模型,虽然由于模型的实现太复杂,并没有实际的七层网络协议栈,但对于理解网络协议内部的架构很有帮,提供了很好的参考模型。
在OSI七层结构中,每一层规定了不同的特性,负责不同的功能:
应用层(Application Layer):用户接口,为应用程序提供访问网络服务的接口,为用户提供常用的应用。应用层使用报文进行数据交互,本层定义的规范有:Telnet、FTP协议、HTTP协议、域名DNS等。
表示层(Presentation Layer):对传输的数据进行解释交换,使主机之间通信的信息能互相理解。该层功能主要包括数据的压缩、加密、格式转换等,定义的标准有:ASCII、JPEG等。
会话层(Session Layer):对应用会话的建立、中止、会话过程的管理。
传输层(Transport Layer):该层为主机进程之间的通信提供服务,以数据段为单位,提供可靠或在不可靠的传输,为上层掩盖下层细节,保证会话层的数据信息能够传送到另一方的会话层,是计算机通信体系结构中关键的一层。主要的传输层协议是TCP和UDP。
网络层(NetWork Layer):负责将各个子网之间的数据进行路由选择,将数据从发送端主机发送到接收端主机,数据单位为数据包,主要用到的协议就是IP协议。
数据链路层(Data Link Layer):数据链路层将网络层交下来的 IP数据包组装成帧,在这一层利用通信信道实现无差错传输,在物理介质基础之上提供了可靠的数据传输。
物理层(Physical Layer):为上层提供物理介质,通信端点之间的硬件物理接口,设备之间以比特流进行传输。该层主要与硬件相关,确定了与物理接口的一些特性,如电气特性、功能特性等。
2.TCP/IP四层模型
TCP/IP传输协议,即传输控制/网络协议,也叫做网络通讯协议。是linux世界的网络基础,是在网络的使用中的最基本的通信协议。TCP/IP协议不是一个独立的协议,而是一组不同层次上的多个协议的组合,不同层次负责不同的功能。
网络接口层:对应的OSI参考模型中的物理层和数据链路层。TCP/IP本身并未定义该层的协议,只是规定了为上一层网络层提供访问接口,可以传输IP数据包,发送ARP请求和接收ARP应答。
网络层:对应OSI参考模型中的网络层,是TCP/IP协议栈的核心,将数据包进行分组并发往目的主机。主要解决主机到主机的通信问题,它所包含的协议涉及数据包在整个网络上的逻辑传输。该层有三个主要协议:IP(国际协议)、IGMP(互联网组管理协议)、ICMP(互联网控制报文协议)
传输层:对应OSI参考模型中的传输层,提供主机与主机之间对等层之间可以进行会话的机制,保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:TCP传输控制协议、UDP用户数据报协议
应用层:将OSI参考模型中的会话层和表示层取消,将功能合并到到应用层,为用户提供所需要的各种服务。例如,基于TCP协议的FTP(文件传输协议)、Telnet协议、HTTP(超文本链接协议)等,基于UDP协议的TFTP、域名服务DNS、NFS等。
以FTP文件传输为例,在各层的数据传输过程如下:
3.IP
互联网上的每个接口必须有一个唯一的Internet地址(也称作IP地址)主机或网络设备如果想要连接到Internet,就必须配置IP地址。应用范围最广泛的因特网地址使用IPv4的IP地址,长为32位,由4组十进制数组成,每组数值范围为0~255,中间用点号隔开。例如IP地址192.168.0.232。
IP地址的一般格式为:类别+网络标号+主机标识。其中类别用来区分IP地址的类型,网络号表示主机所在的网络,主机号表示主机在网络中的标识。IP地址通常分为五类:A类、B类、C类、D类、E类:
| 类型 | IP地址范围 | 
| A | 0.0.0.0到127.255.255.255 | 
| B | 128.0.0.0到191.255.255.255 | 
| C | 192.0.0.0到223.255.255.255 | 
| D | 224.0.0.0到239.255.255.255 | 
| E | 240.0.0.0到247.255.255.255 | 
其中D、E类为特殊地址不对民用开发。对于ABC类地址划分了公有地址和私有地址,其中公有地址由Inter INC负责,这些IP需要进行注册申请。私有地址属于非注册地址,专门为组织机构内部使用,不能直接访问公网,是不同局域网内的计算机可以使用相同的IP地址
| 类型 | 私有IP地址范围 | 
| A | 10.0.0.0到10.255.255.255 | 
| B | 172.16.0.0到172.31.255.255 | 
| C | 192.168.0.0到192.168.255.255 | 
一些特殊的IP地址:
(一)主机号全为0的IP地址,不分配给任何主机,用于表示某个网络的网络地址
(二)主机号全为1的IP地址,不分配给任何主机,仅用作广播地址
(三)IP地址127.0.0.1为回环结构,用于本地进行软件测试
4.子网掩码
子网掩码是一个32位的二进制地址,用来屏蔽原来网络地址的划分情况,从而获得一个范围小的,可以实际使用的网络。子网掩码使用与IP地址相同的格式,由4组十进制数组成,其中值为0的部分对应IP地址的主机ID部分。
使用子网掩码,网络设备可以分析得出一个IP地址的网络地址和子网地址,以及主机地址。子网掩码和IP地址进行“与”运算后,所得到的值为网络地址和子网地址。
标准的子网掩码:
| 类型 | 子网掩码地址 | 
| A | 255.0.0.0 | 
| B | 255.255.0.0 | 
| C | 255.255.255.0 | 
子网掩码便于网络设备的尽快寻址,区分本网段地址和非本网段的地址,划分子网,进一步缩小子网的地址空间,充分利用目前紧缺的IP地址。
举例:
比较两台主机的IP地址与子网掩码进行“与”运算后的值,如果结果相同,则说明两台计算机处于同一个子网络上。在以太网结构的网络中,同一子网内的两台计算机可以直接通信,而不用路由器对IP分组进行转发
| 主机(IP/Netmask) | A(192.168.0.232/255.255.255.0) | B(192.168.0.51/255.255.255.0) | 
| IP地址(二进制) | 11000000.10101000.00000000.11101000 | 11000000.10101000.00000000.00110011 | 
| 子网掩码(二进制) | 11111111.11111111.11111111.00000000 | 11111111.11111111.11111111.00000000 | 
| 网络地址(二进制) | 11000000.10101000.00000000.00000000 | 11000000.10101000.00000000.00000000 | 
两个主机的IP地址和子网掩码进行按位“与”运算,得到两个主机的网络地址均为11000000.10101000.00000000.00000000,即192.168.0.0,可知两个主机在同一个网络上。
5.端口号
端口是一个16位的整数,为了方便多种应用程序,区分不同应用程序的数据和状态,引入了端口。服务程序需要对某个端口进行绑定,客户端访问主机的此端口号与应用程序进行通信。
端口号可以由系统分配,也由用户自定义,一些常用的服务程序使用固定的静态端口号。
6.DNS(域名系统)
DNS是Domai Name Systerm的缩写,即域名系统,是一个用于TCP/IP应用程序的分布式数据库,用来提供IP地址和主机之间的映射信息。
DNS的名字空间具有树形的层次结构,结构如下
根域是特殊结点,没有任何结点,树形结构中的域名从最高层域名串联起来,中间用“.”分隔,顶级域名是域名的最后一部分。
顶级域名分为组织域(3个字符长的普通域)和国家/地区域(2个字符的域)。
组织域:
| 顶级域 | 描述 | 
| com | 商业组织 | 
| edu | 教育机构 | 
| gov | 政务机构 | 
| int | 国际组织 | 
| mil | 军事机构 | 
| net | 网络服务机构 | 
| org | 其他组织 | 
国家/地区域:
| 顶级域 | 描述 | 
| cn | 中国 | 
| hk | 中国香港 | 
| uk | 英国 | 
| au | 澳大利亚 | 
| jp | 日本 | 
								
								
								
609