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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> TCP/IP协议 -> 正文阅读

[网络协议]TCP/IP协议


一、TCP/IP五层(四层)模型

在这里插入图片描述

注意:物理层我们考虑的比较少,因此很多时候也可以称为TCP/IP四层模型
对于一台主机,它的操作系统内核实现了从传输层到物理层的内容
对于一台路由器,实现了从网络层到物理层
对于一台交换机,实现了从数据链路层到物理层
对于集线器,他只实现了物理层
但是并不绝对,很对交换机也实现了网络层的转发,很多路由器也实现了部分传输层的内容

二、数据包的封装和分用

1.不同协议层对数据包有不同的称谓,在传输层叫做段,在网络层叫做数据报,在数据链路层叫做帧
2.应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装
3.首部封装中包含了一些类似于首部有多长,载荷(payload)有多长,上层协议是什么等信息
4.数据封装成帧后发到传输介质上,达到目的的主机后每层协议再剥掉相应的首部,根据首部中的“上层协议字段”将数据交给对应的上层协议处理
封装过程如下

在这里插入图片描述
分用过程如下

在这里插入图片描述

三、应用层

该层为用于通信的应用程序和用于消息传输的底层网络提供接口。 网络应用是计算机网络存在的原因,而应用层正是应用层协议得以存在和网络应用得以实现的地方。

1.重要协议DNS(域名解析系统)

使用hosts文件来描述主机名和IP地址的关系,可手动设置映射关系,起到一些特定效果。但是,全世界客户端那么多,DNS”扛不住“了,

2.如何让全世界的客户端能被DNS系统提供服务?

1.缓存:将得到的IP缓存到本地,由浏览器进行。
2.分布式:DNS服务器不止一台,存在一些“根域名服务器”包含最高大全的域名解析数据,例如8.8.8.8,114.114.114.114,根据域名分级查询。

四、传输层

1.端口号

标识着一个主机上进行通信的而不同的应用程序;在TCP/IP协议中,用“源IP”,“源端口号”,“目的IP”,“目的端口号”,“协议号”五元组来标识一个通信。

2.端口号范围划分

1.0 - 1023: 知名端口号, HTTP, FTP, SSH等这些广为使用的应用层协议, 他们的端口号都是固定的。
2.1024 - 65535: 操作系统动态分配的端口号. 客户端程序的端口号, 就是由操作系统从这个范围分配的。

3.UDP协议

1.UDP协议端格式

在这里插入图片描述
注:1.16位UDP长度,表示整个数据报(UDP首部+UDP数据)的最大长度
2.如果校验和出错,就会直接丢弃

2.UDP的特点

1.无连接:知道对端的IP和端口就直接进行传输,不需要建立连接
2.不可靠:没有确认机制,没有重传机制,如果因为网络故障该段无法发到对方,UDP协议层不会给应用层返回任何错误信息
3.面向数据报:不能够灵活的控制读写数据的次数和数量

注意:UDP协议首部中有一个16位的最大长度,也就是说一个UDP能传输的数据最大长度是64K(包含UDP首部)

4.TCP协议

1.TCP协议段格式
在这里插入图片描述
1)源/目的端口号:表示数据是从哪个进程来的,到哪个进程去
2)4位TCP报头长度:表示该TCP头部有多少个32位bit(有多少个4字节);所以TCP头部最大长度是15 * 4 = 60
3)6位标志位:
URG:紧急指针是否有效
ACK:确认号是否有效
PSH:提示接收端应用程序立刻从TCP缓冲区把数据读走
RST:复位报文段,对方要求重新建立连接
SYN:同步报文段,请求建立连接
F I N:结束报文段,通知对方本端要关闭了
4)16位校验和:发送端填充,CRC校验,接收端校验不通过,则认为数据有问题,此处检验和不光包含TCP首部,也包含TCP数据部分
5)16位紧急指针:表示哪部分数据是紧急数据

2.TPC协议十大机制
TCP协议十大机制

五、网络层

网络层分为地址管理和路由选择

1.地址管理

32位整数表示主机地址,点分十进制,3点4部分
IP地址分为两部分:网络号和主机号
网络号:局域网的身份标识,保证相互连接的两个网段具有不同的标识
主机号:同一局域网的不同主机

子网掩码:一个32位整数,通常用一串0结尾,将IP地址和子网掩码进行“按位与”操作,得到的结果就是网络号
比如
在这里插入图片描述

2.路由选择

数据报传输的过程,根据目的IP查询路由表,以决定数据通过哪个网络接口进行转发

IP数据报的收发方式进行跨网投递时, 数据从发送方发出,首先需要到达本网段路由器,发送方需利用ARP协议获取发送方本段路由器对应端口的MAC地址

注:IP地址不够用???

解决方法:
1.动态分配IP(治标不治本)
2.NAT机制
把IP地址分成“外网IP”和“内网IP”,用一个外网IP代替n个内网IP(好比一个局域网内的不同设备)
3.IPv6(协议)

六、数据链路层

1.以太网

以太网帧格式
在这里插入图片描述
帧协议类型字段有三种值,分别对应IP、ARP、RARP;
帧尾是CRC校验和,为了验证数据的正确性,一般出现高温、低温、宇宙辐射、磁场变化可能导致比特翻转

2.对比理解MAC地址和IP地址

MAC地址,标识两个相邻节点的源和目的,通常是唯一的,描述的是路途上的每一个区间的起点和终点
IP地址描述的是路途总体的起点和终点

3.ARP协议

ARP协议,根据IP查询MAC地址
RARP协议,根据MAC地址,查询IP地址
已知MAC地址才会才能构造以太网数据帧,获取下一个设备是谁,先获取到下一个设备的IP(查路由表),根据下一个设备的IP找到下一个设备的MAC地址(ARP协议进行辅助,并不携带数据),每隔一段时间
,给当前局域网进行广播,把ARP请求广播给区域网中所有设备,各个收到请求的设备回应一个ARP响应,响应中自带IP和MAC地址,路由器将二者关系保存

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:47:35  更:2021-08-10 13:49:24 
 
开发: 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/25 19:23:49-

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