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.1 网络层的功能

?????????1.2 ICMP协议

? ? ? ? 1.3 ARP协议

? ? ? ? ?1.4 ARP攻击原理

? ? ? ? 二、传输层协议

? ? ? ? 2.1 TCP协议

? ? ?2.2 三次握手

???????? 2.4 四次断开

? ? ? ? 三、TCP端口号和功能

? ? ? ? 3.1 常用端口号和功能

? ? ? ? 3.2 端口号的定义和分类

? ? ? ? 四、总结


一、网络层介绍

? ? ? ? 1.1 网络层的功能

? ? ? ? 网络层的功能:定义基于IP协议的逻辑地址,连接不同的网段,选择数据通过网络的最佳的路径。

? ? ? ? ?其中协议号指的是上层协议TCP协议号为6、UDP协议号为17。

? ? ? ? ?IP地址的封装格式

?????????1.2 ICMP协议

? ? ? ? ICMP:Internet控制报文协议,是错误侦测与回馈机制。

? ? ? ? 作用:测试网络联通性并给予一定的反馈。(ping+IP地址)(tracert+IP)

?(ping的常用命令:ping -t:参数可以一直不停的执行ping,ctrl+c可以中断命令,用来

? ? ? 调试故障或需要进行持续连通性测试时应用。

? ? ? ping -a:参数可以显示目标主机的名称。

??????ping -l:参数可以设定ping包的大小默认的字节大小为32位)

? ? ? ? 1.3 ARP协议

? ? ? ? ARP协议:正向地址解析协议,即ARP,是根据IP地址获取物理地址的一个TCP/IP协议将一个已知的目标IP地址解析成对应的MAC地址。(使用场合:已知目标IP,未知目标MAC用)。

? ? ? ? 工作原理:pc1已知pc2的IP,未知pc2的mac时候,用pc1发送ARP广播给二层交换机,二层交换机收到ARP广播消息进行无条件泛洪处理,连接到二层交换机下的所有pc都接收此消息,每个pc会对自己的IP的地址和目标IP进行比对,若一致则接收广播消息,并回复给pc1,pc1接收到返回的数据包后会记录下pc2的IP和mac地址,记录到ARP缓存表中,若不一致则丢弃处理。

?(常用的ARP的命令:arp -a 查看本地网卡缓存,arp -s +IP+MAC ARP绑定,arp -d +IP地址 删除特定IP)

? ? ? ? ?1.4 ARP攻击原理

????????ARP攻击主要是通过伪造IP地址和MAC地址进行欺骗。使以太网数据包的源地址、目标地址和ARP通信数量剧增导致网络中断或中间人攻击。ARP攻击主要存在于局域网中。若其中一台计算机感染ARP病毒。就会试图通过ARP欺骗截获局域网内其他计算机的信息,造成局域网内的计算机通信故障。

? ? ? ? ?(避免ARP攻击的方法:手动ARP绑定,还可以借助第三方软件进行绑定)

? ? ? ? 二、传输层协议

? ? ? ? 2.1 TCP协议

? ? ? ? TCP协议是面向连接的,可靠的进程到进程通讯协议,提供全双工服务,数据可以同一时间双向传输。

源端口和目的端口字段——各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。

序号字段——占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。

确认号字段——占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。

数据偏移(即首部长度)——占 4 位,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位是 32 位字(以 4 字节为计算单位)。

保留字段——占 6 位,保留为今后使用,但目前应置为 0。

紧急 URG —— 当 URG ? 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。

确认 ACK —— 只有当 ACK ? 1 时确认号字段才有效。当 ACK ? 0 时,确认号无效。

推送 PSH (PuSH) —— 接收 TCP 收到 PSH = 1 的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。

复位 RST (ReSeT) —— 当 RST ? 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。

同步 SYN —— 同步 SYN = 1 表示这是一个连接请求或连接接受报文。

终止 FIN (FINish) —— 用来释放一个连接。FIN ? 1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。

窗口字段 —— 占 2 字节,用来让对方设置发送窗口的依据,单位为字节。

检验和 —— 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。

紧急指针字段 —— 占 16 位,指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。

选项字段 —— 长度可变。TCP 最初只规定了一种选项,即最大报文段长度 MSS。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。

? ? ?2.2 三次握手

? ? ? ? TCP建立连接的过程称为三次握手。

? ? ? ? 原理:客户端向服务器发送SYN同步请求,请求与服务器建立连接,服务器收到SYN同步请求后会针对客户端的SYN同步请求进行ACK响应,响应的同时会发送一个SYN同步请求,当客户端接收到服务器发过来的SYN同步请求会给予一个ACK响应。

? ? ? ?第一次握手:建立连接时,客户端A发送SYN包(SYN=x)到服务器B,并进入SYN_SEND状态,等待服务器B确认。

????????第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=x+1),同时自己也发送一个SYN包(SYN=x),即SYN+ACK包,此时服务器B进入SYN_RECV状态。

????????第三次握手:客户端A收到服务器B的SYN+ACK包,向服务器B发送确认包ACK(ACK=x+1),此包发送完毕,客户端A和服务器B进入ESTABLISHED状态,完成三次握手。

????????完成三次握手,客户端与服务器开始传送数据

???????? 2.4 四次断开

????????TCP断开的过程称为四次断开。

? ? ? ? 原理:客户机向服务器发送FIN断开请求,服务器接收到此请求后,回复一个ACK,服务器向客户机发送一个FIN断开请求,客户机收到请求后,回复一个ACK断开连接。

? ? ? ? ?如果过程中TCP处于半封闭状态是什么情况:客户机向服务器发送FIN请求,服务器也正常给予ACK响应,但是服务器和客户机之间还有数据没有传输完,因此服务器并没有向客户机发送FIN请求。

? ? ? ? 三、TCP端口号和功能

? ? ? ? 3.1 常用端口号和功能

21FTPFTP服务器所开发的控制端口

23

TELNET用于远程登陆,可以远程控制目标计算机
25SMTPSMTP服务器开放的端口用于发送邮件
80HTTP超文本传输协议
110POP3用于邮件接收

? ? ? ? 3.2 端口号的定义和分类

? ? ? ? 客户段根据需要那种服务,从而发送到特定的目的的端口,端口划分位三个类别,其类别范围介于1到65,555之间。

? ? ? ? 1.公认端口:与通用网络应用程序相关联的目的端口称为公认的端口,端口范围1到1023。

? ? ? ? 2.注册端口:端口从1024到4915可作为源端口或目的端口使用,组织可以使用这些端口进行端口注册即时消息等应用程序。

? ? ? ? 3.私有端口:端口49152到65535通常用于源端口。

? ? ? ? (客户机端口号随机变化,服务器端口号是固定不变的)

? ? ? ? 四、总结

? ? ? ? ? ? ?三次握手请求了三次,断开四次次的原因是:数据传输方向是双向传输,一个方向的数据通道关闭需要一次请求和一次确认,因此需要断开两次,而我们有两个数据方向,因此要断四次。简单说来是 “先关读,后关写”,一共需要四个阶段。1.服务器读通道关闭。2.客户机写通道关闭。3.客户机读通道关闭。4.服务器写通道关闭

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

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