网络(二)----网络层及传输层协议介绍

本文详细介绍了网络层的协议如IP数据包结构、ICMP协议功能及工作原理,以及ARP协议如何解析IP地址为MAC地址。此外,还涵盖了传输层的TCP/UDP协议,包括TCP的三次握手和四次挥手过程,以及UDP报文格式和常见的协议端口分配。
摘要由CSDN通过智能技术生成

目录

一、网络层协议介绍

1.网络层的功能

2.IP数据包格式

3.ICMP协议介绍

(1)概述

(2)ICMP协议的封装

4.ARP协议介绍

(1)概述

*(2) IP地址解析为MAC地址的工作原理

 (3)ARP相关命令

5.ARP攻击原理 ​编辑

二、传输层协议介绍

1.传输层的功能

2.TCP/UDP协议介绍

​编辑

3.TCP报文格式

*4.TCP三次握手

*5.TCP四次挥手

6.UDP报文格式

7.常见协议及其端口


一、网络层协议介绍

1.网络层的功能

        进行逻辑地址(IP地址)寻址和路由选择

2.IP数据包格式

IP头部的组成:

*源IP地址 *目的IP地址  *IP版本(IPv4|IPv6)  *IP头部长度(最短20字节,可根据可选项变长)   优先级与服务质量   总长度(包含IP头部和上层数据) 标识符  标志   段偏移量   *TTL(每经过一个路由器TTL减1,为0时会被丢弃)   *协议号(UDP为17 TCP为6)    头部校验和    可选项

3.ICMP协议介绍

(1)概述

ICMP  互联网控制报文协议
           工作在 网络层
           是一个错误侦测与回馈机制
           发送心跳消息(ping请求  pong响应)来探测节点间的网络连通信

(2)ICMP协议的封装

4.ARP协议介绍

(1)概述

ARP  地址解析协议
         工作在网络层
         用来通过IP地址解析出MAC地址

*(2) IP地址解析为MAC地址的工作原理

        1)PC1发送数据给PC2前,会先查询本地的ARP缓存表有没有目标主机的IP与MAC的记录,如果有则直接单播通信
        2)如果ARP缓存表没有相关记录,则会通过广播的方式发送ARP请求消息(此时ARP请求消息的目的MAC地址为广播地址FF-FF-FF-FF-FF-FF)
        3)交换机收到ARP请求消息后会进行广播泛洪,只要拥有对应IP的主机会接收ARP请求消息,其它主机则会丢弃
        4)目标主机会先根据ARP消息将源主机的IP与MAC地址记录到自己的ARP缓存表中,再通过单播的方式回复ARP应答消息,交换机会根据MAC地址表进行转发给源主机
        5)PC1收到ARP应答消息后,会将PC2的IP与MAC地址记录到ARP缓存表中,此后即可通过单播发送数据给PC2

 (3)ARP相关命令

arp -a                              #查看arp缓存表

arp -d <IP>                     #删除arp缓存记录

arp -s <IP> <MAC>        #静态绑定arp缓存记录

动态学习到的arp缓存的默认老化时间为120s

5.ARP攻击原理 

二、传输层协议介绍

1.传输层的功能

        建立主机端到端连接

2.TCP/UDP协议介绍

TCP:面向连接的网络协议;是可靠传输,支持流量控制和拥塞控制;首部最小20字节,最大60字节;只能一对一通信;面向字节流的

UDP:面向无连接的网络协议;是不可靠传输,但是传输效率更高;首部仅8字节;支持一对一,一对多,多对一和多对多交互通信;面向报文的

3.TCP报文格式

TCP头部组成:*源端口号    *目的端口号    序号    确认号    头部长度(可根据选项变长,20~60字节)    *控制位(URG  ACK  PSH  RST  SYN  FIN)   滑动窗口(控制流量大小)    校验和    紧急指针    选项

SYN:同步位,SYN=1 表示连接请求报文
ACK:确认位,ACK=1 确认号才生效
FIN:断开位,FIN=1 表示断开连接
RST:重置位,RST=1 重新建立连接
PSH:急迫位/推送位,PSH=1 尽快地把数据送达应用层
URG:紧急位,URG=1 表示紧急数据,配合紧急指针才有效

 

*4.TCP三次握手

建立连接(三次握手):

第一次:客户向服务器发送连接请求段,建立连接请求控制段(SYN=1),表示传输的报文段的第一个数据字节的序列号是x,此序列号代表整个报文段的序号(seq=x);客户端进入 SYN_SEND (同步发送状态);

第二次:服务器发回确认报文段,同意建立新连接的确认段(SYN=1),确认序号字段有效(ACK=1),服务器告诉客户端报文段序号是y(seq=y),表示服务器已经收到客户端序号为x的报文段,准备接受客户端序列号为x+1的报文段(ack_seq=x+1);服务器由LISTEN进入SYN_RCVD (同步收到状态);

第三次:客户对服务器的同一连接进行确认.确认序号字段有效(ACK=1),客户此次的报文段的序列号是x+1(seq=x+1),客户期望接受服务器序列号为y+1的报文段(ack_seq=y+1);当客户发送ack时,客户端进入ESTABLISHED 状态;当服务收到客户发送的ack后,也进入ESTABLISHED状态;第三次握手可携带数据;

 

*5.TCP四次挥手

释放连接(四次挥手)

第一次:客户向服务器发送释放连接报文段,发送端数据发送完毕,请求释放连接(FIN=1),传输的第一个数据字节的序号是x(seq=x);客户端状态由ESTABLISHED进入FIN_WAIT_1(终止等待1状态);

第二次:服务器向客户发送确认段,确认字号段有效(ACK=1),服务器传输的数据序号是y(seq=y),服务器期望接收客户数据序号为x+1(ack_seq=x+1);服务器状态由ESTABLISHED进入CLOSE_WAIT(关闭等待);客户端收到ACK段后,由FIN_WAIT_1进入FIN_WAIT_2;

第三次:服务器向客户发送释放连接报文段,请求释放连接(FIN=1),确认字号段有效(ACK=1),表示服务器期望接收客户数据序号为x+1(ack_seq=x+1);表示自己传输的第一个字节序号是y+1(seq=y+1);服务器状态由CLOSE_WAIT 进入 LAST_ACK (最后确认状态);

第四次:客户向服务器发送确认段,确认字号段有效(ACK=1),表示客户传输的数据序号是x+1(seq=x+1),表示客户期望接收服务器数据序号为y+1+1(ack_seq=y+1+1);客户端状态由FIN_WAIT_2进入TIME_WAIT,等待2MSL时间,进入CLOSED状态;服务器在收到最后一次ACK后,由LAST_ACK进入CLOSED;

 

6.UDP报文格式

UDP头部组成:

源端口号    目的端口号    UDP总长度(包含数据和头部)    校验和

7.常见协议及其端口

  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值