一、TCP报文格式 TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图:图1 TCP报文格式 上图中有几个字段需要重点介绍下: (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:Ack序号,占 ...
分类:
其他好文 时间:
2018-11-05 19:02:04
阅读次数:
192
1.TCP握手 TCP的根本目的是传输数据,而在正式传输之前需要同步一些信息,握手就是这些信息的同步过程,只有保证信息同步完成了(标志就是两端都确认对方收到了自己的SYN报文),才能开始交互数据。 [1]A向B发送SYN,A向B同步本端的连接信息(seq、MSS、SACK选项等等)。 [2]B向A发 ...
分类:
其他好文 时间:
2018-11-05 17:33:57
阅读次数:
125
UDP(User Datagram Protocol): 基于Intenet IP协议(复用/分用、简单的错误校验) 尽可能的服务(可能丢失、乱序到达) 无连接(不需要握手、每个UDP段独立于其他) 常用于流媒体应用(容忍丢失、速率敏感) UDP用于DNS、SNMP UDP上实现可靠数据传输: 在应 ...
分类:
其他好文 时间:
2018-11-04 22:56:13
阅读次数:
234
一、什么是socket? 中文名叫套接字,是对底层的 TCP IP UDP 等网络协议进行封装,使得上层的应用程序开发者,不用直接接触这对复杂,丑陋的协议。 在程序员的言论,他就是一个封装好的模块,要完成网络通讯,只需要使用系统提供的socket模块就行,我们通过调用模块中已经实现的方法建立两个进程 ...
分类:
其他好文 时间:
2018-11-04 19:26:13
阅读次数:
165
第一次握手:建立连接时,客户端发送syn包到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号 第二次握手:服务器收到syn包,必须确认客户的SYN,同时自己也发送一个SYN包和一个ack包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN包和ACK包 ...
分类:
其他好文 时间:
2018-11-04 11:12:20
阅读次数:
172
网络编程知识点剖析 一. C/S 架构: Client / Server 客户端 / 服务端 B/S 架构: Browser / Server 前端 / 服务端 二.网络编程通信流程. 网卡 mac地址 IP地址 子网掩码 网关 DNS服务器 (进行域名(domain name)和与之相对应的IP地 ...
分类:
其他好文 时间:
2018-11-04 00:35:13
阅读次数:
171
ChannelOption.SO_BACKLOG, 1024 ChannelOption.SO_BACKLOG, 1024 BACKLOG用于构造服务端套接字ServerSocket对象,标识当服务器请求处理线程全满时,用于临时存放已完成三次握手的请求的队列的最大长度。如果未设置或所设置的值小于1, ...
分类:
Web程序 时间:
2018-11-03 15:23:13
阅读次数:
1160
TCP三次握手和四次挥手的问题在面试中是最为常见的考点之一。很多读者都知道三次和四次,但是如果问深入一点,他们往往都无法作出准确回答。 本篇尝试使用动画来对这个知识点进行讲解,期望读者们可以更加简单地地理解TCP交互的本质。 TCP 三次握手 TCP 三次握手就好比两个人在街上隔着50米看见了对方, ...
分类:
其他好文 时间:
2018-11-03 15:19:01
阅读次数:
117
TCP的概述 TCP 把连接作为最基本的对象,每一条 TCP 连接都有两个端点,这种断点我们叫作套接字(socket),它的定义为端口号拼接到 IP 地址即构成了套接字,例如,若 IP 地址为 192.3.4.16 而端口号为 80,那么得到的套接字为 192.3.4.16:80 。 但凡是基于 T ...
分类:
其他好文 时间:
2018-11-02 23:52:43
阅读次数:
271
前言 HTTP协议是整个Web的基础,是客户端和服务器端协同工作的基石,要想了解Web的工作原理、优化Web应用,就要完全理解HTTP协议。 HTTP的操作过程 1 ,浏览器分析指向页面的URL2 ,浏览器向DNS系统请求解析域名所对应的服务器IP地址3 ,DNS系统解析出服务器的IP,并返回给主机 ...
分类:
Web程序 时间:
2018-11-02 21:41:31
阅读次数:
161