30.企业级开发进阶2:网络编程

网络编程部分开始,要求对内容的宏观理解的东西更加多了,简单梳理总结一下,希望大家多提意见一起完善。

本节内容

  • 网络基础知识
    什么是网络
    什么是网络编程
    IP地址是什么鬼
    端口号又是什么鬼
    据说还有个网络传输协议
  • TCP编程
  • UDP编程

1. 网络传输协议

1.1. 什么是网络

网络是将我们运行的多台个人PC,通过有线网或者无线网连接起来,方便多台电脑之间的数据传输而出现的,如我们个人PC如果单独使用的时候,只能当成单台电脑运行单机软件,写写文档、看看下载好的电影、玩玩单机游戏等等,如果此时想和其他使用电脑的人说句话~你只能通过张嘴喊话的方式了;如果电脑联网的话,就可以通过飞秋、QQ等各种手段实现,常见的网络都有哪些呢

网络根据使用的范围和区域的不同,划分了不同的几个档次
单机:单机其实也是一个网络环境,只能访问当前PC的数据,单机的网络IP地址:127.0.0.1
局域网:两台或者两台以上的电脑,通过交换机或者路由器进行互相连接,在一定的范围内局域网的PC可以实现互相通信的目的;一般情况局域网的PC数量在2台到几千台PC之间
城域网:是一种大型的局域网,可以访问的数据信息更多,通常情况下,城域网这个术语是从城市网络抽象出来的,也就是将一个城市中的PC进行网络连接实现数据共享的手段
广域网:通常是指代的跨地域的网络通信,一般情况下以国家或者地域为单位,让数据通信更加的广阔

网络:其实就是通过运营商提供的一种数据通信手段,将不同的PC进行连接,实现不同的PC之间数据通信为目的的一种手段,根据网络操作的范围划分单机、局域网、城域网、广域网等不同的网络访问层次结构。

1.2. 什么是网络编程

如果有了网络之后,网络中的所有数据都直接可以让别人访问的话,就会出现非常严重的数据安全问题;
次数就需要一种手段,将数据通过网络进行共享的同时增加限制访问权限;

网络编程就是通过编程的手段,让不同的PC之间可以使用恰当的方式进行数据的共享,同时添加各种限制权限让网络数据更加安全的一种技术操作。

在网络编程中,会出现一些专业的术语名词,需要简单了解一下

  • 服务器:专门用于数据共享的PC,将数据共享给所属网络中其他的PC,其他的PC可以通过网络和服务器提供的访问手段来访问服务器上的数据,如:淘宝就有自己的服务器,我们可以通过浏览器访问http://www.taobao.com来访问淘宝服务器上的数据
  • 客户端:在网络中获取数据的PC,当我们访问淘宝服务器的时候,我们自己的PC就是客户端

1.3. 网络数据传输:ip地址

如果一旦多个PC组成一个网络,就会出现这样一个问题,通过什么样的方式来确定某一个PC就是它自己呢,就如同让你怎么证明你就是你自己一样,生活中,我们会通过身份证号码来证明自己就是唯一的自己;网络中一般通过IP地址来确定网络中的某一个PC

网络中通过IP地址来确定某个唯一的电脑

IP地址也是一种网络协议,英文名称是Internet Protobcal Address,它提供了一种统一的地址格式,为网络中的PC分配一个唯一的整数序列,通常IP地址时一个二进制的数字序列,为了方便我们理解,转换为10进制整数,如:01100100.00000100.00000101.00000110就是一个IP地址,转换成十进制之后就是:100.4.5.6;如果大家了解过二进制的表示方式的话,就能看出来IP地址中的每一组数据的范围都是0~255之间

IP地址的编码方案:为了区分不同的机构使用的PC,约定俗称的将IP地址划分成了不同的类型,一般有A/B/C/D/E五类


IP地址分类

我们已经看出来了,IP地址可以表示的PC时期是非常有限的,总共能表示的电脑个数大概43亿个左右,如果一旦PC数量超出这个范围就表示不了了;所以在近些年,将原来的这样的IP地址表示方式,定义为IPv4版本;并且推出了IPv6的表示方式,IPv6可以标识更加多的PC;对于这部分的了解,大家有时间的时候可以自己拓展一下。

1.4. 网络数据传输:端口号

当我们的电脑已经处于网络中时,就可以进行数据通信了,但是此时又遇到这样一个问题;我们在自己的PC上可能同时打开了多个程序:QQ,微信、淘宝,如果我们向淘宝服务器发起了数据请求,淘宝服务器返回了我们需要的数据,那这些数据根据IP地址找到了我们的个人PC,但是数据应该交个那个应用程序呢?

数据请求过程

此时,就如同我们从淘宝上买了一件商品,商品通过快递(网络)寄送到我们的地址了,但是怎么样找到对应的人呢?答案很简单:通过我们收货人姓名来确定收快递的是谁。在网络中我们访问的数据,怎么区分是哪个程序呢,通过端口(Port)来进行确定,每一个端口都会对应唯一的一个应用程序,如浏览器访问的数据,是通过80端口进行数据传输的,FTP服务器是通过21端口进行数据传输的等等

常见的端口:

端口号 描述
21 FTP服务器文件传输接口
22 SSH连接端口
23 Telnet连接端口
25 SMTP邮件服务端口
80 浏览器访问网页的端口
109 pop3邮件服务端口
443 浏览器安全访问网页端口
1521 oracle数据库使用端口
3306 mysql数据库使用端口

1.5. 网络数据传输:网络传输协议

我们有了网络,有了IP地址,有了端口号Port,已经可以实现网络中不同的PC上的程序进行数据通信了,但是数据通信没有问题的前提下又出现了新的问题:不同的PC上的数据可能互相不认识!

如果现实生活中,每个人都是一个单独的PC,我们有了手机就算是有了网络,端口号就像每个人的手机号码一样都是唯一的,此时可以实现不同的人之间通过PC来进行通话了,也就是进行数据通信了;
如果你拨出一个号码对方接起了你的电话,你俩开始通信,你说的是本地方言,对方说的是阿拉伯语,你们说的话也就是数据,对方肯定是接收到了,但是~你翻译不了阿拉伯语,对方也翻译不了普通话,此时的数据通信尽管有了,但是数据由于解析不了,就相当于无效的通信!
Bingo!如果我们互相约定了,双方都使用我们大中华的标准普通话进行交流,你说的对方听懂了,对方说的你也听懂了,这样才是有效的通信——这里双方约定使用普通话交流,就是约定了一个通话协议
如果我们在网络中,约定了传输数据使用什么样的方式组织数据,就是网络协议

网络协议,就是网络数据传输协议,简称为传输协议,是为网络中不同PC和程序之间的有效数据通信而制定的一种数据组织和传输方式

常见的网络传输协议要归结到国际标准化组织(ISO)制定的开发系统互联模型(OSI)

OSI模型

名称 层次 功能
物理层 1 实现计算机系统与网络间的物理连接
数据链路层 2 进行数据打包与解包,形成信息帧
网络层 3 提供数据通过的路由
传输层 4 提供传输顺序信息与响应
会话层 5 建立和中止连接
表示层 6 数据转换、确认数据格式
应用层 7 提供用户程序接口

常见协议

网络传输常见协议

我们可以看到,前面了解的IP协议是底层的一种传输协议;基于IP协议在主机层次有TCP点对点的传输协议和UDP的广播协议等等,再向上应用层有FTP文件传输服务HTTP超文本数据传输协议等等。关于OSI模型和对应的数据传输协议,大家可以自行了解扩展一下。

在后续的章节中,我们会针对TCP协议、UDP协议的网络编程、以及SMTP邮件收发等给大家做详细的介绍

未完待续,请看下一节内容····TCP编程


大牧莫邪.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,585评论 2 57
  • 第二章 物理层 频分复用:频分复用的用户在同样的时间占用不同的带宽资源(频率带宽) 时分复用:时分复用的用户在不同...
    PramaWells阅读 3,549评论 1 3
  • 网络概念第一天 两台电脑怎么通过网络传输数据?怎样才能知道传输的是数据?谁摸过网线? 看电影,怎么看的?通过电流,...
    小吖朱阅读 1,537评论 0 1
  • 2014年6月,在巴西世界杯前夕,瓦伦西亚俱乐部聚集了一群特殊的客人,来纪念一个特殊的日子,在10年前,也就是20...
    持明院主阅读 510评论 1 4