560 likes | 702 Views
浙江警官职业学院信息技术与管理系. 攻击与防护技术应用. —— 网络协议基础知识. 第二章 网络协议基础知识. TCP/IP 分层结构 协议的工作流程 IP 协议 TCP 协议 UDP 协议 ARP 与 RARP ICMP 与 IGMP DNS POP3 与 SMTP. 什么计算机网络?. 计算机网络就是把分布在不同地点且具有独立功能的多个计算机系统通过通信设备和线路连接起来,在功能完善的网络软件和协议的管理下,以实现网络中资源共享为目标的系统。. 包括三方面的含义: 1 )通信实体:分布在不同地点的两台或两台以上的具有独立功能的计算机统
E N D
浙江警官职业学院信息技术与管理系 攻击与防护技术应用 ——网络协议基础知识
第二章 网络协议基础知识 • TCP/IP分层结构 • 协议的工作流程 • IP协议 • TCP协议 • UDP协议 • ARP与RARP • ICMP与IGMP • DNS • POP3与SMTP
什么计算机网络? 计算机网络就是把分布在不同地点且具有独立功能的多个计算机系统通过通信设备和线路连接起来,在功能完善的网络软件和协议的管理下,以实现网络中资源共享为目标的系统。
包括三方面的含义: • 1)通信实体:分布在不同地点的两台或两台以上的具有独立功能的计算机统 • 2)通道:通过物理介质和通信设备连接起来。 • 3)协议:交换信息所必需的约定和规则。 • 协议的三要素:语法(怎么说)、语义(说什么)、同步(顺序)
起源: TCP/IP协议(Transmission Control Protocol/Internet Protocol)是目前世界上应用最为广泛的协议。TCP/IP协议是由美国国防部高级高级研究规划署(Defense Advanced Research Projects Agency)研究开发的。 Internet开始于1980年,是ARPA(Advanced Research Projects Agency,远景规划局)投资的结果,最初是用于军事目的。TCP/IP协议也应运产生,由于其开放性和实现成本低廉,很快成为Internet通信的标准.
TCP/IP协议的分层结构 • 四层模型 • TCP/IP这个协议遵守一个四层的模型概念:应用层、传输层、互联层和网络接口层。 • 如书本10页图所示
网络接口层 模型的基层是网络接口层。负责数据帧的发送和接收,帧是独立的网络信息传输单元。网络接口层将帧放在网上,或从网上把帧取下来。
互联层 互联协议将数据包封装成internet数据报,并运行必要的路由算法。 这里有四个互联协议: 网际协议IP:负责在主机和网络之间寻址和路由数据包。 地址解析协议ARP:获得同一物理网络中的硬件主机地址。 网际控制消息协议ICMP:发送消息,并报告有关数据包的传送错误。 互联组管理协议IGMP:被IP主机拿来向本地多路广播路由器报告主机组成员。
传输层 传输协议在计算机之间提供通信会话。传输协议的选择根据数据传输方式而定。 两个传输协议: 传输控制协议TCP:为应用程序提供可靠的通信连接。适合于一次传输大批数据的情况。并适用于要求得到响应的应用程序。 用户数据报协议UDP:提供了无连接通信,且不对传送包进行可靠的保证。适合于一次传输小量数据,可靠性则由应用层来负责。
应用层 负责处理特定的应用程序细节,为用户服务. 远程登录:Telnet 文件传输协议:FTP 简单邮件传输协议:SMTP 简单网络管理协议:SNMP
协议的工作流程 • 封装和分用 从上到下依次为数据(Data)、数据段(Segments)、数据包(Packets)、数据帧(Frames)、比特(Bits)。 过程图可见书本P11
IP协议 • IP协议称为网际协议即Internet Protocol,是核心协议,具有不可靠性和无连接性. • 不可靠性:无法保证所发送的数据报都能到达目的地. • 无连接性:可能由不同的路径到达目的地,先后次序也可能不同.
每一个域包含I P报文所携带的信息,下面的描述有助于理解。 • 1. 版本号 指出此报文所使用的I P协议的版本号,I P版本4 ( I P v 4 )是当前广泛使用的版本。 • 2. 头长度 此域指出整个报文头的长度,接收端通过此域可以知道报文头在何处结束及读数据的开始处理。
3. 服务类型 大多数情况下不使用此域,这个域用数值表示出报文的重要程度,此数大的报文优先处理. • 4. 总长度 这个域指出报文的以字节为单位的总长度。报文的总长度不能超过65 535个字节,否则接收方认为报文遭到破坏。
5. 标识 假如多于一个报文(几乎不可避免),这个域用于标识出报文位置,分段的报文保持最初的I D号。 • 6. 标志 第一个标志如果被置0,将被忽略;假如DF(Do Not Fragment,不分段)标志设置,则报文不能被分段。假如MF(More Fragment,段未完)标志被置( 1 ),说明有报文段将要到达,最后一个段的标志置0。
7. 偏移 假如标志域返回1,此域包括本片数据在初始数据报文区中的偏移量。 8. 生存时间 通常设为1 5~3 0秒。表明报文允许继续传输的时间。假如一个报文在传输过程中被丢弃或丢失,则指示报文会发回发送方,指示其报文丢失。发送机器于是重传报文。
9. 协议 这个域指出处理此报文的上层协议号。 10. 校验和 这个域作为头数据有效性的校验。 11. 源地址 这个域指出发送机器的地址。 12. 目的地址 这个域指出目的机器的地址。
IP路由选择 • 直接路由 • 间接路由 • IP路由选择原理 IP 协议的未来 SIP,PIP,TUBA,TP/IX
TCP协议 • 传输控制协议( T C P )提供了可靠的报文流传输和对上层应用的连接服务, T C P使用顺序的应答,能够按需重传报文。
1. 源端口 用于指示源端口的数值。 2. 目的端口 用于指示目的端口的数值。 3. 序号 数据段中第一个数据的序号。
4. 应答号 当A C K位被置之后,这个域包括下一个发送者想要接收到的序号,这个值总被发送。 5. 偏移 这个数指示数据的开始位置。 6. 保留域 保留域不被使用,但是它必须置0。
7. 控制位 控制位是以下各位: U ( U R G ) 紧急指针域有效 A ( A C K ) 应答域有效 P ( P S H ) p u s h操作 R ( R S T ) 连接复位 S ( S Y N ) 同步序号 F ( F I N ) 发送方已达字节末尾
8. 窗口 这个域指示发送方想要接收的数据字节数,其开始于报文中的A C K域。 9. 校验和 校验和是报文头和内容按1的补码和计算得到的1 6位数。假如报文头和内容的字节数为奇数,则最后应补足一个全0字节,形成校验和,注意补足的字节不被送上网络发送。
10. 紧急指针 这个域指出紧急数据相对于跟在U R G之后数据的正偏移。 11. 选项 选项可能在头的后面被发送,但是必须被完全实现并且是8位长度的倍数。
三次握手 • 四次握手 见书本P17-P18
UDP协议 • 简单,高效的协议. • UDP 首部见书本P19
ARP与RARP协议 • ARP(Address Resolution Protocol),即地址解析协议:IP地址 物理地址
为什么需要ARP协议 • 对IP协议来讲,发送一个IP分组需要知道接收方的IP地址(即目的IP地址) • 而对数据链路层来讲,发送一个帧需要知道接收方的MAC地址(即目的MAC地址) • 在IP协议将自己的IP分组交给数据链路层进行发送时,需要告诉数据链路层接收方的MAC地址,因此,网络层(网际层)需要用ARP协议先将目的IP地址转换为目的MAC地址
ARP缓冲区(ARP Cache) • 每台主机为自己建立一个ARP缓冲区,保存了目的IP地址与目的MAC地址的映射关系 • 主机在发送IP分组之前,根据目的IP地址在ARP缓冲区找到对应的目的MAC地址,数据链路层将根据目的MAC地址发送数据帧 • 一台主机在刚启动时,ARP缓冲区为空
ARP缓冲区(ARP Cache) • 如果在ARP缓冲区没有找到某个目的IP地址时,主机将以广播的形式发送一个ARP Request报文,报文中包含了该目的IP地址,其含义相当于大喊一声“谁的IP地址与目的IP地址相同” • 网络中的每台主机将该目的IP地址与自己的IP地址作比较,如果两者相等,那么该主机将发送ARP Reply报文作为应答,该报文中包含了该主机的MAC地址,其含义相当于回答“我的IP地址与目的IP地址相同”
重要问题 • ARP请求报文只能在本地广播,即不能通过路由器和网关,也就是说通过ARP协议只能获得同一网段的主机的MAC地址 • 那么如何将IP分组发送给非同一网段的主机? • 解决方法:将IP分组交给缺省网关或路由器进行发送,此时就要求先通过ARP协议获取缺省网关或路由器的MAC地址
重要问题 • 主机如何判断目的主机与自己是否在同一网段? • 将自己的IP地址与子网掩码进行逻辑AND运算,再将目的IP地址与自己的子网掩码进行逻辑AND运算,如果两者结果相同,那么就认为目的主机与自己在同一网段,否则认为目的主机与自己不在同一网段
判断发送方与接收方是否在同一网段举例 发送方的IP地址为 172.16.10.10 子网掩码为 255.255.255.0 发送方所在网络地址 172.16.10.0 接收方的IP地址为 172.16.20.12 子网掩码为 255.255.255.0 接收方所在网络地址 172.16.20.0 结论:接收方与发送方不在同一个网段
ARP命令 • 在MS-DOS方式下,可以输入“ARP -A”命令,显示本机的ARP缓冲区 • 不带参数的“ARP”命令可以显示ARP命令的帮助信息
RARP协议,Reverse Address Resolution Protocol,即逆向地址解析协议 • RARP协议的作用是通过MAC地址获得网络层地址(IP地址),可以视为ARP协议的衍生协议 • RARP协议通常在计算机启动时使用,以获得自己的IP地址 • 报文格式见书本P20
ICMP协议,Internet Control Message Protocol,即网际控制报文协议 ICMP协议的主要作用是在主机之间相互发送差错或控制信息 需要特别注意的是ICMP协议只负责报告问题,而不解决问题
常见的ICMP报文类型 • 目的地不可达(Destination Unreachable) • 报文生命期终止(TTL值为0) • 源站抑制(Source Quench) • 回送请求/应答(Echo Request / Reply) • 时间戳请求/应答 • 重定向
常用的ICMP命令 • PING • 作用:测试目的主机的可达性 • 原理:向目的主机发送回送请求的ICMP报文,目的主机将返回回送应答的ICMP报文 • 命令格式:ping [参数] [目的主机IP地址或域名] • 举例:ping -t www.sina.com.cn
TRACERT • 作用:测试到达目的主机所经过的路由器 • 原理:依次向目的主机发送TTL值为1、2、3、4……的ICMP回送请求报文,由于TTL为零,中间的路由器将分别返回生命期终止的ICMP报文 • 命令格式:tracert [参数] [IP地址或域名] • 举例:tracert www.sina.com.cn • Linux下的命令为traceroute
DNS • 服务和端口号:可以理解为传输层的地址,一个端口通常代表一个进程或某种服务 • 传输层接收到一个报文时,根据端口号来决定将报文交给哪个进程进行处理 • 端口号的大小范围为0 ~ 65535 • 公共端口:1-1023 • 临时端口:1024-5000 • 预留端口:>5000 IP地址 域名
IP地址 • 网络地址和主机地址共同组成网络层的地址——IP地址。IP地址是一个32比特地址,总地址容量为232 。IP地址通常表示位点分十进制,即将32位分成4个8位组,每个8位组之间用“.”分开。每个8位组的最小数为00000000(十进制为0),最大数为11111111(十进制为255)。这个IP地址标准就是现行的IPv4标准。 IP地址是由国际网络信息中心组织(InterNIC)分配的。
A类地址: 它的网络地址是用前1个8位组作为网络地址的。网络地址的第1个8位组地址范围是从“00000000”到“01111111”,即当第1个8位组地址是在0—127范围内的都是A类地址。共有128-2=126个A类地址。每个A类地址内可以包含224-2个设备,即16777216-2=16777214个。 其中有两个特殊的地址用作特殊用途: IP地址“0.0.0.0”作为目标地址。IP地址“127.x.y.z”,其中的“x”、“y”、“z”是0-255中的任意一个数。这其中任何一个地址都可用作回路测试。
B类地址: 它的网络地址是用前2个8位组作为网络地址的。网络地址的第1个8位组地址范围是从“10000000”到“10111111”,即当第1个8位组地址是在128—191范围内的都是B类地址,所以共有64×28=16384个B类地址。后面的2个8位组地址都是分配给相应网络中的本地设备的。每个B类地址内可以包含216-2个设备,即65536-2= 65534个。