网络

作者: 紫雨杰 | 来源:发表于2018-06-11 11:21 被阅读0次

一、TCP

● TCP,传输控制协议(Transmission Control Protocol),是面向连接的、可靠的、基于字节流的传输层通信协议。
● 它提供计算机之间的可靠无差错的数据传输。应用程序通过 TCP 进行通讯时,数据源和接收目标之间会建立一个虚拟的连接,这个连接一旦建立,
  计算机之间就可以把数据作为双向字节流进行交换。其实基于 TCP 的通信传输的数据帧也不是可靠的,只是在发送 TCP 数据帧的时候,接收端每次
  接收到数据以后就会进行差错验证,如果没有任何问题,就会回馈发送端一个数据帧,告诉它接收成功,发送端就会继续发送第二个数据包。
  通过这样的问答方式就保证了 TCP 传输数据的无差错性。即完成了三次握手,这种行为是靠驱动程序的底层协议来完成的。

● 应用场景 : 远程连接(Telnet)和文件传输(FTP)、打电话等


1、TCP的三次握手四次挥手过程
   ①、建立连接协议(三次握手)
    (1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。
    (2)服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;
         同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。
    (3)客户端必须再次回应服务器一个ACK报文,这是报文段3。
image.png
2、连接终止协议(四次挥手)
   由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。
     收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,
     而另一方执行被动关闭。

 (1) TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送(报文段4)。
 (2) 服务器收到这个FIN,它返回一个ACK,确认序号为收到的序号加1(报文段5)。和SYN一样,一个FIN将占用一个序号。
 (3) 服务器关闭客户端的连接,发送一个FIN给客户端(报文段6)。
 (4) 客户段返回ACK报文确认,并将确认序号设置为收到序号加1(报文段7)。
image.png

二、UDP

●  UDP,用户数据报协议(User Datagram Protocol),是面向无连接的通信协议。
●  它是一个无连接的通信协议,UDP 不保证用户数据的可靠性传输,但能向若干个目标发送数据,和接收若干个数据源的数据。如果一台主机向
   另一台主机发送 UDP 数据,这个数据会立即发送出去,而不管另一台主机是否准备好接收数据。当网络状态异常的时候,会造成 UDP 数据报的丢失。
   如果另外一台主机接收到了数据,它不会确认是否收到。

● 应用场景 : 视频会议 和 发短信等

三、TCP与UDP的区别

UDP
    将数据源和目的封装成数据包中,每个数据报中都给出了完整的地址信息,因此无需要建立发送方和接收方的连接。
    每个数据报的大小在限制在64k;
    因无连接,是不可靠协议,发送方所发送的数据报并不一定以相同的次序到达接收方;
    不需要建立连接,速度快

TCP
    建立连接,形成传输数据的通道;
    在连接中进行大数据量传输;
    通过三次握手完成连接,是可靠协议,它确保接收方完全正确地获取发送方所发送的全部数据。;
    必须建立连接,效率会稍低

四、Socket

1、Socket套接字:
  • 网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字。

2、Socket原理机制:
  • 通信的两端都有Socket。
  • 网络通信其实就是Socket间的通信。
  • 数据在两个Socket间通过IO传输。

相关文章

  • 网络!网络!

    ...

  • 网络,网络

    敲击键盘,滴滴答答,行云流水,我和你在无形的世界中产生了存在着的联系。落日,似乎看不到,看到的,只是手中的那块屏幕...

  • 网络?网络!

    网络是一片浩瀚的海,在网络初建之时,如一片处女地,在上面初生了各种各样文化的苗,虽星星点点却也清新。或许是审...

  • 网络—网络婴儿

    在餐馆你可能看到,专注的母亲盯着手机,而在她臂弯里的儿童却不知所措;在家里,母亲在厨房里忙碌,而婴儿在拨弄着平板自...

  • 网络啊网络

    下午,天突降大雨。 其时我正打开电脑在听音乐,声音戛然而止,我以为是网络卡住了,就照样一边忙碌着一边等待音乐声再次...

  • 网络-网络层

    网络层 网络层数据包(IP数据包,Packet)由首部、数据2部分组成数据:很多时候是由传输层传递下来的数据段(S...

  • 测试网络

    测试网络测试网络测试网络测试网络测试网络测试网络

  • 网络 和网络笔记

    ifconfig -a 查看物理网卡硬件地址 比如 ether 00:0c:29:ab:6e:72 更改M...

  • 【网络】集群网络排错

    前几天实验室网络抽风,卡的要死要死的,做实验也做的要死要死的(跟十几台小集群在一个屋里通宵,这种酸爽简直终身难忘)...

  • Android网络——网络状态

    1. 判断网络是否可用 2. 判断网络类型

网友评论

      本文标题:网络

      本文链接:https://www.haomeiwen.com/subject/lkgklftx.html