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协议

计算机网络体系结构

OSI 七层模型

参考模型解释
应用层为应用程序提供服务
表示层数据格式转化、数据加密
会话层建立、维护和管理会话
传输层建立、管理和维护端到端的连接
网络层IP选址及路由选择
数据链路层提供介质访问和链路管理
物理层物理层

TCP/IP 五层模型

TCP/IP的五层模型将OSI七层模型的上三层(应用层、表示层、会话层)统称为应用层。

参考模型解释常用协议
应用层为应用程序提供服务HTTP Telnet FTP TFTP DNS SMTP
传输层建立、管理和维护端到端的连接TCP UDP
网络层IP选址及路由选择IP ICMP IGMP
数据链路层提供介质访问和链路管理ARP RARP IEEEE802.3 PPP CSMA/CD
物理层物理层

TCP:面向连接的,可靠的流协议。广泛的应用于各种互联网应用中。
UDP:面向无连接的通讯协议。主要应用于直播、即时通讯等领域。

数据如何通过网络5层模型传输的

张三在网络上对李四发送了一个“hello”,数据传输过程大体如下:
在这里插入图片描述
数据在发送的过程中,每经过一层,就会被加上一个首部。通过物理层将信息传递给目标机器后,再逐层解包,最后李四就收到了消息。

IP地址与MAC地址

我们可以通过下面的表格来比较ip地址和mac地址

分类ip地址mac地址
外观192.168.31.130E:B9:3A:FA:0F:06
长度长度为32位,由用.分隔开的4个8位组成长度为48位,6个字节,表现为12个16进制数,每两个用:分开
应用位置IP地址应用于网络层MAC地址应用于数据链路层
分配依据动态IP由DHCP服务器负责分配由制造商在生产网卡时写在设备内部。其中前6位(0E:B9:3A)代表网卡制造商编号,由IEEE分配。后6位(FA:0F:06)由设备制造商自行分配

Windows下查看ip及mac

可以使用ipconfig /all进行查看
在这里插入图片描述

Linux下查看ip及mac

在linux下可以使用ifconfig来查看ip及mac地址信息

  1. 安装net-tools工具
    在这里插入图片描述
  2. 执行命令ifconfig
    在这里插入图片描述

端口号

端口号可以用来区分一台计算机上进行通讯的不同应用程序,所以又叫程序地址。

端口个数

一个机器上最多有65535个端口号。原因是当我们使用TCP或UDP协议时,请求报文中会有2个字节用来存储端口号信息,2byte=16bit,所以一共是65536个,但是0号端口有特殊用户,最终一共可用的端口是65535个。

一般来说,0~1023都是知名端口,比如http的80端口、FTP的21端口等。系统自动分配的端口一般是10000往上。

一个服务器上最多可以有多少个连接

如果端口号一共65535个,那连接也最多是65535个吗?

一个连接由源ip+目标ip+协议+源端口+目标端口组成,只要这5个要素有一个不一样,都是不同的连接。

如果这个服务器是服务端:

  1. 每一个来连接服务端的客户端ip都不同
  2. 所以一个服务端理论上最大可支持的TCP连接数应该是ip的总个数*65535

如果这个服务器是客户端:

  1. 每一个来连接客户端的服务端ip都不同
  2. 所以一个客户端理论上最大可支持的TCP连接数应该是ip的总个数*65535,但是由于客户端允许端口复用,所以理论上的最大值更大一些。

TCP三次握手过程

TCP在建立连接时需要进行三次握手,我们用下面的图来理解一下三次握手是如何握手的。
在这里插入图片描述

  1. 客户端对服务发起请求,请求体重SYN标志位置为1,同时发送一个随机的seq_no,随后,客户端进入SYN_SENT状态。
  2. 服务端接收到客户端发送的消息后,服务端进入SYN_REVD状态。然后给客户端发送消息。在消息体中,SYN标志位为1,ACK标志位也为1,同时ack_no的值为接收到的seq_no的值+1,在发送一个随机的seq_no给客户端
  3. 客户端收到消息并验证ack_no正确后,客户端进入ESTABLEISHED状态。然后给服务端再发送消息,在消息体中,ACK标志位位1,ack_no为收到的seq_no的值+1
  4. 服务端接收并确认ack_no的值无误后,服务端也进入ESTABLEISHED状态
  5. 三次握手成功

SYN洪泛攻击

由于TCP连接在建立之前需要进行三次握手,而整个linux允许存在的处于三次握手中的连接总数为1024。如果黑客使用特殊手段不断的给服务器创建半连接,占满1024。服务器就不能接收新的连接了。这就是SYN洪泛攻击。

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

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