这个是本系列文章的第八篇,从本篇开始,基本上系统的基本知识都大概介绍完了,下面主要涉及网络以及相关应用的配置等等,当然,前面的文章写得有些简单了,主要是打字要时间啊!!!像我这种懒人,能写个提纲给自己提示一下,已经算是超常发挥了。
首先讲一下TCP/IP协议,这个是事实标准,在国际标准化组织定义了所谓OSI七层协议以后(实际上没有应用)。
我们可以先看一下分层图:、
8.1 基本知识
TCP是传输控制协议,IP则指的是网际协议。
TCP和UDP是建立在IP的基础上,向特定的应用传递分组的传输协议。
TCP是一种面向连接的协议,在很大程度上有点像电话。TCP协议时可控可靠传输。UDP是面向分组的服务,类似邮局发信的原理。UDP是无连接协议,它不保证分组的接受顺序和发送顺序,也不保证分组能正确抵达目的地。
8.2 连网技术概述
TCP/IP协议时一个协议族,不止包含那两个传输层的协议,还包括ICMP,APR等
IMCP协议是IP协议的底层支持协议,而ARP则是地址解析协议,也是各种考试常考的内容。
8.2.1 分组和封装
在网络中,高层的协议对底层并不关心,看上去就是黑盒子,这是计算机中一个很重要的思想,叫做封装。
数据在网络中以分组的形式传输。每个包都有包头和有效载荷组成。原始的数据单位名称依协议层而定。在链路层上,叫做帧(frame),在IP层上叫做分组(packet),在TCP层上叫做片段(segment);在一个包沿着协议栈向下传输的时候,每个协议都会加上自己的头部,这个嵌套的过程叫做封装,在接收端相对的逆过程叫做解封。
8.2.2 链路层
这里面,讲一下链路层的内容,链路层的主要任务是在数据帧上加上帧头,和帧之间的分隔符以便区别不同的帧,组帧也是有标准文件的,约定了帧的格式等信息。
8.2.3 包的寻址
寻址基本上有三个方案:
硬件用MAC;
软件用IP;
人用主机名寻址;
MAC地址我们都应该很熟悉,这个是由网卡出厂时候就初始化的一个地址。当然你可以再系统里面伪装这个地址。不做解释了。
MAC寻址是基于链路层的寻址方式。而IP地址和硬件地址的映射关系也是在链路层中实现的:ARP协议。此协议位于链路层。
8.2.4 IP端口
IP地址标示了计算机的网络接口,但是对于服务和进程来讲,一个地址无法区分不同的进程,所以衍生了端口的概念。在linux系统中,服务程序的端口号都低于1024,当然以root身份运行的进程除外。
8.3 IP地址详解
IP地址分为网络部分和主机部分。
8.3.1 分类
传统上,IP地址分为三类:A、B、C类地址,不过目前其实这套分类已经没有什么实际的意义了。稍微提一下:
A类地址:第一个字节值:1-126;
B类地址:128-191;
C类地址:192-223
8.3.2 子网和子网掩码
对于A类和B类网络来说,主机号实在是太多了,至于浪费了大量的地址,所以出现了子网的概念,为了更有效的利用IP地址资源。
也就是我们可以用子网掩码的形式把一个B类地址化为多个C类地址,掩码意思是:将一个IP地址网络部分的哥哥网络掩码位置设置为1,而主机位为0。常见的掩码形式是:255.255.255.0这个是C类地址的掩码。
但是随着网络上计算机的增多,这种划分子网的形式也渐渐的不够用了,目前实际上采用的是CIDR无类域路由的方法,在IP/26这种记法中表示了前26位为网络部分,最后一个字节中前两位为网络号的部分,最后字节将变成11000000的掩码形式。所以我们可以将IP/24分为4个IP/26的网络,而本例中,IP/26还剩6位表示主机地址,正常算的话应该是64个主机,但是全0和全1的地址是保留地址,所以真正可以使用的是62个地址。
有兴趣的同学可以继续研究一下,不再细致描述了,在实际应用中这个基本上用不到,不过算是一个基本的知识。
8.3.3 CIDR
这个是无类域路由分类方法的简称,废除了以前固定的ABC分类方法,是子网方法的直接扩展。在上面一小节中也提到了这个名词。大家知道一下就可以了。
8.3.4 私用地址和NAT
NAT的相关配置以后还会讲到,这里只是大概提到一下他们的用途。
我们知道,IP地址需要申请,但是我们内部的网络扩张是很迅速的,而且也没有必要每个内部主机都需要一个外部IP,所以私用地址的概念出现了,由RFC文档规定有一个A类网络、16个B类网络、256个C类网络作为私用地址。
这些地址都可以在内部自用使用,划分子网和分配地址。
为了使内部主机能访问外部网络,一般需要一个NAT服务来进行地址和端口的映射,也就是所有内部IP共享一个真的外网地址,当然这个缺点么,就是内部主机外部是无法访问的,不过在某一特定情境下,这似乎是个优点。
8.4 ARP地址解析协议
ARP协议应该是比较重要的一个协议。IP包是根据IP地址发送的。在链路层上必须采用实际硬件地址来传送数据,所以产生了ARP协议。每个计算机在内存中都维护了一张叫做ARP缓存的表,保存了近期ARP查询的结果。
对于这个协议,记住是通过广播形式来发挥作用就可以了,还有条命令:arp,可以显示ARP缓存的内容。
8.5 将一台主机加入网络
作为系统管理员,有时候需要将一台主机加入网络。
我们需要完成的操作主要有:
1,分配IP地址和主机名;
2,设置网络接口;
3,设置默认路由;
4,指定一个DNS服务器。
8.5.1 分配IP地址和主机名
可能涉及的文件是/etc/hosts以及hostname这个命令,这不是本节的重点,此节涉及另一个比较重要的命令:ifconfig
这个命令可以说是非常熟悉大家,win系统下也有类似的命令,ipconfig.
这条命令的基本格式:
Ifconfig interface address options ....
举个例子:
Ifconfig eth0 192.168.100.1 netmask 255.255.255.0 up
---interface 是命令所应用的硬件接口名称。在大多数系统上市eth0.
Address是IP地址,如果是静态分配的话。
Netmask 是子网掩码,这个概念大家不陌生
Up 是启动接口的意思。
这里提及一下,mii-tool命令可以查询并设置特定接口的参数,必然全/半双工模式等,不过这里面的东西除非必要,一般默认不需要改变。
8.5.2 配置默认路由
其实就是指定一下网关的地址。
命令:
Route add default gw gateway-IP-address
8.5.3 配置DNS
配置DNS,其实关键是配置/etc/resolv.conf文件。只要编辑这个文件,添加相应的DNS服务器地址就可以了。
未完待续.....