【FFH】openharmony代码拉取error: RPC failed(ohos笔记1_MTU) 原创
会飞的晨风君
发布于 2022-4-19 23:28
浏览
1收藏
【FFH】openharmony代码拉取error: RPC failed; curl 56 GnuTLS recv error (-9): Error decoding the received TLS packet.
3.1LTS拉取流程
通过repo + https 下载。
repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v3.1-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
报错信息
在执行第二步时报错
error: RPC failed; curl 56 GnuTLS recv error (-9): Error decoding the received TLS packet.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
报错解决思路
目测是recv 的拉取时间超时导致故障,搜索在虚拟机上的网络硬件,并检查mtu值是否还是默认值
ifconfig
看到mtu为默认值1500
附带看到网上的一些其他解决方案
// 配置代理
git config --global http.proxy socks5://127.0.0.1:1081
git config --global https.proxy socks5://127.0.0.1:1081
// 增大缓存
git config --global http.postBuffer 1048576000
解决问题把mtu调到很大即可
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 14000
inet 192.168.193.130 netmask 255.255.255.0 broadcast 192.168.193.255
inet6 fe80::5615:ed01:8442:f634 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:dc:a2:bf txqueuelen 1000 (Ethernet)
RX packets 499868 bytes 751612692 (751.6 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 140755 bytes 8846469 (8.8 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ifconfig ens33 mtu 14000 #前面那个参数是跟上面对应的
附带知识 MTU
什么是MTU
Maximum Transmission Unit,缩写MTU,中文名是:最大传输单元。
这是哪一层网络的概念?
MTU是数据链路层的概念
场景实例
mut设置1 正确
电脑->路由器 ->服务器
1500->1500->1500
mut设置2 错误
电脑->路由器 ->服务器
1700->1500 ->1500
路由器有一个IP包的标志位 DF 设置如果为1 则不允许拆分包 发现1700>1500 则把这个包直接丢掉于是就啥都没了,当然如果DF 为 0 则会发生分片拆分成两个包。
为什么是1500?
这个问题有很多回答其中一个是:
一个标准的以太网数据帧大小是:1518,头信息有14字节,尾部校验和FCS占了4字节,所以真正留给上层协议传输数据的大小就是:1518 - 14 - 4 = 1500
写这篇文章希望能帮到遇到同样问题的同学,据了解校园网大部分都存在这个问题,我之前在家里拉取就没有问题
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
赞
5
收藏 1
回复
相关推荐
虽然不在校园了,但是仍然记得校园网的痛苦,感谢楼主分享。