Linux网络编程学习(一) ----- 概论和Linux模型(第一章第二章)
1、什么是计算机网络,通信方式是什么?
计算机网络就是通过通信线路相互连接的计算机的集合,主要通过双绞线、同轴电缆、电话线或者光缆等有形传输介质通信,还有就是通过激光、微波、卫星等实现无线通信
2、WAN和LAN
广域网和局域网,局域网通常有较高的通信速率,有限的地理范围,为一个部门所有
3、TCP/IP协议的基本思想
通过网间连接器,也就是gateway将各种不同的网络连接起来,在各个网络的低层协议之上构造一个虚拟的大网,使用户和其他网的通讯就像和与本网的主机通信一样方便
4、OSI的七层协议
物理层:bit信息,硬件连接的接口
数据链路层:通信信道的无差错传输,提供数据组帧,差错控制、流量控制、链路控制
网络层:将数据正确迅速地从源主机到目的主机,寻址以及相关的流量控制和拥塞控制
------前三层构成通信子网层,与硬件相关,为网络的上层(资源子网)提供通信服务
传输层:为上层处理过程掩盖下层结构的细节,保证把会话层的信息有效地传到另一个方的会话层
会话层:提供服务请求者和提供者之间的通信,实现两端主机之间的会话管理,传输同步和活动管理等
表示层:实现信息转换,包括信息压缩,加密,代码转换以及上述操作的逆操作
应用层:为用户提供常用的应用,比如e-mail,文件传输,网页浏览等
5、TCP/IP的网络体系架构
| SMTP | DNS | HTTP | FTP | TELNET |
| TCP | UDP | NVP | ||
| IP | ICMP | ARP | RARP(反向ARP) | |
| 以太网 | PDN(公共数据网) | 其他 | ||
| 电话线 | 同轴电缆 | 光缆 | ||
6、IP地址的三种基本类型
- A类地址 W的高端位为0,有126个A类地址,分配给拥有大量主机的网络
- B类地址 由W.X表示网络ID,高端前2bit为二进制10,分配中等规模的网络,有16384个B类地址
- C类地址 前3bit为110,大约有200万个C类地址,每个网络只有254个主机,用于小型局域网
| 类型 | IP地址 | 网络地址 | 主机ID |
| A | W.X.Y.Z | W | X.Y.Z |
| B | W.X.Y.Z | W.X | Y.Z |
| C | W.X.Y.Z | W.X.Y | Z |
7、网络服务
- 文件服务 有效存储,恢复和移动数据文件,执行数据的读、写、访问控制以及数据的管理操作,可以实现计算机之间的文件传输、文件转储、文件更新以及文件归档等
- 打印服务 用于控制和管理网络打印机和传真设备的 网络服务,实现打印机硬件资源共享
- 信息服务 动态处理网络各个节点计算机用户之间,应用程序之间的通信,提供了通信工具
- 应用服务 协调网络间的硬和软件资源,建立一个最适合的平台来运行应用软件
- 数据库服务 共享数据的存储,查询,管理和恢复等
Linux网络编程学习(一) ----- 概论和Linux模型(第一章第二章)的更多相关文章
- Linux网络编程学习(十一) ----- 五种I/O模式(第六章)
1.五种I/O模式是哪几个? 阻塞I/O,非阻塞I/O,I/O多路复用,信号驱动I/O(SIGIO),异步I/O 一般来讲程序进行输入操作有两个步骤,一是等待有数据可读,二是将数据从系统内核中拷贝到程 ...
- Linux网络编程学习路线
转载自:https://blog.csdn.net/lianghe_work/article 一.网络应用层编程 1.Linux网络编程01——网络协议入门 2.Linux网络编程02——无连接和 ...
- Linux网络编程学习计划
由于网络编程是很重要的一块,自己这一块也比较欠缺,只知道一些皮毛,从今天开始系统学习<Linux网络编程>一书,全书分为十四个章节: 第一章 概论 P1-16 第二章 UNIX ...
- linux网络编程学习笔记之四 -----多-threaded服务器
对于使用过程中并发.通过实现更轻量级线程. 每个线程都是一个独立的逻辑流. 主题是CPU在执行调度的最小独立单位,这个过程是资源分配单元.当然,这是在微内核操作系统说.总之,这是唯一的一个操作系统内核 ...
- linux网络编程学习笔记之五 -----并发机制与线程�
进程线程分配方式 简述下常见的进程和线程分配方式:(好吧,我仅仅是举几个样例作为笔记...并发的水太深了,不敢妄谈...) 1.进程线程预分配 简言之,当I/O开销大于计算开销且并发量较大时,为了节省 ...
- linux网络编程学习笔记之三 -----多进程并发服务端
首先是fork()函数.移步APUE 8.3. 比較清晰的解释能够參考http://blog.csdn.net/lingdxuyan/article/details/4993883和http://w ...
- Linux网络编程学习(十二) ----- 结语
该书提前看完了,重点看了第四章和第六章,第七章以后只是大致浏览了一下,如果以后工作中涉及这一块再仔细研究一下,大概花了二十天的样子,主要了解了进程间的通信方式.socket编程以及五种I/O模式,看的 ...
- Linux网络编程学习(十) ----- Socket(第六章)
前言:由于第五章主要介绍了TCP和UDP协议以及两者的包头的字段以及相应的功能,这里就不介绍了,对着字段看功能就好了,后续开始学习第六章 1.Socket Socket实质上就是提供了通信的端点,每个 ...
- Linux网络编程学习(九) ----- 消息队列(第四章)
1.System V IPC System V中引入的几种新的进程间通信方式,消息队列,信号量和共享内存,统称为System V IPC,其具体实例在内核中是以对象的形式出现的,称为IPC 对象,每个 ...
随机推荐
- 关于Ctime库
--------------------- 本文来自 Fuko_Ibuki 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq_31908675/article/de ...
- freeswitch黑名单mod_blacklist使用
freeswitch自带黑名单模块"mod_blacklist",此文只是对该模块简单使用的实例. 最近接到客户投诉有大量骚扰电话,而从源头查不太容易,因此想到的笨方法是将投诉人加 ...
- 关于函数式编程(Functional Programming)
初学函数式编程,相信很多程序员兄弟们对于这个名字熟悉又陌生.函数,对于程序员来说并不陌生,编程对于程序员来说也并不陌生,但是函数式编程语言(Functional Programming languag ...
- 学习笔记TF038:实现估值网络
Q-Learning,学习Action对应期望值(Expected Utility).1989年,Watkins提出.收敛性,1992年,Watkins和Dayan共同证明.学习期望价值,从当前一步到 ...
- Python3 Flask+nginx+Gunicorn部署(上)
前言:一般在本地运行flask项目通常是直接python3 文件名.py,然后打开:http://127.0.0.1:5000 查看代码结果 这次主要是记录flask在python3 环境结合ngin ...
- MVC 模式
1.MVC 模式简介 MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式.这种模式用于应用程序的分层开发.Model(模型):模型代表一个存取数据的对象或 JAV ...
- 使用rpm 打包开发的postgres extension
环境准备 安装依赖包 rpmdevtools rpm-build yum install -y rpm-build rpmdevtools 初始化rpm pacakge 项目 主要是rpm 打包的 ...
- Nginx反向代理tomcat返回400 bad request
Nginx反向代理tomcat返回400 bad request nginx 版本1.12, tomcat版本 9.06 最近用Nginx做反向代理tomcat,实现前后端分离,nginx 将请求代理 ...
- Linux whereis命令详解
Linux whereis命令 Linux whereis命令用于查找文件. 该指令会在特定目录中查找符合条件的文件.这些文件应属于原始代码.二进制文件,或是帮助文件. 该指令只能用于查找二进制文件. ...
- QT QHttpMultiPart上传图片
使用get请求或post请求可以传递简单的参数,但要上传图片到服务器,就要多做一些工作了,如下代码片段利用post请求可成功上传图片到服务器: QNetworkRequest request; req ...