Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >网络编程02

网络编程02

作者头像
端碗吹水
发布于 2022-01-12 07:12:49
发布于 2022-01-12 07:12:49
6080
举报

DNS

DNS就是域名系统,相当于把ip地址包装成方便于记忆的名字,例如baidu、taobao、jd等等,方便了用户去访问互联网,这样使用域名的话就不需要去记忆直接被机器读取的ip地址了。

通过域名访问互联网时,会先进行域名解析,然后会将ip地址查询出来,再通过ip地址访问到互联网。一般在就计算机上都会有本地域名缓存,域名缓存一般保存10分钟左右。通过在cmd里输入ipconfig/flushdns命令,可以清空本地域名缓存。访问网页时一般使用的是80端口。

示意图:

DNS智能ip解析:

在原中国电信集团按南北地域分家,新的中国电信和网通集团随即成立,互联网的骨干网也被一分为二了,北有网通、南有电信。

从此,细心的网民可以发现,有些经常访问的网站速度一下子慢了下来,有时候还有访问不到的情况出现。例如北方地区的网络用户访问中国网通的服务器会非常快,而访问中国电信的服务器时,感觉非常慢。

现在网通和联通已经合并在一起,经常玩游戏的人也会发现有一个现象就是,很多游戏在登录时都可以选择网通区或电信区,这是为了选择自己的网络运营商类型避免严重出现连接速度慢的问题。

DNS智能ip解析就是用于解决这种网通、电信互联的时候速度慢的问题,DNS智能解析最基本的功能是可以智能的判断访问你网站的用户,然后根据不同的访问者把你的域名分别解析成不同的IP地址。

如访问者是网通用户,DNS智能解析服务器会把你的域名对应的网通IP地址解析给这个访问者。如访问者是电信用户,DNS策略解析服务器会把您域名对应的电信IP地址解析给这个访问者。

中国网络运营商:

目前国内的主要网络运营商有电信、联通、移动,移动是和铁通合并在了一起才开始做网络运营的,是目前较差的网络运营商,所以不在此多做介绍,主要是电信和联通的介绍。

电信和联通的网络有一些不同,例如:电信分配的是独立的外网ip地址,而联通分配的是城域网的ip地址,所以电信能够做到点对点通信,联通则不能,这是因为电信有独立的ip地址,所以可以被直接被其他计算机访问到,但是这样也增加了一些风险,使用的是电信网络的话别人给你发信息是会接收的,所以有被数据包***的风险或者被当肉鸡。

联通分配的是城域网的ip地址所以无法点对点通信,而且联通只会接收主动连接的服务器信息,除此之外其他的信息则一概不接收,这样相对于电信来说安全性就稍微高一些。

关于网络的上行和下行上电信是9:1的比例下行9上行1,联通则是8:2或者5:5,一般情况下是8:2,如果有要求可以申请为5:5。以上所说的比例如果是在服务器机房的网络上,一般是可以向运营商申请不同的比例的。

示意图:

***:

***就是个人虚拟专用网络通道,虚拟专用网络的功能是:在公用网络上建立专用网络,进行加密通讯。***网关通过对数据包的加密和数据包目标地址的转换实现远程访问。***有多种分类方式,主要是按协议进行分类。***可通过服务器、硬件、软件等多种方式实现。

简单来说就是使用自己的计算机连接另一台计算机,然后使用这台外面的计算机访问互联网,然后将互联网反馈的数据转发到自己的计算机上。用***访问Facebook举例子:在国内是无法访问Facebook的,所以我们需要***出去才能访问,所谓***就是使用***连接一台计算机,例如有台计算机在香港,内地的计算机连接到这台香港的计算机后,就可以通过这台计算机的网络去访问互联网,然后这台计算机会将互联网的数据返回给内地的计算机,这样就可以在内地计算机访问Facebook了,这种形成的网络就称为虚拟专用网络***。

示意图:

VPS

VPS是虚拟专用服务器(Virtual Private Server)的简称,虚拟专用服务器就是使用虚拟机技术把一台物理服务器分为多个虚拟服务器,每个VPS都可分配独立公网IP地址、独立操作系统、实现不同VPS间磁盘空间、内存、CPU资源、进程和系统配置的隔离,为用户和应用程序模拟出“独占”使用计算资源的体验。VPS可以像独立服务器一样,重装操作系统,安装程序,单独重启服务器。说白了就是在服务器上装了好多个虚拟机,虚拟机之间都是独立的,然后将这些虚拟机弄个高大上的名字就可以卖出去赚钱了。

集群:

集群就是多个服务器运行共同服务,在访问量大的时候就需要进行集群,集群越多速度越快,对服务器的压力越小。当一个服务器不够用的时候,理所当然的就需要进行集群。

流程:

网站>>>DNS>>>防火墙>>>负载均衡器>>>集群服务。

数据服务器:

数据服务器就是处理数据部分的,它们的数据是同步的,会有一个集群管理器(综合服务器),用来分配数据给哪个数据服务器处理,所有的管理和调节都在这里进行。

为什么需要集群:

前面也讲过当访问、处理的数据量大的时候,一台服务器处理不过来,自然就需要进行数据库集群,集群的数量越多,处理数据就越快。就像一个cpu处理不过来就两个cpu、三个cup、四个cpu以此类推,当然有钱的话这个数量没有上限。就像是雇佣工人干活一样,当一个工人干不完的时候就需要再雇佣多几个工人帮忙,越多的工人干活就越快,对于每个工人来说的负担也就越小。

负载均衡器:

负载均衡器是用于增加数据吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。它就像一个分配工作的人员一样,均匀的将工作分配给每个服务器上,让这些服务器均匀稳定的完成工作。

负载均衡器图片:

防火墙:

防火墙是一种位于内部网络与外部网络之间的网络安全系统。一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。所以主要就是用于防止一些恶意***的,过滤掉一些不安全的数据的。

防火墙图片:

TCP协议:

TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。

因为基于字节流所以又称为套接字,此协议安全可靠,能够建立长时间连接,但是传输速度较慢,一般适用于登录界面之类的对速度要求不高对安全性要求高的业务。

UDP协议:

UDP 是User Datagram Protocol的简称,中文名是用户数据报文协议,是OSI(Open System Interconnection,开放式系统互联 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP在IP报文的协议号是17。

UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天UDP仍然不失为一项非常实用和可行的网络传输层协议。

与所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的顶层。根据OSI(开放系统互连)参考模型,UDP和TCP都属于传输层协议。UDP协议的主要作用是将网络数据流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位。每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。

所以总结来说,UDP就是较不安全,不能建立连接,但是速度很快快,不过网络堵塞的时候就会有丢包的情况,而且UDP的包是没有顺序的,UDP适合做游戏、在线视频、在线直播等对传输速度要求高的,安全性要求较小的业务中。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/10/27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
7.1 C语言函数
1、函数是从英文function翻译过来的,其实function在英文中的意思既是函数,也是功能。、
小林C语言
2020/12/07
2K0
7.1 C语言函数
C语言入门系列之7.函数的定义、参数、调用和存储类别
一个较大的程序可分为若干个程序模块,每一个模块用来实现一个特定的功能。 在高级语言中用子程序实现模块的功能,子程序由函数来完成。 一个C程序可由一个主函数和若干个其他函数构成。
cutercorley
2020/07/23
1.8K0
C语言入门系列之7.函数的定义、参数、调用和存储类别
开讲啦:Chap 07 用函数实现模块化程序设计
在设计一个较大的程序时,往往把它分为若干个程序模块,每一个模块包含一个或多个函数,每个函数实现一个特定的功能。一个C程序可由一个主函数和若干个其他函数构成。由主函数调用其他函数,其他函数也可以互相调用,同一个函数可以被一个或多个函数调用任意多次,如图所示。
石璞东
2021/10/13
5620
c语言大一基本理解笔记1
笔记// /*所谓程序,就是一组计算机能识别和执行的指令,计算机的本质是程序的机器;计算机工作基于二进制,从根本上说,计算机只能识别和接受0和1组成的指令,这种计算机能识别和接受的二进制代码称为机器指令;机器指令的集合就是该计算机的机器语言; / /#include <stdio.h> //这是编译预处理指令int main() //定义主函数 { //主函数开始的标志 printf(“this is a Cprogram.\n”); //输入所指定的一行信息 return 0; //函数执行完毕的时返回函数值0 } / //函数结束的标志 // /**/表注释; /#include <stdio.h> //这是编译预处理指令int main() //这是编译预处理指令{ //函数开始 int a,b,sum; //程序声明部分,定义a,b,sum为整形变量 a=123; //对变量a进行赋值 b=456; //进行a加b的运算,并将结果存放在变量sum sum=a+b; //进行a+b的运算,并把结果存放在变量sum printf(“sum is %d\n”,sum) //输出结果 ,d表示用“十进制输出”, //在执行printf函数时,将sum变量的值取代双撇号中的%d return 0; //使函数返回值为 0 } */ //函数结束 /*c语言的程序结构 1一个程序由一个或多个源程序文件组成; &1.预处理指令 #include<stdio.h>,#define; 对于#include <stdio.h>来说;就是将stdio.h文件内容读取进来; 由预处理得到的结果与程序其他部分一起,组成一个完整的,可以用来编译的最后的源程序;最后由编译器正式编译,才得到目标程序 &2.全局声明 int a,b,sum; 放到main函数前面,这就是全局声明;在函数外面的声明变量叫全局变量。 如果在程序开头(定义函数之前)声明的变量,在整个源程序文件范围内有效, 在函数中声明的变量叫局部变量;只在函数范围内有效 &3.函数定义 max函数,要指定每个函数的功能。在调用这些函数时,会完成函数定义中指定的功能 2函数是c程序的主要的组成部分。&1一个c语言程序由一个或多个函数组成,必须包含一个main函数(且只能有一个main函数) &2一个小程序只包含一个源程序文件,在一个源程序文件中包含若干个函数(其中有一个main函数); 当函数规模大的时候,包含函数的数量多,放在一个文件中显的太大,不便于调试和编译, 为了方便 可以将一个源程序分为若干个源程序,若干源个程序又包含若干个函数 &3在进行编译的时是以源程序文件为对象进行的,在分别对各源程序文件进行编译并得到相应的目标程序后, 再将这些目标程序连接为一个统一的二进制的可执行编程 &4 c语言的这种特点使得容易实现程序模块化 ,在程序中调用函数可以是系统提供的函数库(printf.scanf)也可以自己设计,(max。min) 3.一个函数包括两个部分 &1函数首部。即函数的第一行,包括函数名(max),函数类型(int),函数属性(int),函数参数(形式参数)名(x.y) .参数类型(int) &2函数体。即函数首部下面的花括号内的部分。如果一个函数中包括有多层话括号,则最外层的一对花括号是函数体的范围 函数体一般包括以下部分 *1声明部分,包括定义在本函数中用到的变量,在上面例子的main函数中的定义变量“int a,b,sum”,在本函数所调用函数进行声明 *2执行部分。由若干个语句组成,指定在函数中进行的操作。 在某些情况下也可以没有声明部分;甚至可以既无声明部分也无执行部分,如。void dump(){}是一个空函数,什么也不做,但这是合法的
一个风轻云淡
2022/11/13
6790
C语言函数的调用-学习十七
本文最后更新于2022年02月11日,已超过16天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
XG.孤梦
2022/03/01
2.3K0
C语言函数的调用-学习十七
C语言函数知识点【C语言学习笔记】
1个C语言程序是由1个或多个程序模块组成,每个程序模块作为一个源文件(.c),一个源文件是由1个或多个函数组成的。函数都是平行的,相互独立的,一个函数并不属于另一个函数。
岳泽以
2022/10/26
4720
C语言学习——函数(含递归)
(1) 一个源文件由一个或者多个函数组成。 (2) 一个C程序由一个或者多个源文件组成。 (3) C程序的执行从 main 函数开始。 (4) 所有的子函数都是平行的。 (5) 从用户的角度看,函数分库函数和自定义函数。 (6) 函数形式: ①无参函数:主调函数无数据传送给被调函数,可带或不带返回值。 ②有参函数:主调函数与被调函数间有参数传递,主调函数可将实参传送给被调函数的形参, 被调函数的数据可返回主调函数。
全栈程序员站长
2022/09/23
7560
C语言学习——函数(含递归)
C语言概述-学习一
本文最后更新于2022年01月24日,已超过35天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
XG.孤梦
2022/02/28
3840
C语言概述-学习一
C语言之函数
  结构化程序设计主张按功能来分析需求,主要原则自顶向下,逐步求精,模块化等。 主张按功能把软件系统逐步细分,每个功能都负责对数据进行一次处理,每个功能接收一些数据,处理完后输出一些数据,这种处理方式也被称为面向数据流的处理方式。 其最小单位是函数,每个函数负责一个功能,整个软件系统由一个个函数组成,其中作为程序入口的函数被称为主函数。 主函数依次调用其他普通函数,普通函数之间依次调用,从而完成整个软件系统的功能。   一个C程序可由一个主函数和若干个其他函数构成,主函数调用其他函数,其他函数也可互相调用。
互联网金融打杂
2018/04/03
2.9K0
C语言之函数
开讲啦:Chap 01 程序设计和C语言
参考链接:https://www.liuchuo.net/archives/130
石璞东
2021/09/22
6790
C语言程序设计核心详解 第七章 函数和预编译命令
在进行函数调用时系统将实参值对应地(按位置次序对应)传给形参,是一种值的单向传递。
小徐在进步
2024/10/03
2570
C语言程序设计核心详解 第七章 函数和预编译命令
江哥带你玩转C语言 | 08 - C语言函数
// 1.没有返回值/没有形参 // 如果一个函数不需要返回任何数据给调用者, 那么返回值类型就是void void printRose() { printf(" {@}\n"); printf(" |\n"); printf(" \\|/\n"); // 注意: \是一个特殊的符号(转意字符), 想输出\必须写两个斜线 printf(" |\n"); // 如果函数不需要返回数据给调用者, 那么函数中的return可以不写 }
极客江南
2021/07/11
4490
全国二级C知识点总结5-函数
l C源程序是由函数组成的,函数由函数首部与函数体组成,函数体包括声明部分和执行语句部分组成。
用户6755376
2019/11/21
2.1K0
初学者c语言_怎样自学C语言
C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言教程是进入编程世界的必修课!
全栈程序员站长
2022/10/05
1.1K0
初学者c语言_怎样自学C语言
我的C语言入门笔记~!
C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必修课。
小林C语言
2020/09/08
1.3K0
我的C语言入门笔记~!
[C语言]函数(function)
维基百科中,对函数的定义是子程序。在计算机科学中,子程序是一个大型程序中的某部分代码,由一个或多个语句块组成,它负责完成某项特定任务,而且,相较于其他代码,具备相对的独立性,C语言是由函数组成的,我们写的代码都是由主函数 main()开始执行的。函数是C语言程序段基本模块,是用于完成任务的程序代码单元。
IT编程爱好者
2023/04/12
2.3K0
[C语言]函数(function)
C语言函数嵌套与递归调用-学习十八
本文最后更新于2022年02月12日,已超过16天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
XG.孤梦
2022/03/01
1.7K0
C语言函数嵌套与递归调用-学习十八
C++函数概述 | 翻译密码
函数很重要,在开发常见的做法是把一个大的程序划为为若干个程序模块,每个模块实现一部分功能,这样做不仅可以多人来完成,也可以在单个模块中找bug。
小林C语言
2020/11/30
6470
C++函数概述 | 翻译密码
[C语言] 初始函数 & 数组
C语言的库函数在编写的时候是可以直接调用的,比如 printf 输出函数。而用户自定义函数则必须由用户对其进行定义,在其函数的定义中完成函数所特定的内容功能,这样才能被其他函数调用。
謓泽
2022/12/12
5330
[C语言] 初始函数 & 数组
C语言——函数(1)
函数事实上是从英文function翻译过来的,从英文也可以看出来函数是用来实现一定的功能的,C语⾔中的函数就是⼀个完成某项特定的任务的⼀⼩段代码,就相当于一个小的程序来实现所需要完成的功能,一个个小的程序组装在一起就可以实现总任务。⼀个⼤的计算任务可以分解成若⼲个较 ⼩的函数(对应较⼩的任务)完成。同时⼀个函数如果能完成某项特定任务的话,这个函数也是可以 复⽤的,提升了开发软件的效率。
用户11352420
2024/11/07
950
C语言——函数(1)
相关推荐
7.1 C语言函数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档