IP基本原理
1、定义: 网络层的协议,无连接的,不可靠的
2、作用:
- 标识结点和链路:用唯一的IP地址标识节点,网络号标识链路
- 寻址和转发:寻找节点所在的范围;IP路由器选择适当的路径将IP包转发到目的节点
3、IP网络结构
IP网络由多个网段构成,每个网段对应一个链路
路由器负责将网段连接起来,适配链路层协议,在网络之间转发数据包
4、IP头部的封装格式(重点)
- 首部最大60字节:其中固定部分20字节,可变部分40字节(可有可无)
- 后面抓包会进一步展示
字节解释:
version:版本,用于标识封装是IPv4还是IPv6
IHL: 头部长度,描述了数据包头的内容长度
Type of Service:服务类型,用于标识DSCP或IP优先级,用于QOS识别
Total length:数据包总长度
Identification:标识符,用于标识某个分片来自于哪个数据包
Flags:标识数据包是否允许分片
Fragment offset:片偏移,用于描述分片在数据包中的位置
Time to Live:TTL,该数据包允许经过的路由器的最大跳数
Protocol:用于标识上层协议是TCP/UDP/ICMP
Header Checksum:头部校验序列,用于头部信息差错校验
Source Address:源IP地址
Destination Address:目的IP地址
Padding:若数据包不是4的倍数,填充
最大传输单元(MTU): 一般1500字节、PPPoE默认MTU1482字节
分片传输:
5、IP地址
格式: 32位长度,点分十进制;由网络位+主机位组成
分类:
公网IP
A类:1.X.X.X~126.X.X.X 前8位为主机位,后24位为网络位
B类:128.X.X.X~192.X.X.X 16位
C类:192.X.X.X~223.X.X.X 32位
D类:224.X.X.X~239.X.X.X 组播地址,不能配置主机IP
E类:240.X.X.X~256.X.X.X 科研地址,不公开
特殊IP
127.X.X.X~....:本地回环地址,标识本机,用于测试
主机位全为0的地址:网络地址,用来标识网段
主机位全为1的地址:广播地址(本网段广播)
255.255.255.255: 全网广播
0.0.0.0: 通配地址,任意IP地址
私网IP:本地随便使用,无法在互联网寻址
10.X.X.X~10.255.255.255
172.16.X.X~172.31.X.X
192.168.X.X~192.168.255.255
自动私有地址:169.254.X.X
运营商专用私有地址:100.64.X.X~100.127.X.X
6、两个IP协议 (ARP、ICMP)
ARP
定义: 地址解析协议,把IP地址解析为Mac地址
工作原理: A主机以广播形式发送ARP查询请求,询问B主机的IP对应的MAC地址;B主机以单播形式回复A主机本机MAC地址;A主机把B主机的IP地址和MAC地址的映射关系写入ARP缓存表
相关命令
查询ARP缓存:arp -a
清空ARP缓存:arp -d
ICMP
Ping:测试网络连通性
Tracert:路由跟踪
ip ttl-expires enable:H3C的设备开启路由跟踪功能需要的前置命令
7、IP数据转发原理(重点)
- 如果目的IP和本机IP属于同一网段,会直接查询目的IP的Mac地址,并进行封装
- 如果目的IP和本机IP不属于同一网段,会查询网关IP地址的Mac地址,并进行封装
8、网关 本网段出口的IP地址
TCP基本原理
1、传输层的作用
- 提供面向连接或无连接的服务
- 维护连接状态
- 对应用层数据进行分段和封装
- 实现多路复用
- 可靠地传输数据
- 执行流量控制
2、TCP封装
见本人潦草图——哈~哈
端口:每个应用程序进出网络都需要经过一个唯一端口,通过端口号来识别数据交由哪个应用程序处理
服务端:固定端口号
客户端:1024以上随机端口
> **知名端口号:** > 超文本传输协议:HTTP:80 >文件传输协议 :FTP:20(数据)、21(控制) > 终端仿真协议:Telnet:23 > 简单邮件发送协议:SMTP:25 > 域名服务器:DNS:53 > POP3:110 > IMAP:143 > SNMP:161、162
Seq、Ack演示:保持可靠的连接
三次握手:建立可靠的连接:不传输数据信息
如果没有接收到,或接收到的是不完整数据,会再次发送Ack请求对方重发
> Seq=上一次ack > Ack=上一次的seq+length
四次挥手:释放连接
窗口机制:滑动窗口:通过通告对方本机接收能力,来实现流量控制
UDP基本原理
无连接的、不可靠的,不保证顺序的、无差错流控机制;开销小,头部只有8字节。一般适合传输音视频。
UDP和TCP区别(了解)