网络层和传输层协议

一.网络层 三层

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

网络层封装数据:IP头部,源IP和目的IP数据包。

IP数据包里面包含的内容:

version版本IPV4

首部长度:表示IP数据包头部的长度20字节。长度是可变的,长度只能是20的倍数。

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

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

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

flags:0不分段,1过大被丢弃。

fragment offset:段偏移量。包含的信息在一个分片序列中如何把各个分片重新连接。每个分段数据与起点之间的位置。分片的序列如何按照原有的顺序连接起来,以及按照什么样的顺序链接。(把证数据的完整性

protocol:icmp 表示在传输过程中使用的什么协议

header checksum:首部校验和接收和网关服务器来校验数据是否被改动过。安全机制。

type code 描述结果

0 0 reply 响应

8 0 request 请求

3 0 网络不可达

3 1 主机不可达

3 2 协议不可达

3 3 端口不可达

11 0 请求超时

端口---------服务,程序。每个程序都有特定的端口。

网络层当中重要的协议:

icmp ping命令

icmp是网络层协议

icmp最大的作用就是用来进行网络故障排查。

mtu最大传输单元。1500对方能够接收的数据包大小。

本地回环地址:127.0.0.1 自己本地的地址

1.发现ping网址ping不通该怎么解决?

①回环地址:172.0.0.1 自我测试,测试自身的网络是否正常。调试和开发。

②硬件问题:网线问题 网卡问题

③双方地址是否正确

④网段服务器问题:路由器 交换机的问题

⑥防火墙的问题

网络层第二个协议:

ARP 协议,地址解析协议

网络层的IP地址转换成数据链路层的mac地址。

ARP表,把IP地址和mac地址形成一个映射关系。

ARP协议的工作的原理:

1.在局域网当中,对所有设备进行广播。

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

3.会把这个IP地址和mac地址的映射关系保存在设备当中。会把双方的设备都保存在ARP当中。

4.保存时间是180S

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

二.传输层 四层

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

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

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

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

网络管理:定义额昂罗德管理以及监控的范畴。

传输层协议:

tcp:面向连接,可靠的进程的通信协议。tcp提供全双工服务。数据一定是双向传输的。每个tcp都有发送缓存和接收缓存。用来存储临时数据。

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

程序:没有运行的代码

进程:运行起来的代码

udp:无连接,用户数据协议,不保证可靠性的传输层协议。发送端发送数据不在乎发送的数据是否能够达到目标主机。收到数据的主机也不会告诉源主机是否接收到数据。

tcp协议安全性高,速度慢

udp传输速度快,可靠性低

传输层作用:1.数据分段和重组

2.连接管理,建立,维护和终止源主机之间的连接。(tcp udp

3.可靠性保证。

4.流量控制

tcp报文:

source port:源端口

destination port:目的端口

sequence number:序列号,传输和接收数据之后重组

acknowledgment:接收方期望接收的下一个字节序列号

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

URG:紧急位

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

ACK:Ack=0,接收方希望发送方的下一个字段序列号的编号是10.确认是否有问题

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

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

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

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

SEQ:tcp报文的序号

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

建立连接:三次握手

断开连接:四次挥手

TIMEWAIT:如果后续还有信息,不需要再次建立连接。TIMEWAIT是有时间范围的,超时之后进入closed真正断开连接。(TIMEWAIT避免资源浪费)

tcp四次挥手之后进入TIMEWAIT

MSL:maximum segment lifetime tcp的数据段能在网络中存活的最大时间。2分钟。120秒。数据段会被丢弃。

timewait一般会设置成ms的两倍。

作业:

1.为什么是三次握手不是四次握手就可以连接呢?

答:第一次握手pc1发送seq=x,syn=1进行请求确认连接

第二次握手pc2回复pc1 syn+ack(seq=y,ack=x+1,syn=1,ack=1)确认了对方发送正常。

第三次握手pc1确认收到回复pc2 seq=x+1,ack=y+1,ack=1完成建立连接。

三次握手后确认双方收发功能正常。所以不需要第四次。

2.为什么不是三次挥手而是四次挥手才能断开连接呢?

第一次挥手pc1发送断开请求(FIN报文)给pc2,此时仅代表pc1不再发送数据报文,但pc1还可以接收数据报文。

第二次挥手pc2此时可能还有相应的数据报文要发送,所以先发送ACK向PC

1知道了断开的请求。

第三次挥手pc2处理完数据报文之后便发FIN报文给pc1

第四次挥手pc1发送ACK=1报文确认断开。

所以要先发送端开请求确认对方同意断开并且双方数据报文已经发送和接收结束。所以三次挥手会导致有一方数据报文会接收不全。

  • 10
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值