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 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> linux网络编程 -> 正文阅读

[系统运维]linux网络编程

talk is cheap!

网络编程

IP地址

IP 地址:是 TCP/IP 网络中用于识别或标记主机的唯一地址
特点:
a. 每个 IP 地址只能分配并绑定一个网络接口(如以态网卡、无线网卡)
b. 一台计算机如果拥有多个网卡,则对应拥有多个 IP 地址
c. 分配有 IP 地址的网络接口即可成为 TCP/IP 网络上的一个结点
d. 主机通过网络接点进行相互间的通信
目前 IP 地址有两类:IPv4、IPV6

IPv4(32位地址)

分类起始地址结束地址子网掩码
A0.0.0.0127.255.255.255255.0.0.0
B128.0.0.0191.255.255.255255.255.0.0
C192.0.0.0223.255.255.255255.255.255.0

IP地址=网络号+主机号

如:C类IP地址:192.168.1.88 & 255.255.255.0

网络号:192.169.1    主机号:88

A类-大型网络,B类-中型网络,C类-小型网络

私有地址

分类范围
A10.0.0.0 – 10.255.255.255
B172.16.0.0–172.31.255.255
C192.168.0.0–192.168.255.255

私有地址的作用:不同的局域网下配置相同的私有地址不会发生冲突

网络端口(Port)

如果仅有IP地址还是无法进行通信,因为有多种网络服务,虽然计算机可以接收到数据包,
但是不知道将数据包交给哪个程序处理,所以无法通信;
为了区分不同程序的数据包,引入端口号概念,不同程序拥有不同的端口号
例如:Web 服务的端口号是 80,FTP 服务的端口号是 21,SMTP 服务的端口号是 25

网络字节序

字节序:字节的顺序

主机字节序

有大端模式和小端模式
大端模式:高字节放低地址;小端模式:高字节放高地址

网络字节序

1)接收端接收到的第一个字节当做高位处理
2)发送端发送的第一个字节从低位开始
机器读取数据从低地址开始
所以要求发送端以大端模式存储要发送的数据。

不同字节序的转换

	htons();	//将16位无符号整数从本地字节序转化为网络字节序 host to net short
	htonl();	//将32位无符号整数从本地字节序转化为网络字节序 host to net long
	ntohs();	//将16位无符号整数从网络字节序转化为本地字节序 net to host short
	ntohl();	//将32位无符号整数从网络字节序转化为本地字节序 net to host long
	inet_addr:将IP地址从点数格式转化为无符号长整型的网络字节格式
	inet_pton:IP地址从点数格式转化成无符号长整型的网络字节序
	inet_pton对IPv4和IPv6都有效
	int inet_pton(int af,const char *src,void *dst)
	inet_pton(AF_INET,argv[1],&servaddr.sin_addr);
	AF_INET:IPV4
	AF_INET6:IPV6

比如我们经过网络发送 0x12345678 这个整形,在 80X86 平台中,它是以小端法存放的,
在发送前需要使用系统提供的 htonl 将其转换成大端法存放

网络通信结构

服务器和客户端之间通过互联网进行连接

网络拓扑结构

B/S、C/S结构

B/S(Browser/Server):浏览器服务器开发模式

只安装一个服务器(Server),而客户端采用浏览器(Browser)运行软件

C/S(Client/Server):客户/服务器模式

需要做客户端、服务器端。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、SQL Server。
客户端需要安装专用的客户端软件。

网络分层结构

OSI七层模型


第一层 (物理层):用电信号的高低(1/0)即“比特流”来传递数据,同时还要约定好收发两端的接口类型、传输的速率等(比特(Bit))

第二层 (数据链路层):通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。(帧(Frame))

第三层 (网络层):通过路由算法,为报文或分组通过通信子网选择最适当的路径。(分组(数据包)(packet))
具体的说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,从而能将一台主机中发出去数据包,准确地发送到达目标主机。

第四层 (传输层): TCP/UDP协议:都是属于操作系统(数据段(segment))
将要传输的大数据拆解并封装为多个小包,像发快递一样,一个一个地发,从而实现向用户提供可靠的、端到端的差错和流量控制,保证报文的正确传输

第五层 (会话层): 建立和管理应用程序之间的通信。允许用户在两个实体设备之间建立、维持和终止会话,并支持它们之间的数据交换。
难道我每次都要调用 TCP 去打包,然后调用 IP 协议去找路由,自己去发?当然不行,所以我们要建立一个自动收发包,自动寻址的功能。

第六层 (表示层): 主要是应用程序的沟通,解决不同系统之间的通信语法问题,包括FTP文件传输协议等

七层模型在落地时第五层(会话层)和第六层(表示层)实现不了,它既复杂又不实用; 所以我们按照TCP/IP五层模型来讲解。

TCP/IP模型(四层)


应用层:主要负责处理应用程序细节
传输层:主要为网络中的两台主机上的应用提供端到端的通信
网络层:主要负责处理分组在网络中的活动,比如分组的选路
网络接口层:设备驱动程及接口卡

分层协议族

所谓协议族(Protocol Family),就是一组协议(多个协议)的统称。最常用的是 TCP/IP 协议族,
它包含了 TCP、IP、UDP、Telnet、FTP、SMTP 等上百个互为关联的协议,由于 TCP、IP 是两种常用的底层协议,所以把它们统称为 TCP/IP
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

网络数据包
网络数据包原理

在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-09-15 02:22:56  更:2022-09-15 02:25:35 
 
开发: 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 21:35:19-

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