| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 网络层(ICMP/ARP)和传输层(TCP) -> 正文阅读 |
|
[网络协议]网络层(ICMP/ARP)和传输层(TCP) |
目录
定义了基于IP协议的逻辑地址 连接不同的网段 选择数据转发时的最佳路径
协议字段:协议号:TCP是6,UDP是17
定义:Internet控制报文协议 错误侦测和回馈机制 作用:测试网络连通性并给予一定反馈 命令:?ping?
tracert(路由跟踪的功能) 能够显示从源到目标路径经过的设备,在排障环节发挥作用。
?ARP协议:地址解析协议 工作原理:PC1已知PC2IP地址 未知mac地址的情况下,PC1发送arp广播给二层交换机,二层交换机收到广播,无条件进行泛洪处理,连接在二层交换机下的所有主机收到该广播消息,每个PC会将自己ip与目标ip比对,若一致则回传数据给PC1,若不一致则丢弃处理,PC1收到PC2返回的数据,将PC2的ip地址和mac地址记录在ARP缓存表中,下次请求时直接查询ARP缓存以节约资源。 ? RARP:反向地址解析协议 使用场合:已知目标MAC地址,未知目标IP时候用; Windows系统中的ARP命令: arp -a:查看ARP缓存表 arp -d:清除ARP缓存(一般不会清除静态ARP缓存,清除的是动态ARP缓存) ARP绑定? ?arp -s 192.168.1.1 ?aa-aa-aa-aa-aa-aa 华为模拟器的ARP命令 查看arp缓存< >/[ ]display arp arp捆绑[ ]arp static 192.168.0.100 ?AAAA-AAAA-AAAA 删除ARP缓存< >reset arp all ?清除所有ARP缓存 ? ? ? ? ? ? ? ? ? ? ?< >reset arp static ? 清除静态ARP缓存
ARP请求为广播形式发送的,网络上的主机可以自主发送ARP应答消息,并且当其他主机收到应答 报文时不会检测该报文的真实性就将其记录在本地的MAC地址转换表,这样攻击者就可以向目标 主机发送伪ARP应答报文,从而篡改本地的MAC地址表。 ARP欺骗可以导致目标计算机与网关通信失败,更会导致通信重定向,所有的数据都会通过攻击者 的机器,因此存在极大的安全隐患。 ?有ARP欺骗网关,ARP欺骗主机等
TCP是面向连接的,可靠的进程到进程通信的协议 TCP提供全双工服务,即数据可在同一时间双向传输 TCP报文段: (1)TCP将若干个字节构成一个分组,叫报文段(Segment) (2)TCP报文段封装在IP数据报中 (1)端口号:用来标识同一台计算机的不同的应用进程。 (2)源端口:源端口和IP地址的作用是标识报文的返回地址。 (3)目的端口:端口指明接收方计算机上的应用程序接口。 (4)序号:发送端为每个字节进行编号,便于接收端正确重组。 (5)确认号:用于确认发送端的信息。 (6)窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的。 控制位:URG ?ACK ?PSH ?RST ?SYN ?FIN,共6个,每一个标志位表示一个控制功能。 1)ACK:确认序号标志,为1时表示确认号有效,为0表示报文中不含确认信息,忽略确认号字段。 2)SYN:同步序号,用于建立连接过程,在连接请求中,SYN=1和ACK=0表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即SYN=1和ACK=1。 3)FIN:finish标志,用于释放连接,为1时表示发送方已经没有数据发送了,即关闭本方数据流
三次握手原理:客户端向服务器发送SYN同步请求,请求与服务器建立连接,服务器收到此SYN同步请求后,会针对客户端的SYN同步请求进行ACK响应的同时也会发送一个SYN同步请求,当客户端收到服务器发过来的SYN同步请求时,会给予一个ACK响应 ?为何进行三次握手:因为TCP是可靠的传输层协议,它在传输数据前,会建立双向数据通信通道,当保证双向数据传输的通道没有问题时,才会发送数据,起到保护数据的作用 四次挥手原理:?客户端向服务器发送FIN断开请求,服务器接收到此请求后,回复一个ACK;服务器向客户机发送FIN断开请求,客户机收到此请求后,回复一个ACK响应。 三次握手握三次,为什么断开要断四次? 即SYN建立连接报文与ACK确认接收报文是在同一次"握手"当中传输的,所以"三次握手"不多也不少,正好让双方明确彼此信息互通。 数据传输方向是双向的,一个方向的数据通道关闭需要一次请求和一次确认,因此需要断两次,而我们有两个数据方向,因此需要断四次。 TCP半关闭状态 客户机向服务器发送了FIN请求,服务器也给予了ACK响应。但是,服务器和客户机之间还有数据要传输,因此服务器并没有向客户机立即发送FIN请求 常用的TCP端口号及其功能
---端口25和110是对应关系。 端口号范围 客户端根据需要那种服务,从而发送到特定的目的端口 端口划分为三个类别,其范围介于1到65,535之间。 公认端口(服务器用): 与通用网络应用程序相关联的目的端口称为公认端口这些端口的范围从1到1023。 注册端口(C/S): 端口1024到49151可作为源端口或目的端口使用。组织可使用这些端口注册即时消息等应用程序。 私有端口(客户机用): 端口49152到65535通常作为源端口使用。 总结:服务器端口号小且固定不变;客户机的端口号大(上万)且不固定。 总结:ARP地址解析的原理过程 明白三次握手和四次断开的过程 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 20:27:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |