![](https://img-blog.csdnimg.cn/20200527092512388.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux网络编程
Linux网络编程阶段
又偷吃我氮泵_
心中有火 眼里有光
展开
-
Linux系统下典型的网络IO模型
前言IO指的就是输入输出, 所谓的输入输出就是数据流在内存和硬盘之间的相互传输。并且输入输出都是相对于内存说的,数据从硬盘传输到内存属于输入,而数据从内存传输到硬盘属于输出。IO的过程其实就是发起IO调用后等待IO就绪条件,进行数据拷贝。Linux系统下有几种典型的IO模型,我们就来一起探索一下有关阻塞IO、非阻塞IO、信号驱动IO、异步IO的相关知识。一:阻塞IO...原创 2020-07-24 10:23:42 · 243 阅读 · 0 评论 -
Linux网络通信:其它协议及技术(DNS、ICMP协议、NAT技术)
前言在之前我们了解了Linux网络通信环境中应用层、传输层、网络层、链路层的典型协议及相关知识后,其实在整个通信环境中还有一些其它的协议及技术,如:DNS、ICMP协议、NAT技术等,正所谓八仙过海,各显神通,它们也都有自己独特的一面,接下来我们就一起来认识一下它们吧。一:DNS域名:服务器地址的别名,便于我们记忆,其实通过域名访问服务器的时候最终还是通过解析获取服务器的IP地址来访问服务器的。DNS(Domain Name System):域名系统,是一套从域名映射到IP地址的系统。用于存储IP地原创 2020-07-16 22:55:42 · 312 阅读 · 0 评论 -
Linux网络通信:链路层的典型协议以太网协议
前言Linux网络通信环境中的链路层主要负责相邻设备之间的数据帧传输,典型协议是以太网协议,典型设备是交换机。网络层主要偏向数据的传输方向,也就是数据的起点到终点,而链路层更加偏向相邻主机间数据如何传输,也就是数据在从起点到中的过程中数据的传输流程。一:以太网协议以太网协议用于在链路层组织数据,主导相邻主机之间的数据帧传输。1.1 以太网协议格式...原创 2020-07-14 23:09:51 · 372 阅读 · 0 评论 -
Linux网络通信:网络层的典型协议IP协议
前言Linux网络通信环境中的网络层主要负责地址管理与路由选择,为网络中的每条数据选择合适的路径,网络层的典型协议:IP协议。在之前的学习中我们对HTTP、UDP、TCP协议一定的了解后,我们一起来深入挖掘一下IP协议的相关知识。一:IP协议...原创 2020-07-11 22:59:09 · 260 阅读 · 0 评论 -
Linux网络通信:传输层的典型协议UDP协议和TCP协议
前言Linux网络通信环境中的传输层主要负责应用程序之间的数据传输,传输层有两个典型的协议:UDP协议和TCP协议。协议的特性影响着上层程序的编写,而协议的特性又来源于协议的实现,我们下面就来深入挖掘UDP协议和TCP协议。一:UDP协议UDP协议(User Datagram Protocol):称为用户数据报协议,是OSI参考模型中的一种无连接的传输层协议。1.1 UDP协议格式UDP 报文分为 UDP 报头和 UDP 数据区两部分。报头由 4 个 16 位长(2 字节)的字段组成,分别说明该原创 2020-07-10 09:17:20 · 1194 阅读 · 2 评论 -
Linux网络通信:应用层的典型协议HTTP协议
前言Linux网络通信环境中的应用层是直面程序员的一层,应用程序是程序员开发的,所以应用层的协议都是程序员自己定制的。一:自定制协议自定制协议:程序员根据应用的特点来根据数据的格式、数据的描述信息定义协议。举例:网络版计算器功能:客户端发送两个数字以及一个运算符给服务端,服务端获取到数据后运算完成返回结果。三个数据对象:int num1、int num2、char op1. 将所有数据转换成字符串并使用特殊字符间隔num1 ;num2 ;op ;这样就将数据按照指定格式组织起来了。2.原创 2020-07-07 23:24:30 · 421 阅读 · 0 评论 -
Linux网络套接字编程(socket详解)
前言套接字编程其实就是网络编程,套接字实际就是一套网络通信程序编写的接口,通过这些接口,并且提供相关信息,就可以实现传输层以下几层的操作。网络通信中涉及两台主机之间的通信:客户端(主动发送请求)、服务端(被动接收请求)。一:TCP/UDP协议的基本认识在TCP/IP网络体系结构中,TCP协议和UDP协议是传输层两种典型的协议,为上层用户提供级别的通信可靠性。UDP:用户数据报协议(User Data Protocol)无连接、不可靠、面向数据报不需要建立连接(发短信)不确保数据是否被对方原创 2020-06-01 23:11:28 · 820 阅读 · 0 评论 -
Linux网络通信:网络通信基础
前言网络就是利用物理链路将各个孤立的工作站或主机连接在一起组成的数据链路。通信就是人与人之间通过某种介质实现信息的交互。网络通信在Linux下简单理解其实就是不同主机的进程间通信。一:IP地址概念:IP地址(Internet Protocol Address):互联网协议地址(uint32_t无符号四个字节的整数)作用:IP地址在网络中唯一标识一台主机, 每一台主机都有自己的IP地址来精确定位主机,从而实现不同主机间的精确通信(知道数据是从哪台主机发送到哪台主机上)。并且网络通信中的原创 2020-05-27 00:10:24 · 380 阅读 · 0 评论