前言
这学期学完了计算机网络,收获颇丰,在这里感谢一下老齐同志对我们的耐心,细心的指导。我大概的了解了计算机网络世界的全貌,但细节方面还要深入学习。这个回顾其实就是我的一部分期末复习资料,但是如果你没听过课,只想看我这个了解计算机网络,那我认为是不行的,因为很多知识点我觉得太容易了,就没写出来......比如FTP,ICMP6,socket,DHCP 等等,这些内容肯定会考到,所以好好听课,记笔记是有用的~
教材用的是 《计算机网络:自顶向下方法(原书第6版)》(Computer Networking:A Top-Down Approach,Sixth Edition)
学习过程中,多思考,多问老师,把老师留的实验认认真真的做完,尤其重要的是一定要 抓包 , 用老齐的话说,计算机网络算是工程,而不应当算是科学、学术,所以把每一个网络协议学完后,抓包分析必不可少,把 GNS3+wireshark 安装好,使劲干就是了!
当然,一个对计算机网络什么都不懂的人,刚开始学习网络确实很困难,我这里推荐一本科普书:户根勤的《网络是怎样连接的》,
讲的是从在浏览器中输入网址开始,一路追踪了到显示出网页的内容为止的整个过程,以图配文,讲解了网络的全貌,并重点介绍了实际的网络设备和软件是如何工作的。目的是帮助读者理解网络的本质意义,理解实际的设备和软件,进而熟练运用网络技术。同时,专设了“网络术语其实很简单”专栏,以对话的形式介绍了一些网络术语的词源。
计算机⽹络的拓扑结构
计算机⽹络的拓扑结构主要有:总线型拓扑、星型拓扑、环型拓扑、树型拓扑、⽹状拓扑和混合型拓扑。
组成:每⼀种⽹络结构都由结点、链路和通路等⼏部分组成。
计算机⽹络的分类
分组交换
将完整报⽂拆分成分组,单个分组传输到相邻结点,存储下来后查找转发表,然后将分组转发。允许更多⽤⼾同时使⽤⽹络,⽐较灵活,⾼效,但可能产⽣分组延迟或丢失。
传输介质
⽹络传输介质是指在⽹络中传输信息的载体,常⽤的传输介质分为有线传输介质和⽆线传输介质两⼤类。
有线传输介质是指在两个通信设备之间实现的物理连接部分,它能将信号从⼀⽅传输到另⼀⽅,有线传输介质主要有双绞线、同轴电缆和光纤。双绞线和同轴电缆传输电信号,光纤传输光信号。
⽆线传输介质指我们周围的⾃由空间。我们利⽤⽆线电波在⾃由空间的传播可以实现多种⽆线通信。在⾃由空间传输的电磁波根据频谱可将其分为⽆线电波、微波、红外线、激光等,信息被加载在电磁波上进⾏传输。
多路复⽤
频分多路复⽤FDM:各⽤⼾占⽤不同的频率带宽资源
频分多路复⽤FDM:各⽤⼾占⽤不同的频率带宽资源
波分多路复⽤WDM:波分复⽤就是光的频分复⽤
码分多路复⽤CDM:每个⽤⼾分配⼀个唯⼀的码⽚序列,各⽤⼾使⽤相同频率的载波,利⽤各⾃码⽚序列编码数据,并保证各⽤⼾码⽚序列相互正交。
发送⽐特1时就采⽤码⽚序列,发送⽐特0时采⽤码⽚序列的反码。输出时相加,解码时做内积并除以⽐特位数即可得到想要获取的数据。
CSMA/CD 的⼯作原理
CSMA/CD(Carrier Sense Multiple Access with Collision Detection)基带冲突检测的载波监听多路访问技术(载波监听多点接⼊/碰撞检测)。
应⽤在 OSI 的第⼆层数据链路层 ,⼯作原理是: 发送数据前 先侦听信道是否空闲 ,若空闲,则⽴即发送数据。若信道忙碌,则等待⼀段时间⾄信道中的信息传输结束后再发送数据;若在上⼀段信息发送结束后,同时有两个或两个以上的节点都提出发送请求,则判定为冲突。若侦听到冲突,则⽴即停⽌发送数据,等待⼀段随机时间,再重新尝试。
主要⽬的是:提供寻址和媒体存取的控制⽅式,使得不同设备或⽹络上的节点可以在多点的⽹络上通信⽽不相互冲突。
冲突域
在以太⽹中,如果某个CSMA/CD⽹络上的两台计算机在同时通信时会发⽣冲突,那么这个CSMA/CD⽹络就是⼀个冲突域(collision domain)。如果以太⽹中的各个⽹段以集线器连接,因为不能避免冲突,所以它们仍然是⼀个冲
突域。
冲突域就是连接在同⼀导线上的所有⼯作站的集合,或者说是同⼀物理⽹段上所有节点的集合,或以太⽹上竞争同⼀带宽的节点集合. 冲突域是在同⼀个⽹络上两个⽐特同时进⾏传输则会产⽣冲突;在⽹路内部数据分组所产⽣与发⽣冲突的这样⼀个区域称为冲突域,所有的共享介质环境都是⼀个冲突域,在共享介质环境中⼀定类型的冲突域是正常⾏为。
冲突域:在同⼀个冲突域中的每⼀个节点都能收到所有被发送的帧。冲突域是基于第⼀层(物理层)。
⼴播域
⼴播是⼀种信息的传播⽅式,指⽹络中的某⼀设备同时向⽹络中所有的其它设备发送数据,这个数据所能⼴播到的范围即为⼴播域(Broadcast Domain)。
简单点说,⼴播域就是指⽹络中所有能接收到同样⼴播消息的设备的集合。
⼴播域是基于第⼆层(链路层)
NAT技术
NAT: ⽹络地址转换。
内部主机 X ⽤本地地址 IPX 和因特⽹上主机 Y 通信所发送的数据报必须经过 NAT 路由器。
NAT 路由器将数据报的源地址 IPX 转换成全球地址 IPG,但⽬的地址 IPY 保持不变,然后发送到因特⽹。
NAT 路由器收到主机 Y 发回的数据报时,知道数据报中的源地址是 IPY ⽽⽬的地址是 IPG。
根据 NAT 转换表,NAT 路由器将⽬的地址 IPG 转换为 IPX,转发给最终的内部主机 X。
改写前的私有地址和端⼝号,以及改写后的公有地址和端⼝号会作为⼀组相对应的记录保存在地址转换设备内部的⼀张表中。(PAT,端⼝复⽤)。
ipv4,ipv6头部结构及ip地址的表⽰⽅法
ipv4 :
寿命(TTL, Time To Live):每次数据报经过⼀台路由器时,该字段的值减1,若TTL字段减为0,则丢弃该数据报,从⽽确保数据报不会永远在⽹络循环。
上层协议(Protocol):该字段⽤于指明IP数据报的数据部分应该交给哪个传输层协议(6为TCP、17为UDP)。
ipv6:
整个的因特⽹就是⼀个单⼀的、抽象的⽹络。IP地址就是给因特⽹上的每⼀个主机(或路由器)的每⼀个接⼝分配⼀个在全世界范围内唯⼀的32位(ipv4)的标识符。所谓分类的IP地址,就是将IP地址划分为若⼲固定类,每⼀类地址都由两个固定⻓度的字段组成,其中⼀个字段是⽹络号 net-id,它标志主机(或路由器)所连接到的⽹络,⼀个⽹络号在整个因特⽹范围内必须是唯⼀的。⽽另⼀个字段则是主机号 host-id,它标志该主机(或路由器),⼀个主机号在它前⾯的⽹络号所指明的⽹络范围内必须是唯⼀的。由此可⻅,⼀个IP地址在整个因特⽹范围内是唯⼀的。
ipv6:对于⼀个完整的IPv6地址,需要写128位,已经被分成了8段,每段4个字符,也就是说完整地表⽰⼀个IPv6地址,需要写32个字⺟。
1.⾸选格式
2.压缩表⽰
3.IPv4内嵌在IPv6中
在IPv6中,地址分为8个段来表⽰,每个段共4个字符,但是⼀个完整的IPv6地址会经常碰到整个段4个字符全部都为0,所以我们将整个段4个字符全部都为0的使⽤双冒号::来表⽰,如果连续多个段全都为0,那么也可以同样将多个段都使⽤ 双冒号::来表⽰,如果是多个段,并不需要将双冒号写多次,只需要写⼀次即可,⽐如⼀个地址8个段,其中有三个段全都为0,那么我们就将这全为0的三个段共48位⽤::来表⽰,再将其它5个段照常写出即可,当计算机读到这样⼀个不⾜128位的地址时,⽐128位少了多少位,就在::的地⽅补上多少个0,⽐如上⾯的::代替为48位,那么计算机就会在这个地址的::位置补上48位的0,这样就正确地将地址还原回去了。
在压缩格式的第⼀种情况的表⽰中,是在地址中整个段4个字符都为0时,才将其压缩为::来表⽰,但是在使⽤第⼀种情况压缩之后,我们仍然可以看⻅地址中还存在许多毫⽆意义的0,⽐如0001,0410。我们知道,0001中,虽然前⾯有三个0,但是如果我们将前⾯的0全部省略掉,写为1,结果是等于0001的,⽽0410也是⼀样,我们将前⾯的0省略掉,写成410,也同样等于0410的,所以我们在省略数字前⾯的0时,是不影响结果的,那么这个时候,表⽰IPv6地址时,允许将⼀个段中前导部分的0省略不写,因为不影响结果。但是需要注意的是,如果0不是前导0,⽐如2001,我们就不能省略0写成21,因为21不等于2001,所以在中间的0不能省略,只能省略最前⾯的0。
在⽹络还没有全部从IPv4过渡到IPv6时,就可能出现某些设备即连接了IPv4⽹络,⼜连接了IPv6⽹络,对于这样的情况,就需要⼀个地址即可以表⽰IPv4地址,⼜可以表⽰IPv6地址。
因为⼀个IPv4地址为32位,⼀个IPv6地址为128位,要让⼀个IPv4地址表⽰为IPv6地址,明显已经少了96位,那么就将⼀个正常的IPv4地址通过增加96位,结果变成128位,来与IPv6通信。在表⽰时,是在IPv4原有地址的基础上,增加96个0,结果变成128位,增加的96个0再结合原有的IPv4地址,表⽰⽅法为
0:0:0:0:0:0:A.B.C.D 或者::A.B.C.D.,如下:
0000: 0000: 0000: 0000:0000:0000:A.B.C.D
局域⽹,⽆线局域⽹
局域⽹最主要的特点是:⽹络为⼀个单位所拥有,且地理范围和站点数⽬均有限。
局域⽹具有⼴播功能,从⼀个站点可很⽅便地访问全⽹,局域⽹上的主机可共享连接在局域⽹上的各种硬件和软件资源。
局域⽹按照拓扑结构可分为总线结构、环型结构、星型结构、⽹状结构、树型结构以及混合型结构。
⽆线局域⽹常简写为WLAN(Wireless Local Area Network)。
1997年IEEE制定出⽆线局域⽹的协议标准802.11。802.11是以⽆线以太⽹的标准,使⽤星型拓扑,其中⼼叫做接⼊点AP(Access Point),在MAC层使⽤CSMA/CA协议。
凡使⽤802.11系列协议的局域⽹⼜称为Wi-Fi(Wireless-Fidelity,意思是“⽆线保真度”)。
802.11标准规定⽆线局域⽹的最⼩构件是基本服务集BSS(Basic Service Set)。⼀个基本服务及BSS包括⼀个基站和若⼲移动站,所有的站在本BSS以内都可以直接通信,但在和本BSS以外的站通信时都必须通过本BSS的基站。
BSS中的基站就是接⼊点AP,当⽹络管理员安装AP时,必须为该AP分配⼀个不超过32字节的服务集标识符SSID(Service Set IDentifier)和⼀个信道。
⼀个BSS所覆盖的地理范围叫作⼀个基本服务区BSA(Basic Service Area),直径⼀般不超过100⽶。
⼀个BSS可以是孤⽴的,也可以通过接⼊点AP连接到⼀个分配系统DS(Distribution System),然后再连接到另⼀个BSS,这样就构成了⼀个扩展的服务集ESS(Extended Service Set)。ESS还可以为⽆线⽤⼾提供到⾮802.x(⾮802.11⽆线局域⽹)的接⼊。这种接⼊是通过Portal来实现的。Portal的作⽤就相当于⼀个⽹桥。
数据帧
⽹络层传输的包(packet),在数据链路层中传输是“帧”(frame)。数据包到达数据链路层后加上数据链路层的协议头和协议尾就构成了⼀个数据帧。
以太⽹(Ethernet)规定:⼀组电信号构成⼀个数据包,做“帧”(Frame),每个帧分为两个部分:⾸部(Head)和数据(Data)。
MAC地址表⽰
在局域⽹中,硬件地址⼜称为物理地址,或MAC 地址。
IEEE 802标准为局域⽹规定了⼀种48位的全球地址,是指局域⽹上的每⼀台计算机中固化在适配器的ROM中的地址。
IEEE 的注册管理机构 RA 负责向⼚家分配地址字段的前三个字节(即⾼位 24 位)。地址字段中的后三个字节(即低位24 位)由⼚家⾃⾏指派,称为扩展标识符,必须保证⽣产出的适配器没有重复地址。
适配器有过滤功能,适配器从⽹络上每收到⼀个MAC帧就先⽤硬件检查MAC帧中的⽬的地址,如果是发往本站的帧则收下,否则丢弃。发往本站的帧包括以下三种帧:
(1)单播帧,即收到的帧的MAC地址与本站的硬件地址相同。
(2)⼴播帧,即发送给本局域⽹上所有站点的帧。
(3)多播帧,即发送给本局域⽹上⼀部分站点的帧。
以太⽹最常⽤的是以太⽹ V2 格式的MAC帧,格式如下:
由五个字段组成。前两个字段为⽬的地址和源地址。第三个字段是类型字段,⽤来标识上⼀层使⽤的是什么协议,以便把收到的MAC帧的数据上交给上⼀层的这个协议。第四个字段是数据字段,最后⼀个是帧检验序列FCS(使⽤CRC检验)。
静态路由协议 静态路由表
路由技术属于OSI模型的第三层(⽹络层),路由技术是把数据包从信源穿过中间⽹络设备(路由器)转发到信宿的⾏为。
从维护与管理的⻆度可分为静态路由和动态路由,静态路由是⼿动配置路由,不会产⽣额外的⽹络开销,适⽤于⼩型⽹络,或为链路做测试⽤。动态路由是使⽤动态路由协议(RIP、OSPF、EIGRP等)使路由器动态的公告⾃⼰的路由表,并学习邻居路由器的路由表,这种⽅法会产⽣额外的⽹络链路开销,但维护成本低,不易出错,适合⼤型⽹络。
在静态路由表中指定路由,将路由器配置为静态路由。通过配置静态路由,⽤⼾可以⼈为地指定对某⼀⽹络访问时所要经过的路径,在⽹络结构⽐较简单,且⼀般到达某⼀⽹络所经过的路径惟⼀的情况下采⽤静态路由。静态路由不需要使⽤路由协议,但需要由路由器管理员⼿⼯更新路由表。
OSPF(open shortest path first)开放式最短路径优先,是⼀个基于链路状态的内部⽹关协议。OSPF⽀持VLSM、⽀持快速收敛、占⽤宽带⼩、使⽤组播完成路由更新、⽤成本作为度量值。OSPF是典型的链路状态⽮量协议,通过在各个路由器连接接⼝的状态来建⽴⼀个链路状态的数据库,然后对该数据库进⾏⼀个最短路径树(SPF)的算法,计算出最佳路径,然后将最佳的路径放⼊到路由表中。基于链路状态的路由协议,不是只公告⾃⼰的路由表,⽽是经历了⼀个复杂的演算过程后才得到的路由表。链路状态路由协议在理论上不受连接数⽬的限制,⽽且收敛速度快,常常应⽤于⼤型⽹络。
OSI,TCP/IP 参考模型的基本概念
协议的定义:在两个或多个通信实体间所交换消息的格式和顺序,及发出∕或收到⼀个消息或者其他事件时应该采取的⾏动。
OSI七层:物理层、数据链路层、⽹络层、传输层、会话层、表⽰层、应⽤层。 五层协议:物理层、数据链路层、⽹络层、传输层、应⽤层。
物理层:通信上传输原始⽐特。主要处理机械、电⽓、过程的接⼝,及物理层下⾯的物理传输介质。
数据链路层:把物理层传输原始⽐特的功能加强,传分组数据,使它对⽹络层显现为⼀条⽆错线路。
⽹络层:关系到⼦⽹的运⾏控制,确定分组从源端到⽬的端的如何选径,及如何解决拥挤现象,送数据包。
传输层:两实体间建⽴端对端信道,传输信息或报⽂(可分成报⽂分组)。本层提供两端点之间的可靠、透明数据传输,端对端差错控制(差错检测及恢复)、顺序控制和流控制功能,管理多路复⽤。
会话层:在两实体间建⽴通信的伙伴关系,进⾏数据交换,完成⼀次对话连接。本层提供两实体间建⽴、管理和拆除对话连接的⽅法。如对话双⽅的资格审查和验证,收费⽅法,对话⽅向的交替管理,故障点定位及恢复等各种服务。
表⽰层:处理数据表⽰(代码和格式)、进⾏转换、消除⽹内各实体间的语义差异。本层执⾏通⽤数据交换功能,提供标准应⽤接⼝,公共通信服务。如数值计算的通解、加密和解密,正⽂压缩,终端格式转换(⾏⻓、显⽰特性、字符集…)等。
应⽤层:负责应⽤管理和执⾏应⽤程序。本层为⽤⼾提供OSI的各种服务,管理和分配⽹络资源,建⽴应⽤程序包。如事务管理服务、⽂件传送,数据库管理服务、⽹络管理服务。主要由⽤⼾或应⽤决定。
TCP,UDP 协议的基本概念⽤
(1)用⼾数据报协议 UDP (User Datagram Protocol)
UDP 在传送数据之前不需要先建⽴连接。对⽅的运输层在收到 UDP 报⽂后,不需要给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是⼀种最有效的⼯作⽅式。
UDP 只在 IP 的数据报服务之上增加了很少⼀点的功能,即端⼝的功能和差错检测的功能。
UDP 是⽆连接的,即发送数据之前不需要建⽴连接。
UDP 使⽤尽最⼤努⼒交付,即不保证可靠交付,同时也不使⽤拥塞控制。
UDP 是⾯向报⽂的。UDP 没有拥塞控制,很适合多媒体通信的要求。
UDP ⽀持⼀对⼀、⼀对多、多对⼀和多对多的交互通信。
UDP 的⾸部开销⼩,只有 8 个字节。
(2)传输控制协议 TCP (Transmission Control Protocol)
TCP 则提供⾯向连接的服务。TCP 不提供⼴播或多播服务。由于 TCP 要提供可靠的、⾯向连接的运输服务,因此不可避免地增加了许多的开销。
TCP 是⾯向连接的运输层协议,就是说应⽤程序在使⽤TCP协议之前,必须先建⽴TCP连接,传送完数据之后,必须释放连接。
每⼀条 TCP 连接只能有两个端点(endpoint),每⼀条 TCP 连接只能是点对点的(⼀对⼀)的。
TCP 提供可靠交付的服务,保证数据⽆差错、不丢失、不重复、按序到达。
TCP 提供全双⼯通信。
⼦⽹,超⽹的概念划分
<1>. ⼀个拥有许多物理⽹络的单位,可将所属的物理⽹络划分为若⼲个⼦⽹( subnet )。划分⼦⽹纯属⼀个单位内部的事情。本单位以外的⽹络看不⻅这个⽹络是由多少个⼦⽹组成,因为这个单位对外仍然表现为⼀个⽹络。
<2>. 划分⼦⽹的⽅法是从⽹络的主机号借⽤若⼲位作为⼦⽹号 subnet-id,当然主机号也就相应减少了同样的位数。于是两级IP地址在本单位内部就变成三级IP地址:⽹络号、⼦⽹号和主机号。也可以⽤以下记法来表⽰:
IP地址 = {<网络号><子网号><主机号>}
<3>. 凡是从其他⽹络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的⽬的⽹络号找到连接在本单位⽹络上的路由器。但此路由器在收到IP数据报后,再按⽬的⽹络号和⼦⽹号找到⽬的⼦⽹,把IP数据报交付给⽬的主机。
使⽤⼦⽹划分时,路由表必须包含以下三项内容:
⽬的⽹络地址、⼦⽹掩码和下⼀跳地址。
在划分⼦⽹的情况下,路由表转发分组的算法如下:
<1>. 从收到的数据报的⾸部提取⽬的IP地址 D 。
<2>. 先判断是否为直接交付。对路由器直接相连的⽹络逐个进⾏检查:⽤各⽹络的⼦⽹掩码和D 逐位相“与”(AND操作),看结果是否和相应的⽹络地址匹配。若匹配,则把分组进⾏直接交付(当然还要把 D 转换成物理地址,把数据报封装成帧再发送出去),转发任务结束。否则就是间接交付,执⾏<3>。
<3>. 若路由表中有⽬的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下⼀跳路由器;否则,执⾏<4>。
<4>. 对路由表中的每⼀⾏(⽬的⽹络地址、⼦⽹掩码、下⼀跳地址),⽤其中的⼦⽹掩码和D 逐位相“与”(AND操作),其结果为 N 。若 N 与该⾏的⽬的⽹络地址匹配,则数据报传送给指明的下⼀跳路由器;否则,执⾏<5>。
<5>. 若路由表中有⼀个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执⾏<6>。
<6>. 报告转发分组出错。
构造超⽹(⽆分类编址路由选择CIDR)
⽹络前缀
划分⼦⽹在⼀定程度上缓解了⼀部分问题,但是:
- B类地址在1992年已经分配了近⼀半,眼看就要分配完了
- 因特⽹主⼲⽹上的路由表中的项⽬数急剧增加
- 整个IPV4的地址空间最终将全部耗尽。
IETF很快研究出⽆分类编址CIDR来解决前⾯两个问题,最后⼀个问题只有IPV6来解决了。
在⼀个划分⼦⽹的⽹络中可同时使⽤⼏个不同的⼦⽹掩码。使⽤变⻓⼦⽹掩码VLSM ( Variable Length Subnet Mask ) 可进⼀步提⾼IP地址资源的利⽤率。在VLSM的基础上⼜进⼀步研究出⽆分类编址⽅法,它的正式名字是⽆分类域间路由选择CIDR( Classless Inter-Domain Routing )。
<1>. 消除了传统的A类、B类和C类地址以及划分⼦⽹的概念。
CIDR把32位的IP地址划分为两个部分。前⾯的部分是“⽹络前缀”⽤来指明⽹络,后⾯的部分则⽤来指明主机。因此CIDR使IP地址从三级编址⼜回到了两级编址,但这已是⽆分类的两级编址。它的记法是:
IP地址 ::= {<⽹络前缀>, <主机号>}
CIDR还使⽤“斜线记法”,或称为CIDR记法,即在IP地址后⾯加上斜线“/”,然后写上⽹络前缀所占的位数。
128.14.35.7/20 = 10000000 00001110 00100011 00000111
<2>.CIDR把⽹络前缀都相同的连续的IP地址组成⼀个“CIDR地址块”。我们只要知道CIDR地址块中的任何⼀个地址,就可以知道这个地址块的起始地址(即最⼩地址)和最⼤地址,以及地址块中的地址数。
最⼩地址 128.14.32.010000000 00001110 00100000 00000000
最⼤地址 128.14.47.25510000000 00001110 00101111 11111111
这个地址块共有 2^12-2 个地址,我们可使⽤地址块中的最⼩地址和⽹络地址块的位数指明这个地址块。例如,上⾯的地址块可记为128.14.32.0/20,也可简称为“ /20 地址块 ”。
CIDR使⽤32位的地址掩码,由⼀串1和⼀串0组成,⽽1的个数是⽹络前缀的⻓度。例如,/20 地址块的地址掩码是:
11111111 11111111 11110000 00000000。
斜线记法中,斜线后⾯的数字就是地址掩码中1的个数。
由于⼀个CIDR地址块中有很多地址,所以在路由表中就利⽤CIDR地址块来查找⽬的⽹络。这种地址的聚合常称为路由聚合( route aggregation ),它使得路由表中的⼀个项⽬可以表⽰原来传统分类地址的很多个路由。路由聚合也称为构成超⽹。
CIDR记法有很多形式。
10.0.0.0/10 可简写为 10/10。
00001010 00* (意思是号前是⽹络前缀,表⽰主机号,可以任意值)
CIDR可更加有效地分配IPv4的地址空间。
⽹络地址 ⼴播地址
A类地址:以0开头,第⼀个字节范围:0-127;
B类地址:以10开头,第⼀个字节范围:128-191;
C类地址:以110开头,第⼀个字节范围:192-223;
D类地址:以1110开头,第⼀个字节范围为224~239;
A类地址:0.0.0.0 ~ 127.255.255.255
主机号是后24位
B类地址:128.0.0.0 ~ 191.255.255.255
主机号是后16位
C类地址:192.0.0.0 ~ 223.255.255.255
主机号是后8位
D类地址:224.0.0.0 ~ 239.255.255.255
后28位为多播组号
E类地址:240.0.0.0 ~ 255.255.255.255
IP地址为128·36·199·3 ⼦⽹掩码是255·255·240·0。算出⽹络地址、⼴播地址、地址范围、主机数。
1) 将IP地址和⼦⽹掩码换算为⼆进制,⼦⽹掩码连续全1的是⽹络地址,后⾯的是主机地址, 虚线前为⽹络地址,虚线后为主机地址
2)IP地址和⼦⽹掩码进⾏与运算,结果是⽹络地址
3)将运算结果中的⽹络地址不变,主机地址变为1,结果就是⼴播地址。
4) 地址范围就是含在本⽹段内的所有主机
⽹络地址+1即为第⼀个主机地址,⼴播地址-1即为最后⼀个主机地址,由此可以看出
地址范围是: ⽹络地址+1 ⾄ ⼴播地址-1
本例的⽹络范围是:128·36·192·1 ⾄ 128·36·207·254
5) 主机的数量
主机的数量=2⼆进制位数的主机-2
主机的数量=212-2=4094
减2是因为主机不包括⽹络地址和⼴播地址。
DNS⼯作过程
DNS是⼀个由分层的DNS服务器实现的分布式数据库,它是⼀个允许主机查询分布式数据库的应⽤层协议,DNS协议运⾏在UDP之上,使⽤53号端⼝。
迭代
1)⾸先客⼾机向其本地DNS服务器发送DNS⼀个DNS查询报⽂,该报⽂含有要被转换的主机名www.baidu.com。
2)本地服务器向根DNS服务器转发该查询报⽂
3)根DNS服务器注意到其com前缀并向本地DNS服务器返回负责com的顶级DNS服务器的IP地址列表
4)本地DNS服务器再次向这些顶级DNS服务器发送查询报⽂
5)顶级DNS服务器注意到baidu.com前缀,并返回权威DNS服务器的IP地址列表进⾏响应
6)最后本地DNS服务器直接向ww.baidu.com重发查询报⽂,该服务⽤其IP地址进⾏响应
其查询过程如下图所⽰:
递归
1)⾸先,同样地,⾸先客⼾机向其本地DNS服务器发送DNS⼀个DNS查询报⽂,该报⽂含有要被转换的主机名 www.baidu.com
2)本地服务器向根DNS服务器转发该查询报⽂
3)根DNS服务器注意到其com前缀,并向com顶级DNS服务器转发该查询
4)顶级DNS服务器注意到baidu.com前缀,并向ww.baidu.com转发该查询报⽂
5)最后获得IP地址后,沿着4、3、2、1发送响应报⽂返回到客⼾机。
其过程如下图所⽰:
为了改善时延性能并减少在因特⽹上到处传输的DNS报⽂数量,DNS⼴泛使⽤了缓存技术。它的原理⾮常简单,在请求链中,当⼀个DNS服务器接收到⼀个DNS回答(即包含主到名到IP的映射)时,DNS服务器能将回答中的信息缓存在本地存储器。每当本地DNS服务器从某个DNS服务器收到⼀个回答时,它就缓存包含在该回答中的任何信息。如果在DNS服务器中缓存了⼀个主机名/IP地址对,另⼀个对相同主机名的查询到达该DNS服务器时,该服务器就能够直接提供所要求的IP地址,即使它不是该主机名的权威DNS服务器。由于主机和主机名与IP地址间的信息不是永久的,所以DNS服务器在⼀段时间后,将丢弃缓存的信息。
电⼦邮件协议及⼯作原理
1、SMTP邮件协议分析
属于发送邮件协议,⽤⼾名、密码和邮件内容采⽤base64编码
SMTP服务器默认的⽹络监听端⼝号为25
2、POP3邮件协议分析
属于邮件接收协议,⽤⼾名、密码是明⽂信息,邮件内容采⽤base64编码
采⽤的⽹络监听端⼝号默认为110
3、IMAP邮件协议分析
属于邮件接收协议,⽤⼾名、密码是明⽂信息,邮件内容采⽤base64编码, ⽬前使⽤的是第4个版本,所以也称为IMAP4。IMAP协议相对于POP3协议⽽⾔,它定了更为强⼤的邮件接收功能,主要体现在以下⼀些⽅⾯:
- IMAP具有摘要浏览功能,可以让⽤⼾在读完所有邮件的主题、发件⼈、⼤⼩等信息后,再由⽤⼾做出是否下载或直接在服务器上删除的决定。
- IMAP可以让⽤⼾有选择性地下载邮件附件。例如⼀封邮件包含3个附件,如果⽤⼾确定其中只有2个附件对⾃已有⽤,就可只下载这2个附件,⽽不必下载整封邮件,从⽽节省了下载时间。
- IMAP可以让⽤⼾在邮件服务器上创建⾃⼰的邮件夹,分类保存各个邮件。
SMTP协议定了邮件客⼾端与SMTP服务之间,以及两台SMTP服务器之间发送邮件的通信规则;POP3/IMAP协议定义了邮件客⼾端与POP3服务器之间收发邮件的通信规则。
SMTP协议中⼀共定了18条命令,发送⼀封电⼦邮件的过程通常只需要其中的6条命令即可完成发送邮件的功能,下表按照发送命令的先后顺序列出了这6条命令,并描述了其语法及功能说明,其中,代表空格,代表回⻋和换⾏。
POP3按照3个阶段进⾏⼯作:特许、事务处理以及更新。
1、特许阶段,⽤⼾代理发送⽤⼾名和⼝令
2、事务处理阶段:⽤⼾代理取回报⽂;还可以对报⽂做删除标记,取消报⽂删除标记,以及获取邮件的统计信息
3、更新阶段:结束该POP3会话;这个时候该邮件服务器删除那些被标记的删除的报⽂。
总结起来就是:先是发送⽤⼾的信息进⾏登录,然后具体的操作,是看邮件呢,还是删邮件,最后是结束会话。
IMAP是⼀种邮件访问协议,但是它⽐POP3有更多的特⾊,但同时也⽐POP3要更复杂。它是双向的,将本地的邮件与远程的服务器联系起来。在本地所进⾏的操作可以与邮件服务器同步。