IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络基础篇 -> 正文阅读

[网络协议]计算机网络基础篇

1. 计算机网络的两种体系结构

  • tcp/ip体系结构:网络接口层- 网络层-运输船-应用层
  • osi体系结构:物理层-数据链接层、网络层、运输层、会话层、表示层、应用层
  • 原理体系结构:物理层-数据链路层-网络层-运输层-表示层
  • 各个层传递信息,每次加一个协议头,接收设别层层解析

2. http

  • 两个进程的响应
  • http超文本传输协议
  • 请求响应过程:请求地址然后解析域名然后请求ip地址,客户端接收到请求报文,返回响应
  • 持久性连接和非持久连接,http是非持久连接
  • http请求特点:简单、灵活和易于扩展、应用广泛和跨平台
  • http报文:请求头(通用首部、请求首部、响应首部、请求行、响应行)、消息正文

3. tcp/udp

  • 端口与端口的通信
  • tcp是面向连接的,可靠的,基于字节流的传输层通信协议
  • tcp报文端结构:

    在这里插入图片描述
tcp三次握手和四次挥手

在这里插入图片描述
位码即tcp标志位,有6种标示:
SYN(synchronous建立联机)
ACK(acknowledgement 确认)
PSH(push传送)
FIN(finish结束)
RST(reset重置)
URG(urgent紧急)
Sequence number(顺序号码)
Acknowledge number(确认号码)

  • 第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B由SYN=1知道,A要求建立联机;

  • 第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包;

  • 第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功。在这里插入图片描述

【问题1】为什么连接的时候是三次握手,关闭的时候却是四次握手?

答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,“你发的FIN报文我收到了”。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

【问题2】为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?

答:虽然按道理,四个报文都发送完毕,我们可以直接进入CLOSE状态了,但是我们必须假象网络是不可靠的,有可以最后一个ACK丢失。所以TIME_WAIT状态就是用来重发可能丢失的ACK报文。

tcp可靠传输
  1. 重传机制:序列号和确认应答,如果没有则表示需要重传、超时重传
  2. 滑动窗口:
    在这里插入图片描述
  3. 流量控制:接收方控制发送流量
  4. 拥塞控制:拥堵窗口,cwrd变大,发现拥堵,cwrd减小

4.ip

  • 主机与主机的通信
  • ip的地址的分类
    在这里插入图片描述
    IP地址根据网络号和主机号来分,分为A、B、C三类及特殊地址D、E。 全0和全1的都保留不用。

A类:(1.0.0.0-126.0.0.0)(默认子网掩码:255.0.0.0或 0xFF000000)第一个字节为网络号,后三个字节为主机号。该类IP地址的最前面为“0”,所以地址的网络号取值于1~126之间。一般用于大型网络。

B类:(128.0.0.0-191.255.0.0)(默认子网掩码:255.255.0.0或0xFFFF0000)前两个字节为网络号,后两个字节为主机号。该类IP地址的最前面为“10”,所以地址的网络号取值于128~191之间。一般用于中等规模网络。

C类:(192.0.0.0-223.255.255.0)(子网掩码:255.255.255.0或 0xFFFFFF00)前三个字节为网络号,最后一个字节为主机号。该类IP地址的最前面为“110”,所以地址的网络号取值于192~223之间。一般用于小型网络。

D类:是多播地址。该类IP地址的最前面为“1110”,所以地址的网络号取值于224~239之间。一般用于多路广播用户[1] 。

E类:是保留地址。该类IP地址的最前面为“1111”,所以地址的网络号取值于240~255之间。

无分类地址CIDR

CIDR概述

CIDR是无类别域间路由
CIDR取消了IP地址的分类限制,可以取IP地址的任意前缀作为网络号
CIDR改善了IP地址的分配方式,缓解了IP地址危机
CIDR可以利用层次网络和路由汇总减小路由器中路由表的规模,提高转发速度

CIDR地址说明
CIDR地址的网络地址由前缀或掩码决定

128.14.32.5/20表示该IP地址前20位为网络号,后12位为主机号,即掩码为255.255.240.0
CIDR地址的网络地址和广播地址本质不变
主机号全0为网络地址,全1为广播地址
128.14.32.0/32表示一个网络地址,即一个CIDR地址块

ip地址和路由控制
ip分片和重组
ip协议相关的技术之DNS(域名解析)、ARP(地址解析协议ip-mac)、DHCP(动态主机配置协议)、NAT(地址转换协议)

5.数据链路层

  • 加上帧头和帧尾
  • mac地址全球唯一
  • mac地址之间的通信
  • ARP(地址解析协议ip-mac)

6.计算机网络综合

输入网址后网络发生啦什么
  • http-tcp-ip-mac层层封装传递找到目标mac地址
  • 目标mac地址层层解析后接收到并发送响应报文

详细过程

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-27 10:15:37  更:2021-11-27 10:17:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:53:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码