Java网络编程のTCP/IP
TCP/IP参考模型和TCP/IP协议
与OSI参考模型相似,TCP/IP参考模型汲取了网络分层的思想,而且对网络的层次做了简化,并在网络各层都提供了完善的协议,这些协议构成了TCP/IP协议集,简称TCP/IP协议。
TCP/IP参考模型分为4个层次:应用层、传输层、网络互连层和主机-网络层。在每一层都有相应的协议。确切地说,TCP/IP协议应该称为TCP/IP协议集,它是TCP/IP参考模型的除了主机-网络层(由第三方提供)以外的其他三层的协议的集合,而IP协议和TCP协议则是协议集中最核心的两个协议。
TCP/IP参考模型的各层协议
在TCP/IP参考模型中,去掉了OSI参考模型中的会话层和表示层,这两层的功能被合并到应用层,同时将OSI参考模型中的数据链路层和物理层合并到主机-网络层。
·1、主机-网络层
实际上TCP/IP参考模型并没有真正提供这一层的实现,也没有提供协议。它只是要求第三方实现的主机-网络层能够为上层提供一个访问接口,使得网络互联层能利用主机-网络层来传递IP数据包。
2、网络互联层
网络互联层是整个参考模型的核心。它的功能是把IP数据包发送到目标主机。为了尽快地发送数据,IP协议把原始数据分为多个数据包,然后沿着不同的路径同时传递数据包。数据包到达的先后顺序和发送的先后顺序可能不同,这需要上传对数据包重新排序,还原为原始数据。
网络互联层具备连接异构网的功能。如图:连接以太网和令牌网不同的网络拓扑结构。以太网和令牌网都向网络互联层提供了统一的访问接口,访问接口向网络互联层隐藏了下层网络的差异,使得两个网络之间可以顺利传递数据包。
网络互联层采用IP协议,它规定了数据包的格式,并且规定了为数据包寻找路由的流程。
传输层
传输层的功能是使源主机和目标主机上的进程可以进行对话。在传输层定义了两中服务质量不同的协议,TCP(传输控制协议)和UDP(用户数据报协议)。TCP协议是一种面向连接的、可靠的协议。它将源主机发出的字节流无差错地发送给互联网上的目标主机。在发送端,TCP协议负责把上层传送下来的数据分成报文段传递给下层。在接收端,TCP负责把收到的报文进行重组后递交给上层。TCP协议还要控制端到端的流量控制,以避免接收速度缓慢的接收方没有足够的缓冲区来接收发送方发送的大量数据。UDP协议是一个不可靠的、无连接协议,主要适用于不需要对报文进行排序和流量控制的场合。UDP不能保证数据报的接收顺序同发送顺序相同,甚至不能保证它们是否全部达到目标主机。
应用层
TCP/IP模型将OSI参考模型中的会话层和表示层的功能合并到应用层实现。
FTP:文件传输协议
TELNET:远程登录协议
HTTP:超文本传输协议
HTTPS:安全超文本传输协议,允许在网络上安全地传输超文本,网上传输的是经过加密的数据,到达目的地后再对数据解密。
POP3:邮局协议-版本3
SMTP:简单邮件传送协议
DNS:域名系统协议
URL规则