`

网络协议相关总结,TCP/IP,UDP

阅读更多

TCP/IPTransmission Control Protocol/Internet Protocol

TCP协议和IP协议组成,TCP/IP协议是一组TCP协议,IP协议,UDP协议,ICMP协议及其它协议组成的协议组。

传统的7层是:物理层,数据链路层,网络层,传输层,话路层,表示层,应用层;而TCP/IP采用了4层结构:

a、应用层(应用程序间的沟通层,如简单的电子邮件传输SMTP/POP3,文件传输协议FTP,网络远程访问协议Telnet,超文本传输协议http

b、传输层(这一层提供节点间的数据传输服务,如传输控制协议TCP,用户数据报协议UDP等,TCPUDP给数据包加入要传输的数据并把他传输到下一层,并确定数据已经被送达并接收)

c、互联网层(负责基本的数据封装传送功能,让每一个数据包都能达到目的主机,但不检测是否被接收,如网际协议IP)

d、网络接口层:负责数据帧的发送和接收,帧是独立的网络信息传输单元。网络接口层将帧放在网上,或从网上把帧取下来。

HTTP协议

http:超文本传输协议(HTTP)是应用层协议,由于其简捷、快速的方式,适用于分布式和合作式超媒体信息系统。HTTP 允许使用自由答复的方法表明请求目的,它建立在统一资源识别器(URI)提供的参考原则下,作为一个地址(URL)或名字(URN),用以标志采用哪种方法,它用类似于网络邮件和多用途网际邮件扩充协议(MIME)的格式传递消息。HTTP 是一种请求/响应式的协议

http协议的特点:

1、  支持客户端/服务器模式

2、  简单快速:客户端向服务端请求时只需传请求的方法和路径,请求的方法常有:

:put:很少见,与post相似,与post的区别是它指定资源的存储位置;而post没有;

删:delete:删除一个资源,很少见,amazonS3云服务器中就用到这个方法

改:post:使用广泛,几乎所有的提交操作都是靠这个来完成的

查:get:最常见的,本质就是发送一个请求取得服务器上的资源;

由于http协议简单,使用http服务器的程序规模小,因而通信速度很快;

3、  灵活:http允许传输任意类型的数据;正在传输的类型由content-type加以标记

4、  无连接:限制每次连接只处理一次请求,服务器处理完客户端请求,并收到客户端应答后立即断开连接,这种方式节省传输时间

5、  无状态:对事务处理没有记忆能力,如果后续要再处理前面的数据必须重传,这样可能导致每次传输的数据量增大;另一方面在服务器不需要先前的信息时它的应答就较快

网页常见错误代码:

总分:

1xx:表示请求已经成功接收,继续处理

2xx:  表示请求已经成功接收,理解,接受

3xx:要完成请求必须更进一步处理

4xx:客户端错误,请求有语法错误或请求无法实现

5xx:服务器错误,服务器未能实现合法的请求

细分:

200:成功相应,所请求的资源发送回客户端

400   Bad Request 请求出现语法错误

403   Forbidden 资源不可用。服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致。 

404   Not Found 无法找到指定位置的资源。这也是一个常用的应答。 

405   Method Not Allowed 请求方法(GETPOSTHEADDeletePUTTRACE等)对指定的资源不适用。 

500   Internal Server Error 服务器遇到了意料不到的情况,不能完成客户的请求。 

505   HTTP Version Not Supported

服务器不支持请求中所指明的HTTP版本。 

什么是TCP的三次握手

第一次握手:客户端发送syn(第一次请求的数据包);并进入syn_send状态,等待服务器确认;

第二次握手:服务器接收到syn(syn+ack),必须确认客户的syn包,同时自己也发送一个syn包,此时服务器进入syn_recv状态

第三次握手:客户端收到服务器的syn+ack包,向服务器发送确认包ack,此包发送完毕客户端与服务器端建立连接进入established状态;完成三次握手

握手过程中传送的包里不包含数据,三次握手完毕客户端和服务器端才正式建立连接;在通信双方任何一方主动关闭连接之前,TCP连接都将一直保持下去;服务器端和客户端均可以发起断开连接的请求,端口连接需要四次握手;

Socket建立网络连接的步骤:

Socket建立连接需要一套套接字,运行在客户端的叫ClientSocket,运行在服务器端的叫ServerSocket;;建立连接分为三个步骤:服务器监听,客户端请求,连接确认

1。服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,等待客户端的连接请求。  

2。客户端请求:指客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。  

3。连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,双方就正式建立连接。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。

TCPUDP的区别:

TCP是面向链接的,虽然说网络的不安全不稳定特性决定了多少次握手都不能保证连接的可靠性,但TCP的三次握手在最低限度上(实际上也很大程度上保证了)保证了连接的可靠性;而UDP不是面向连接的,UDP传送数据前并不与对方建立连接,对接收到的数据也不发送确认信号,发送端不知道数据是否会正确接收,当然也不用重发,所以说UDP是无连接的、不可靠的一种数据传输协议

也正由于1所说的特点,使得UDP的开销更小数据传输速率更高,因为不必进行收发数据的确认,所以UDP的实时性更好

UDP用于网络游戏,视频聊天,语音聊天这种应用,由于用户对数据实时性的要求很高,而对数据完全正确性的要求又有所降低。(比如,聊天的时候,如果有个别数据包丢失或者有误,充其量你就得到一些声音不清楚,不会影响聊天的体验。) UDP协议就诞生在这种需求下。

UDP协议被广泛的使用在对网络数据传输实时性很高而对数据准确性要求不是非常高的场合。

 

分享到:
评论

相关推荐

    TCP/IP-UDP/IP网络调试工具软件.rar

    TCP/IP-UDP/IP网络调试工具软件.rar 可以作为TCP/IP的客户端与服务端通信,UDP/IP的通信,用于网络的报文接收与发送的调试,非常好用

    《TCP/IP详解,卷1:协议》

    第11章 UDP:用户数据报协议 107 第12章 广播和多播 128 第13章 IGMP:Internet组管理协议 136 第14章 DNS:域名系统 142 第15章 TFTP:简单文件传送协议 159 第16章 BOOTP: 引导程序协议 163 第17章 TCP:传输控制...

    TCP/IP协议与网络编程技术

    第3章:介绍TCP/IP协议层次结构中网络层及其相关知识。主要内容有IP数据报格式、IP层的功能、IP地址、ICMP协议、地址转换协议并介绍了IP的最新版本IP v6等。 第4章:介绍TCP/IP协议层次结构中传输层及其相关知识。...

    网络协议TCP/IP实验六 UDP 协议分析实验

    湘潭大学 网络协议TCP/IP实验六 UDP 协议分析实验报告,仅供参考

    TCP/udp/ip协议分析

    互连网早期的时候,主机间的互连使用的是NCP协议。这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有...TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层,每层都有相应的协议

    网络通讯协议(tcp/ip/udp/ftp)(高清)

    超好的网络协议tcp/ip 等等

    TCP/IP协议详解卷二:实现

    《TCP/IP详解·卷2:实现》适用于希望理解TCP/IP协议如何实现的人,包括编写网络应用程序的程序员以及利用TCP/IP维护计算机网络的系统管理员。 目录 · · · · · · 第一章 概述 1.1 引言 1.2 源代码表示 1.3 ...

    tcp/ip协议.pdf

    tcp/ip协议;三次握手四次挥手;tcp/udp;http/https;数据链路层,网络层,传输层以及应用层

    嵌入式Linux网络体系结构设计与TCP/IP协议栈.part5

    第7章讲解了网络层IP协议的实现。第8~9章介绍传输层数据收发过程,重点介绍基于套接字的TCP/UDP传输实现。第10章讨论了Linux内核套接字层的实现,以及套接字层与应用层、传输层之间的接口。第11章介绍网络应用软件...

    TCP/IP教程TCP/IP基础

    第三部分 IP和相关协议 第9章 IP协议家族 77 9.1 TCP/IP模型 77 9.1.1 解剖TCP/IP模型 78 9.1.2 协议组件 78 9.2 理解网际协议(IP) 79 9.2.1 IPv4结构 79 9.2.2 IP做什么 80 9.3 理解传输控制协议(TCP) 81 9.3.1 TCP...

    嵌入式Linux网络体系结构设计与TCP/IP协议栈.part4.rar

    第7章讲解了网络层IP协议的实现。第8~9章介绍传输层数据收发过程,重点介绍基于套接字的TCP/UDP传输实现。第10章讨论了Linux内核套接字层的实现,以及套接字层与应用层、传输层之间的接口。第11章介绍网络应用软件...

    Delphi 编写TCP/IP网络Socket通信程序

    计算机网络是由一系列网络通信协议组成的,其中的核心协议是传输层的TCP/IP和UDP协议。TCP是面向连接的,通信双方保持一条通路,好比目前的电话线,使用telnet登陆BBS,用的就是TCP协议;UDP是无连接的,通信双方都...

    TCP-IP详解卷3:TCP事务协议_TCP/IP_

    TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

    TCP/IP协议详细介绍

    TCP/IP协议详细介绍,计算机网络体系结构分层,TCP/IP 基础,传输层中的 TCP 和 UDP,网络层中的 IP 协议,IP 协议相关技术

    Socket网络TCP/UDP通信调试工具

    SocketTool调试工具官方版是一款网络TCP/UDP通信调试工具。SocketTool调试工具最新版可以有效地帮助网络管理员检测各种网络通信状永久,集成了TCP服务器/客户端、UDP服务器/客户端和UDP广播/组播等功能。SocketTool...

    嵌入式Linux网络体系结构设计与TCP/IP协议栈.part3.rar

    第7章讲解了网络层IP协议的实现。第8~9章介绍传输层数据收发过程,重点介绍基于套接字的TCP/UDP传输实现。第10章讨论了Linux内核套接字层的实现,以及套接字层与应用层、传输层之间的接口。第11章介绍网络应用软件...

    在LPC2XXX TCP/IP UDP ICMP 协议的实现 

    包括所有在LPC2XXX 上实现TCP/IP UDP ICMP 协议的源代码,还有工程文件,可直接编译运行。由本人亲自编写,调试。特在此,分享给有这方面需要的朋友。

    TCP/IP技术大全

    3.2 TCP/IP的层和协议 21 3.2.1 体系结构 21 3.2.2 传输控制协议 21 3.2.3 IP协议 23 3.2.4 应用层 25 3.2.5 传输层 25 3.2.6 网络层 25 3.2.7 链路层 25 3.3 远程登录(Telnet) 25 3.4 文件传输协议(FTP) 25 3.5 ...

    TCP/IP详解(卷一)

    本书是网络构建原型——4.4BSD的建造者的倾力之作,《TCP/IP解析》中的第1卷,主要讲述TCP/IP协议方面的内容。与其他的TCP/IP书藉的最大不同在于,本书不仅仅讲述了RFCS的标准协议,而且结合大量实例讲述了TCP/IP...

    TCP/IP协议详解

    一共38个PDF ,包括TCP UDP IP DNS FTP ARP 等TCP/IP协议族的相关协议的详解。

Global site tag (gtag.js) - Google Analytics