网络层协议和tcp/ip协议族的传输层协议
一.IP数据包格式
协议字段
|
版本(4)版本字段
|
首部长度(4)IP包头部长度
|
优先级与服务类型(8)
|
总长度(16)IP数据总长度
|
|
标识符(16)
|
标志(3) |
段偏移量(13)上层的数据到IP 层会自动分片 |
|
| TTL(8)生命周期字段 | 协议号(8)协议字段 | 首部校验和(16) | |
| 源地址(32) | |||
| 目标地址(32) | |||
|
可选项 |
|||
| 数据 | |||
ICMP类型字段(Type)以及代码字段(Code)对应表
Type Code 描述
0 0 Echo Reply
3 0 网络不可达
3 1 主机不可达
3 2 协议不可达
3 3 端口不可达
11 0 超时
8 0 Echo Request
Windows系统中的ARP命令
arp - a:查看ARP缓存表
arp - d:清除ARP缓存
ARP绑定
网络层的功能
定义了基于IP协议的逻辑地址
连接不同的媒介类型
选择数据通过网络的最佳路径
常见协议及其端口号
ICMP——1 (Internet控制报文协议)
IGMP——2 (Internet组管理协议)
TCP ——6 (传输控制协议)
EGP ——8 (外部网关协议)
IGP ——9 (专用内部网关协议)
UDP ——17 (用户数据报协议)
IPv6 ——41 (互联网协议第6版)
三类端口号
1.规定好的知名端口号0-1024
2.系统随机分配(客户端 去访问服务端 系统会自动随机分配一个端口号)
3.人类自由使用(写)
ICMP协议
ICMP是一个“错误侦测与回馈”机制
通过IP数据包封装
用来发送错误和控制信息
Ping
ping自己127.0.0.1硬件 ping 自己设置ip 的ip地址
ping网关 tracert 排查网络
看双方地址是否有问题
防火墙策略是否有问题(配合 找网络工程师)
ARP命令
arp -a 显示所有接口的当前ARP缓存表
arp -g 与a相同
arp -d 删除指定的IP地址项
arp -s 向ARP缓存添加可将IP地址 InetAddr 解析成物理地址 EtherAddr 的静态项
二.TCP/IP协议族的传输层协议
TCP特性:
1.工作在传输层 6.错误检查
2.面向连接协议 7.确认机制
3.全双工协议 8.数据恢复,重传
4.半关闭 9.流量控制
5错误检测
主要协议:
URG(紧急位)
ACK(确认位):A给B发送数据包 序号随机生成 x
x序号包
A————》B
B只有收到这个包之后,才知道A发的数据包序号为X,然后才能封装确认号为x+1
PSH(急切位)
RST(重置位)
SYN(同步位)
FIN(断开位)
TCP连接4-1
TCP建立连接的过程称为三次握手
为什么有4次交流却是三次握手
二次三次合成一次,节省时间
PC1 PC2
1、发送SYN报文
(seq=x,SYN=1) ——————》
2、发送SYN+ACK报文
《 —— —— —— (seq=y,ack=x+1,
SYN=1,ACK=1)
3、发送ACK报文
(seq=x+1,ack=y+1,———————》
ACK=1)
PC1先发送一个确认号seq=x,和一个同步号SYN=1,希望与PC2建立连接并得到一个x+1的信息的回馈
PC2接收到一个确认号seq=x,和同步号SYN=1,同意形成连接并回一个专属确认号seq=y,并回复ack=x+1和ACK=1表示自己确认同意形成连接,同时希望得到一个y+1的信息的回馈
PC1接收到确认号seq=y,以及确认达成连接的ACK=1,同意后发送确认号(因为得到回馈+1)seq=x+1,并回复ack=y+1表示自己明白并接受PC2的请求,同时发送ACK=1确认收到消息
浙公网安备 33010602011771号