之前的一篇文章写到了计算机网络知识的上半部分,今天则来继续讲讲下半部分,即网络的模型和网络的通信。
计算机网络
一、计算机网络的组成
1.OSI/RM结构与TCP/IP模型
网络协议是为网络数据交换而制定的规则、约定、标准, 一个功能完备的计算机网络需要制定一整套复杂的协议集,网络协议是按层次结构来组织的,网络层次结构模型与各层协议的集合称为网络体系结构。
-
OSI/RM结构七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
-
TCP/IP模型四层:
物理层:负责通信网络收发数据包
网络层:选择、流量控制、与网络拥塞问题,IP协议是该层核心。
传输层:机器之间建立用于会话的端到端连接(用于数据的传输),该层的核心协议是TCP、UDP协议。
应用层:主要为用户提供针对性的服务,该层代表性的协议有:HTTP、SMTP、FTP、TELNET。
2.MAC地址、IP地址、域名
- MAC地址
也叫物理地址,每张网卡在生产时厂家就是固化一个48位的地址(6个字节,通常表示为12个16进制数,如:00-16-EA-AE-3C-40),此地址全世界唯一,交换机路由器以此来确认网络设备位置的位址,缺点是不方便记忆,不够灵活。 - IP地址
IP 地址是基于逻辑的,比较灵活,不受硬件的限制,也容易记忆,方便划分子网,因此在计算机网络中表面上使用IP进行通信,目前由4个不超过255的整数组成,一般用点分十进制表示(192.168.2.180)。
而在交换机、路由器中有张ARP表,一列记录MAC,另一列记录IP地址,通过ARP协议的RARP协议可以对IP地址和MAC地址进行转换。 - 域名
由于普通人很难记忆大量IP地址,便有了代替IP地址的文字,但需要最终翻译成IP地址才能通信,提供翻译服务的计算机叫DNS服务器,需要在政府部分备案才能加入DNS服务器。 - ip地址的分类
◦A类:第一个二进制位必须是0
0.0.0.0~127.255.255.255
◦B类:前两位的二进制位必须是10
128.0.0.0~191.255.255.255
◦C类:前三位的二进制位必须是110
192.0.0.0~223.255.255.255
◦D类:前四位的二进制位必须是1110
224.0.0.0~239.255.255.255
◦E类:前四位的二进制位必须是1111
240.0.0.0~255.255.255.255
3.公有IP和私有IP
- 公有ip:在网络服务提供商登记过的ip地址叫公有ip
- 私有ip:由一此公司或组织自己分配的,不能在网络公开直接访问的ip。
4.子网掩码和网络地址
由4个不超过255的整数组成,一般用点分十进制表示
子网掩码&ip地址 = 网络地址,如果两人个ip地址的网络地址相同,那么说明它们在同一个子网内,就可以直接通信而不需要路由。
5.网关地址
负责子网出口的计算机,一般由路由器担任(路由器就是一台具有路由功能的计算
6.端口号
操作系统为需要通信的进程分配一个独一无二的编号,端口号可能确定与哪个进程来通信。
1~1024基本上已经被操作系统占用,一般编程要使用1024以上的,http:80、ftp:21、telnet:23、ssh:22
二、网络通信的基本概念
1.TCP通信协议
TCP (Transmission Control Protocol, 传输控制协议) 面向连接的服务,相当于打电话。
2.UDP通信协议
UDP (User Datagram Protocol, 用户数据报文协议) 面向无连接的服务,相当于发短信。
UDP | TCP | |
---|---|---|
是否连接 | 无连接 | 面向连接 |
是否可靠 | 不可靠传输,不使用流量控制和拥塞控制 | 可靠传输,使用流量控制和拥塞控制 |
连接对象个数 | 支持一对一,一对多,多对一和多对多交互通信 | 只能是一对一 |
传输方式 | 面向报文 | 面向字节流 |
适用场景 | 适用于实时应用(IP电话、视频会议、直播等) | 适用于要求可靠传输的应用,例如文件传输 |
3.总结
TCP向上层提供面向连接的可靠服务 ,UDP向上层提供无连接不可靠服务。
虽然 UDP 并没有 TCP 传输来的准确,但是也能在很多实时性要求高的地方有所作为。
对数据准确性要求高,速度可以相对较慢的,可以选用TCP。
了解TCP安全可靠的原因
1、建立连接时的三次握手
2、断开连接时的四次挥手
3、数据检验
4、超时重传