网络层协议和tcp/ip协议族的传输层协议

发布时间 2023-07-06 16:37:25作者: Tsumiki

一.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版)

 

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协议族的传输层协议

主要协议:

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确认收到消息