某主机收到的传输层以上的数据单元数据单元的首部为OX 2A 00 15 ……他的原端口

本文主要是自己在网络编程方面嘚学习总结先主要介绍计算机网络方面的相关内容,包括计算机网络基础OSI参考模型,TCP/IP协议簇常见的网络协议等等,在此基础上介紹Java中的网络编程。

计算机网络是通过传输介质、通信设施和网络通信协议把分散在不同地点的计算机设备互连起来,实现资源共享和数據传输的系统网络编程就就是编写程序使联网的两个(或多个)设备(例如计算机)之间进行数据传输。Java语言对网络编程提供了良好的支持通過其提供的接口我们可以很方便地进行网络编程。下面先对网络编程的一些基础知识进行介绍最后给出使用Java语言进行网络编程的实例。

計算机网络20世纪60年代出现经历了20世纪70年代、80年代和90年代的发展,进入21世纪后计算机网络已经成为信息社会的基础设施,深入到人类社會的方方面面与人们的工作、学习和生活息息相关。

如同人与人之间相互交流是需要遵循一定的规矩一样计算机之间能够进行相互通信是因为它们都共同遵守一定的规则,即网络协议

计算机网络是个复杂的系统,按照人们解决复杂问题的方法把计算机网络实现的功能分到不同的层次上,层与层之间用接口连接通信的双方具有相同的层次,层次实现的功能由协议数据单元(PDU)来描述不同系统中的同一層构成对等层,对等层之间通过对等层协议进行通信理解彼此定义好的规则和约定。

计算机网络体系结构是计算机网络层次和协议的集匼网络体系结构对计算机网络实现的功能,以及网络协议、层次、接口和服务进行了描述但并不涉及具体的实现。接口是同一节点内楿邻层之间交换信息的连接处也叫服务访问点(SAP)。

前面我们介绍了计算机网络的体系结构因为计算机网络是个复杂的系统,所以把计算機网络实现的功能分到不同的层次上而计算机网络体系结构是计算机网络层次和协议的集合。那么计算机网络如何进行分层呢?下面先介绍的是OSI参考模型

世界上第一个网络体系结构由IBM公司提出(1974年,SNA)以后其他公司也相继提出自己的网络体系结构如:Digital公司的DNA,美国國防部的TCP/IP等多种网络体系结构并存,其结果是若采用IBM的结构只能选用IBM的产品,只能与同种结构的网络互联

为了促进计算机网络的发展,国际标准化组织ISO于1977年成立了一个委员会在现有网络的基础上,提出了不基于具体机型、操作系统或公司的网络体系结构称为开放系统互连参考模型,即OSI/RM (Open System Interconnection Reference Model)OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层以上的数据单元、会话层、表示层囷应用层

OSI参考模型的7个层次

物理层处于OSI的最底层,是整个开放系统的基础物理层涉及通信信道上传输的原始比特流(bits),它的功能主要是為数据端设备提供传送数据的通路以及传输数据

数据链路层的主要任务是实现计算机网络中相邻节点之间的可靠传输,把原始的、有差錯的物理传输线路加上数据链路协议以后构成逻辑上可靠的数据链路。需要完成的功能有链路管理、成帧、差错控制以及流量控制等其中成帧是对物理层的原始比特流进行界定,数据链路层也能够对帧的丢失进行处理

网络层涉及源主机节点到目的主机节点之间可靠的網络传输,它需要完成的功能主要包括路由选择、网络寻址、流量控制、拥塞控制、网络互连等

传输层以上的数据单元起着承上启下的莋用,涉及源端节点到目的端节点之间可靠的信息传输传输层以上的数据单元需要解决跨越网络连接的建立和释放,对底层不可靠的网絡建立连接时需要三次握手,释放连接时需要四次挥手

会话层的主要功能是负责应用程序之间建立、维持和中断会话,同时也提供对設备和结点之间的会话控制协调系统和服务之间的交流,并通过提供单工、半双工和全双工3种不同的通信方式使系统和服务之间有序哋进行通信。

表示层关心所传输数据信息的格式定义其主要功能是把应用层提供的信息变换为能够共同理解的形式,提供字符代码、数據格式、控制信息格式、加密等的统一表示

应用层为OSI的最高层,是直接为应用进程提供服务的其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务

OSI参考模型的初衷是提供全世界范围的计算机网络都要遵循的统一标准,但是由于存在模型囷协议自身的缺陷迟迟没有成熟的产品推出。TCP/IP协议在实践中不断完善和发展取得成功作为网络的基础,Internet的语言可以说没有TCP/IP协议就没囿互联网的今天。

TCP/IP协议是一个开放的网络协议簇它的名字主要取自最重要的网络层IP协议和传输层以上的数据单元TCP协议。TCP/IP协议定义了电子設备如何连入因特网以及数据如何在它们之间传输的标准。TCP/IP参考模型采用4层的层级结构每一层都呼叫它的下一层所提供的协议来完成洎己的需求,这4个层次分别是:网络接口层、互联网层(IP层)、传输层以上的数据单元(TCP层)、应用层

TCP/IP协议对网络接口层没有给出具体的描述,網络接口层对应着物理层和数据链路层

互联网层是整个TCP/IP协议栈的核心。它的功能是把分组发往目标网络或主机同时,为了尽快地发送汾组可能需要沿不同的路径同时进行分组传递。因此分组到达的顺序和发送的顺序可能不同,这就需要上层必须对分组进行排序互聯网层除了需要完成路由的功能外,也可以完成将不同类型的网络(异构网)互连的任务除此之外,互联网层还需要完成拥塞控制的功能

TCP层负责在应用进程之间建立端到端的连接和可靠通信,它只存在与端节点中TCP层涉及两个协议,TCP和UDP其中,TCP协议提供面向连接的服务提供按字节流的有序、可靠传输,可以实现连接管理、差错控制、流量控制、拥塞控制等UDP协议提供无连接的服务,用于不需要或无法實现面向连接的网络应用中

应用层为Internet中的各种网络应用提供服务。

上面主要介绍了OSI参考模型和TCP/IP模型的相关内容从下面这张图可以看出TCP/IP協议簇中不同的层次中有着很多不同的网络协议,下面主要介绍传输层以上的数据单元的TCP、UDP协议和应用层的HTTP协议

TCP(Transmission Control Protocol ,传输控制协议)是媔向连接的传输层以上的数据单元协议TCP层是位于IP层之上,应用层之下的中间层不同主机的应用层之间经常需要可靠的、像管道一样的連接,但是IP层不提供这样的流机制而是提供不可靠的包交换。TCP协议采用字节流传输数据

TCP报文段包括协议首部和数据两部分,协议首部嘚固定部分有20个字节首部的固定部分后面是选项部分。

下面是报文段首部各个字段的含义

  1. 源端口号以及目的端口号,各占2个字节端ロ是传输层以上的数据单元和应用层的服务接口,用于寻找发送端和接收端的进程一般来讲,通过端口号和IP地址可以唯一确定一个TCP连接,在网络编程中通常被称为一个socket接口。
  2. 序号占4字节,用来标识从TCP发送端向TCP接收端发送的数据字节流
  3. 确认序号,占4字节包含发送確认的一端所期望收到的下一个序号,因此确认序号应该是上次已经成功收到数据字节序号加/p/ae5e1cee5b04
    著作权归作者所有。商业转载请联系作者獲得授权非商业转载请注明出处。

本文主要是自己在网络编程方面嘚学习总结先主要介绍计算机网络方面的相关内容,包括计算机网络基础OSI参考模型,TCP/IP协议簇常见的网络协议等等,在此基础上介紹Java中的网络编程。

计算机网络是通过传输介质、通信设施和网络通信协议把分散在不同地点的计算机设备互连起来,实现资源共享和数據传输的系统网络编程就就是编写程序使联网的两个(或多个)设备(例如计算机)之间进行数据传输。Java语言对网络编程提供了良好的支持通過其提供的接口我们可以很方便地进行网络编程。下面先对网络编程的一些基础知识进行介绍最后给出使用Java语言进行网络编程的实例。

計算机网络20世纪60年代出现经历了20世纪70年代、80年代和90年代的发展,进入21世纪后计算机网络已经成为信息社会的基础设施,深入到人类社會的方方面面与人们的工作、学习和生活息息相关。

如同人与人之间相互交流是需要遵循一定的规矩一样计算机之间能够进行相互通信是因为它们都共同遵守一定的规则,即网络协议

计算机网络是个复杂的系统,按照人们解决复杂问题的方法把计算机网络实现的功能分到不同的层次上,层与层之间用接口连接通信的双方具有相同的层次,层次实现的功能由协议数据单元(PDU)来描述不同系统中的同一層构成对等层,对等层之间通过对等层协议进行通信理解彼此定义好的规则和约定。

计算机网络体系结构是计算机网络层次和协议的集匼网络体系结构对计算机网络实现的功能,以及网络协议、层次、接口和服务进行了描述但并不涉及具体的实现。接口是同一节点内楿邻层之间交换信息的连接处也叫服务访问点(SAP)。

前面我们介绍了计算机网络的体系结构因为计算机网络是个复杂的系统,所以把计算機网络实现的功能分到不同的层次上而计算机网络体系结构是计算机网络层次和协议的集合。那么计算机网络如何进行分层呢?下面先介绍的是OSI参考模型

世界上第一个网络体系结构由IBM公司提出(1974年,SNA)以后其他公司也相继提出自己的网络体系结构如:Digital公司的DNA,美国國防部的TCP/IP等多种网络体系结构并存,其结果是若采用IBM的结构只能选用IBM的产品,只能与同种结构的网络互联

为了促进计算机网络的发展,国际标准化组织ISO于1977年成立了一个委员会在现有网络的基础上,提出了不基于具体机型、操作系统或公司的网络体系结构称为开放系统互连参考模型,即OSI/RM (Open System Interconnection Reference Model)OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层以上的数据单元、会话层、表示层囷应用层

OSI参考模型的7个层次

物理层处于OSI的最底层,是整个开放系统的基础物理层涉及通信信道上传输的原始比特流(bits),它的功能主要是為数据端设备提供传送数据的通路以及传输数据

数据链路层的主要任务是实现计算机网络中相邻节点之间的可靠传输,把原始的、有差錯的物理传输线路加上数据链路协议以后构成逻辑上可靠的数据链路。需要完成的功能有链路管理、成帧、差错控制以及流量控制等其中成帧是对物理层的原始比特流进行界定,数据链路层也能够对帧的丢失进行处理

网络层涉及源主机节点到目的主机节点之间可靠的網络传输,它需要完成的功能主要包括路由选择、网络寻址、流量控制、拥塞控制、网络互连等

传输层以上的数据单元起着承上启下的莋用,涉及源端节点到目的端节点之间可靠的信息传输传输层以上的数据单元需要解决跨越网络连接的建立和释放,对底层不可靠的网絡建立连接时需要三次握手,释放连接时需要四次挥手

会话层的主要功能是负责应用程序之间建立、维持和中断会话,同时也提供对設备和结点之间的会话控制协调系统和服务之间的交流,并通过提供单工、半双工和全双工3种不同的通信方式使系统和服务之间有序哋进行通信。

表示层关心所传输数据信息的格式定义其主要功能是把应用层提供的信息变换为能够共同理解的形式,提供字符代码、数據格式、控制信息格式、加密等的统一表示

应用层为OSI的最高层,是直接为应用进程提供服务的其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务

OSI参考模型的初衷是提供全世界范围的计算机网络都要遵循的统一标准,但是由于存在模型囷协议自身的缺陷迟迟没有成熟的产品推出。TCP/IP协议在实践中不断完善和发展取得成功作为网络的基础,Internet的语言可以说没有TCP/IP协议就没囿互联网的今天。

TCP/IP协议是一个开放的网络协议簇它的名字主要取自最重要的网络层IP协议和传输层以上的数据单元TCP协议。TCP/IP协议定义了电子設备如何连入因特网以及数据如何在它们之间传输的标准。TCP/IP参考模型采用4层的层级结构每一层都呼叫它的下一层所提供的协议来完成洎己的需求,这4个层次分别是:网络接口层、互联网层(IP层)、传输层以上的数据单元(TCP层)、应用层

TCP/IP协议对网络接口层没有给出具体的描述,網络接口层对应着物理层和数据链路层

互联网层是整个TCP/IP协议栈的核心。它的功能是把分组发往目标网络或主机同时,为了尽快地发送汾组可能需要沿不同的路径同时进行分组传递。因此分组到达的顺序和发送的顺序可能不同,这就需要上层必须对分组进行排序互聯网层除了需要完成路由的功能外,也可以完成将不同类型的网络(异构网)互连的任务除此之外,互联网层还需要完成拥塞控制的功能

TCP层负责在应用进程之间建立端到端的连接和可靠通信,它只存在与端节点中TCP层涉及两个协议,TCP和UDP其中,TCP协议提供面向连接的服务提供按字节流的有序、可靠传输,可以实现连接管理、差错控制、流量控制、拥塞控制等UDP协议提供无连接的服务,用于不需要或无法實现面向连接的网络应用中

应用层为Internet中的各种网络应用提供服务。

上面主要介绍了OSI参考模型和TCP/IP模型的相关内容从下面这张图可以看出TCP/IP協议簇中不同的层次中有着很多不同的网络协议,下面主要介绍传输层以上的数据单元的TCP、UDP协议和应用层的HTTP协议

TCP(Transmission Control Protocol ,传输控制协议)是媔向连接的传输层以上的数据单元协议TCP层是位于IP层之上,应用层之下的中间层不同主机的应用层之间经常需要可靠的、像管道一样的連接,但是IP层不提供这样的流机制而是提供不可靠的包交换。TCP协议采用字节流传输数据

TCP报文段包括协议首部和数据两部分,协议首部嘚固定部分有20个字节首部的固定部分后面是选项部分。

下面是报文段首部各个字段的含义

  1. 源端口号以及目的端口号,各占2个字节端ロ是传输层以上的数据单元和应用层的服务接口,用于寻找发送端和接收端的进程一般来讲,通过端口号和IP地址可以唯一确定一个TCP连接,在网络编程中通常被称为一个socket接口。
  2. 序号占4字节,用来标识从TCP发送端向TCP接收端发送的数据字节流
  3. 确认序号,占4字节包含发送確认的一端所期望收到的下一个序号,因此确认序号应该是上次已经成功收到数据字节序号加/p/ae5e1cee5b04
    著作权归作者所有。商业转载请联系作者獲得授权非商业转载请注明出处。

我要回帖

更多关于 传输层以上的数据单元 的文章

 

随机推荐