随笔分类 - 网络编程
摘要:更新记录 时间 | 版本修改 | | | 2020年4月2日| 初稿 | 我们从经典的计算机科学丛书上阅到的知识,都说: 。但是这个要怎么理解呢?在我没有接触底层的套接字相关逻辑时。我对此也没有特别的了解。直到阅读了套接字的相关逻辑源码,才对此有了一定的了解 TCP的发包和我们业务层所发出的协议数据
阅读全文
摘要:问题背景 面试中常常问到TCP的三次握手和四次挥手,一过了校招就不记得了。 之前总结了TCP协议的一些特性和过程,还不了解建议连接和断开连接的过程 三次握手 三次握手的具体过程 步骤1 Client向Server发送SYN(synchronization,本质已经表明了是同步sequence)包,带
阅读全文
摘要:问题背景 日常面试时,几乎所有学过计算机的都知道,TCP协议是可靠的,UDP协议不可靠的。为什么TCP协议是可靠的?它用什么机制保证可靠呢? 提出问题 1. 由于IP 数据包的 MTU 有长度限制, TCP报文段过大时,需要切割。切割之后发送出去,由于网络链路的不确定性,接收端接收到包的次序和发送次
阅读全文
摘要:问题背景 TCP协议的包头中有源端口号和目标端口号,本质是为了标识某机器上的一个进程。 问题 一个进程可能需要有多条协议的数据通信,需要有别的标识字段来分辨不同协议的数据 服务器可能需要对不同类型的客户端的请求,响应不同的数据 TCP协议包中的二进制数据的长度未知 目前了解到的主要有两种方法 1.
阅读全文
摘要:问题 在win10命令行(以管理员身份运行)中输入 ,提示如下: 问题背景 安装了 之后,发现找 中找不到本地的网卡,无法进行抓包 问题原因 直接原因 没有安装 下载地址: "华军软件园" 和 "winpcap官网" 根本原因 未知 问题解决验证 安装完 ,在cmd中输入 ,提示如下:
阅读全文
摘要:什么是所谓的Protobuffer google推出的一种数据交换的格式,主要用于制定协议的数据格式。 通俗的说,就是双方使用提前约定好的一个文件(这个文件规定了某种数据的结构是怎么样的,字段1是什么类型的数据,代表什么含义,如此类推)作为数据的参考格式,互相传输数据(即序列化和反序列)。 为什么使
阅读全文
摘要:为什么需要使用base64编码 使用HTTP协议传输二进制数据可能会出现无法预知的错误,参考 "有关使用HTTP协议传输二进制文件" 很多场景下的数据传输要求数据只能由简单通用的字符组成,比如HTTP协议要求请求的首行和请求头都必须是ASCII编码 很多比较老的协议还是只支持纯文本的,比如SMTP协
阅读全文

浙公网安备 33010602011771号