![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
《网络是怎么连接的》学习笔记
文章平均质量分 82
《网络是怎么连接的》学习笔记
道纪书生
博士在读,国家奖学金获得者,中国机器人大赛全国亚军,研究方向:CV/SVBRDF Estimation/Object Counting/Swarm Intelligence/Evolutionary Computation,学术or技术交流欢迎私信。
展开
-
【网络是怎么连接的】—— 2.4 从服务器断开并删除套接字
2.4.1 数据发送完毕后断开连接收发数据结束的时间点:应用程序判断所有数据都已经发送完毕这时,发送方发起断开过程,但不同的应用程序会选择不同的断开时机。有的需要等服务器响应,有的不用。当然,服务器这边也可以发起断开过程,假设现在服务器发起断开:首先,服务器的应用程序调用 Socket 库的 close 程序,然后协议栈生成包含断开信息的TCP头部(将控制位中的 FIN 比特设为 1),然后还是和之前介绍的一样,协议栈委托IP模块发送数据,服务器的套接字也会记录断开操作的相关信息。客户端..原创 2021-09-04 17:17:28 · 245 阅读 · 0 评论 -
【网络是怎么连接的】—— 2.3 收发数据
目录2.3.1 将 HTTP 请求消息交给协议栈2.3.2 对较大的数据进行拆分2.3.3 使用 ACK 号确认网络包已收到2.3.4 根据网络包平均往返时间调整 ACK 号等待时间2.3.5 使用窗口有效管理 ACK 号2.3.6 ACK 与窗口的合并2.3.7 接收 HTTP 响应消息2.3.1 将 HTTP 请求消息交给协议栈数据收发操作是从应用程序调用write 将要发送的数据交给协议栈开始的。一次将多少数据交给协议栈是由应用程序自行决定的,因此如果一收到数据原创 2021-09-03 21:15:06 · 940 阅读 · 2 评论 -
【网络是怎么连接的】—— 2.2 连接服务器
2.2.1 连接是什么意思套接字刚刚创建完成的时候,里面并没有存放任何数据,也不知道通信的对象是谁。而浏览器虽然可以根据网址查询服务器IP地址,但浏览器调用socket创建套接字时,并没有把这些信息传递给协议栈。因此,连接的目的之一便是把服务器的ip的端口号等信息告诉协议栈。而服务器一般在启动时就创建了套接字,等待客户端连接,但服务器也还不知道该和谁通信,包括服务器上的应用程序都不知道通信对象是谁,因此需要让客户端向服务器告知必要的信息。2.2.2 负责保存控制信息的头部控制信息可以...原创 2021-09-03 20:04:16 · 758 阅读 · 0 评论 -
【网络是怎么连接的】—— 2.1 创建套接字
目录2.1.1 协议栈的内部结构2.1.2 套接字的实体就是通信控制信息2.1.3 调用 socket 时的操作2.1.1 协议栈的内部结构TCP/IP 软件分层结构协议栈内部包括TCP/UDP/IP,浏览器、邮件等一般应用程序使用 TCP 收发数据,DNS 查询等收发较短的控制数据使用 UDP。在互联网上传送数据时,数据被分成一个个网络包 ,IP 协议负责将网络包发送给通信对象。另外,IP还包括 ICMP 协议和 ARP 协议。ICMP: 用于告知网络包传送过程..原创 2021-09-03 17:37:20 · 253 阅读 · 0 评论 -
【网络是怎么连接的】—— 第2章(总览) 用电信号传输 TCP/IP 数据——探索协议栈和网卡
本章结构2.1 创建套接字 2.2 连接服务器 2.3 收发数据 2.4从服务器断开并删除套接字 2.5IP 与以太网的包收发操作 2.6UDP 协议的收发操作热身问题(判断对错)1. 我们现在使用的以太网中存在不符合国际标准(IEEE802.3/802.2)的部分。答案:对,国际标准(IEEE802.3/802.2)的头部(开头的控制信息)格式长度太长、效率降低没有得到普及。所以现在以太网中的头部遵循更老的DIX规格。具体可以搜索:DIX和IEEE802.3的区别。...原创 2021-09-03 16:39:14 · 162 阅读 · 0 评论 -
【网络是怎么连接的】—— 1.4 委托协议栈发送消息
目录1.4.1 数据收发操作概览1.4.2 创建套接字阶段1.4.3 连接阶段:把管道接上去1.4.4 通信阶段:传递消息1.4.5 断开阶段:收发数据结束本章测试1.4.1 数据收发操作概览委托操作系统内部的协议栈向web服务器发消息,发的HTTP消息是数字信息,不仅对于浏览器,对于使用网络的应用程序也一样,都需要使用Socket 库中的程序组件。收发数据操作的基本思路:收发数据的两台计算机之间连接一条数据通道,数据沿着这条通道双向流动。(图中显示的是T原创 2021-09-02 22:15:23 · 942 阅读 · 1 评论 -
【网络是怎么连接的】—— 1.3 全世界 DNS 服务器的大接力
1.3 全世界 DNS 服务器的大接力1.3.1 DNS 服务器的基本工作DNS 服务器的基本工作:接收来自客户端的查询消息,根据消息的内容返回响应。来自客户端的查询消息包含以下 3 种信息:域名:web服务器、邮件服务器(如@qq.com) Class:最早设计DNS时考虑了除互联网外的其他网络,但没用到。 记录类型:例如类型A(Address的)表示域名对应IP地址,类型MX(Mail eXchange,邮件交换)表示域名对应邮件服务器。如查询www.blog.csdn....原创 2021-09-02 21:29:59 · 222 阅读 · 1 评论 -
【网络是怎么连接的】—— 1.2 向 DNS 服务器查询 Web 服务器的 IP 地址
1.2.1 IP地址基础知识浏览器能解析网址并生成 HTTP 消息,但将消息发送到网络当中则需要委托操作系统实现。但无法将域名直接丢给操作系统,需要先根据域名查询ip地址。原创 2021-09-02 20:43:39 · 532 阅读 · 0 评论 -
【网络是怎么连接的】—— 1.1 生成 HTTP 请求消息
热身问题(判断对错)1. http://www.XXX.com中的 www 代表 World Wide Web 协议(对通信操作规则所作的定义)。错误,WWW是万维网(world wide web)的简称,它是建立在INTERNET、超文本、多媒体基础上的全球信息查询系统,不是一种协议。2. 个人也可以申请注册互联网中的域名。正确,新修订的《中国互联网络信息中心域名注册实施细则》,于5月29日零时起实施。修订后的《实施细则》规定,“任何自然人或者能独立承担民事责任的组织均可在本细则规.原创 2021-09-01 21:49:21 · 337 阅读 · 0 评论