TCP/IP(Transmission 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等,TCP和UDP给数据包加入要传输的数据并把他传输到下一层,并确定数据已经被送达并接收)
c、互联网层(负责基本的数据封装传送功能,让每一个数据包都能达到目的主机,但不检测是否被接收,如网际协议IP)
d、网络接口层:负责数据帧的发送和接收,帧是独立的网络信息传输单元。网络接口层将帧放在网上,或从网上把帧取下来。
HTTP协议
http:超文本传输协议(HTTP)是应用层协议,由于其简捷、快速的方式,适用于分布式和合作式超媒体信息系统。HTTP 允许使用自由答复的方法表明请求目的,它建立在统一资源识别器(URI)提供的参考原则下,作为一个地址(URL)或名字(URN),用以标志采用哪种方法,它用类似于网络邮件和多用途网际邮件扩充协议(MIME)的格式传递消息。HTTP 是一种请求/响应式的协议
http协议的特点:
1、 支持客户端/服务器模式
2、 简单快速:客户端向服务端请求时只需传请求的方法和路径,请求的方法常有:
增:put:很少见,与post相似,与post的区别是它指定资源的存储位置;而post没有;
删:delete:删除一个资源,很少见,amazon的S3云服务器中就用到这个方法
改: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 请求方法(GET、POST、HEAD、Delete、PUT、TRACE等)对指定的资源不适用。
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。连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,双方就正式建立连接。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。
TCP和UDP的区别:
TCP是面向链接的,虽然说网络的不安全不稳定特性决定了多少次握手都不能保证连接的可靠性,但TCP的三次握手在最低限度上(实际上也很大程度上保证了)保证了连接的可靠性;而UDP不是面向连接的,UDP传送数据前并不与对方建立连接,对接收到的数据也不发送确认信号,发送端不知道数据是否会正确接收,当然也不用重发,所以说UDP是无连接的、不可靠的一种数据传输协议
也正由于1所说的特点,使得UDP的开销更小数据传输速率更高,因为不必进行收发数据的确认,所以UDP的实时性更好
UDP用于网络游戏,视频聊天,语音聊天这种应用,由于用户对数据实时性的要求很高,而对数据完全正确性的要求又有所降低。(比如,聊天的时候,如果有个别数据包丢失或者有误,充其量你就得到一些声音不清楚,不会影响聊天的体验。) UDP协议就诞生在这种需求下。
UDP协议被广泛的使用在对网络数据传输实时性很高而对数据准确性要求不是非常高的场合。
相关推荐
《网络协议TCP/IP教程》是一份深入探讨TCP/IP协议族的详细资料,旨在帮助学习者理解和掌握网络通信的核心原理。TCP/IP(传输控制协议/互联网协议)是互联网上广泛使用的通信协议栈,它定义了数据在网络中如何传输的...
20章的内容可能包括:TCP/IP概述、网络接口、IP协议、IPv6、ICMP与ARP、网络层选路、TCP协议、UDP协议、套接字编程、窗口与拥塞控制、传输层实现、应用层协议、网络安全、因特网的未来等。每一章都深入浅出地阐述了...
《microchip TCP/IP协议栈应用笔记V3.6》是一份深入探讨Microchip公司TCP/IP协议栈实现与应用的重要文档,特别适合嵌入式系统开发者和网络通信工程师参考。Microchip TCP/IP协议栈是该公司为微控制器提供的完整网络...
它详细阐述了网络接口层(如以太网)、互联网层(包括IP协议、ICMP协议、ARP协议和RARP协议)、传输层(重点讨论TCP和UDP协议)以及应用层的各种协议(如FTP、Telnet、SMTP等)。通过阅读,读者可以理解网络数据如何...
TCP/IP协议族是互联网的核心,它是让全球网络设备能够互相通信的一套标准。这份"TCP/IP学习心得"压缩包文件提供了深入浅出的讲解,帮助初学者快速掌握这个复杂的概念。下面将对TCP/IP的基本原理和相关知识点进行详细...
网络层是 TCP/IP 协议的核心,所有的 TCP、UDP、ICMP、IGMP 的数据都以 IP 数据格式传输。IP 协议的主要功能包括: * IP 地址:在数据链路层中,我们一般通过 MAC 地址来识别不同的节点,而在 IP 层我们也要有一个...
第一卷《TCP/IP协议》主要关注协议层面,包括网络接口层(如以太网)、互联网层(IP协议、ICMP、ARP/RARP)和传输层(TCP、UDP),以及它们之间的交互。书中深入探讨了这些协议的工作原理,如IP地址的分配、分片与...
《TCP/IP协议族 (TCP/IP Protocol Suite)》是网络通信领域的经典教材,其第四版深入浅出地介绍了TCP/IP协议的各个方面。这本书详尽地探讨了互联网的核心协议,包括网络接口层、网络层、传输层以及应用层的主要协议。...
在结构方面,它详细解析了各个层次的协议,如传输层的TCP(传输控制协议)和UDP(用户数据报协议),网络层的IP(互联网协议)以及ICMP(因特网控制消息协议)。同时,书中也探讨了如何通过这些协议实现不同网络的...
第11章 UDP:用户数据报协议 107 第12章 广播和多播 128 第13章 IGMP:Internet组管理协议 136 第14章 DNS:域名系统 142 第15章 TFTP:简单文件传送协议 159 第16章 BOOTP: 引导程序协议 163 第17章 TCP:传输控制...
TCP/IP协议是互联网的核心协议,它定义了网络设备如何交换数据以及数据如何被格式化以在各种网络中传输。这个PDF文档集可能是对TCP/IP协议的详细解释,提供了非扫描版,意味着它易于阅读和搜索,非常适合学习和参考...
tcp/ip协议实验是计算机网络领域中的一项重要实验,旨在让学生和从业者深入了解tcp/ip协议的原理和实现。下面是实验的详细介绍: 实验一 以太网数据帧的构成 以太网数据帧是tcp/ip协议中最基本的数据单元,它由目的...
TCP/IP协议是一种用于网络通信的协议族,它不是单一的协议,而是一系列协议的集合,涵盖了从底层的数据链路层到应用层的不同层面。了解TCP/IP协议对于计算机网络通信和应用开发是基础且关键的知识点。 首先,需要...
这个压缩包“TCPIP网络协议.rar”显然包含了与TCP/IP网络编程相关的资料,特别是针对网口通讯协议编程的部分。 在TCP/IP协议栈中: 1. **应用层**:是用户直接接触的部分,包括HTTP、FTP、SMTP等应用协议,它们规定...
网络通讯协议是互联网运作的核心,其中TCP/IP、UDP和FTP是最重要的几个协议,它们各自扮演着不同的角色,确保数据在网络中的高效、可靠传输。 TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议...
TCP/IP实验报告及总结主要涵盖了网络通信中的核心协议——TCP/IP模型的基本原理、配置方法以及在实际应用中的操作。这份报告出自桂林电子科技大学的一门课程,不仅包含了代码示例,还对实验过程进行了深入的分析和...
第3章:介绍TCP/IP协议层次结构中网络层及其相关知识。主要内容有IP数据报格式、IP层的功能、IP地址、ICMP协议、地址转换协议并介绍了IP的最新版本IP v6等。 第4章:介绍TCP/IP协议层次结构中传输层及其相关知识。...
在IT行业中,网络通信是至关重要的一个领域,TCP(传输控制协议)和UDP(用户数据报协议)作为网络层的两种主要传输协议,各有其特点和应用场景。IP(互联网协议)则是连接网络设备的基础,而IPv6是IPv4的升级版,...
TCP/IP协议是互联网的核心协议,它定义了网络设备如何交换数据以及数据如何被格式化以进行传输。这个学习资料包,以PPT的形式,旨在帮助理解TCP/IP协议的工作原理及其在实际应用中的运用。 首先,TCP(Transmission...
TCP/IP 协议是一种计算机网络通信协议,分为四层:链路层、网络层、传输层和应用层。TCP/IP 协议的核心是 TCP 和 IP 两种协议,但它也包括其他协议,如 ICMP、UDP、TELNET、FTP 和 HTTP 等。 一、 计算机网络体系...