[Linux网络编程]01-网络基础

news/2024/10/23 4:11:04/

此部分为《计算机网络》理论基础,可简要了解

一.计算机网络体系结构

常见的体系结构

OSI体系结构(法律上的国际标准):物理层->数据链路层->网络层->运输层->会话层->表示层->应用层

TCP/IP体系结构(事实上的国际标准):网络接口层->网际层->运输层->应用层

在这里插入图片描述在这里插入图片描述
网络分层模型术语:
在这里插入图片描述OSI模型与TCP/IP模型对比
在这里插入图片描述

二.协议

从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。

常见协议:
应用层:http、ftp、nfs、ssh、telnet。。。
传输层:TCP、UDP
网络层:IP、ICMP、IGMP
链路层:以太网帧协议、ARP

数据在网络间传输流程: 依据各层层层封装
在这里插入图片描述

三.TCP/IP结构 各层协议解析

MAC地址:网络适配器独有的标识
Ip地址:在网络环境中,唯一标识一台主机。

1. 网络接口层(链路层): 以太网帧和ARP请求
在这里插入图片描述

ARP协议:根据 ip 地址获取 mac 地址。
主机间交互,需要先执行请求/回复操作,arp协议就是用来请求连接的,arp根据已知的ip地址获取对应mac地址,然后再利用以太网帧协议传输数据。

arp请求帧格式:
在这里插入图片描述

以太网帧协议:根据mac地址,完成数据包传输。
以太网帧格式:
在这里插入图片描述

2.网络层:IP协议

IP数据报(包)格式如下
在这里插入图片描述
版本: IPv4、IPv6 – 4位

TTL: time to live。 设置数据包在路由节点中的跳转上限。每经过一个路由节点,该值-1, 减为0的路由,有义务将该数据包丢弃

源IP: 4字节
192.168.1.108 — 点分十进制 IP地址(string) — 二进制

目的IP:4字节

3.传输层:TCP/UDP协议

端口号:可以网络的一台主机上,唯一标识一个进程。
IP地址:可以在网络环境中,唯一标识一台主机。
所有使用Ip地址+端口号就可以在网络环境中,唯一标识一个进程,实现进程间网络通信

TCP协议:
一种面向连接的协议,可靠,稳定。

TCP数据报格式:
在这里插入图片描述
源端口号:16位。 2^16 = 65536,所以实际中端口号最大为65535
目的端口号:16位。
32序号;
32确认序号。
6个标志位。
16位窗口大小。 2^16 = 65536

UDP协议:
一种无连接的协议,不提供可靠性保证,但也因此传输速度较快。
源端口号:16位。
目的端口号:16位。

四.BS和CS模型对比

C/S -client server- 客户端-服务器
优点: 缓存大量数据、协议选择灵活
缺点: 安全性、跨平台、开发工作量较大

B/S -browser server- 浏览器-服务器
优点:安全性、跨平台、开发工作量较小,速度快
缺点:不能缓存大量数据、严格遵守 http协议,不灵活


http://www.ppmy.cn/news/1541224.html

相关文章

3184. 构成整天的下标对数目 I

3184. 构成整天的下标对数目 I 给你一个整数数组 hours&#xff0c;表示以 小时 为单位的时间&#xff0c;返回一个整数&#xff0c;表示满足 i < j 且 hours[i] hours[j] 构成 整天 的下标对 i, j 的数目。 整天 定义为时间持续时间是 24 小时的 整数倍 。 例如&#xff0…

【计网】理解TCP全连接队列与tcpdump抓包

希望是火&#xff0c;失望是烟&#xff0c; 生活就是一边点火&#xff0c;一边冒烟。 理解TCP全连接队列与tcpdump抓包 1 TCP 全连接队列1.1 重谈listen函数1.2 初步理解全连接队列1.3 深入理解全连接队列 2 tcpdump抓包 1 TCP 全连接队列 1.1 重谈listen函数 这里我们使用…

JMeter 中两大高级线程组的区别与应用

一、JMeter 中的高级线程组概述 最近群里的测试小伙伴在问在 JMeter 中&#xff0c;“jpgc - Ultimate Thread Group”和“jpgc - Stepping Thread Group 阶梯加压”有哪些区别和实际应用场景有哪些&#xff1f;所以这里也跟大家分享一下 JMeter 作为一款强大的性能测试工具&a…

机器学习核心:监督学习与无监督学习

个人主页&#xff1a;chian-ocean 文章专栏 监督学习与无监督学习&#xff1a;深度解析 机器学习是现代人工智能的核心支柱&#xff0c;已广泛应用于从数据挖掘到计算机视觉再到自然语言处理的诸多领域。作为机器学习最主要的两大类型&#xff0c;监督学习&#xff08;Super…

十一、【智能体】一键生成文章!秒懂!一篇搞定智能体工作流核心操作,轻松上手!效率飙升N倍!

工作流 是扣子的核心&#xff0c;所有的业务都会在工作流中进行呈现。 简单来说呢&#xff0c;扣子中的工作流就像是一个有步骤的任务流程。 工作流就是把一个大任务分成一个个小的步骤&#xff0c;每个步骤都有特定的事情要做&#xff0c;而且这些步骤是有先后顺序的。 这样…

【leetcode|哈希表、动态规划】最长连续序列、最大子数组和

目录 最长连续序列 解法一&#xff1a;暴力枚举 复杂度 解法二&#xff1a;优化解法一省去二层循环中不必要的遍历 复杂度 最大子数组和 解法一&#xff1a;暴力枚举 复杂度 解法二&#xff1a;贪心 复杂度 解法三&#xff1a;动态规划 复杂度 最长连续序列 输入输…

【Linux】-权限

&#x1f511;&#x1f511;博客主页&#xff1a;阿客不是客 &#x1f353;&#x1f353;系列专栏&#xff1a;深入代码世界&#xff0c;了解掌握 Linux 欢迎来到泊舟小课堂 &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 ​ 一、权限的概念 在Linux 中&…

npm 中的 package.json 实践

package.json 是现在前端项目必备的文件&#xff0c;涵盖了项目依赖、项目命令、项目信息等内容。下面是一个 package.json 常有的样子。 {"name": "my_package","version": "1.0.1","description": "make your packa…