文档:十二.linux网络编程之网络通信相关概述...
链接:http://note.youdao.com/noteshare?id=183c1dffb25c93efeb79b68611fa10f4&sub=9A186925C22A49CF933350A85217C078
网络域套接字socket,网络通信其实就是位于网络中不同主机上面的2个进程之间的通信。
(1)硬件部分:网卡
(2)操作系统底层:网卡驱动
(3)操作系统API:socket接口
(4)应用层:低级(直接基于socket接口编程)
(5)应用层:高级(基于网络通信应用框架库)
(6)应用层:更高级(http、网络控件等)
(1)重点1:掌握网络通信的架构层次和基本原理
(2)重点2:掌握socket及其相关函数的使用
(3)重点3:掌握服务器和客户端程序通信的方法
(1)7层名字和顺序要记住,有时候笔试题目经常遇到。
层次 |
说明 |
功能/协议 |
应用层 |
应用程序及借口,类似于公司的老板 |
提供应用程序的借口FTP telnet http pop3等 |
表示层 |
对数据进行转换,加密和压缩 |
将上层的数据进行转换和编译压缩为标准的文件,如jpg,gif,ascii码等 |
会话层 |
建立,管理和终止会话 |
|
传输层 |
提供可靠的端到端的报文传输和差错控制,实质上就是负责建立连接的 |
TCP UDP 建立可靠和非可靠连接将上层的数据进行分段处理 |
网络层 |
将分组从源端传送到目的端,提供网络互联 |
实质上就是提供路由寻址(IP协议)将上层分段的数据进行打包 |
数据链路层 |
将分组数据封装成帧,提供节点到节点的传输 |
帧就是本地局域网中传输数据的一个单元,负责在局域网内部的点对点的寻址 |
物理层 |
在媒体上传输比特 |
就是底层的链路介质的规范 |
(1)计算机上网必备硬件设备,CPU靠网卡来连接外部网络
(2)串转并设备(网卡接收数据实际是串行方式,但他的物理设备是采用并行方式)
(3)数据帧封包和拆包
(4)网络数据缓存和速率适配
(1)信号中继放大,相当于中继器
(2)组成局域网络,用广播方式工作。
(3)注意集线器是不能用来连接外网的
(1)包含集线器功能,但更高级
(2)交换机中有地址表,数据包查表后直达目的通信口而不是广播
(3)找不到目的口时广播并学习
1.从OSI体系结构来看,集线器属于OSI第一层物理层设备,而交换机属于OSI的第二层数据链路层设备。也就意味着集线器只是对数据的传输起到同步、放大和整形的作用,对数据传输中的短帧、碎片等无法进行有效的处理,不能保证数据传输的完整性和正确性;而交换机不但可以对数据的传输做到同步、放大和整形,而且可以过虑短帧、碎片等。
2.从工作方式来看,集线器是一种广播模式,也就是说集线器的某个端口工作的时候,其他所有端口都能够收听到信息,容易产生广播风暴,当网络较大时网络性能会受到很大的影响。而交换机就能够避免这种现象,当交换机工作的事后,只有发出请求的端口和目的端口之间相互相应而不影响其它端口,因此交换机就能够隔离冲突与病有效的抑制广播风暴的产生。
(1)路由器相当于有2个网卡,一个对内做网关、一个对外做节点。
(2)路由器的主要功能是为经过路由器的每个数据包寻找一条最佳路径(路由)并转发出去。其实就是局域网内电脑要发到外网的数据包,和外网回复给局域网内电脑的数据包。
(3)路由器对内管理子网(局域网),可以在路由器中设置子网的网段,设置有线端口的IP地址,设置dhcp功能等,因此局域网的IP地址是路由器决定的。
(1)DNS是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络。
它所提供的服务是用来将主机名和域名转换为IP地址的工作。DNS就是这样的一位“翻译官”,它的基本工作原理可用下图来表示。
(2)我们访问一个网站的流程是:先使用IP地址(譬如谷歌的DNS服务器IP地址为8.8.8.8)访问DNS服务器(DNS服务器不能是域名,只能是直接的IP地址),查询我们要访问的域名的IP地址,然后再使用该IP地址访问我们真正要访问的网站。这个过程被浏览器封装屏蔽,其中使用的就是DNS协议。
(1)每台计算机都需要一个IP地址,且局域网内各电脑IP地址不能重复,否则会地址冲突。
(2)计算机的IP地址可以静态设定,也可以动态分配
(3)动态分配是局域网内的DHCP服务器来协调的,很多设备都能提供DHCP功能,譬如路由器。
(4)动态分配的优势:方便接入和断开、有限的IP地址得到充分利用
(1)IP地址分为公网IP(internet范围内唯一的IP地址)和私网IP(内网IP),局域网内的电脑使用的都是私网IP(常用的就是192.168.1.xx)
(2)网络通信的数据包中包含有目的地址的IP地址
(3)当局域网中的主机要发送数据包给外网时,路由器要负责将数据包头中的局域网主机的内网IP替换为当前局域网的对外外网IP。这个过程就叫NAT。
(4)NAT的作用是缓解IPv4的IP地址不够用问题,但只是类似于打补丁的形式,最终的解决方案还是要靠IPv6。
(5)NAT穿透简介
P2P下载:点对点下载(迅雷)
在NAT上打洞,借助服务器去连接两个局域网,令两台内网电脑相连的技术就是NAT技术
- A类IP地址
一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”, 地址范围从1.0.0.0 到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机。
- B类IP地址
一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机 。
- C类IP地址
一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。
- D类地址用于多点广播(Multicast)。
D类IP地址第一个字节以“lll0”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。
- E类IP地址
以“llll0”开始,为将来使用保留。