网络互联基础
一、OSI
OSI(Open System interconnection)开放系统互连参考模型
ISO(International Standards Organization)国际标准化组织
机械性能:接口的型状,尺寸的大小,引脚的数目和排列方式等。
电气性能:接口规定信号的电压、电流、阻抗、波形、速率及平衡特性等。
工程规范:接口引脚的意义、特性、标准。
工作方式:确定数据位流的传输方式,如:单工、半双工或全双工。
物理层协议有:
美国电子工业协会(EIA)的RS232,RS422,RS423,RS485等;
国际电报电话咨询委员会(CCITT)的X.25、X.21等;
物理层的数据单位是位(BIT),典型设备是集线器HUB。
链路层屏蔽传输介质的物理特征,使数据可靠传送。
内容包括介质访问控制、连接控制、顺序控制、流量控制、差错控制和仲裁协议等。
链路层协议有:
协议有面向字符的通讯协议(PPP)和面向位的通讯协议(HDLC)。
仲裁协议:802.3、802.4、802.5,即:
CSMA/CD(Carrier Sense Multiple Access with Collision Detection)、Token
Bus、Token Ring
链路层数据单位是帧,实现对MAC地址的访问,典型设备是交换机Switch。
网络层管理连接方式和路由选择。
连接方式:虚电路(Virtual Circuits)和数据报(Datagram)服务。
虚电路是面向连接的(Connection-Oriented),数据通讯一次路由,通过会话建立的一条
通路。
数据报是非连接的(Connectionless-Oriented),每个数据报都有路由能力。
网络层的数据单位是包,使用的是IP地址,典型设备是路由器Router。
这一层可以进行流量控制,但流量控制更多的是使用第二层或第四层。
提供端到端的服务。可以实现流量控制、负载均衡。
传输层信息包含端口、控制字和校验和。
传输层协议主要是TCP和UDP。
传输层位于OSI的第四层,这层使用的设备是主机本身。
会话层主要内容是通过会话进行身份验证、会话管理和确定通讯方式。
一旦建立连接,会话层的任务就是管理会话。
表示层主要是解释通讯数据的意义,如代码转换、格式变换等,使不同的终端可以表示。
还包括加密与解密、压缩与解压缩等。
应用层应该是直接面向用户的程序或服务,包括系统程序和用户程序,
例如www、FTP、DNS、POP3和SMTP等都是应用层服务。
数据在发送时是数据从应用层至物理层的一个打包的过程,
接收时是数据从物理层至应用层的一个解包的过程,
从功能角度可分为三组,1、2层解决网络信道问题,3、4层解决传输问题,5、6、7层处理对应用进程的访问。
从控制角度可分为二组,第1、2、3层是通信子网层,第4、5、6、7层是主机控制层。
二、TCP/IP
TCP/IP(Transmission Control Protocol/Internet Protocol)已成为一个事实上的工业标准。
TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。
TCP/IP协议簇分为四层,IP位于协议簇的第二层(对应OSI的第三层),TCP位于协议簇的第三层(对应OSI的第四层)。
TCP和IP是TCP/IP协议簇的中间两层,是整个协议簇的核心,起到了承上启下的作用。
TCP/IP的最低层是接口层,常见的接口层协议有:
Ethernet 802.3、Token Ring 802.5、X.25、Frame reley、HDLC、PPP等。
网络层包括:IP(Internet Protocol)协议、ICMP(Internet Control Message Protocol)
控制报文协议、ARP(Address Resolution Protocol)地址转换协议、RARP(Reverse ARP)反向
地址转换协议。
IP是网络层的核心,通过路由选择将下一跳IP封装后交给接口层。IP数据报是无连接服务。
ICMP是网络层的补充,可以回送报文。用来检测网络是否通畅。
Ping命令就是发送ICMP的echo包,通过回送的echo relay进行网络测试。
ARP是正向地址解析协议,通过已知的IP,寻找对应主机的MAC地址。
RARP是反向地址解析协议,通过MAC地址确定IP地址。比如无盘工作站和DHCP服务。
传输层协议主要是:传输控制协议TCP(Transmission Control Protocol)和用户数据报协
议UDP(User Datagram rotocol)。
TCP是面向连接的通信协议,通过三次握手建立连接,通讯时完成时要拆除连接,由于TCP是面向连接的所以只能用于点对点的通讯。
TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。
UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。
UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出丢包现象,实际应用中要求在程序员编程验证。
应用层一般是面向用户的服务。如FTP、TELNET、DNS、SMTP、POP3。
FTP(File Transmision Protocol)是文件传输协议,一般上传*载下**用FTP服务,数据端口
是20H,控制端口是21H。
Telnet服务是用户远程登录服务,使用23H端口,使用明码传送,保密性差、简单方便。
DNS(Domain Name Service)是域名解析服务,提供域名到IP地址之间的转换。
SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,用来控制信件的发送、中
转。
POP3(Post Office Protocol 3)是邮局协议第3版本,用于接收邮件。
数据格式:
数据帧:帧头+IP数据包+帧尾 (帧头包括源和目标主机MAC地址及类型,帧尾是校验字)
IP数据包:IP头部+TCP数据信息 (IP头包括源和目标主机IP地址、类型、生存期等)
IP数据信息:TCP头部+实际数据 (TCP头包括源和目标主机端口号、顺序号、确认号、校
验字等)
三、TCP
client首先请求连接,发一个SYN包;Server收到后回应SYN_ACK包;Client收到后再发ACK包。即:
Client Server
SYN ---> 收
<--- SYN+ACK
ACK ---> 收
established表示建立状态,当某端发出数据包后收到了回应则进入established状态。
在TCP/IP连接时,如果两端都是established状态,则握手成功,否则是无连接或半联接状态。
套接字Socket由协议、IP地址和端口号组成,套接字表示一路通讯,一般是一个服务,如:www服务是TCP的80端口,Telnet是TCP的23端口。
四、IP
IP地址有四个段,包括网络标识和主机标识两部分:netid+hostid。
IP地址应用分为A、B、C三类,D、E类是保留和专用的。
Class A 0******* xxxxxxxx xxxxxxxx xxxxxxxx
Class B 10****** ******** xxxxxxxx xxxxxxxx
Class C 110***** ******** ******** xxxxxxxx
Class D 1110**** ******** ******** ********
Class E 1111**** ******** ******** ********
址址类 地址区间 网络数 主机数
A 类 1.0.0.1~126.255.255.254 27-2=126 224-2=16777214
B 类 128.0.0.1~191.255.255.254 214-2=16382 216-2=65534
C 类 192.0.0.1~223.255.255.254 221-2=2097150 28-2=254
D 类 224.0.0.1~239.255.255.255 228=268435456 0
E 类 240.0.0.1~255.255.255.255 228=268435456 0
主机地址全0表示为一个网络地址。
主机地址全1表示为对应网络的广播地址。
全0的IP地址:0.0.0.0,表示本机地址,只在启动过程时有效。
全1的IP地址255.255.255.255,表示本地广播(有的软件不支持)。
私有地址:
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
127.0.0.0网络是回环网络loopback,用于本机测试。例如:
ping 127.0.0.1 是测试本机网卡是否工作正常。
子网掩码用来区分网络地址和主机地址,标准的子网掩码为:
A 类: 1.0.0.1~126.255.255.254 netmask:255.0.0.0
B 类:128.0.0.1~191.255.255.254 netmask:255.255.0.0
C 类:192.0.0.1~223.255.255.254 netmask:255.255.255.0
子网掩码和IP地址的“与”运算得出对应的网络地址。
如果将子网掩码“1”的位数增加则网络地址数增加,形成子网。相当于网络的分隔。
如果将子网掩码“1”的位数减小则网络地址数减少,形成超网。相当于网络的聚合。
