TCP/IP协议栈
- 无连接协议
- 结构化的编址,用于寻址和转发
- 尽力而为的逐条转发
- 与媒介无关,但可以适应多种数据链路
- IPv4 和 IPv6
TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层,每层都有相应的协议。
TCP/UDP端口号
ARP协议是通过IP地址获得对应的MAC地址,称为地址解析协议.
RARP协议是通过MAC地址来获得对应的IP地址,称为逆向地址解析协议.
FTP协议:文件传输协议.
Telnet协议: (远程登录 Telecommunication Network)是Internet远程登录服务的标准协议和主要方式.
SMTP协议: 简单邮件传输协议
HTTP协议: 超文本传输协议
DNS协议: 域名系统(DomainNameSystem)
DHCP协议: 动态主机配置协议
TFTP协议: 简单文件传输协议
SNMP协议: 简单网络管理协议
ICMP协议: Internet控制报文协议
IGMP协议: Internet组管理协议
IPv4
组成
IPv4由32位二进制组成:网络号(16位)+ 主机号(16位)
网络号用于区分不同的IP网络;
主机号用于标识该网络内的一个IP节点。
掩码(mask):用于区分网络和主机,由连续的1(网络)和0(主机)组成。
分类
- A类: 0XXXXXXX——(0-127)默认掩码/8
- B类: 10XXXXXX——(128-191)默认掩码/16
- C类: 110XXXXX——(192-223)默认掩码/32
- D类: 1110XXXX——(224-239)(只能作为目的出现)
- E类: 1111XXXX——(240-255)
特殊的IP地址
子网划分
子网划分的局限性:
- 无法实现把网络划分为不同大小的子网;
- 常常会浪费许多主机地址。
可变长子网掩码VLSM(Variable Length Subnet Mask):
- 通过延长子网掩码的长度,向主机借位用于网络位,使得将一个网段划分成多个子网。
- 允许使用多个子网掩码划分子网;
- 使组织的IP地址空间得到更有效的利用。
例如:
192.168.1.0/24 划分4个网段,写出网段,IP地址范围,子网掩码,直接广播。
C类子网示意图
子网汇总
无类域间路由CIDR:
- 取相同位,除去不同位,通过缩减掩码,将多个网段汇合成一个网段。
- 消除了自然分类地址和子网划分的界限(超网)
- 将网络前缀相同的连续邛P地址组成CIDR地址块
- 支持强化地址汇聚(子网是增加掩码长度,而汇总是减少掩码长度)
- 无类域间路由协议::RIPv2、EIGRP、OSPF、 IS-IS、 BGP
例如:
将以下的4个网段合并成一个网段:
172.16.33.0/24
172.16.44.0/24
172.16.55.0/24
172.16.63.0/24
子网汇总想恢复成之前划分几个网段:
- 首先明白该地址属于什么类型的地址
- 看多少位的网络位缩减成主机位
- 2 ^(网络位变成主机位的个数)= 网段数
- 确定固定位是多少,则几个小网段前几位是一样的
192.168.4.0/22 写出网段
默认网关(Default Gateways)
- 可以用于主机也可以用于路由器、交换机;
- 用于设备转发数据到其他网络时候的一个下一跳转发地址;
借用地址
- 为了节约IP地址资源,或者某个接口只是偶尔使用,则需要配置某个接口借用其他接口的IP地址。
- 点到点链路、隧道链路上可以借用地址
- /32的地址称之为主机地址,产生主机路由
- /31的地址可以在地址匮乏的情况下配置在环回接口或者点到点接口
IPv4数据包结构
Telent(远程控制协议)
- 端口号:23
- 远程管理,即通过网络方式去管理计算机设备,而不是面对面的管理计算机设备。
- 常见的远程管理协议包含 Telent 和 SSH 协议,Telent 协议属于明文方式,SSH属于安全的密文管理方式。
- Telent 协议在 TCP/IP 协议族中属于应用层协议,通过网络提供远程登录和虚拟终端功能。以服务器/客户端(Server/Client)模式工作,Telent 客户端向 Telnet 服务器发起请求,Telnet 服务器提供 Telent 服务。
- 设备支持 Telent 客户端和 Telent 服务器功能,其应用端口为TCP的23端口,常用于安全性一般的网络管理(它是一种明文传输的协议)。
SSH
- 端口号:22
- 用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。
中间人攻击 SSH之所以能够保证安全,原因在于它采用了公钥加密。
整个过程是这样的:(1)远程主机收到用户的登录请求,把自己的公钥发给用户。(2)用户使用这个公钥,将登录密码加密后,发送回来。(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。
这个过程本身是安全的,但是实施的时候存在一个风险:如果有人截获了登录请求,然后冒充远程主机,将伪造的公钥发给用户,那么用户很难辨别真伪。因为不像https协议,SSH协议的公钥是没有证书中心(CA)公证的,也就是说,都是自己签发的。
可以设想,如果攻击者插在用户与远程主机之间(比如在公共的wifi区域),用伪造的公钥,获取用户的登录密码。再用这个密码登录远程主机,那么SSH的安全机制就荡然无存了。这种风险就是著名的"中间人攻击"(Man-in-the-middle
attack)。
ICMP(互联网控制信息协议)
协议号1
ping
IGMP(互联网组管理协议)
协议号2
TCP/IP协议族的传输层协议主要包括TCP和UDP.
TCP
- TCP(协议号:6)是面向连接的可靠的传输层协议;它支持在并不可靠的网络上实现面向连接的可靠的数据传输。
TCP的封装格式
TCP的三次握手和四次挥手
超时重传
拥塞窗口
滑动窗口
UDP
- UDP(协议号:)是无连接的传输协议,主要用于支持在较可靠的链路上的数据传输,或用于对延迟较敏感的应用。
FTP(文件传输协议)
华为VRP系统可以作为FTP的服务器端和客户端。
- FTP(文件传输协议)是TCP的应用。
- FTP的主要功能是向用户提供本地和远程主机之间的文件传输。
- 在华为、H3C设备上进行版本升级、日志下载和配置保存等业务操作。
采用两个TCP连接
- 控制连接: 用于连接控制端口(21),传输控制命令。
- 数据连接: 用于连接数据端口(20),传输数据。
数据连接的建立模式
区别在于是由服务器发起还是由客户端发起
- 主动模式
也称port模式,是TCP协议最初定义的数据传输连接方式。
由服务器主动发起连接。 - FTP客户端通过向FTP服务器发送PORT命令,告诉服务器该客户端用于传输数据的临时端口。
- 当需要传送数据时,服务器通过TCP端口号20与客户端的临时端口建立数据传输通道,完成数据传输。
- 被动模式
也称为PASV方式
服务器被动接收客户端的数据连接 - FTP客户端通过向FTP服务器发送PASV命令,告诉服务器进入被动方式。服务器选择临时端口号并告知客户端。
- 当需要传送数据时,客户端主动与服务器的临时端口号建立数据传输通道,完成数据传输。
TFTP(简单文件传输协议)
- 适用于客户端和服务器之间不需要复杂交互的环境
- 承载在UDP之上,端口号 69
- TFTP仅提供简单的文件传输功能(上传、下载)
- TFTP没有存取授权与认证机制,不提供目录列表功能
- TFTP协议传输是由客户端发起的
- 华为和华三设备只能作为TFTP的客户端,从服务器获取文件
<R2>tftp 10.1.1.1 get tftpfile.zip //华为华三设备从服务器获取文件