首页 > 代码库 > Socket编程实践(15) --ISO/OSI与TCP/IP
Socket编程实践(15) --ISO/OSI与TCP/IP
ISO的开放互联网模型(OSI)
OSI(open system interconnection)开放系统互联模型是由ISO(International Organization for Standardization)国际标准化组织定义的网络分层模型,共七层。
1.物理层(Physical Layer):物理层定义了所有电子及物理设备的规范,为上层的传输提供了一个物理介质,本层中数据传输的单位为比特(bit)。属于本层定义的规范有EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等,实际使用中的设备如网卡等属于本层。
2.数据链路层(Data Link Layer):对物理层收到的比特流进行数据成帧。提供可靠的数据传输服务,实现无差错数据传输。在数据链路层中数据的单位为帧(frame)。属于本层定义的规范有SDLC、HDLC、PPP、STP、帧中继等,实际使用中的设备如switch交换机属于本层。
3.网络层(Network Layer):网络层负责将各个子网之间的数据进行路由选择,分组与重组。本层中数据传输的单位为数据包(packet)。属于本层定义的规范有IP、IPX、RIP、OSPF、ICMP、IGMP等。实际使用中的设备如路由器属于本层。
4.传输层(Transport Layer):提供可靠的数据传输服务,它检测路由器丢弃的包,然后产生一个重传请求,能够将乱序收到的数据包重新排序。
5.会话层(Session Layer):管理主机之间会话过程,包括会话建立、终止和会话过程中的管理。
6.表示层(Presentation Layer):表示层对网络传输的数据进行变换,使得多个主机之间传送的信息能够互相理解,包括数据的压缩、加密、格式转换等。
7.应用层(Application Layer):应用层与应用程序界面沟通,以达至展示给用户的目的。 在此常见的协定有: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等
OSI和邮件发送
TCP/IP四层模型
TCP/IP四层模型和OSI七层模型的不同
TCP/IP主要协议
运行FTP的两台主机
通过路由器连接的网络
对等通讯
封装(Encapsulation)
分用(Demultiplexing:解包)
端口
众所周知端口(Well Known Ports):从0到1023,这些端口由IANA分配和控制它们紧密绑定于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:21为ftp服务端口。
注册端口(Registered Ports):从1024到49151。它些端口不受IANA控制,但由IANA登记并提供使用情况清单。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:1433 Microsoft SQL服务端口
动态或私有端口(Dynamic or Private Ports):从49152到65535。IANA不管这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始
Socket编程实践(15) --ISO/OSI与TCP/IP