欢迎来真孝善网,为您提供真孝善正能量书籍故事!

深入解析网络通信基础:TCP、UDP、HTTP、HTTPS及Socket协议

时间:11-21 名人轶事 提交错误

本篇文章给大家谈谈深入解析网络通信基础:TCP、UDP、HTTP、HTTPS及Socket协议,以及对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

会话层:

1. 会议的开始和结束;

2、典型设备:网关;

3、典型协议、标准及应用:RPC、SQL、NFS、X WINDOWS、ASP

传输层:

1、主要功能:Transport的端到端控制;

2、典型设备:网关;

3、典型协议、标准及应用:TCP、UDP、SPX

网络层:

1、主要功能:路由、寻址网络;

2、典型设备:路由器;

3、典型协议、标准及应用:以太网使用的协议之一(Internet Packet eXchange - IPX)、可路由协议组(APPLETALK)、网际协议(Internet Protocol - IP)、Internet控制消息协议(ICMP)、地址解析协议(ARP)、反向地址解析协议(RARP).

(网络接入层: 网络接入层也称为主机到网络层。网络接入层的功能包括IP地址到物理地址硬件的映射,以及将IP封装成帧。基于不同硬件类型的网络接口,网络访问层定义与物理介质的连接。

数据链路层:

1、主要功能:保证被忽略链路的数据链路无差错;

2、典型设备:交换机、网桥、网卡;

3、典型协议、标准及应用:802.2、802.3ATM、HDLC、FRAME RELAY;

物理层:

1、主要功能:传输物理比特流;

2、典型设备:集线器、中继器

3. 典型协议、标准和应用:V.35、EIA/TIA-232。

TCP/IP五层模型

TCP/IP 协议是一个协议簇。其中包括许多协议。 UDP只是其中之一。 TCP/IP协议集包括应用层、传输层、网络层和网络接入层。 TCP/IP五层模型的协议分为:应用层、传输层、网络层、数据链路层和物理层。中继器、集线器和我们通常所说的双绞线也工作在物理层;网桥(现在很少使用)、以太网交换机(二层交换机)、网卡(其实网卡一半工作在物理层,一半工作在数据链路层)都处于数据链路层;路由器和三层交换机位于网络层;传输层主要是四层交换机,也有工作在四层的路由器。

1. TCP、UDP对比

1.1 TCP(Transmission Control Protocol传输控制协议

TCP 是面向连接的协议,在发送和接收数据之前必须建立可靠的连接。一条TCP连接必须经过3次“对话(握手)”才能建立。 TCP面向连接的通信方式(三次握手、四次挥手)大大提高了数据通信的可靠性,允许发送数据端和接收端在正式传输数据之前进行交互,为正式传输数据奠定了可靠的基础。数据传输。

TCP三次握手过程:1 主机A通过向主机B发送一个包含同步序号标志位的数据段来请求主机B建立连接,通过这个数据段,主机A告诉主机B两件事: 我要和你通信;你可以用哪个序号作为起始数据段来回复我。 2 主机B收到主机A的请求后,用一个带有确认响应(ACK)和同步序列号(SYN)标志位的数据段响应主机A,同时也告诉主机A两件事:我已经收到你的请求,即可传输数据;您想使用哪个序列号作为起始数据段来回复我? 3 主机A收到此数据段后,发送确认响应,确认已收到主机B的数据段: "我已经收到回复了。我现在将开始传输实际数据。这样,三次握手就完成了,主机A和主机B就可以进行传输了。数据。 3次握手的特点是没有应用层数据。仅当TCP 连接建立时,SYN 标志才设置为1。握手完成后,SYN 标志置0。TCP断开连接4次挥手过程:1 当主机A 完成数据传输后,将控制位FIN 置1,并请求停止TCP 连接2. 主机收到FIN 后, B回应它并确认该方向的TCP连接将被关闭。它将ACK设置为13,然后主机B向相反方向发出关闭请求。将FIN设置为14。主机A确认主机B的请求,将ACK设置为1,双向关闭结束。该术语解释了ACKTCP 标头的控制位之一,用于确认数据。确认由目的地发送,用于告知发送方已收到序列号之前的所有数据段。例如,如果确认号码为,则该确认号码无效。这时就会要求重新传输数据,以保证数据的完整性。 SYN 同步序列号,TCP 建立连接时该位设置为1。 FIN 发送端完成发送任务位。当TCP 完成数据传输,需要断开连接时,建议断开连接的一方将该位设置为1。 TCP 头结构: 源端口16 位目的端口16 位序列号32 位响应序列号32 位TCP 头长度4 位保留6 位控制码6 位窗口大小16 位偏移量16 位校验和16 位选项32 位(可选) 这样我们就得到了TCP 标头的最小长度,即20 字节。

1.2 UDP(User Data Protocol,用户数据报协议)

(1) UDP是一种非连接协议。源端和终端在传输数据之前不建立连接。当它想要传输时,它只是从应用程序中获取数据并尽快将其丢弃。到互联网。在发送端,UDP传输数据的速度仅受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP将每个报文段放入队列中,应用程序每次从队列中读取每个报文段。读取消息段。 (2)由于传输数据时没有建立连接,因此不需要维护连接状态,包括发送和接收状态等。因此,一台服务器机器可以同时向多个客户端传输同一条消息。 (3)UDP数据包的报头很短,只有8个字节,与TCP的20个字节的数据包相比,额外的开销很小。 (4)吞吐量不受拥塞控制算法调节,仅受应用软件产生数据的速率、传输带宽、源端主机性能的限制。 (5)UDP采用尽力而为传送,即不保证可靠传送,因此主机不需要维护复杂的链路状态表(里面有很多参数)。 (6)UDP是面向消息的。发送方的UDP交给应用程序的消息在添加报头后向下传递到IP层。既不进行分割也不合并,但这些数据包的边界被保留,因此应用程序需要选择合适的数据包大小。

我们经常使用“ping”命令来测试两台主机之间的TCP/IP通信是否正常。其实“ping”命令的原理就是向对方主机发送一个UDP数据包,然后对方主机确认收到该数据包。如果数据包到达的消息及时反馈,网络就会畅通。 UDP 头结构: 源端口16 位目的端口16 位长度16 位校验和16 位TCP与UDP的区别:TCP:是流模式协议,面向连接可靠传输(保证数据正确性和数据顺序),用于传输大数据数据量大(流模式),速度慢,建立连接需要较多的开销(时间、系统资源),而且TCP程序结构比较简单。

UDP:是数据报模式协议,面向非连接、不可靠传输(无法保证数据正确性和数据顺序),用于传输少量数据(分组模式),速度快,需要系统资源较少,UDP程序结构比较简单。

2 HTTP、HTTPS、Socket协议

2.1HTTP协议即超文本传送协议(HypertextTransfer Protocol)

HTTP 是Web 网络的基础,也是手机网络常用的协议之一。它是一个建立在TCP协议之上的应用程序。最显着的特点是客户端发送的每个请求都需要服务器发回响应。请求完成后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。因此,HTTP连接是一种“短连接”。为了保持客户端程序在线,需要不断地向服务器发起连接请求。如果服务器长时间无法收到客户端的请求,则认为客户端“离线”。如果客户端长时间收不到服务器的回复,则认为网络已断开。在HTTP 1.0中,来自客户端的每个请求都需要建立单独的连接。处理完该请求后,连接自动释放。在HTTP 1.1中,一个连接可以处理多个请求,并且多个请求可以重叠。无需等待一个请求结束后再发送下一个请求。

2.2HTTPS协议(Hyper Text Transfer Protocol over Secure Socket Layer)

HTTPS是一个以安全为目标的HTTP通道,是HTTP的安全版本。在HTTP 下添加SSL 层。 HTTPS的安全基础是SSL,因此加密的细节需要SSL。 HTTPS 具有与HTTP 不同的默认端口和加密/身份验证层(在HTTP 和TCP 之间)。 HTTP 协议以明文形式发送内容,不提供任何形式的数据加密。如果攻击者拦截了网页浏览器和网站服务器之间的传输消息,就可以直接读取其中的信息。因此,HTTP协议不适合传输某些数据。敏感信息。

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

用户评论

我一个人

真想好好学习一下这些东西!

    有15位网友表示赞同!

纯真ブ已不复存在

网优和系统这块真的离不开这些基础知识啊。

    有8位网友表示赞同!

荒野情趣

感觉最近都在用socket,不知道这个里面隐藏着这么多秘密啊。

    有19位网友表示赞同!

留我一人

HTTP/HTTPS这部分好像都比较常用吧?

    有14位网友表示赞同!

陌然淺笑

我刚开始学网络编程,感觉这些协议很复杂的样子...

    有17位网友表示赞同!

浮世繁华

做前端开发的时候用到 HTTPS 还挺多。

    有6位网友表示赞同!

风中摇曳着长发

要深入理解代码就需要搞清楚这些协议的作用。

    有11位网友表示赞同!

代价是折磨╳

学习完以后可以写一个小项目吧!

    有10位网友表示赞同!

三年约

TCP/UDP的区别好像一直在印象里,但具体实现不太了解。

    有13位网友表示赞同!

╭摇划花蜜的午后

Socket 这个名字听上去就很有科技感。

    有10位网友表示赞同!

她的风骚姿势我学不来

看这个标题感觉会很费脑力...

    有20位网友表示赞同!

青衫故人

有讲清这些协议之间关系的资料吗?

    有18位网友表示赞同!

南初

我记得以前学过一点 TCP/IP 的基础知识,现在应该复习一下了。

    有17位网友表示赞同!

一笑抵千言

学习网络协议其实很有用,想提高编程水平的话很重要。

    有17位网友表示赞同!

孤独症

不知道哪种讲法比较好理解呢,视频、文章还是代码?

    有11位网友表示赞同!

醉红颜

这些知识点可能听起来很抽象,感觉得找个例子来理解。

    有20位网友表示赞同!

有恃无恐

今天刚好看到一篇有关 TCP 的论文想学习一下!

    有14位网友表示赞同!

冷眼旁观i

真希望有位高手能把这些协议讲清楚!

    有7位网友表示赞同!

琴断朱弦

网络协议的世界太复杂了,需要慢慢深入了解!

    有11位网友表示赞同!

【深入解析网络通信基础:TCP、UDP、HTTP、HTTPS及Socket协议】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活