C语言 网络编程(四)常见网络模型

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 这段内容介绍了目前被广泛接受的三种网络模型:OSI七层模型、TCP五层模型以及TCP/IP四层模型,并简述了多个网络协议的功能与特性,包括HTTP、HTTPS、FTP、DNS、SMTP、TCP、UDP、IP、ICMP、ARP、RARP及SSH协议等,同时提到了ssh的免费开源实现openssh及其在Linux系统中的应用。

常见网络模型

⽬前⽐较认可的有三种模型:OSI 七层模型、TCP 五层模型、TCP/IP 四层模型

img_80.png

img_81.png

HTTP 协议:超⽂本传输协议,⽤于 www ⽹⻚,默认端⼝ 80

HTTPS 协议:安全超⽂本传输协议,默认端⼝ 443 HTTPS 协议是在 HTTP 的基础上增加 SSL 外壳,对数据进⾏机密,保证安全性

FTP 协议:远程⽂件传输协议;本地⽂件上传服务器,或服务器⽂件下载到本地 传输速度快,可靠性稳定性⾼

DNS 协议:域名解析协议,默认端⼝为 53,默认通过 UDP 协议通信,但如果报⽂过⼤是则会切换成 TCP 协议其作⽤是域名 ( 如 www.baidu.com ) 转换为机器可读的 IP 地址 (如 10.51.7.18)

SMTP 协议:邮件传输协议

TCP 协议:传输控制协议

UDP 协议:⽤户数据报协议

IP 协议:⽹络协议;负责 IP 寻址、路由选择和 IP 数据包的分割和组装。通常我们所说的 IP 地址可以
理解为符合 IP 协议的地址 主要特点: 1、⽆连接 2、安全性低,有丢包可能、 3、点到点的⽹络层协议

IP 协议是 TCP/IP 的载体,所有的 TCP、UDP 都是以 IP 数据报格式传输

ICMP 协议:Internet 控制报⽂协议 ⽤于在 IP 和 路由器之间传递控制消息,描述⽹络是否通畅、主机是否可达、路由器是否可⽤等⽹络状态,ICMP 本身并不传输数据,但对于⽤户间数据的传递起着重要的作⽤。

ARP 协议:地址解析协议;把 IP 地址解析为 MAC 地址

RARP 协议:反向地址转换协议;把 MAC 地址解析为 IP 地址

ssh 协议:Secure Shel,安全外壳协议,简称 ssh,是⼀种建⽴在应⽤层基础上的安全协议,通过对
密码进⾏ 加密 传输验证,可在不安全的⽹络中对⽹络服务提供安全的传输环境,实现 ssh 客户端和
ssh 服务器端的连接,所以 ssh 是基于 C/S 结构的。

ssh 是 应⽤层 协议,它的传输层协议是 tcp,所以在 ssh 登录之前必定会有 tcp 连接

openssh 是 ssh 协议的免费开源实现,有⼀个独⽴守护进程 sshd,可以在 Linux 系统中安装 openssh 的服务端程序 openssh-server,⽽客户端应⽤程序在 Linux 系统中默认是安装的。

相关文章
|
18天前
|
机器学习/深度学习 人工智能 算法
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在保存为本地的H5格式文件。在使用Django开发Web网页端操作界面,实现用户上传一张鸟类图像,识别其名称。
64 12
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
|
11天前
|
机器学习/深度学习 数据采集 网络安全
使用Python实现深度学习模型:智能网络安全威胁检测
使用Python实现深度学习模型:智能网络安全威胁检测
46 5
|
9天前
|
机器学习/深度学习 算法 搜索推荐
图神经网络综述:模型与应用
图神经网络综述:模型与应用
|
13天前
|
存储 机器人 Linux
Netty(二)-服务端网络编程常见网络IO模型讲解
Netty(二)-服务端网络编程常见网络IO模型讲解
|
18天前
|
网络协议 Python
告别网络编程迷雾!Python Socket编程基础与实战,让你秒变网络达人!
在网络编程的世界里,Socket编程是连接数据与服务的关键桥梁。对于初学者,这往往是最棘手的部分。本文将用Python带你轻松入门Socket编程,从创建TCP服务器与客户端的基础搭建,到处理并发连接的实战技巧,逐步揭开网络编程的神秘面纱。通过具体的代码示例,我们将掌握Socket的基本概念与操作,让你成为网络编程的高手。无论是简单的数据传输还是复杂的并发处理,Python都能助你一臂之力。希望这篇文章成为你网络编程旅程的良好开端。
37 3
|
1月前
|
网络协议 Unix C语言
C语言 网络编程(十六)广播和组播
广播和组播是网络通信的重要方式。广播允许一台主机向子网内所有主机发送数据包,常用于局域网内的消息传播;组播则将数据包发送给特定的一组主机,适用于视频会议等应用场景。广播地址如 `192.168.1.255` 用于同一子网的所有主机。组播地址如 `224.0.0.0` 至 `239.255.255.255` 标识特定主机群。C语言示例展示了如何通过 UDP 实现广播和组播通信。此外,UNIX域套接字用于同一机器上进程间的高效通信。
|
1月前
|
网络协议 算法 网络性能优化
C语言 网络编程(十五)套接字选项设置
`setsockopt()`函数用于设置套接字选项,如重复使用地址(`SO_REUSEADDR`)、端口(`SO_REUSEPORT`)及超时时间(`SO_RCVTIMEO`)。其参数包括套接字描述符、协议级别、选项名称、选项值及其长度。成功返回0,失败返回-1并设置`errno`。示例展示了如何创建TCP服务器并设置相关选项。配套的`getsockopt()`函数用于获取这些选项的值。
|
28天前
|
机器学习/深度学习 人工智能 自然语言处理
机器学习模型之深度神经网络的特点
深度神经网络(Deep Neural Networks, DNNs)是一类机器学习模型,通过多个层级(层)的神经元来模拟人脑的工作方式,从而实现复杂的数据处理和模式识别任务。
36 1
|
1月前
|
网络协议 C语言
C语言 网络编程(十三)并发的TCP服务端-以进程完成功能
这段代码实现了一个基于TCP协议的多进程并发服务端和客户端程序。服务端通过创建子进程来处理多个客户端连接,解决了粘包问题,并支持不定长数据传输。客户端则循环发送数据并接收服务端回传的信息,同样处理了粘包问题。程序通过自定义的数据长度前缀确保了数据的完整性和准确性。
|
1月前
|
网络协议 C语言
C语言 网络编程(十四)并发的TCP服务端-以线程完成功能
这段代码实现了一个基于TCP协议的多线程服务器和客户端程序,服务器端通过为每个客户端创建独立的线程来处理并发请求,解决了粘包问题并支持不定长数据传输。服务器监听在IP地址`172.17.140.183`的`8080`端口上,接收客户端发来的数据,并将接收到的消息添加“-回传”后返回给客户端。客户端则可以循环输入并发送数据,同时接收服务器回传的信息。当输入“exit”时,客户端会结束与服务器的通信并关闭连接。