网络层和传输层协议

1、网络层

定义:IP地址定义,连接不同的媒介类型,最佳路径选择数据包的转发。

封装数据:ip头部信息(源ip和目标ip)、其他信息数据包。

1.1 ip头部数据包含内容

version(版本):ipv4和ipv6

Header Length(首部长度):表示IP数据包头部长度,长度可变,变化数为20的倍数,一般情况下都是20字节。

total length:表示整个ip数据包长度。最大65535字节。

Identification(数据包的标识符):上层数据进行分片,会给分片数据进行编号,保证分片不会被错误的重组。

Flags(标志字段):数据可以分片或者数据包不能分片。如果不封分片的包,直接发出;如果是分片的包,确保分片包中最后一个分片已发出。

reserved bit:永远是0。

Don't fragment :是0直接发出,是1直接丢弃。

More fragment :是0表示整个数据包,是1表示是数据包的一部分。

Fragment Offset(段偏移量):包含的信息是指在一个分片的序列之中,如何把各个分片重新连接,每个分段数据与起点之间的位置。

——(分片的序列如何按照原有的序列重新连接起来,以及按照什么样的顺序连接)

——核心目的:保证数据完整性。

Protocol(协议字段):ip数据包在传输过程中使用的协议是什么。

Header Checksum(首部校验和):接收方和网管服务器(一般指路由器)用来校验数据是否被改动过。

1.2 网络层中的重要协议

ICMP协议:(网间控制报文协议):是网络层协议,即ping命令,作用是用来进行网络故障排查。

MTU:最大传输单元,一般默认1500字节。(释义不是指我发多少,而是指对方可以接收的数据包大小)

1.3 type、code、描述结果

type code 描述结果

0 0 reply响应

8 0 request请求

3 0 网络不可达

3 1 对方主机不可达

3 2 协议不可达——对方不支持你的协议

3 3 端口不可达——服务被关闭或者对方端口关闭了

11 0 超时

其中,端口即服务和程序。每个服务和程序都有它特定的端口。

1.4 发现ping www.baidu.com 不通。怎么解决?

1.回环地址:ping127.0.0.1 自我测试,测试自身的网络是否通畅,另外的作用调试和开发。

2.硬件问题:网线问题

网卡问题

双方地址是否正确

网关服务器(路由器)

交换机的问题

防火墙的问题

1.4 ARP协议

ARP协议(地址解析协议):把网络层的IP地址转换成数据链路层的mac地址。(在ARP表中,把IP地址和mac地址形成一个映衬关系)

arp协议的工作原理:

1.在局域网里面对所有设备进行广播

2.只有符合条件的设备会对广播进行响应,找到了ip地址对应的mac地址,其他设备不会响应。

3.会把这个ip地址和mac地址的映射关系保存到设备当中,会把双方的设备都保存到arp表中。

4.保存时间是180秒。

5.保存时间失效,后续在进行传输,又要arp广播。

2、传输层

2.1 传输层协议

定义:规定数据通信和交互的规则和约定。

作用:通信规范——数据的格式、传输方式、消息的结构、数据加密和编码的规则。

数据交换:数据在网络中的交换方式,数据包的组织方式,传输的顺序,错误检测,纠正错误—确保数据的正确传输和完整。

数据安全:安全保证保障。

设备互联:不同的设备和系统可以互相连接和通信。

网络管理:定义网络的管理以及监控的范畴。

2.2 传输层作用

1.数据分段和重组。

2.连接管理——建立、维护和终止源主机和目标主机之间的连接。(连接管理主要针对tcp、udp)

3.可靠性保证。(保证数据发送的可靠性)

4.流量控制。

2.3 TCP和UDP

tcp:面向连接,可靠的进程到进程的通信协议。tcp提供全双工服务。数据一定是双向传输的(双方可以自由的没有限制的传输消息)

每个tcp都有发送缓存和接收缓存,用来存储临时数据。

通信双方要传输数据必须先建立连接。

udp:无连接,又叫用户数据报协议,不保证可靠性的传输层协议。发送端发送数据不在乎发送的数据是否能够到达目标主机。数据出错也不管,收到数据的主机也不会告诉源主机是否接收到了数据。(例如:直播)

2.4 tcp报文

Source Port 源端口

Destination Port 目的端口

Sequence Number 序列号,传输以及接收到数据之后如何重组

Acknowledgment Number 接收方期望接收的下一个字节的序列。

Flags:标志位 控制位。tcp建立连接和断开连接,维护连接都靠这些控制位。

URG:紧急位

*ACK:确认位,只有当ACK=1,表示序列号字段有效,当ACK=0,表示字段是无效的。

Ack:Ack=10,表示接收方希望发送方的下一个字段的序列号的编号是10。作用是确认传输是否有问题。

SYN:同步位,连接位,建立连接时,SYN必须=1。

FIN:断开位,期望断开的一方,要发送FIN=1。

PSH: 急迫位,PSH=1,表示要把数据尽快的发送到应用层。

RST:重置位,RST=1,表示重新建立tcp连接。

SEQ:tcp报文序号。

WIN:接收数据缓冲区的空闲空间。

3、三次握手和四次挥手

3.1 建立连接:三次握手

3.2 断开连接:四次挥手

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值