转载请标明出处: http://blog.csdn.net/sk719887916/article/details/46773109 作者:skay
一 互联技术
虽然作为程序员来讲不必过多的去了解网络互联的相关技术,但是目前互联网已经转向了物联网时代,从刚开始的软件+网络,成为今天的硬件+软件+网络的模式(即物联网)
智能家居的实现模式也是典型的物联网产物。因此有网络基础对成为一个高级软件架构师有着无比轻重的作用,因此接下来几篇文章我会给大家介绍下网络相关的知识,
目前主流的互联技术包括小规模的主机互联(局域网)和大规模的主机互联(广域网)。
主机互联一般基于的通信模式有一对一通信(双方)和多对多通信(多方)由以下两种通信方式。
1 双方通信
–双方信息打包后放到通信线路上发送,就能到达对方。
–在通信线路上只有两方,所收到的信息必然是对方发过来给我的。
2 多方通信
-只将信息打包后就放到通信线路上去发送,那么就无法知道到是从哪儿发来的然后到底底是发给谁的信息。
因此,我们需要给每一个通信终端都编一个号,也就是IP地址(IP地址)。
虽然程序员和硬件扯不上太大的关系,但是我们还是要知道早期的局域网是同过双绞线和同轴电缆当作通信介质,但是由于介质的损耗和带宽问题,目前已采用光纤通信,
采用光速,不仅提高了传输速率,而且减少了损耗。以下两种介质的对比。
名称 |
速率 |
介质类型 |
最大线缆长度 |
10BASE2 |
10Mbps |
细同轴电缆 |
200米 |
10BASE-T |
10Mbps |
双绞线 |
100米 |
交换机就是用来进行报文交换的机器。多为链路层设备(二层交换机),能够进行地址学习,采用存储转发的形式来交换报文.。
-- 路由器
-路由器用来连通不同的网络,另一个作用是选择信息和分发传送的线路功能。选择通畅快捷的近路,能大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率。
具有多个接口,用于连接多个IP子网及多种链路,并实现其互联互通的网络设备。工作在OSI第三层,其主要工作任务是在网络中转发IP数据包
Mac地址即设备物理地址,他类似人类的身份证,每个人出生就开始编制了号码,其互联网设备出厂也会标志唯一的mac地址,物理地址由IEEE统一指定和分配,比如联想和惠普就有不同的区段范围的mac地址,其原理和规则是: MAC统一编址,MAC地址长6个字节(48位),全球唯一。前24为OUI,由IEEE分配给各网络厂家。后24位为EUI,由厂家自行分配。
又称全局路由表,存储在路由器的内存中,用于指示路由器发送IP数据包转发至正确目的地的信息表。列如,生活中我们去乘火车,我们只关心目的城市,从上车之前我们并不知道其最近路线,二路由器就里面就保存着我们下一站的信息,火车没到一个站,都要经过铁路公司的统一安排开始进入对应的股道,而路由器就是铁路中的小枢纽站一样。
协议 |
目标网段/掩码 |
出口 |
下一跳 |
C |
192.168.1.0/55 |
S0/0 |
----- |
C |
192.168.1.4/45 |
S0/1 |
----- |
b |
192.168.10.0/23 |
F0/0 |
----- |
S |
192.168.18.0/20 |
S0/0 |
192.168.1.2 |
O |
192.168.22.0/219 |
S0/1 |
192.168.1.6 |
协议 |
端口号 |
协议 |
端口号 |
协议 |
端口号 |
FTP |
21 |
HTTP |
80 |
SMTP |
25 |
FT-data |
20 |
HTTPS |
443 |
POP3 |
110 |
Telnet |
23 |
SQL |
1433 |
Tacacs+ |
49 |
SSH |
22 |
Oracel |
1521 |
DNS |
53 |
协议 |
端口号 |
协议 |
端口号 |
协议 |
端口号 |
DHCP |
67 68 |
Radius |
1812 1813 |
WINS |
42 |
TFTP |
69 |
NTP |
123 |
NETBIOS |
137 138 139 |
SNMP |
161 162 |
RIP |
520 |
DNS |
53 |
IP包的头文件结构:
对有着开发经验的程序员来说,概念或许你并不知道,但是你知道socket建立时我需要指定目标地址,和主机端口号。而这些是怎么IP协议发送过去的呢,首先发送方进行封包,路由器进行不断转发,最后找到目标主机进行拆包,然后读取信息。
网络建立连接有个三次握手协议,通俗讲,小时候你出去玩了,你很饿,你就喊妈妈,问妈妈饭最好了吗,你妈妈说好了,你说可以过去吃饭吗,妈妈说可以了,这样你才能回家吃饭。计算机通信也是这样。
如下图,A向B请求,B收到后应答给A,然后A收到B的应答信息后再继续应答B, B收到后双方建立连接。 注意:后面我们程序的非对称加密协议和网网络连接一样类似,后面我会讲到。
当我的连接建立时我通常开始主机A的封包和主机B的解包,当然解包是封包的逆过程,通常称为完整的一次连接。
这里我们还需要知道两个概念DNS和ARP
通过今天的学习,我们可以大概了解下TCP/IP的架构分布和传输协议,以及网络通讯的术语和各自功能,包括几种连接方式,其建立成功连接需要的必要数据结构,曾经记得有次面试
遇到了有关网络的面试题,有可能面试官懂点网络基础,想来虐虐我,最后没想到我从头讲到尾,但遗憾的是我还是未被录取。在下面的几篇文章中,我大致会给大家介绍下网络分布拓扑和
网络安全知识和数据加解密的有关知识,但只限于作为程序员来讲方面的知识。欢迎阅读。
转载请标明出处: http://blog.csdn.net/sk719887916/article/details/46773109 作者:skay