Linux:网络编程基础
创始人
2025-01-07 04:04:10
0

文章目录

  • 1.协议分层
    • 1.1 OSI协议
    • 1.2 OSI协议到底是啥
  • 2.网络传输流程
    • 2.1 局域网(以太网为例)通信原理
    • 2.2 跨网络传输
    • 2.3 IP地址和MAC地址的区别
  • 3.网络编程
    • 3.1 sockaddr 结构
    • 3.2 socket 常见 API(接口)
    • 3.3 网络命令
      • 3.3.1 Ping 命令
      • 3.3.2 netstat 命令
      • 3.3.3 watch 命令
      • 3.3.4 pidof 命令


1.协议分层

协议本质也是软件,在设计上为了更好的进行模块化,解耦合,也是被设计成为层状结构的。协议分层的好处就是,某一层出现问题不会影响其他层,我们只需要找到有问题的那一层去维护即可!

1.1 OSI协议

OSI(开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范;
在这里插入图片描述
其实在网络角度,OSI 定的协议 7 层模型其实非常完善,但是在实际操作的过程中,会话层、表示层是不可能接入到操作系统中的,所以在工程实践中,最终落地的是 5 层协议。
在这里插入图片描述

物理层(硬件)我们考虑的比较少,我们只考虑软件相关的内容. 因此很多时候我们直接称为TCP/IP 四层模型。
在这里插入图片描述

1.2 OSI协议到底是啥

所谓协议,就是通信双方都认识的结构化的数据类型
在这里插入图片描述

2.网络传输流程

2.1 局域网(以太网为例)通信原理

两台主机在同一个局域网,能够直接通信.
每台主机在局域网上,要有唯一的标识来保证主机的唯一性:mac 地址
在这里插入图片描述

• 以太网中,任何时刻,只允许一台机器向网络中发送数据
• 如果有多台同时发送,会发生数据干扰,我们称之为数据碰撞
•所有发送数据的主机要进行碰撞检测和碰撞避免
• 没有交换机的情况下,一个以太网就是一个碰撞域
•局域网通信的过程中,主机对收到的报文确认是否是发给自己的,是通过目标mac 地址判
在这里插入图片描述

从今天开始,我们学习任何协议,都要先宏观上建立这样的认识:

  1. 要学习的协议,是如何做到解包的?只有明确了解包,封包也就能理解
  2. 要学习的协议,是如何做到将自己的有效载荷,交付给上层协议的?

2.2 跨网络传输

网络中的地址管理 - 认识 IP 地址
IP 协议有两个版本, IPv4 和 IPv6. 凡是提到 IP 协议, 没有特殊说明的, 默认都是指IPv4。
在这里插入图片描述

2.3 IP地址和MAC地址的区别

在这里插入图片描述
所以网络通信的整个宏观过程大致如下:
在这里插入图片描述

3.网络编程

网络通信的本质就是进程间通信!
在这里插入图片描述
PID和端口号是共生的,但是端口号才能做到网络通信!

• 0 - 1023: 知名端口号, HTTP, FTP, SSH 等这些广为使用的应用层协议, 他们的端口号都是固定的.

• 1024- 65535: 操作系统动态分配的端口号. 客户端程序的端口号, 就是由操作系统从这个范围分配的.

在这里插入图片描述

3.1 sockaddr 结构

在这里插入图片描述

3.2 socket 常见 API(接口)

在这里插入图片描述
在这里插入图片描述

3.3 网络命令

3.3.1 Ping 命令

用来检测网络有没有连通
在这里插入图片描述

3.3.2 netstat 命令

netstat 是一个用来查看网络状态的重要工具.
在这里插入图片描述

3.3.3 watch 命令

用来查看,定期检测指令

// 每隔 1(n)s 执行一次 netstat -nltp  watch -n 1 netstat -nlt 

3.3.4 pidof 命令

在查看服务器的进程 id 时非常方便.
在这里插入图片描述

相关内容

热门资讯

绝活儿辅助!广西老友玩老是输怎... 绝活儿辅助!广西老友玩老是输怎么办(辅助挂)都是真的有辅助app(讲解有挂)在进入广西老友玩老是输怎...
法门辅助!福建13水插件(辅助... 法门辅助!福建13水插件(辅助挂)一贯是有辅助技巧(有挂技术)1、许多玩家不知道福建13水插件辅助怎...
办法辅助!潮友会app下载官方... 办法辅助!潮友会app下载官方辅助器(辅助挂)真是真的是有辅助app(有挂教程)该软件可以轻松地帮助...
妙招辅助!邯郸胡乐挂辅助(辅助... 妙招辅助!邯郸胡乐挂辅助(辅助挂)好像存在有辅助插件(有挂方略)1、上手简单,内置详细流程视频教学,...
教程书辅助!乐酷辅助(辅助挂)... 教程书辅助!乐酷辅助(辅助挂)其实存在有辅助脚本(有挂细节)乐酷辅助能透视中分为三种模型:乐酷辅助模...
学习辅助!决战卡五星辅助(辅助... 学习辅助!决战卡五星辅助(辅助挂)本来真的是有辅助软件(有人有挂)学习辅助!决战卡五星辅助(辅助挂)...
绝活辅助!边锋嘉兴麻将辅助器(... 绝活辅助!边锋嘉兴麻将辅助器(辅助挂)真是真的有辅助神器(新版有挂)1、边锋嘉兴麻将辅助器公共底牌简...
举措辅助!枫叶辅助器(辅助挂)... 举措辅助!枫叶辅助器(辅助挂)本来存在有辅助技巧(竟然有挂)1、下载好枫叶辅助器正确养号方法之后点击...
讲义辅助!点我达辅助(辅助挂)... 讲义辅助!点我达辅助(辅助挂)一直存在有辅助技巧(有人有挂)1、点我达辅助辅助器安装包、点我达辅助辅...
模块辅助!威信茶馆有挂的吗(辅... 模块辅助!威信茶馆有挂的吗(辅助挂)一直真的是有辅助脚本(揭秘有挂)1、玩家可以在威信茶馆有挂的吗线...