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规则

  

  

  

Java网络编程のTCP/IP的更多相关文章

  1. Socket网络编程(TCP/IP/端口/类)和实例

    Socket网络编程(TCP/IP/端口/类)和实例 原文:C# Socket网络编程精华篇 转自:微冷的雨 我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念: TCP/IP层次 ...

  2. 网络编程TCP/IP详解

    网络编程TCP/IP详解 1. 网络通信 中继器:信号放大器 集线器(hub):是中继器的一种形式,区别在于集线器能够提供多端口服务,多口中继器,每个数据包的发送都是以广播的形式进行的,容易阻塞网络. ...

  3. JAVA基础知识之网络编程——-TCP/IP协议,socket通信,服务器客户端通信demo

    OSI模型分层 OSI模型是指国际标准化组织(ISO)提出的开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM),它将网络分为七 ...

  4. 网络编程TCP/IP实现客户端与客户端聊天

    一.TCP/IP协议 既然是网络编程,涉及几个系统之间的交互,那么首先要考虑的是如何准确的定位到网络上的一台或几台主机,另一个是如何进行可靠高效的数据传输.这里就要使用到TCP/IP协议. TCP/I ...

  5. java网络编程(TCP详解)

    网络编程详解-TCP 一,TCP协议的特点              面向连接的协议(有发送端就一定要有接收端)    通过三次连接握手建立连接 通过四次握手断开连接 基于IO流传输数据 传输数据大小 ...

  6. java 网络编程-tcp/udp

    --转自:http://blog.csdn.net/nyzhl/article/details/1705039 直接把代码写在这里,解释看这里吧:http://blog.csdn.net/nyzhl/ ...

  7. python 网络编程 TCP/IP socket UDP

    TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Micro ...

  8. 五十三 网络编程 TCP/IP简介

    虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Microsoft都有各自的 ...

  9. Python中的socket网络编程(TCP/IP,UDP)讲解

    在网络编程中的一个基本组件就是套接字(socket).套接字基本上是两个端点的程序之间的"信息通道".程序可能分布在不同的计算机上,通过套接字互相发送信息.套接字包括两个:服务器套 ...

随机推荐

  1. python装饰器注意事项

    内容: 1.装饰器基本结构复习 2.装饰器注意事项 python装饰器详细内容:http://www.cnblogs.com/wyb666/p/8748102.html 1.装饰器基本结构复习 装饰器 ...

  2. Dev使用技巧汇总

    C# XtraGrid的行指示器(RowIndicator)行号以及图标设置 参考网址:https://www.cnblogs.com/xuliangxing/p/6775438.html DateE ...

  3. nginx代理socket tcp/udp

    准备一台linux服务器.nginx官网:http://nginx.org/ .在网上搜到大致用的是 ngx_stream_core_module 这个模块,这里你也可以关注一下官方文档中的其他模块都 ...

  4. leetcode529

    public class Solution { //DFS public char[,] UpdateBoard(char[,] board, int[] click) { ), n = board. ...

  5. java算法 蓝桥杯 文化之旅

    问题描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不同的国家可能有相同的文化.不同文化 ...

  6. iOS判断字母、数字串

    以下为NSString类的扩展方法,分别是判断字符串是否只是包含字母.是否只包含数字.是否只包含字母和数字: //字母 - (BOOL)cdm_isOnlyLetters { NSCharacterS ...

  7. linux系统中的单引号和双引号

    一.为什么用quoting 前面说到,命令行在内容上主要由literal(一般文字)和meta(元字符)组成,而meta又由IFS.CR和其他字符组成(如=,$, > 等),通常这些原元字符都有 ...

  8. 14-敌兵布阵(HDU1166线段树 & 树状数组)

    http://acm.hdu.edu.cn/showproblem.php?pid=1166 敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory ...

  9. Python Windows下打包成exe文件

    Python Windows 下打包成exe文件,使用PyInstaller 软件环境: 1.OS:Win10 64 位 2.Python 3.7 3.安装PyInstaller 先检查是否已安装Py ...

  10. rsyslog收集nginx日志配置

    rsyslog日志收集配置 rsyslog服务器收集各服务器的日志,并汇总,再由logstash处理 请查看上一篇文章  http://bbotte.blog.51cto.com/6205307/16 ...