网络
文章平均质量分 84
计算机网络以及linux网络编程总结
OceanStar的学习笔记
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
网络目录总结
网络目录总结转载 2021-12-22 19:47:44 · 829 阅读 · 0 评论
-
网络:TCP连接都是用TCP协议沟通的吗?
TCP连接都是用TCP协议沟通的吗?一般来说,TCP连接是标准的TCP三次握手完成的:客户端发送SYN服务端收到SYN之后,回复SYN + ACK客户端收到SYN + ACK后,回复ACK这里面SYN会在两端各发送一次,表示“我准备好了,可以开始连接了”。ACK也是两端各发送了一次,表示“我知道你准备好了,我们开始通信把”。那既然是4个报文,为什么是三次发送呢?显然,服务端的SYN和ACK是合并在一起发送的,就节省了一次发送。这个在英文里叫 Piggybacking,就是背着走,搭顺风车的意转载 2022-03-14 15:05:03 · 341 阅读 · 0 评论
-
linux内核:TCP实现之准备
以linux4.0.1为蓝本,分析内核源码实现。转载 2023-05-10 19:07:17 · 236 阅读 · 0 评论 -
网络:网络协议基本原理
引入进程间通信,其实是通过内核的数据结构完成的,主要用于在一台linux上两个进程之间的通信。但是,一旦超出一台机器的范畴,我们就需要一种跨进程的通信机制。一台机器将自己想要表达的内容,按照某种约定好的格式发送出去,当另一条机器收到这些信息后,也能够按照约定好的格式解析出来,从而准确、可靠的获得发送方想要表达的内容。这种约定好的格式就是网络协议。准备一个场景如下场景:Linux 服务器 A 和 Linux 服务器 B 处于不同的网段,通过中间的 Linux 服务器作为路由器进行转发。网络转载 2021-11-30 19:39:27 · 1476 阅读 · 0 评论 -
网络:TCP与UDP
IP层之上就是传输层,而传输层比较重要的两个协议:TCP和UDP。对于不从事底层开发的人员来讲,或者对于应用开发的人来讲,最常用的就是这两个协议、TCP和UDP有哪些区别TCP是面向连接的,UPD是面向无连接的。那什么叫做面向连接,什么叫做无连接呢?在互通之间,面向连接的协议会先建立连接。比如,TCP会三次握手,而UDP不会为什么要建立连接呢?你TCP三次握手,我UDP也可以发三个包玩玩,有什么区别吗?所谓的建立连接,是为了在客户端和服务端维护连接,而建立一定的数据结构来维护双方交互.转载 2021-10-31 13:13:55 · 706 阅读 · 0 评论 -
网络:tcp长连接与短连接
当网络通信采用tcp协议时,在真正的读写操作之前,sever与client之间必须建立一个连接,当读写操作完成之后,对方不再需要这个连接时他们可以释放这个链接,连接的连接需要三次握手,释放需要四次握手,也就是说每个连接的建立都是需要消耗资源和时间的tcp连接短连接模拟一种TCP短连接的情况:client 向 server 发起连接请求server 接到请求,双方建立连接client 向 server 发送消息server 回应 client一次读写完成,此时双方任何一个都可以发起 cl.转载 2020-08-07 18:04:38 · 2585 阅读 · 0 评论 -
HTTP:HTTP的发展
HTTP(HyperText Transfer Protocol)是万维网(World Wide Web)的基础协议。自 Tim Berners-Lee 博士和他的团队在1989-1991年间创造出它以来,HTTP已经发生了太多的变化,在保持协议简单性的同时,不断扩展其灵活性。如今,HTTP已经从一个只在实验室之间交换文件的早期协议进化到了可以传输图片,高分辨率视频和3D效果的现代复杂互联网协议。万维网的发明1989年, 当时在 CERN 工作的 Tim Berners-Lee 博士写了一份关于建立一个转载 2021-08-12 17:48:44 · 404 阅读 · 0 评论 -
HTTP:header头总结
端到端标头:逐跳报头客户端发送请求时,用来指定服务器的域名。有了字段,就可以将请求发往「同一台」服务器上的不同网站。作用:语法:举例:作用:补充:举例:作用:语法:补充:举例:使用流程:服务器在 Content-Encoding 响应首部提供了实际采用的压缩模式:需要注意的是,服务器端并不强制要求一定使用何种压缩模式。采用哪种压缩方式高度依赖于服务器端的设置,及其所采用的模块。Connection字段作用:语法:close:表明客户端或服务器想要关闭该网络连接,这是HTTP/1.转载 2021-08-05 16:21:43 · 4794 阅读 · 0 评论 -
网络:connect reset by peer是怎么回事
我们在做一些应用排查的时候,时常会在日志里看到跟 TCP 有关的报错。比如 connection reset by peer“连接被对端 reset(重置)”,这个字面上的意思是看明白了。要回到这类追问,光靠日志就不行了。事实上,网络分层的好处在于每一层都只要做好自己的事情就可以了。而坏处就比如当前的这种情况:应用层只需要操作系统告诉它:“你的连接层被reset了”。但是为什么会reset呢?...............转载 2022-08-27 19:34:35 · 102804 阅读 · 3 评论 -
网络:TCP四次挥手
TIME_WAIT发生的场景现象:服务的可用性时好时坏,一段时间可以对外提供服务,一段时间又不可以。查询:通过netstat命令查看,发生主机上有成千上万处于TIME-WAIT状态的连接分析:当前这个服务需要荣光发起TCP连接对外提供服务。每个连接会占用一个本地接口,当在高并发的情况下,TIME_WAIT状态的连接过多,多到把本机可用的端口耗尽,应用服务对外表现的症状,就是不能正常工作了。当过了一段时间之后,处于TIME_WAIT的连接被系统回收并关闭后,释放出本地端口可供使用,应用服务对外表现为可转载 2021-12-05 18:44:21 · 2883 阅读 · 0 评论 -
网络:DHCP --- IP是怎么来的,又是怎么没的
如何配置IP地址两个方法:(1)使用net-toolssudo ifconfig eth1 10.0.0.1/24sudo ifconfig enth1 up(2)使用iproute2:sudo ip addr 10.0.0.1/24 dev eth1sudo ip link set up eth1你可能会问了,自己配置这个自由度太大了吧,我是不是配置什么都可以?如果配置一个和谁都不搭边的地址呢?比如,旁边的机器都是192.168.1.x,我这边配置了16.158.23.6,会出现什么转载 2021-10-29 21:09:17 · 693 阅读 · 0 评论 -
网络:流媒体协议
视频是什么?其实就是快速播放的一连串连续的图片。每一张图片,我们称为一帧。只要每秒钟帧的数据足够多,也就是播放得足够快。 比如每秒30帧,以人的眼睛的敏感度,是看不出这是一张张独立的图片的,这就是我们常说的帧率(FPS)每一张图片都是由像素组成的,假设为1024*768。每个像素由RBG组成,每个8位,供24位我们来算一下,每秒钟的视频多大:30帧 * 1024 * 768 * 24 = 566,231,040bits = 70,778,880Bytes。如果是一分钟内?4,46,732,80转载 2021-10-31 19:58:59 · 275 阅读 · 0 评论 -
网络:WAF,保护我们的网络服务
引言HTTPS使用了SSL/TLS协议,加密整个通信过程,能够防止恶意窃听和篡改,保护我们的数据安全。但是HTTPS只是网络安全中很小的一部分,仅仅保护了通信链路安全,让第三方无法得知传输的内容。在通信链路的两端,也就是客户端和服务器,它是无法提供保护的。因为HTTP是一个开发的协议,Web服务都运行在公网上,任何人都可以访问,所以天然就会成为黑客攻击的目标。黑客可能会“假扮“成合法的用户访问系统,然后伺机搞破坏。黑客都有哪些手段来攻击 Web 服务呢?......转载 2021-11-02 15:50:36 · 455 阅读 · 0 评论 -
HTTP:客户端识别技术----非cookie技术介绍
Web服务器可能会同时与数千个不同的客户端进行对话。这些服务器通常要记录下它们与谁交谈,而不会认为所有的请求都来自匿名的客户端。本文注意讨论一些服务器可以用来识别其交谈对象的技巧。HTTP最初是一个匿名、无状态的请求/响应服务。服务器处理来自客户端的请求,然后向客户端回送一条响应。Web服务器几乎没有什么信息可以用来判定是哪个用户发送的请求,也无法记录来访用户的请求序列。后来,Web设计者了提供了一些用户识别机制:承载用户身份信息的HTTP首部客户端IP地址跟踪,通过用户的IP地址对其进行识别.转载 2021-07-26 21:07:24 · 758 阅读 · 0 评论 -
HTTP:CORS
CORSCORS (Cross-Origin Resource Sharing,跨域资源共享)是一个系统,它由一系列传输的HTTP头组成,这些HTTP头决定浏览器是否阻止前端JavaScript 代码获取跨域请求的响应同源安全策略默认阻止“跨域”获取资源。但是CORS给了web服务器这样的权限,即服务器可以选择,允许跨域请求访问到它们的资源。CORS 头Access-Control-Allow-Origin是一个响应头用于指示该响应的资源能共享给哪些域。语法Access-Control转载 2021-08-13 11:28:01 · 311 阅读 · 0 评论 -
HTTP:实时消息推送
1、什么叫做消息推送传统互联网上数据交互一般有poll和push两种方式。poll典型使用场景是浏览网页,是用户主动发起请求,向服务器获取数据;push刚好相反,通过服务器直接发送数据给客户端,用户被动接受消息,类似于更加及时的短信。PUSH是互联网上内容提供者和内容定制方之间的一种通信机制,利用在服务器端的程序把数据源源不断地推向客户端,大大提高客户机和服务器之间的交互性能。2、有哪些可以......原创 2019-01-17 13:12:33 · 10462 阅读 · 0 评论 -
HTTP:请求范围
HTTP请求范围HTTP协议范围请求允许服务器只发送HTTP消息的一部分到客户端。范围请求在传送大的媒体文件,或者与文件下载的断点续传功能搭配使用时非常有用。检测服务器端是否支持范围请求假如在响应中存在 Accept-Ranges首部(并且它的值不为 “none”),那么表示该服务器支持范围请求。例如,你可以使用 cURL 发送一个 HEAD 请求来进行检测。curl -I http://i.imgur.com/z4d4kWk.jpgHTTP/1.1 200 OK...Accept-Rang转载 2021-08-16 11:43:22 · 4014 阅读 · 0 评论 -
HTTP:URL重定向
URL重定向,也称为URL转发,是一种当实际资源,比如单个页面、表单或者整个Web应用被迁移到新的URL下的时候,保持(原有)连接可用的技术。HTTP协议提供了一种特殊形式的响应----HTTP 重定向(HTTP redirects)来执行此类操作。重定向可以实现很多目标:站点维护或者停机期间的临时重定向永久重定向将在更改站点的URL,上传文件时的进度页等之后保留现有的链接/书签。上传文件时的表示进度的页面原理在HTTP协议中,重定向操作由服务器通过发送特殊的响应(即 redirects)而转载 2021-08-13 11:10:08 · 6204 阅读 · 0 评论 -
HTTP:抓包分析[输入网址到响应]的过程
使用IP地址访问Web服务器在ZAZAHTTP:搭建HTTP实验环境中,我们使用IP地址访问web服务器首先我们运行 www 目录下的“start”批处理程序,启动本机的 OpenResty 服务器,启动后可以用“list”批处理确认服务是否正常运行。然后我们打开 Wireshark,选择“HTTP TCP port(80)”过滤器,再鼠标双击“Npcap loopback Adapter”,开始抓取本机 127.0.0.1 地址上的网络数据。第三步,在 Chrome 浏览器的地址栏里输入“htt转载 2021-10-28 20:11:06 · 2767 阅读 · 1 评论 -
网络:没有accept(),能建立TCP连接吗
上面这个动图,是我们平时客户端和服务端建立连接时的代码流程。对应的是下面一段简化过的服务端伪代码。int main(){ /*Step 1: 创建服务器端监听socket描述符listen_fd*/ listen_fd = socket(AF_INET, SOCK_STREAM, 0); /*Step 2: bind绑定服务器端的IP和端口,所有客户端都向这个IP和端口发送和请求数据*/ bind(listen_fd, xxx); /*St.转载 2021-09-30 14:17:56 · 727 阅读 · 3 评论 -
网络:反向代理和负载均衡有何区别?
反向代理与负载均衡的区别做了反向代理才能实现负载均衡。负载均衡是做反向代理的目的之一。引入刚开始时,网站会是以单个节点作为后端Server的C/S架构。对于请求量非常少的服务,这样的部署不会有什么问题,但如果这个服务请求量上来的时候,这样部署的架构就很有问题了。首先一个很客观的问题就是,如果单从服务器的物理特性来看,这个服务器就不能支持这么高的请求量。这种情况下,就迫使开发者去把服务迁移到一个CPU更强、内存更高,综合性能更好的服务器。通过更换服务器当然可以解决这个问题,在不考虑成本的条件下.转载 2021-09-28 11:44:30 · 2316 阅读 · 0 评论 -
网络:分布式和网络的区别
单机结构我想大家最最最熟悉的就是单机结构,一个系统业务量很小的时候所有的代码都放在一个项目中就好了,然后这个项目部署在一台服务器上就好了。整个项目所有的服务都由这台服务器提供。这就是单机结构。那么,单机结构有啥缺点呢?我想缺点是显而易见的,单机的处理能力毕竟是有限的,当你的业务增长到一定程度的时候,单机的硬件资源将无法满足你的业务需求。此时便出现了集群模式,往下接着看。集群结构集群模式在程序猿界有各种装逼解释,有的让你根本无法理解,其实就是一个很简单的玩意儿,且听我一一道来。单机处理到达瓶颈.转载 2021-09-17 15:42:05 · 419 阅读 · 0 评论 -
网络:IP数据包是如何进行远程定位的
TCP模块在进行连接、收发、断开等各阶段的操作时,都需要委托IP模块将数据封装成网络包发送给通信对象IP包头格式如下:在 IP 协议里面需要有源地址 IP 和 目标地址 IP:源地址IP,即是客户端输出的 IP 地址;目标地址,即通过 DNS 域名解析得到的 Web 服务器 IP因为 HTTP 是经过 TCP 传输的,所以在 IP 包头的协议号,要填写为06 (十六进制),表示协议为TCP。TTL生存时间字段设置了数据报可以经过的最多路由数。它指定了数据报的生存时间。TTL的初始值由源.转载 2022-03-30 21:16:50 · 964 阅读 · 0 评论 -
网络编程:C10K问题而引出的reactor模型
C10问题随着互联网的蓬勃发展,一个非常重要的问题摆在计算机工业界面前。这个问题就是如何使用最低的成本满足高性能和高并发的需求。这个问题在过去可能不是一个严重的问题,但是在2000年前后,互联网用户的人数井喷,如果说之前单机服务的用户数量还保持在一个比较低的水平,比如说只有上百个用户,那么在互联网逐渐普及的情况下,服务于成千上万的用户就将是非常普遍的情形,在这种情形下,如何还按照之前单机的玩法,成本就将超过人们想象,只有超级有钱的大玩家才可以继续下去。于是,C10K问题应运而生。C10问题是这样的:如何转载 2021-12-08 15:14:50 · 594 阅读 · 0 评论 -
网络:TCP的三次握手
当服务端接收到客户端的 SYN 报文时,会创建一个半连接的对象,然后将其加入到内核的「 SYN 队列」;接着发送 SYN + ACK 给客户端,等待客户端回应 ACK 报文;服务端接收到 ACK 报文后,从「 SYN 队列」取出一个半连接对象,然后创建一个新的连接对象放入到「 Accept 队列」;应用通过调用 accpet() socket 接口,从「 Accept 队列」取出连接对象。不管是半连接队列还是全连接队列,都有最大长度限制,超过限制时,默认情况都会丢弃报文。关于。转载 2021-06-21 15:32:58 · 3080 阅读 · 0 评论 -
网络:tcpdump
tcpdump是什么通俗的说,tcpdump是一个抓包工具,用于抓取互联网上传输的数据包。形象的说,tcpdump就好比是国家海关,驻扎在出入境的咽喉要道,凡是要入境和出境的集装箱,海关人员总要打开箱子,看看里面都装了点啥。学术的说,tcpdump是一种嗅探器(sniffer),利用以太网的特性,通过将网卡适配器(NIC)置于混杂模式(promiscuous)来获取传输在网络中的信息包。tcpdump 可以工作在各种 Unix类的操作系统上,包括 Linux、FreeBSD、macOS、Sol转载 2020-10-19 16:07:16 · 1714 阅读 · 0 评论 -
网络:Servlet的本质是什么?为什么要有Servlet?
Servlet的作用servlet本质上是一个接口,它压根就不管也管不着哪些网络协议、http。那servlet到底是干什么的呢?很简单,接口的作用是什么?规范呗!servlet接口定义的是一套处理网络请求的规范,所有实现servlet的类,都需要实现它的那五个方法,其中最主要的是两个声明周期方法init()和destory(),还有一个处理请求的service()。也就是说,所有实现servlet接口的类,或者说,所有想要处理网络请求的类,都需要回答这三个问题:你初始化时要做什么?你销毁时要转载 2022-02-25 09:32:04 · 1830 阅读 · 2 评论 -
网络:为什么QQ用的以UDP为主,TCP为辅助
TCP VS UDP这两种传输协议用于不同的业务和不同的硬件终端类似于图像、声音等对可靠性要求没有那么高的业务可以用UDP,它们不需要准确存储对准备性无要求但要求速度快。类似于文本、程序、文件等要求可靠的数据最好就用TCP,但会牺牲一些速度对系统资源的要求:TCP较多、UDP少程序结构:UDP程序结构较简单,TCP复杂流模式与数据报模式:TCP保证数据正确、UDP可能丢包TCP保证数据顺序,UDP不保证用途:TCP是面向连接的,有比较高的可靠性,一些要求比较高的服务使用这些协议,比如F转载 2022-01-31 00:03:37 · 5459 阅读 · 0 评论 -
网络:当你键入网址之后,发生了什么
URI解析一般过程当你在浏览器中输入信息时,浏览器就已经开始进行工作了。首先它会监听我们输入的信息并尝试匹配出你想要访问的网址或关键词,以 chrome 为例,它会猜我们想要什么,给出下面的建议项:使用默认搜索引擎搜索关键字书签,历史记录和最近下载中存储的其他链接使用默认搜索引擎的相关关键字搜索选项当我们在地址栏输入xxxx.com后回车,命令浏览器搜索信息。浏览器就会对输入的信息进行以下判断:输入的是不是一个合法的URI如果不是,就将输入的内容作为搜索的条件,生成一个HTTP数据转载 2020-10-23 13:09:36 · 640 阅读 · 0 评论 -
网络:浏览器是如何解析URL的
URI解析一般过程当你在浏览器中输入信息时,浏览器就已经开始进行工作了。首先它会监听我们输入的信息并尝试匹配出你想要访问的网址或关键词,以 chrome 为例,它会猜我们想要什么,给出下面的建议项:使用默认搜索引擎搜索关键字书签,历史记录和最近下载中存储的其他链接使用默认搜索引擎的相关关键字搜索选项当我们在地址栏输入xxxx.com后回车,命令浏览器搜索信息。浏览器就会对输入的信息进行以下判断:输入的是不是一个合法的URI如果不是,就将输入的内容作为搜索的条件,生成一个HTTP数据转载 2022-03-29 17:05:22 · 398 阅读 · 0 评论 -
网络:TCP分割数据以及MSL、MTU、MSS的关系
TCP 分割数据如果 HTTP 请求消息比较长,超过了MSS 的长度,这时 TCP 就需要把 HTTP 的数据拆解成一块块的数据发送,而不是一次性发送所有数据。MTU :一个网络包的最大长度,以太网中一般为 1500 字节。MSS :除去IP 和 TCP头部之后,一个网络包所能容纳的 TCP 数据的最大长度。数据会被以 MSS的长度为单位进行拆分,拆分出来的每一块数据都会被放进单独的网络包中。也就是在每个被拆分的数据加上TCP 头信息,然后交给 IP 模块来发送数据。MSL、MTU、MSS转载 2022-03-30 17:43:27 · 4180 阅读 · 0 评论 -
网络:TCP/IP是如何实现可靠传输的?
问题:TCP是如何实现可靠传输的?TCP/IP可靠传输的基础是滑动窗口协议和连续ARP协议,配合流量控制和拥塞控制,使得整个传输过程保证:传输信道无差错不管发送方以多快的速度发送数据,接收方总是来得及处理收到的数据(通过累计确认、超时重传、拥塞控制三大模块保证)滑动窗口协议和连续ARQ协议停止等待ARQ协议“停止等待”就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。停止等待协议对信道的利用率不高,因为发送方每发送一个消息,都需要等待确认消息回来,只要确认消息转载 2022-03-29 23:42:37 · 2064 阅读 · 0 评论 -
网络:TCP的滑动窗口与流量控制和拥塞控制
文章目录滑动窗口的是怎么做流量控制的窗口为什么要引入窗口机制什么是窗口机制窗口大小有哪一方决定发送方的滑动窗口接收方的滑动窗口流量控制窗口关闭窗口关闭潜在的危险TCP 是如何解决窗口关闭时,潜在的死锁现象呢?糊涂窗口综合症总结谈谈你对滑动窗口的了解?什么是滑动窗口什么是流量控制?为什么要流量控制?窗口探测流量控制引发的死锁?怎么避免死锁的发生?糊涂窗口综合症?怎么解决?发送窗口和拥塞窗口的区别?如何实现流量控制当网络上数据流量超过网络硬件负荷时就会出现网络拥塞,就是我们平常遇到的网络缓慢的现象。对应影响转载 2022-03-29 16:48:21 · 4374 阅读 · 0 评论 -
网络:TCP的重传机制
什么是重传机制TCP实现可靠传输的方式之一,就是通过序列号和确认应答。在TCP中,当发送端的数据到达接收端之后,接收端主机会返回一个确认应答消息,表示已经接收到消息在网络复杂,并不一定能够上上图那样正常的数据传输,数据有可能在传输过程中丢失。所以TCP针对数据包丢失测情况,会用重传机制来解决常见重传机制有四种:超时重传快速重传SACKD-SACK超时重传重传机制的其中一个方式,就是在发送数据时,设定一个定时器,当超过指定的时间RTO后,没有收到对方的ACK确认应答报文,就会重发.转载 2022-03-29 14:57:40 · 4047 阅读 · 0 评论 -
网络:最大分组 MSL 是 TCP 分组在网络中存活的最长时间吗?
如何理解TCP四次挥手首先,一方应用程序调用close,我们称之为主动关闭方,该端的TCP发送一个FIN包,表示需要关闭连接,之后主动关闭方进入FIN_WAIT_1状态。接着,接收到这个FIN包的对端执行被动关闭。这个FIN由TCP协议栈处理,我们知道,TCP协议栈为FIN包插入一个文件描述符EOF到接收缓冲区中,应用程序可以通过read调用来感知这个FIN包。一定要注意,这个EOF会被放在已排队等候的其他已接收的数据之后,这就意味着接收端应用程序需要处理这种异常情况,因为EOF表示在该连接上再无额外转载 2021-12-06 22:59:30 · 887 阅读 · 0 评论 -
网络:TCP包头格式
首先,源端口号和目标端口号是不可少的,如果没有这两个端口号,数据就不知道应该发给哪个应用。接下来有包的序号Seq,这个是为了解决包乱序的问题。TCP连接中传送的数据流中的每一个字节都有一个序号。序号字段的值指的是本报文所发送的第一个字节的序号。确认号Ack,目的是确认发出去对方是否有收到。如果没有收到就应该重新发送,直到送达,这个是为了解决不丢包的问题。ACK是期望收到对方下一个报文段的数据的第一个字节的序号。只有ACK标志位为1时,确认序号字段才有效,ACK=SEQ+1..转载 2022-03-30 17:19:23 · 1111 阅读 · 1 评论 -
网络:什么是TCP粘包/半包?怎么解决这个问题
在socket网络编程中,都是端到端通信,由客户端端口+服务端端口+客户端IP+服务端IP+传输协议组成的五元组可以明确的标识一条连接。在TCP的socket编程中,发送端和接收端都有成对的socket。发送端为了将多个发往接收端的包,更加高效的发给接收端,于是采用了Nagle算法,将多次间隔较小,数据量较小的数据,合并成一个数据量大的数据块,然后进行封包。那么这样一来,接收端就必须使用高效科学的拆包机制来分辨这些数据。什么是TCP粘包问题TCP粘包就是指发送方发送的若干包数据到达接收方时粘成了一包,从转载 2021-08-06 13:44:33 · 4162 阅读 · 2 评论 -
网络:什么叫做TCP流
在一些技术文档中,特别是wireshark相关的文档中,“TCP流"是一个很常见的词汇。它是什么意思呢?为什么叫做”流“呢?其实,这里的TCP流,就是TCP Stream。Stream这个词有”流“的意思,也有”连续的事件“这一含义,所以它是有前后、有顺序的,这也正对应了TCP的特点。跟Stream相对的一个词是Datagram,它是指没有前后关系的数据单元,比如UDP和IP都属于Datagram。在 Linux 网络编程里面,TCP 对应的 socket 类型是SOCK_STREAM,而 UDP 对应转载 2022-03-09 11:08:35 · 5208 阅读 · 0 评论 -
网络:应用层是通过socket库来和传输层打交道的
通过DNS获取到目的IP之后,就可以将HTTP的传输工作交给操作系统中的协议栈了。应用程序(浏览器)通过调用socket库,来委托协议栈工作。协议栈的上半部分有两块,TCP和UDP协议,负责接收应用层的委托执行数据收发工作。IP协议负责将数据块发送到目的IP。IP协议中还包括ICMP:用于追踪数据的发送过程,告知网络包传送过程中产生的数据以及各种控制信息ARP:根据IP地址查询相应的以太网MAC地址IP下面的网卡驱动程序负责控制网卡硬件,而最下面的网卡负责完成实际的收发操作(收发网线中的信号转载 2022-03-30 17:49:04 · 273 阅读 · 0 评论 -
网络:IP基础知识总结
IP的基本认识IP在TCP/IP参考模型中处于第三层,也就是网络层网络层的主要作用是:实现主机和主机之间的通信,也叫做点对点通信问:网络层和数据链路层的关系具体参考: 数据链路层VS网络层...转载 2020-10-14 17:25:20 · 12106 阅读 · 2 评论
分享