TCP/IP模型及TCP/UDP协议

协议:为进行网络中的数据交换(通信)而建立的规则、标准或约定。(=语义+语法+规则)

TCP/IP已成为Internet上通信的工业标准。

TCP/IP模型:

TCP协议是一个面向连接的可靠性传输协议,在发送数据之前,先要发出连接请求,当对方监听到有请求来到时就建立连接,然后双方就可以收发消息,发送完信息后,双方就断开连接(即三次握手协议).

三次握手协议:

第一次握手:

建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。

第二次握手:

服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:

客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

socket:

为了能够方便的开发网络应用软件,由美国伯克利大学在Unix上推出了一种应用程序访问通信协议的操作系统调用---socket(套接字)。socket的出现,使程序员可以很方便地访问TCP/IP,从而开发各种网络应用的程序。随着Unix的应用推广,套接字在编写网络软件中得到了极大的普及。后来,套接字又被引进了Windows
等操作系统中。Java语言也引入了套接字编程模型。

基于TCP的socket编程:(Socket类和ServerSocket类)

客户端程序编写:

①调用Socket()创建一个流套接字,并连接到服务器端;

②调用Socket类的getOutputStream()和getInputStream获取输出流和输入流,开始网络数据的发送和接收。

③最后关闭通信套接字。

服务器程序编写:

①调用ServerSocket(int port)创建一个服务器端套接字,并绑定到指定端口上;

②调用accept(),监听连接请求,如果客户端请求连接,则接受连接,返回通信套接字。

③调用Socket类的getOutputStream()和getInputStream获取输出流和输入流,开始网络数据的发送和接收。

④最后关闭通信套接字。

UDP协议是一种面向无连接的不可靠的协议,也就是在进行数据通讯之前发送端和接收端无需进行连接,发送端要发送数据,只需构造数据报,并将接收端的地址放入数据报中,然后将其发送出去就可以了.

该协议是一种不可靠的协议,因为收发放没有连接过程, 发送出去的数据有可能中途丢失,并且发送端还得不到反馈.所以在实现UDP协议的程序中,最关键是如何实现UDP的数据报

JAVA中提供了实现UDP协议的两个关键类

数据报类(DatagramPacket):构建一个数据报,里面可以放入要发送的数据以及接收端的地址.

UDP端类(DatagramSocket):构建实行UDP功能的发送端与接收端,实现发送与接收数据报.

UDP协议网络编程方法:

接收端程序编写:

①调用DatagramSocket(int port)创建一个数据报套接字,并绑定到指定端口上;

②调用DatagramPacket(byte[] buf, int length),建立一个字节数组以接收UDP包 。

③调用DatagramSocket类的receive(),接收UDP包。

④最后关闭数据报套接字。

发送端程序编写:

①调用DatagramSocket()创建一个数据报套接字;

②调用DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port),建立要发送的UDP包。

③调用DatagramSocket类的send(),发送UDP包。

④最后关闭数据报套接字。

时间: 2024-10-10 21:05:38

TCP/IP模型及TCP/UDP协议的相关文章

TCP/IP模型的一个简单解释

TCP/IP模型是互联网的基础. 想要理解互联网,就必须理解这个模型.但是,它不好懂,我就从来没有搞懂过. 前几天,BetterExplained上有一篇文章,很通俗地解释了这个模型.我读后有一种恍然大悟的感觉,第一次感到自己理解了互联网的总体架构. 下面,我按照自己的理解,写一下互联网到底是怎么搭建起来的.说得不对的地方,欢迎指正. 什么是TCP/IP模型? TCP/IP模型是一系列网络协议的总称,这些协议的目的,就是使计算机之间可以进行信息交换. 所谓"协议"可以理解成机器之间交谈

TCP/IP模型及OSI七层参考模型各层的功能和主要协议

注:网络体系结构是分层的体系结构,学术派标准OSI参考模型有七层,而工业标准TCP/IP模型有四层.后者成为了事实上的标准,在介绍时通常分为5层来叙述但应注意TCP/IP模型实际上只有四层. 1.TCP/IP模型 (1)物理层 物理层规定:为传输数据所需要的物理链路创建.维持.拆除,而提供具有机械的,电子的,功能的和规范的特性,确保原始的数据可在各种物理媒体上传输,为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境. (2)数据链路层 主要提供链路控制(同步,异步,二进制,HD

OSI七层模型,讲解tcp/ip五层涉及的网络协议,网络通信实现,结合协议来看网络通信流程

当我们通过自己电脑的浏览器访问京东的时候, 览器上输入了一个网址,但是我们都知道,互联网连接的电脑互相通信的是电信号,我们的电脑是怎么将我们输入的网址变成了电信号然后发送出去了呢,并且我们发送出去的消息是不是应该让京东的服务器能够知道,我们是在请求它的网站呢,也就是说京东是不是应该知道我发送的消息是什么意思呢.是不是发送的消息应该有一些固定的格式呢?让所有电脑都能识别的消息格式,他就像英语成为世界上所有人通信的统一标准一样,如果把计算机看成分布于世界各地的人,那么连接两台计算机之间的intern

简单梳理web盲区(-)OSI和TCP/IP模型

OSI模型 数据单元 层(layer) 功能及常见的协议 主机层 Data 数据 Application  layer 应用层 网络进程到应用程序,针对特定应用环境. HTTP,HTTPS,FTP,SSH,SMTP, Presentation  layer 表示层 数据表示层,用于数据的加密或者解密 Session  layer 会话层 主机之间通信,管理应用程序通信 Segments 数据段 Transport  layer 传输层 在网络节点发送数据包 TPC   UDP 媒介层 网络分组/

OSI结构和TCP/IP模型

TCP/IP层次模型共分为五层:应用层HTTP.传输层TCP.网络层IP.数据链路层Data-link.物理层physical. 应用层-应用层是所有用户所面向的应用程序的统称.ICP/IP协议族在这一层面有着很多协议来支持不同的应用,如我们进行万维网(WWW)访问用到了HTTP协议.文件传输用FTP协议.电子邮件发送用SMTP.域名的解析用DNS协议.远程登录用Telnet协议等等,都是属于TCP/IP应用层的. 传输层-这一层的的功能主要是提供应用程序间的通信,TCP/IP协议族在这一层的协

网络通信协议三之TCP/IP模型详解

TCP/IP模型 注:PDU:Protocol Date Unit:表示对等层之间传递的数据单位 TCP:Transmission Control Protocol:传输控制协议 UDP:User Dategram Protocal:用户报协议 IP:Internet Protocol:互联网报文协议 ICMP:Internet Control Message Protocol:互联网控制报文协议 ARP:Address Resolution Protocal:地址解析协议 RARP:Rever

TCP/IP 模型 与 OSI 七层模型的对应关系

TCP/IP 模型与 OSI 七层模型 七层有底向上分别是:物理层.数据链路层.网络层.传输层.会话层.表示层.应用层. 简化后的四层分别是:主机到网络层(比特).网络层(数据帧).传输层(数据包).应用层(数据段). 每一层对于上一层来讲是透明的,上层只需要使用下层提供的接口,并不关心下层是如何实现的 TCP/IP 模型: (1)数据链路层 主要提供链路控制(同步,异步,二进制,HDLC),差错控制(重发机制),流量控制(窗口机制) 1) MAC:媒体接入控制,主要功能是调度,把逻辑信道映射到

ISO/ISO 参考模型 和 TCP/IP模型

OSI 参考模型 国际化标准组织(International Organization for Standardization,ISO)于1978年提出了一个网络体系结构,成为开放系统互联参考模型(Open System Interconnection,OSI).OSI有7层结构,从低到高依次成为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层.如下图所示: OSI参考模型中各层的功能如下: 1.物理层 在链路上透明地传输位,需要完成的工作包括线路配置.确定数据传输模式.确定信号形式.

OSI&TCP/IP模型

OSI模型 OSI协议 基于OSI模型异构网络主机之间通信的协议 1. 应用层 不同的应用程序所在层,如邮件程序,web程序 2. 表示层 不同的文件类型如图片,视频等 3. 会话层 决定是否建立与其他主机之间的通信连接 4. 传输层 负责连接的建立与断开,保证数据传输的可靠性 5. 网络层 将数据从主机(根据目的地址)发送到网络中的另一台主机(不保证可达性) 6. 数据链路层 通过物理网络链路提供可靠的数据传输 7. 物理层 将数据的0.1转换为电压和脉冲光传输给物理的传输介质 TCP/IP模