网络层与传输层

article/2025/8/23 23:48:59

目录

一、网络层

(一)IP数据包格式

(二)ICMP协议介绍

(三)ARP协议介绍

(四)ARP攻击原理

(五)ping命令及tracert

( 六)ARP命令

 二、传输层协议

(一)TCP协议

(二)TCP报文段

(三)TCP三次握手

(四)TCP四次断开 

(五)端口号

(六)UDP协议

(七)UDP报文的首部格式

 (八)TCP与UDP的区别

 (九)常用的UDP端口号及其功能




一、网络层

网络层的功能:1、定义了基于IP协议的逻辑地址

                          2、连接不同的网段

                          3、选择数据通过网络的最佳路径

(一)IP数据包格式

(二)ICMP协议介绍

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

作用:测试网络的联通性并给予一定的反馈

组成:ping   tracert

ICMP协议属于网络层协议

封装过成:

(三)ARP协议介绍

含义:正向地址解析协议

使用场合:已知目标IP,未知目标MAC时候用

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

    注:RARP:反向地址解析协议

           使用场合:已知目标mac,未知目标ip时候用

IP--------映射------MAC(一 一对应关系)

ARP缓存表(将ip与mac绑定 存在缓存表中)

(四)ARP攻击原理

 

故障处理

(五)ping命令及tracert

ping  -t   IP地址或者域名   //检测是否丢包 (-t参数会一直不停执行ping     Ctrl+c可以中断命令)

ping  -a  IP地址或者域名  //显示目标主机名称

ping  IP地址或者域名  -l   字节大小(1000)//用于测试通信质量(-l可以设定ping包的大小)

 tracert    ip地址或者域名     //路由跟踪(可以看到到目标主机经过了多少个路由器)

( 六)ARP命令

  Windows系统中的ARP命令:

                                                    arp  -a  //查看ARP缓存表

                                                    arp  -d   //清除ARP缓存

                                                    arp  -s  192.168.0.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缓存

 二、传输层协议

TCP(Transmission  Control   Protocol)传输控制协议     //协议号是6

UDP(User Datagram  Protocol)用户数据报协议            //协议号是17

(一)TCP协议

TCP是面向连接的,可靠的进程到进程的通信协议

TCP提供全双工服务,即数据可在同一时间双向传输

(二)TCP报文段

 TCP将若干个字节构成一个分组,叫报文段(Segment)

TCP报文段封装在ip数据包中

 SYN:同步序号位,TCP需要建立连接时将该值设为1

ACK:确认序号位,当该位为1时,用于确认发送方的数据

FIN:当TCP断开连接时,该值为1

(三)TCP三次握手

三次握手原理:

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

为什么要三次握手?

        因为TCP是可靠的传输层协议,它在传输数据前,会建立双向数据通信通道,当保证双向数据传输的通道没有问题时,才会发送数据,起到保护数据的作用。

 TCP半关闭状态

客户机向服务器发送了FIN请求,服务器也给予了ACK响应。但是,服务器和客户机之间还有数据要传输,因此服务器并没有向客户机立即发送FIN请求。

(四)TCP四次断开 

四次断开原理:

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

三次握手握三次,为什么断开要断四次?

  数据传输方向是双向的,一个方向的数据通道关闭需要一次请求和一次确认,因此需要断两次,而我们有两个数据方向,因此需要断四次。

(五)端口号

客户端根据需要哪种服务,从而发送到特定的目的端口

端口划分为三个类别,其范围介于1到65,535之间

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

注册端口:端口1024到49151可作为源端口或目的端口使用。组织可使用这些端口注册即时消息等应用程序。

私有端口:端口49152到65535通常作为源端口使用

常用的TCP端口号及其功能

(六)UDP协议

定义:无连接、不可靠的传输协议

           花费的开销小(传输效率高)

(七)UDP报文的首部格式

 

 UDP校验和:用来完成对UDP数据的差错检验,它是UDP协议提供的唯一的可靠机制

 (八)TCP与UDP的区别

           

 (九)常用的UDP端口号及其功能

 

 

 


http://chatgpt.dhexx.cn/article/B3KYcnTW.shtml

相关文章

网络层——IP协议

网络层 网络层概述 网络层主要考虑数据传输的路上问题&#xff0c;在复杂的网络环境中确定一个合适的路径。 网络层设计要尽量简单&#xff0c;向上层只提供简单灵活的、无连接的、不保证可靠性的数据报服务。网络层不提供服务质量的承诺&#xff01; IP 数据报的格式 如何分…

计算机网络——网络层

目录 4.1 网络层概述 4.2 网络层提供的两种服务 面向连接的虚电路服务 无连接的数据报服务 4.3 IPv4地址 IPv4地址概述 分类编址的IPv4地址 划分子网的IPv4地址 无分类编制的IPv4地址 IPv4地址的应用规划 4.4 IP数据报的发送和转发过程 4.5 静态路由配置 默认路由和…

详解网络层_计算机网络

目录 1. 网络层提供的两种服务 2. 网际协议IP 3.虚拟互联网络 4. IP地址 IP地址的划分方法 点分十进制 IP地址指派范围 IP地址的重要特点 5. IP地址与MAC地址 1. 网络层提供的两种服务 首先&#xff0c;网络层的引入主要是为了屏蔽不同网络的差异&#xff0c;实现不同网络…

计算机网络(四)_网络层

相关博文&#xff1a; 计算机网络入门 计算机网络物理层 计算机网络-数据链路层 与网络层相关的IP地址与子网掩码单独抽出于下 IP地址 计算机网络-域名与IP地址详解 子网掩码与子网划分 计算机网络-子网掩码与子网划分 文章目录 IP地址子网掩码与子网划分一些基本概念网络层提供…

应用层、传输层、网络层、数据链路层

应用层 包括&#xff1a;应用服务 &#xff08;FTP&#xff08;FileTransfer Protocol&#xff0c;文件传输协议&#xff09;和DNS&#xff08;Domain NameSystem&#xff0c;域名系统&#xff09;&#xff09;发送HTTP请求DNS域名解析系统&#xff1a;提供通过域名&#xff0…

计算机网络之网络层

一、概述 网络层介于传输层和数据链路层之间&#xff0c;其主要作用是实现两个网络系统之间的数据透明传送&#xff0c;具体包括路由选择&#xff0c;拥塞控制和网际互连等。网络层是网络与网络之间通信的最底层&#xff0c;在数据从数据链路层向传输层进行数据传输的通信中&a…

计算机网络-网络层详细讲解

目录 网络层概述 网络层提供的两种服务 面向连接的虚电路服务 无连接的数据报服务 IPv4地址 IPv4地址概述 概述 表示方法 分类编址的IPv4 A类地址 B类地址 C类地址 练习 划分子网的IPv4地址 子网掩码 32比特的子网掩码可以表明分类IP地址的主机号部分被借用了几个比特…

网络层

一、概述 1、网络层是OSI参考模型中的第三层&#xff0c;介于传输层和数据链路层之间&#xff0c;它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上&#xff0c;进一步管理网络中的数据通信&#xff0c;将数据设法从源端经过若干个中间节点传送到目的端&#xff0c;从…

网络五大层介绍,看完你就懂

当前的网络协议是分层的&#xff1a;应用层&#xff0c;传输层&#xff0c;网络层&#xff0c;数据链路层&#xff0c;物理层 目录 应用层 传输层 UDP协议 数据报格式 TCP(传输控制协议&#xff09; 报文格式 1.确认应答&#xff08;核心&#xff09; 2.超时重传 3.连接…

Android 4.4 沉浸式状态栏的实现

Android 4.4&#xff08;kitkat&#xff09;之后&#xff0c;Android Window 提供一个新的属性&#xff1a; WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS从名字上可以看出&#xff0c;这个属性可以用来设置状态栏是否透明&#xff0c;我们就可以利用这个属性来实现沉浸…

总结系列-一文搞懂沉浸式状态栏

近期做到与状态栏相关一些需求,网上关于沉浸式状态栏的文章有很多&#xff0c;基本上都先讲一堆概念&#xff0c;然后接着推出一个自己写的轮子,这类轮子面对很多不同场景的情况不能百分之百满足使用需求,过度地使用轮子也往往会让开发者不了解代码到底是怎么实现沉浸式的,基于…

安卓沉浸式状态栏

安卓沉浸式状态栏 前言安卓版本Android4.4之前Android4.4&#xff08;API 19&#xff09; - Android 5.0&#xff08;API 21&#xff09;1.图片沉浸1.1 xml实现1.2代码实现 2.ToolBar沉浸2.1xml实现2.1.1 设置 fitsSystemWindows 属性2.1.2 布局里添加占位状态栏 2.2代码实现2.…

Android-StatusBarUtil沉浸式状态栏

文章目录 一、前言二、去掉标题栏三、StatusBarUtil属性四、沉浸状态栏颜色五、沉浸状态栏图片 一、前言 大家再开发过程中会遇到上面这种情况&#xff0c;它不影响使用但是在美观上面差点意思&#xff0c;接下来教给大家一种方式来使它美观 二、去掉标题栏 只需要改变NoAction…

沉浸式状态栏(一)

我们知道IOS上的应用&#xff0c;状态栏的颜色总能与应用标题栏颜色保持一致&#xff0c;用户体验很不错&#xff0c;那安卓是否可以呢&#xff1f;若是在安卓4.4之前&#xff0c;答案是否定的&#xff0c;但在4.4之后&#xff0c;谷歌允许开发者自定义状态栏背景颜色啦&#x…

安卓沉浸式状态栏,android沉浸式状态栏工具类封装

文章目录 前言二、使用步骤1.定义2.使用3.效果 前言 沉浸式状态栏对安卓6.0以上版本很简单&#xff0c;今天分享一个封装好的工具&#xff0c;供大家参考 二、使用步骤 1.定义 代码如下&#xff1a; package com.example.mystudy_kotlin.utilsimport android.app.Activity …

沉浸式状态栏实现

文章目录 郭霖的博客这样实现透明状态栏隐藏导航栏真正的沉浸式模式 轮子 郭霖的博客这样实现 Android状态栏微技巧&#xff0c;带你真正理解沉浸式模式 透明状态栏 新建一个项目&#xff0c;只放一张图片 可以看到 状态栏、ActionBar、底部导航栏都显示&#xff0c;现在修…

flutter沉浸式状态栏

方法1&#xff1a;修改MainActivity 在MainActivity.kt或MainActivity.java&#xff0c;判断一下版本号然后将状态栏颜色修改设置成透明&#xff0c;因为他本身是黑色半透明&#xff1a; Kotlin&#xff1a; class MainActivity: FlutterActivity() {override fun configure…

uniapp 沉浸式状态栏

uniapp 沉浸式状态栏 1.page.json 中设置 &#xff1a;“navigationStyle”:"custom" "globalStyle": {"navigationBarTextStyle": "black","navigationBarTitleText": "uni-app","navigationStyle":…

Android使用沉浸式状态栏

Android使用沉浸式状态栏 为什么使用? 我们App里面目前都没有做沉浸式状态栏&#xff0c;会导致状态栏呈黑色条状&#xff0c;而且下面这个的黑色条状与App红色主界面有很明显的区别。这样在一定程度上牺牲了视觉高度&#xff0c;界面面积变小。 可以对照比较这三张图 代码…

【Android实战】沉浸式状态栏实现(上)

传统的手机状态栏是呈现出黑色条状的&#xff0c;有的和手机主界面有很明显的区别。这样就在一定程度上牺牲了视觉宽度&#xff0c;界面面积变小。 沉浸模式的状态栏和主界面完全融为了一体&#xff0c;在设计上有不同的视觉感受。 我们先上两张图&#xff0c;很容易看出区别&a…