因特网与网络互联技术
# 因特网与网络互联技术
# 9. 因特网与网络互联技术
# 9.1. IP地址
网络地址:主机位全为0的地址。
广播地址:主机位全为1的地址。
# 9.1.1. IP地址表示方法
IP地址分类:有分类地址、 无分类地址 (CIDR)
有分类IP地址分为A、B、C、D、E 五大类,根据网络位及主机位的长度不同来划分。
其中,A,B,C类地址为单播地址,D类地址为组播地址。
# 9.1.2. 特殊IP地址
公有地址:公有地址(Public address)由Inter NIC(Internet Network Information Center)因特网信息中心负责,这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。
私有地址:属于非注册地址,专门为组织机构内部使用。
类别 | IP地址范围 | 网络号 | 网络数 |
---|---|---|---|
A | 10.0.0.0~10.255.255.255 | 10 | |
B | 172.16.0.0~172.31.255.255 | 172.16~172.31 | |
C | 192.168.0.0~192.168.255.255 | 192.168.0~192.168.255 |
单播地址:1v1 组播地址:1v一组 广播地址:1v所有
组播地址只能用于目的地址,不能用于源地址。
网络号 | 主机号 | 源地址使用 | 目的地址使用 | 代表含义 |
---|---|---|---|---|
0 | 0 | 可以 | 不可以 | 在本网络上的本主机 |
全1 | 全1 | 不可以 | 可以 | 在本网络上进行广播 |
Net-ID | 全1 | 不可以 | 可以 | 对Net-ID上的所有主机进行广播 |
127 | 非全0或全1的数 | 可以 | 可以 | 用作本地软件环回测试使用 |
169.254 | 非全0或全1的数 | 可以 | 可以 | Windows主机DHCP服务器故障分配 |
0.0.0.0:严格讲这不是—个IP地址, 是在本网络上的本主机。可做源地址。
255.255.255.255:限制广播地址。同—广播域的所有主机, 这个地址不被路由转发。可以做目的地。
127.0.0.1:本机地址, 用于测试TCP/IP协议能否正常工作。
169.254.X.X(自动专有地址):当DHCP 服务器出现故障或者响应时间太长而超出系统规定时间,Windows 会分配—个这样的地址。
224.0.0.0 是一个组播地址。224.0.0.1 指所有主机; 224.0.0.2 指所有路由器; 224.0.0.5 指所有运行OSPF的路由器。224.0.0.6 指DR和BDR的组播接收地址。224.0.0.9 指RIPv2的组播更新地址。224.0.0.18 指VRRP的组播地址。
# 9.1.3. 子网掩码-子网划分
子网掩码:子网掩码与IP地址成对出现, 子网掩码中为1的部分表示网络位,为0的部分表示主机位。子网掩码网络位为全1,主机位为全0。
可变长度子网掩码( VLSM ) : 解决了IP地址空间的利用率很低,两级IP地址不够灵活的问题。
在有类的IP地址的基础上,从它们的主机号部分借出相应的位数来做网络号,也就是增加网络号的位数用于子网划分。
A 类默认子网掩码为:255.0.0.0 B 类默认子网掩码为:255.255.0.0 C 类默认子网掩码为:255.255.255.0
# 9.1.4. 无分类编址CIDR
CIDR是把几个标准网络合并成—个大网络的技术,通过缩短子网掩码长度达到将小网络合并为大的超网。
汇聚思路:将给出的IP地址不相同的位置开始将十进制数转换为二进制表示,找相同部分划为网络位,不同的位划分至主机位,从而实现将多个网段汇聚成—个新的超网网段。
例: 177.7.97.0/24,177.7.99.0/24,177.7.104.0/24,177.7.112.0/24 汇聚后的地址为?
共同部分为
网络地址:主机位全为0,所以CIDR汇聚后的地址是 177.7.01100000.0/255.255.11100000.0 即 177.7.96.0/19
# 9.1.5. 路由汇聚
最佳路由匹配原则:使用路由汇聚时,路由表中的每个项目由“网络前缀”和“下一条地址”组成。查找路由表时不止一个匹配结果。应当从路由匹配结果中选择最长网络位的路由,即子网掩码最长的作为路由。
# 9.2. IP数据报
IP 协议有以下特点:
- 不可靠
- 非面向连接
- 当IP包中生存周期(TTL)为0时丢弃数据包
IP 数据报格式:
版本:IP 协议版本。IPV4:0100 IPV6:0110
首部长度:占4位,可表示的最大数值为15个单位(一个单位为4字节),因此首部长度最大值为60字节。最小值为20字节。
服务类型: 对IP 数据流业务进行区分,对不同的服务进行服务质量保证。
总长度:首部和数据之和的长度。以字节为单位,16bit最大值
标识,标志,片位移跟分片相关。
以太网中MTU=1500,所以3820字节的数据无法一次性发送,需要进行分片。
标识:对属于同—个数据报的各个分片进行标识。标识相同的分片属于同一个数据报片。
标志:最高位保留,中间位DF(Don't Fragment),最后一位MF(More Fragment)。
- DF=0:数据报可以进行分片。
- DF=1:数据报不可以进行分片。
- MF=0:分片是最后一个分片。
- MF=1:后面 “还有分片”。
片偏移:分片在原分组中的相对位置。其数值等于每个分片第—个数据字节编号/8。
如图所示,第一片数据偏移是来自第一部分的,所以偏移为
第二片数据前是有1480的偏移量,所以偏移为
第二片数据前是有2960的偏移量,所以偏移为
生存周期TTL:每经过—个路由器TTL值减1,TTL值为0时路由器丢弃数据报。
协议号:指出数据报携带的数据使用何种协议。6 表示TCP,17表示UDP。
首部校验和:采用CRC-16循环冗余校验码。
# 9.3. ARP协议
如果主机A向主机B发送数据,主机A向自己的ARP缓存表中寻找主机B对应的MAC地址,如果有,直接发送;
如果没有,主机A向网络中发送广播,主机B收到广播后,就会将主机A的MAC写入ARP缓存表并以单播方式发送ARP应答,(内容包括主机B的IP地址、MAC地址、主机A的IP地址、MAC地址,)主机A收到应答后会更新其ARP缓存表,并发送数据。
ARP分组封装在物理网络的帧中进行传输。
arp -a # 查看ARP缓存表
arp -d # 清除ARP缓存
arp -s ip-address mac-address # ARP静态绑定
2
3
静态绑定优先级更高。
# 9.4. ICMP协议
ICMP(Internet Control Message Protocol) 就是一个“错误侦测与回报机制”,其目的就是让我们能够检测网路的连线状况,也能确保连线的准确性。ICMP 报文控制协议属于网络层协议(看起来好像是高层协议,但其实不是。因为ICMP报文封装在IP数据报中,作为其中的数据部分)。
ICMP报文分为两种,ICMP差错报告报文和ICMP询问报文。
ICMP差错报告报文:
- 目标不可达(类型3):如果路由器判断出不能把E 数据报送达目标主机,则向源主机返回这种报文。
- 超时(类型11):路由器发现IP 数据报的生存期已超时(TTL=0)。
- 参数出错(类型12):如果路由器或主机判断出IP 头中的字段或语义出错,则返回这种报文。
- 源抑制(类型4):如果路由器或目标主机缓冲资源耗尽而必须丢弃数据报,则每丢弃一个数据报就向源主机发回一个源抑制报文,这时源主机必须减小发送速度。
- 路由重定向(类型5):路由器向直接相连的主机发出这种报文,告诉主机一个更短的路径。
ICMP询问报文:
- 回送请求和回答报文:使用 ping。
- 时间戳请求和回答报文:使用 tracert/traceroute。
不再发送差错报告报文的情况:
- 对ICMP差错报告报文不在发送差错报告报文。
- 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。
- 对具有多播地址的数据报不发送ICMP差错报告报文。
- 对特殊地址(127.0.0.0,0.0.0.0)的数据报不发送ICMP差错报告报文。
常用命令为:ping,tracert,traceroute。
tracert/traceroute:实际上利用了IP数据报中的TTL字段和ICMP时间超过差错报告报文来实现源点到终点的路径追踪。(发送一连串TTL值不一样的数据报进行追踪。TTL=1,TTL=2 ......)
# 9.5. IPv6协议
IPv6优点:
- 更快的传输速度:更大的地址空间;扩展地址层次结构;灵活的首部格式。
- 更安全的传输方式:改进的选项;允许协议继续扩充。
- 支持即插即用(自动配置): 支持资源预分配;对移动端更加友好。
IPv6报文格式:
IPv6数据报有一个40字节的基本首部,其后允许有0个或多个扩展首部,然后是数据部分,扩展首部和数据部分统称为有效载荷。
# 9.5.1. IPv6地址表示
- IPv6地址采用128位地址长度,采用冒号间隔十六进制表示。
- 某些 IPV6 地址中有—长串 0,此时可将连续的 0 压缩为一个 0。也可以将连续多个 0000 用双冒号(::)替换。(0压缩只能使用一次,使用多次使地址不确定)。
- 可以在任何十六进制数字组中删除一个或多个前导零;通常对全部或全部前导零进行操作。如:0042缩写为42。
# 9.5.2. IPv6地址分级概念(单播)
IPv6扩展了地址分级概念,使用以下三个等级:
- 全球路由选择前缀,48位。前三位固定为001。
- 子网标识符,16位。
- 接口标识符,64位。按MAC地址生成64位。
# 9.5.3. IPv6地址类型
单播地址(Unicast):点对点通信。又分为:可聚合全球单播地址、 链路本地单播地址和站点本地单播地址。
- 可聚合全球单播地址:相当于IPv4的公网地址,这类地址由供应商提供,地址的前3 位格式固定为 001,用于区分其他地址类型。
- 链路本地单播地址:是单网络链路上给的主机编号,作用是进行链路上主机的通信。 当你配置一个单播IPv6地址的时候,接口上会自动配置一个链路本地单播地址。通常为FE80开头,(前10位为1111111010)。网络中路由器对具有链路本地单播地址的包是不进行处理的。IPv6的 “邻居发现” 机制会用到链路本地单播地址(“邻居发现” 是IPv6中和IPv4中ARP对应的寻址机制)
- 站点本地单播地址:类似于IPv4中的私有地址,不能与站点外地址通信,也不能直接连接到全球Internet。
组播地址(Multicast):一点对多点通信。
任播地址(Anycast):这是IPv6增加的一种类型,任播的目的站是一组计算机,但是数据报交付时只交付其中一个,通常是距离最近的一个。
地址类型 | 地址前缀 | IPv6前缀标识 | |
单播地址 | 未指定地址 | 000......0(128bit) | ::/128 |
环回地址 | 000......1(128bit) | ::1/128 | |
链路本地单播地址 | 1111111010 | FE80::/10 | |
站点本地单播地址 | 1111111011 | FEC0::/10 | |
可聚合全球单播地址 | 全球路由选择前缀(48bit),前三位固定为001 | ||
组播地址 | 11111111 | FF00::/8 | |
任播地址 | 从单播地址空间中进行分配,使用单播地址的格式 |
# 9.5.4. IPv6特殊地址
w.x.y.z 为IPv4地址的十六进制表示方法。
- 与IPv4兼容的地址:0:0:0:0:0:0:w.x.y.z 或 ::w.x.y.z
- IPv4映射地址:0:0:0:0:0:FFFF:w.x.y.z 或 ::FFFF:w.x.y.z
- 6 to 4 地址:用于IPv4的网络上传输IPv6的包。完整的 6 to 4主机地址由 6 to 4地址的48位格式前缀(2002:w.x.y.z::/48)和其后面的子网标识符ID以及64位接口ID组成。
- ISATAP地址:ISATAP地址的接口ID必须如下:0000:5EFE:w.x.y.z
# 9.5.5. IPv4与IPv6协议过度
- 双协议栈:同—个主机同时运行IPv4和IPv6两套协议栈,具有IPv4/IPv6双协议栈的结点称为双栈节点,这些结点既可以收发IPv4报文也可以收发IPv6报文。双栈节点同时包含IPv4和IPv6的网络层,但传输层协议(如 TCP 和 UDP)的使用仍然是单一的。
- 隧道技术:隧道技术指将另外一个协议数据包的报头直接封装在原数据包报头前,从而可以实现在不同协议的网络上直接进行传输,这种机制用来在IPv4网络之上连接IPv6的站点,站点可以是—台主机,也可以是多个主机。 隧道技术将IPv6的分组封装到IPv4的分组中 ,或者把IPv4的分组封装到IPv6的分组中,封装后的IPv4分组将通过IPv4的路由体系传输或者IPv6的分组进行传输。
- 网络地址转换技术(NAT-PT ): NAT-PT 技术附带协议转换器的网络地址转换器。 是—种纯IPv6节点和IPv4节点间的互通方式,所有包括地址、协议在内的转换工作都由网络设备来完成。 NAT-PT包括静态和动态两种 ,两者都提供—对—的IPv6地址和IPv4地址的映射 ,只不过动态 NAT-PT 需要—个IPv4的地址池进行动态的地址转换。
# 9.6. QOS
QOS ( Quality of Service,服务质量):是用来解决网络延迟和阻塞等问题的一种技术。主要是区分流量,保证重要流量及时被转发。
QOS提供以下三种服务模型 :
- Best-Effort service ( 尽力而为服务模型 )
- 先进先出的转发,通过先进先出队列来实现。
- Integrated service (综合服务模型 , 简称 lnt-Serv)
- 提前申请网络资源,各个节点预留资源。
- 保证服务:为某一种应用预留资源。
- 负载控制服务:网络拥塞的条件下,保证应用体验一致。
- 资源预留协议(RSVP):接收方----->中间路由器,要求中间的设备预留网络资源。
- Differentiated service(区分服务模型 ,简称 Diff-Serv)
- 不预留资源,通过多种方法指定报文的QOS
# 9.7. 传输层概述
传输层 ( Transport Layer ) 是OSI协议的第四层协议,实现端到端的数据传输。该层是两台计算机经过网络进行数据通信时,第—个端到端的层次,具有缓冲作用。
当网络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求; 当网络层服务质量较好时,它只用很少的工作。传输层还可进行复用,即在—个网络连接上创建多个逻辑连接。
传输层在终端用户之间提供透明的数据传输,向上层提供可靠的数据传输服务。传输层在给定的链路上通过流量控制、分段/重组和差错控制。一些协议是面向链接的。这就意味着传输层能保持对分段的跟踪,并且重传那些失败的分段。
# 9.8. UDP协议
UDP协议特点:
- 无连接
- 尽最大努力交付
- 面向报文
- 支持一对一,一对多,多对一和多对多
- 首部开销小
UDP协议报文格式:
# 9.9. TCP协议
TCP协议特点:
- 面向连接的传输层协议
- 每一条TCP连接只有两个端点(称之为套接字 socket 或者插口),套接字 =(IP地址:端口号)
- 可靠交付
- 全双工通信
- 面向字节流
面向字节流的概念:虽然应用程序交给TCP的是一个数据块,但是TCP只是把它理解为一串没有结构的字节流。
# 9.9.1. TCP的连接
- TCP连接是虚连接而不是真实存在的物理连接。
- TCP对应用进程一次性把多长的报文发送到TCP的缓存中是不关心的。
- TCP根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文应该包含多少字节(UDP发送的是应用进程给出的)。
- TCP可以把太长的数据块划分短一些再发送。TCP也可以积累足够多的字节之后再构成报文段发送。
# 9.9.2. TCP报文格式
序列号(Sequence Number):TCP连接中传送的数据流中的每一个字节都进行编号,序号字段的值是本报文所发送数据的第一个字节的序号。
确认号(Acknowledgement Number):期望收到对方的下一个报文段的第一个字节的序号。
数据偏移/首部长度(Header Length):数据偏移的单位是32位(以4字节作为计算单位)。
保留长度:目前未使用。通常设置为0。
紧急 URG:URG=1 时,表示此报文段中有紧急数据,应该尽快传送(高优先级数据)。
确认 ACK:与 确认号(Acknowledgement Number) 配套使用。ACK=1 时,确认号字段才生效。ACK=0 时不生效。
推送 PSH(Push):PSH=1 时,尽快交付应用进程,而不是等到整个缓存满了再交付。
复位 RST(Reset):RST=1 时,表明TCP出现严重差错,需要释放连接,然后重新建立连接。
同步 SYN:SYN=1 时,表示这个是一个连接请求或连接接受报文。一般用于创建连接时使用。
终止 FIN(Finish):用来释放连接。FIN=1 时表明发送端的数据都已经发送完毕,需要释放连接。
窗口字段:用来让对方设置发送窗口的数据。这个值是期望下一次接收的字节数。
检验和:对整个TCP报文段进行校验,接收端进行验证。
紧急指针:与 URG 配套使用。指出本报文段中紧急数据有多少个字节。
选项字段:长度可变。可能包含时间戳,窗口扩大因子。
填充:可能需要填充0来保证首部长度是4字节的整数倍。
# 9.9.3. TCP三次握手
- A 的 TCP 向 B 发送连接请求报文段,首部中 SYN = 1,序号 seq = x,表明传送数据第一个数据字节序号是x。
- B 的 TCP 收到连接请求报文段后,同意发送确认报文,在确认报文中,使 SYN = 1,ACK = 1,确认号 ack = x + 1,自己的序号 seq = y。
- A 收到此报文段后向 B 发送确认报文,ACK = 1,确认号 ack = y + 1,并通知上层应用,连接已经建立。
# 9.9.4. TCP四次挥手
数据传输结束后,双方都需要释放连接。
A 的应用进程先向其 TCP 发送连接释放报文段,并停止再发送数据,主动关闭TCP连接。
A 把连接释放报文首部 FIN = 1,序号seq = u,等待 B 确认。
B 发出确认,确认号 ack = u + 1,而这个报文段的序号 seq = v。
这时从 A 到 B 的连接就释放了,TCP 连接处于半关闭状态。B 发送数据,A 还是在接收。
- 如果 B 数据都已经发送完毕,应用进程就通知 TCP 释放连接。
- A 收到连接释放报文后,也必须发出确认。
TCP 连接必须经过时间 2MSL 后才真正释放。MSL(Maximum Segment Lifetime)最长报文寿命
- 为了保证 A 发送的最后一个 ACK 报文能到达 B。
- 经过 2MSL 时间后,就能使本连接内产生的所有报文段都消失。
# 9.9.5. TCP流量控制
TCP进行流量控制的方法是采用可变大小的滑动窗口协议。
# 9.9.6. TCP拥塞控制
控制方法四种:
- 慢开始
- 拥塞避免
- 快重传
- 快恢复
在发送方接收到确认之前逐步扩大窗口大小,以1、2、4、8、16...等按指数规律翻倍, 当出现超时, 窗口降回到1,并设置门限阈值为目前拥塞窗口的—半大小, 再以1、2、4、8...等指数规律增长, 当达到设定的门限阈值时, 每次的增长值变成1,即每次窗口大小只增加1。
# 9.10. 传输层端口
保留端口号1~1023,固定的分给—些应用协议使用。常用如下:
端口号 | 传输层协议 | 用途 | 端口号 | 传输层协议 | 用途 |
---|---|---|---|---|---|
20 | TCP | FTP 数据 | 69 | UDP | 简单文件传输协议 TFTP |
21 | TCP | FTP 控制 | 80 | TCP | HTTP |
23 | TCP | Telnet 远程 | 110 | TCP | POP3服务器 |
25 | TCP | Smtp | 143 | TCP | IMAP服务器 |
53 | TCP/UDP | DNS | 161 | UDP | SNMP 轮询(被管理端|代理端) |
67 | UDP | DHCP 服务端 | 162 | UDP | SNMP 陷阱(管理端) |
68 | UDP | DHCP 客户端 | 443 | TCP | HTTPS |
注册端口号 1024~49151,给非著名服务用的端口。
动态端口号 49152~65535,客户机短暂使用的端口号。
# 9.11. 域名系统DNS
域名系统DNS:实现将域名和IP地址进行映射,并提供解析的分布式数据库服务,使人们更加方便的访问互联网。使用TCP和UDP的53端口。
# 9.11.1. 名称解析方法
Hosts 表: 是—个没有扩展名的文本文件。其中存放—些常用的主机域名和其对应的IP地址映射, 文件中每—行对应一个条目。
DNS 系统: 规定域名中的标号由英文字母和数字组合而成, 每个标号不能超过63个字符,为方便记忆—般不超过12个字符。
# 9.11.2. 域名空间
# 9.11.3. 域名服务器
根据域名服务器所起的作用,可以把域名服务器划分为四种不同的类型:
- 根服务器:根域名服务器是最高层次的域名服务器,所有的根域名服务器都知道所有顶级域名服务器的域名和ip。如果本地域名服务器没有缓存相应记录,首先会向根域名服务器发起请求。
- 顶级域名服务器:顶级域名服务器管理在该顶级域名服务器注册的所有二级域名,但受到DNS查询就会有相应应答。(可能是给出最后的结果或下一步一应当找的域名服务器ip)
- 权威域名服务器:权威域名服务器是负责查询域名的解析设置,一般由域名解析服务商提供,权威域名服务器是直接对域名进行解析过程的。
- 本地域名服务器:每一个因特网服务提供ISP(电信联通移动)都可以拥有一个本地域名服务器。这种服务器有时也被称为默认域名服务器。本地域名服务器一般离用户较近,一般不超过几个路由的距离。如果要查询的IP同属一个本地ISP时即可直接返回结果地址ip。
# 9.11.4. DNS查询过程
**本地解析:**客户机平时查询得到的DNS记录均保存在本地DNS缓存中,当有进程提出DNS查询时,DNS客户端先使用本地缓存的信息来解析,如果可以解析则直接应答查询而不必向DNS服务器查询。本地解析有两个来源:Hosts表和DNS缓存。
**直接解析:**如果本地解析不能找到DNS信息,则客户端向其所设定的DNS服务器发出查询请求,服务器收到请求后先检查本地配置区域中是否有所需查询信息,如果有则作出应答,如果没有,服务器则检查能否通过其缓存的查询信息来解析,如果有则作出应答。
**递归解析:**如果DNS服务器不能解析该查询信息,则服务器一层一层向上级DNS服务器查询,直到查询到该信息为止。
迭代解析:如果DNS服务器不能解析该查询信息,服务器不会向上级DNS服务器查询该信息,而是将上级DNS服务器地址告诉给客户端,由客户端向上级DNS服务器查询该信息。
# 9.11.5. 对象类型与资源记录
资源记录 | 说明 |
---|---|
SOA(起始授权机构) | 定义了该区域中哪个名称服务器是权威名称服务器 |
NS(域名服务器) | 表示该区域的域名服务器(包含SOA中指定的该区域的主服务器和辅助服务器) |
A(IPv4主机) | 区域中域名到IPv4地址的映射 |
AAAA(IPv6主机) | 区域中域名到IPv6地址的映射 |
PTR(指针) | PTR记录把IP地址映射到域名 |
MX | 邮件交换器记录 |
CNAME(别名记录) | 基于A或者AAAA的主机,作出一个别名。 |
# 9.12. 远程登录服务(telnet)
用户在本地使用虚拟终端(NVT)通过TCP连接可以登录到远程的主机或服务器,像使用本地主机一样使用远程资源。C/S架构。
# 9.13. 文件传输服务(FTP)
文件传输服务: Internet 的入网用户可以利用文件传输服务(FTP)进行计算机之间的文件传输, 使用FTP几乎可以传送任何类型的多媒体文件, 如图像、声音、数据压缩文件等。FTP 服务是由TCP/IP 的文件传输协议支持的, 是一种实时的联机服务。
FTP服务器使用20和21两个网络端口与FTP客户端进行通信,
FTP服务器的21端口用于传输FTP的控制命令,20端口用于传输文件数据。
对于FTP会建立两条连接,先建立控制连接,再打开数据连接。
FTP分为两种模式:主动模式和被动模式。
主动模式:
- 客户端大于1024的随机高位端口与FTP服务器的控制端口发出建立连接的请求,客户端会告知服务器,开启的数据端口号是多少(一般为客户端的随机端口+1)。
- 服务器同意建立连接,则会发送确认。
- 服务器通过20端口主动向客户端的数据端口发出建立连接的请求。
- 建立成功连接,访问数据。
被动模式:
- 客户端大于1024的随机高位端口与FTP服务器的控制端口发出建立连接的请求,客户端会告知服务器,开启的数据端口号是多少(一般为客户端的随机端口+1)。
- 服务器同意建立连接,则会发送确认。同时会告知客户端,服务端会开启一个大于1024的随机高位端口作为数据端口,与客户端的数据端口进行通信。
- 客户端通过数据端口主动向服务端的数据端口发出建立连接的请求。
- 建立成功连接,访问数据。
# 9.14. 动态主机配置协议(DHCP)
动态主机配置协议(Dynamic Host Configuration Protocol):简称DHCP , 是一个应用于局域网的网络协议,该协议允许服务器向客户端动态分配IP地址和配置信息。
该协议位于OSI模型的应用层,使用UDP协议工作。
- 客户端向网络中广播DHCPdiscover数据包,附加来源地址0.0.0.0,目的地址255.255.255.255。
- 服务器收到DHCPdiscover数据包,通过广播DHCPoffer数据包作出响应,包含IP,mac,租约期等。
- 客户端选择第一个收到的DHCPoffer包作出响应,发送DHCPrequest广播包,告诉所有DHCP,它将采用哪个服务器的IP地址。
- 服务器收到DHCPrequest数据包,发送DHCPack数据包进行确认。或者发送DHCPnack数据包进行地址失效处理。
DHCPdecline:客户端还发送ARP数据报,查询网络中是否有该IP地址,如果该IP被占用将会发出DHCPdecline数据报给服务器,拒绝其DHCPoffer,并重新发送DHCPdiscover获取动态IP地址。
当租约期过一半时**(50%)重新向服务器发送DHCPrequest数据包**,以便继续租用原来IP。
如果租约成功,更新租约,否则继续使用原来IP。
当租约过一半没有租约成功,则在剩下的租约期限再过一半**(87.5%)时,发出DHCPrequest广播包**,向其它服务器获取新的租约。
# 9.15. 电子邮件服务
电子邮件服务有以下几种协议: SMTP、POP3 、IMAP
SMTP ( Simple Mail Transfer Protocol ) : 即简单邮件传输协议 : 是一组用于由源地址到目的地址传送邮件的规则, 由它来控制信件的中转方式。 POP3 (Post Office Protocol 3): 即邮局协议的第3个版本: 它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。 IMAP(Internet Mail Access Protocol) 交互式邮件存取协议:IMAP是斯坦福大学在 1986 年开发的研发的—种邮件获取协议。
IMAP和POP3的区别是:POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上,比如通过客户端收取了邮箱中的3封邮件并移动到其他文件夹,邮箱服务器上的这些邮件是没有同时被移动的。而IMAP客户端的操作都会反馈到服务器上,对邮件进行的操作,服务器上的邮件也会做相应的动作。
MIME即多用途互联网邮件扩展,是目前互联网电子邮件普遍遵循的邮件技术规范。在MIME的支持下,图像、声音、动画等二进制文件都可方便的通过电子邮件来进行传递,极大地丰富了电子邮件的功能。目前互联网上使用的基本都是遵循MIME规范的电子邮件。
# 9.16. HTTP协议(可能需要补充)
后续可能需要补充。