网络协议

68次阅读

共计 1370 个字符,预计需要花费 4 分钟才能阅读完成。

TCP/IP 报文结构

4.time_wait 阶段
tcp 连接释放客户端收到服务器发送的链接释放 FIN 请求报文进 time_wait 阶段

5.tcp 连接释放第四次握手为什么需要等待 2 个最长报文段寿命 防止第四次握手客户段发送的 ACK 报文丢失,服务器无法正常关闭链接

6.tcp 连接释放第四次握手丢失 服务器端端口如何回收 保活计时器 — 服务器在每次接收到客户端数据时重设 该计数器(通常为 2 小时),若在设置时间内都 未能接收到客户端数据,服务器这是开始发送探测报文段,以后每隔 75 秒发送一次,若连续发送 10 个探测报文段仍无响应 服务器自动关闭链接。

tcp 流量控制
tcp 基于滑动窗口实施流量控制,流量控制目的在于发送方发送速率不能超出接收方的接收速率,即发送方的发送窗口值不能超出接收方给出的接收窗口值,tcp 的窗口单位为字节

tcp 拥塞控制
拥塞控制的目的在于防止过多的数据注入网络,避免网络中的路由或者链路过载

发送方动态调节发送窗口使其等于拥塞窗口,判断网络拥塞的依据是超时
拥塞控制算法:
慢开始:发送方设置初始拥塞窗口值为 2 至 4 个最大报文段 (MSS, 通常为 1460 字节) 长度值,每收到一个对新报文段确认则将发送方拥塞窗口值加 1,拥塞窗口增长呈指数增长

拥塞避免:拥塞窗口超出慢开始门限进入拥塞避免阶段,每经过一个传输轮次(传输轮次指发送方把当前拥塞窗口允许发送的报文段全部发送出去并且收到了最后最后一个字节的确认)其拥塞窗口值加 1,拥塞窗口增长呈线性增长

快重传:快重传对于失序到达报文段,接收方应立即发送对已到达报文段的重复确认,通常为 3 个重复确认,而非捎带确认,目的在于避免发送方误认为网络出现拥塞

快恢复:快重传使发送方知道网络只是存在个别报文段丢失,不启动慢开始算法,而开始执行拥塞避免算法

7.tcp 拥塞控制滑动窗口大小计算

tcp 拥塞窗口 cwnd 在拥塞控制时变化图示

2.https 与 http 的区别

3.https 中 rsa 加密在哪一阶段

7. 数字签名作用

8.TCP 和 UDP 的区别,DNS 基于哪一种

10restfull 如何理解

4.tcp 报文结构

5.socket 编程对应 tcp 连接 释放的阶段

TCP 连接释放常用套接字 API
s = socket(<parameters>) 创建一个新的,未命名,未关联的套接字
bind(s, <local IP:port>) 向套接字赋一个本地端口号和接口

connect(s, <remote IP:port>) 创建一条连接本地套接字和远程主机及端口的连接
listen(s, …) 标示一个本地套接字,使其可以合法接受连接
s2 = accept(s) 等待某人建立一条到本地端口的连接
n = read(s, buffer, n) 尝试从套接字向缓冲区读取 n 个字节
n = write(s, buffer, n) 尝试从套接字向缓冲区写入 n 个字节
close(s) 完全关闭 TCP 连接
shutdown(s,<side>) 只关闭 TCP 连接的输入或者输出端
getsocket(s, …) 读取某个内部套接字配置选项的值
setsocket(s, …) 修改某个内部套接字配置选项的值

TCP API 允许用户创建 TCP 的端点数据结构,将这些端点与远程服务器的 TCP 端点进行连接,隐藏了所有底层网络协议的握手细节,以及 TCP 数据流与 IP 分组之间的分段和重装细节

客户端和服务器通过 TCP 套接字接口进行通信图示

正文完
 0

网络协议

70次阅读

共计 2111 个字符,预计需要花费 6 分钟才能阅读完成。

计算机网络的基本组成
硬件系统:计算机、传输介质、网络设备
软件系统:网络操作系统、通信协议、网络软件
计算机网络的分类
1. 按网络覆盖的地理范围分类
局域网(LAN)
城域网(MAN)
广域网(WAN)
2. 按网络中计算机所处的地位分类
对等网
客户机 / 服务器网络
3. 网络拓扑结构:
计算机网络的拓扑结构就是指网络中的计算机、线缆以及其他组件的物理布局。
基本的网络拓扑结构主要有 4 种模式:总线型,星型,环型,混合拓扑结构。
URI 与 URL
URI: uniform resource identifier 统一资源标识符
URL: uniform resource locator 统一资源定位符,是通过 web 浏览器访问资源的
URN: uniform resource name,统一资源命名
详细说明:标识互联网上的内容
URL 是 URI 的一种,不仅标识了 Web 资源,还指定了操作或者获取方式,同时指出了主要访问机制和网络位置。URN 是 URI 的一种,用特定命名空间的名字标识资源。使用 URN 可以在不知道其网络位置及访问方式的情况下讨论资源。

URI 格式:
在浏览器中输入 url 地址 ->> 显示主页的过程

计算机网络体系结构
计算机网络体系结构分为 3 种:OSI 体系结构、TCP / IP 体系结构、五层体系结构。
主要讲解 TCP / IP 体系结构:
网络接口层
用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NTC(网络适配器,即网卡),及光纤等物理可见部分。硬件上的范畴均在链路层的作用范围之内。
交换机
Swtich 也成为网桥(MAC bridge),意为将多个 MAC 地址集中互联,组成网络。其面向的是 MAC 地址一层,属于数据链路层。
路由器用于在不同网络之间进行分组交换,其面向的是 IP 地址一层,属于网络层。因此相对交换机而言,最大的不同是各自面向的层级。
网际层
用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方的计算机,比把数据包传送给对方。
IP 协议
作用:把各种数据包传送给接收方,其中 IP 地址和 MAC 地址用于确定接收方的位置。
ARP(Adress Resolution Protocol) 是一种用以解析地址的协议,可以根据 IP 地址反查出对应的 MAC 地址

IP 地址(IPv4 地址)
连接在 Internet 中的每一台主机(或 路由器)的全球唯一的标识符。
组成 IP 地址 = 32 位 = 网络号 + 主机号

其中:
网络号:标志主机(或路由器)所连接到的网络。一个网络号在整个因特网范围内必须是唯一的。
主机号:标志该主机(或路由器)。一个主机号在它面前的网络号所指明的网络范围必须是唯一的。

不同类型的 IP 地址,其主机号 & 网络号所占字节数不同;故:一个 IP 地址在整个网络范围内是唯一的
子网掩码
A 类即:255.0.0.0
B 类即:255.255.0.0
C 类即:255.255.255.0
分类
传统的 IP 地址是分类的地址,分为 A,B,C,D,E 五类。
传输层
“ 传输层 ” 的功能,就是建立 ” 端口到端口 ” 的通信。传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。在传输层有 2 个性质不同的协议 TCP 和 UDP。
TCP 协议
TCP 位于传输层,提供可靠的字节流服务。
字节流服务是指为了方便传输,将大块数据分割成以报文段为单位的数据包进行管理。
三次握手
为了确保数据准确送达目标处,TCP 采用三次握手策略。

第一次:建立连接时,客户端发送 syn(synchronize) 包到服务器,并进入 SYN_SEND 状态,等待服务器确认;
第二次:服务器收到 syn 包,必须确认客户的 SYN,同时自己也发送一个 SYN 包,即 SYN+ACK(acknowledgement) 包,此时服务器进入 SYN_RECV 状态;
第三次:客户端收到服务器的 SYN+ACK 包,向服务器发送确认包 ACK,此包发送完毕,客户端和服务器进入 ESTABLISHED 状态,完成三次握手。

UDP 协议
User Datagram Protocol,即 用户数据报协议。
TCP、UDP 协议的区别:
应用层
决定了向用户提供应用服务时通信的活动。TCP/IP 协议族内预存了各类通用的应用服务。如:HTTP,FTP(文件传输协议) 和 DNS(域名系统)。
DNS
DNS(Domain Name System) 是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于 TCP/IP 网络,它所提供的服务是用来将主机名和域名转换为 IP 地址的工作。
HTTP
HTTP 协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的 WWW 文件都必须遵守这个标准。HTTP 是一个基于 TCP/IP 通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP 是在网络上传输 HTML 的协议,用于浏览器和服务器的通信。HTTP 协议工作于客户端 - 服务端架构为上。浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端即 WEB 服务器发送所有请求。
通信
进行通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则往应用层往上走。数据包的结构,基本上是下面这样:我们用 http 举例来说:

正文完
 0