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 网络编程

**

一、TCP/IP 协议族常用协议

**
1、IP 定义了 TCP/IP 的地址,寻址方法,以及路由规则。 IP 地址由两部分组成,即网络号和主机号。故一个完整的 IPv4 地址往往表示为 192.168.0.1/24 或 192.168.0.1/255.255.255.0 这种形式。

2、IPv6 提供了一些 IPv4 没有的新特性,并且有几乎用不完的地址,但目前还在部署过程中,尤其是国内除高校和科研机构外并不常用, 暂不讨论。

TCP/IP 协议的基本思想是通过网间连接器( Gateway)将各种不同的网络连接起来,在各个网络的低层协议之上构造一个虚拟的大网,是用户与其他网的通讯就像与本网的主机通讯一样方便。

3、个人对网络的理解

个人理解:网络在本质上就是一个个局域网互相连接起来形成的,当一个pc请求数据的时候,首先会在当前局域网中查找,如果找不到,会通过网关(或者路由器)在上一级局域网中查找,如果还找不到,依次往上一级局域网中查找,最终一直查到根节点。这也就解释了为什么访问国外网站速度很慢,而访问国内网站速度很快,从下图可以看出cn访问cn内资源都没有经过根节点,从cn访问us的资源要经过根节点才可以。
这是通过域名系统(DNS)实现的,参考:https://blog.csdn.net/qq_36741413/article/details/124984603
在这里插入图片描述
4、TCP/IP通讯流程

TCP/IP 的设计,是吸取了分层模型的精华思想——封装。每层对上一层提供服务的时候,上一层的整个数据结构是黑盒,作为一个整体直接作为本层的数据同时在本层加上自己的信息比如ip、端口号、mac。而不需要关心上一层协议的任何细节。

网络是分层的,对于应用层而言不用关系具体的底层是如何工作的,只需要按照协议将要发送或接收的数据打包好即可。 打包好以后都通过dev_queue_xmit函数将数据发送出去,接收数据的话使用 netif_rx 函数即可。
在这里插入图片描述
上面这个模型是最一般的模型,但是在 Linux 中,真正用到的模型是下面这样子的:

  • 应用层( Telnet, Ftp,等等)
  • 传输层( TCP 和 UDP)
  • 网络层( IP 和路由)
  • 网络底层(相当于 OSI 模型中数据链路和物理层)

所以当发送数据的时候虽然socket()只带了本地的地址,但是经过层层封装之后带上了所有的信息(数据、mac、端口号、在互联网中的唯一ip地址),最后通过物理层把数据发送出去。
因此就减少了开发者的工作量,只关注数据,经过下面的层层封装的协议过程不用考虑。

**

二、客户机/服务器模型

**

1、网络上进行通信的各端点,很多时候是作为遵循客户机/服务器模型的。

一般来说,服务器端具有以下特征:

  • 被动通信;
  • 始终等待来自客户端的请求;
  • 自己参与通信的网络接口和端口必须确定;
  • 处理客户端的请求后将结果(响应)返回给客户端。

而客户端的特征如下:

  • 主动通信;
  • 需要发起请求;
  • 自己参与通信的网络接口和端口可以不确定;
  • 发起请求后需要等待服务器回应结果。

服务器可以是有状态的也可以是无状态的,无状态的服务器不会保留两个请求之间的任何信息,而有状态的服务器会记住请求之间的信息。一个简单的客户机/服务器通信过程如图 17.4 所示。实际上的服务器一般都能同时并发处理多个客户端的请求
在这里插入图片描述

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

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