计算机网络之传输层

一.Tcp的作用

  1.提供面向连接,可靠的字节流服务。

    a.面向连接是说,交换数据前要建立连接。

    b.可靠是通过把数据分割成数据块,以及超时重发的机制。

    c.字节流是指程序之间的数据传输是通过字节构成的字节流。

二.Tcp报文首部详解

         首先来看看Tcp包首部,其中主要有端口号,数据包序号,确认序号,标记位等。

  

  1.端口号:有源端口号和目的端口号,用于寻找发送端和接收端的应用进程,加上IP首部的源端IP及终端IP,唯一的确认一个TCP连接。

  2.32为序号:标识发送的数据包的字节流。

  3.32确认序号:上次成功接收的数据包的序号+1,只有ACK为1时有效。

  4.标记位:URG,是指该数据比较重要,加急传送,不用排队。

       ACK,确认号,为0时表面没有数据包返回。

       SYN,同步号,为1时表面建立连接,比如SYN=1,ACK=0则是一个明显的建立连接的数据包(SYN攻击,伪造发送方,不断发送连接数据包,搞垮服务器)。

       PSH,接收时加急传输。

       RST,说明TCP出现严重的问题,要重新发送。

       FIN,数据通信结束,释放连接。

三.三次握手与四次挥手

  1.三次握手

  

    a.第一次握手,客服端本来打开CLOSED状态,发送一个SYN=1,seq=x(随意的一个值),ACK=0的数据包发送连接请求,客户端进入SYN_SEND状态(A发送请求)。

    b.服务端处于LISTEND状态,接收到请求后,发送一个SYN=1,ACK=1,seq=y(随意),ack=x+1,的数据包,说明自己已经收到你的请求,之后进入SYN_RECD状态(确认B收到了)。

    c.客户端收到确认数据包后,再发送一个ACK=1,seq=x+1,ack=y+1的数据包,表面你的确认数据包我已经收到,我已经做好准备了,我们可以开始连接了,然后客户端进入ESTAB_LISTEND状态,准备进行数据传输(确认A也准备好了)。

    d.服务端收到这个请求后也知道客户端准备好了,所以也进入ESTAB_LISTEND状态,准备进行数据传输。       

       

  2.四次挥手

  1.第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态,Server到Client还可以发。

   2.第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态。

   3.第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。

   4.第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,四次挥手。

四.TCP和UDP的区别与使用

  1.TCP的优缺点

    优点:可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。

    缺点:TCP的缺点: 慢,效率低,占用系统资源高,易被攻击。

  2.UDP的优缺点

    优点: 快,比TCP稍安全。

    缺点:不可靠,容易丢包。

  3.应用场景

    TCP:比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。

    UDP:QQ语音 QQ视频 TFTP 。

  

原文地址:https://www.cnblogs.com/JimmyFanHome/p/9910340.html

时间: 2024-07-31 20:27:10

计算机网络之传输层的相关文章

【计算机网络】-传输层-Internet传输协议-TCP

[计算机网络]-传输层-Internet传输协议-TCP TCP介绍 在不可靠的互联网上提供一个可靠的端到端字节流 面向连接的.可靠的.端到端的.基于字节流的传输协议 TCP位置 TCP服务模型 应用程序访问TCP服务 通过在收发双方创建套接字来实现的 套接字的地址 用(IP地址,端口号)来表示的 知名端口 1024以下的端口号,如FTP:21,TELNET:23,SMTP:23 每条连接用(套接字1,套接字2)来表示,是点到点的全双工通道 TCP不支持 多播(multicast)和广播(bro

计算机网络的传输层的简单介绍:

在应用层下为传输层,如TCP与UDP: 传输层与网络层之间的不同: 传输层负责信息在主机进程与服务器进程之间的传递: 网络层负责信息在主机与服务器之间的传递:     差了一个进程啊: 传输层的信息用:segment 表示:它是这样得到的:把应用层的message 分成一块块,然后再加上传输层的文件头: 另外,TCP的信息也会用segment表示,UDP的信息用datagram(数据报)表示:网络层上的message也用datagram表示: UDP:user datagram protocol

计算机网络之传输层 上

1. 理解传输层的基本理论和基本机制 1. 多路复用 / 分用(如果某层的一个协议对应直接上层的多个协议或者实体) 分用怎么工作:主机接收到IP数据包,每个数据包携带源IP地址,目的IP地址,携带一个传输层的段(Segment),每个源携带源端口号和目的端口号. 主机收到Segment,传输层协议提取IP地址和端口号信息,将Segment导向相应的Socket. 无连接的分用(UDP): 面向连接的分用(TCP):一对一,一个客户机进程对应一个服务机进程(一个进程可以有多个线程) 2. 可靠的数

计算机网络_传输层_基本概念

1进程之间的通讯 从IP层看,通讯的两端是两台主机 从传输层看,通讯的两端不是主机而是主机上的进程 2传输层的两个主要协议: TCP传输控制协议(Transition Control Protocol) 面向连接,可靠的 传输数据之前必须建立连接,传输之后释放连接   不支持广播和多播  因为 TCP的确认,流量控制,计时器以及管理连接等,这些不仅使协议数据单元的首部增大很多,还要占用很多的处理机资源 UDP用户数据报协议(User Datagram Protocol)不需要先建立连接  不可靠

计算机网络概述 传输层 TCP拥塞控制

TCP拥塞控制 计算机网络中的带宽.交换结点中的缓存和处理机等,都是网络的资源.在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏.这种情况就叫做拥塞. 拥塞控制就是防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载.拥塞控制是一个全局性的过程,和流量控制不同,流量控制指点对点通信量的控制. 拥塞控制 和 流量控制 的区别? 1. 拥塞控制:拥塞控制是作用于网络的,它是防止过多的数据注入到网络中,避免出现网络负载过大的情况: 2. 流量控制:流量

计算机网络---传输层

传输层----管理端到端的通信连接 1.端口 使用端口(Port)来标记不同的网络进程 端口使用16位比特位表示(0~65535) 常用端口: ftp----21    http---80     https---443    dns---53    telnet---23 2.各种协议 应用层:                 HTTP  FTP  SMTP   POP3  ... 传输层:                             TCP    UDP 网路层:       

计算机网络 学习笔记-传输层:TCP协议简介

概述: TCP传输前先要建立连接 TCP在传输层 点对点,一条TCP只能连接两个端点 可靠传输.无差错.不丢失.不重复.按顺序 全双工 字节流 TCP报文段 TCP报文段的报头前20字节是固定的,后面4n字节是根据需要而添加的. 20字节的固定部分: 源端口和目的端口:分别写入源端口号和目的端口号 序号:0-(2^32-1),本报文段数据的第一个字节的序号,用来解决乱序问题 确认序号:期望收到对方下一个报文段的第一个数据字节的序号,用来解决丢包问题 数据偏移:TCP报头长度,包括固定的20字节和

计算机网络传输层

1.TCP与UDP: tcp适用于:需要将传输内容分段传输,传输过程中建立会话,可靠传输,可流量控制: udp适用于:一个数据包就能完成数据通信,不分段,不需要建立会话,不需要流量控制,不可靠传输. 举例: DNS服务,获取域名对应的ip,使用udp协议(如失败,隔一段时间后重发): QQ聊天内容,通过udp协议,发送文件时通过tcp协议: 多播.广播时为udp. 2.netstat: 查看会话:netstat -n 查看会话进程:netstat -nb 查看服务真挺的端口:netstat -a

计算机网络【六】:传输层-TCP概述 【转】

转自:http://blog.chinaunix.net/uid-26275986-id-4109209.html 根据TCP/IP协议的分层结构,网络层之上是传输层,从层次结构上来看,传输层位于网络的最高层和应用的最底层.传输层的主要作用有两个:一个是居于网络层与应用层之间提供复用和分用的服务:另一个则是需要的时候为应用层提供可靠的传输服务.复用和分用指的是传输层负责实现端到端的传输,即计算机进程之间的通信:而网络层则负责点到点的传输,最重要的功能是路由寻址.     网络通信的"用户&quo