传输层协议: TCP 、UDP

这篇具有很好参考价值的文章主要介绍了传输层协议: TCP 、UDP。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一 TCP协议介绍

TCP在数据传输前,先要进行链接测试(三次握手),如果测试通过才会发送真实数据。

    TCP将若干字节构成一个分组,叫报文段

    TCP报文封装在IP数据报中;    面向连接,慢    稳定;

  1 TCP报文的首部格式 

              源端口号:为发送方进程对应的端口号

              目标端口号:对应接收端的进程接收端收到数据段后,根据这个端口号

                                    确定把数据送给哪个应用程序的进程

                序号:当TCP从进程接收数据字节时,就把它们存储在发送缓存中,并

                           对每一个字节进行编号

                确认号:表示接收方期望收到发送方下一个报文段的第一个字节数据的编号

                首部长度:表示TCP报文段的首部长度,共4位,由于TCP首部包含一个长度可变的选                                      项部分,需要指定这个TCP报文段到底有多长。它指出 TCP 报文段的数据                                      起始处距离 TCP 报文段的起始处有多远。

2 tcp特性

二端口号

1 端口号范围:


0到65535  前1024是知名端口

2 端口号作用:


区别应用程序(一个端口号只能被一个程序使用)   区别协议(因为协议也是应用程序调用的,端口只能区别应用层协议)

7 层协议(应用层协议)对应的程序

ftp   文件传输                                       vsftpd   FileZilla

http   超文本传输                                  nginx  apache  lls  tomcat

dhcp   自动分配ip                                dhcp

ssh                                                       openssh

安全外壳协议”(Secure Shell),是一种加密的网络传输协议,提供了一个在网络中安全地远程连接到其他计算机和设备的方法

dns  域名解析                                     bind

比如:http是超文本传输协议,apache/nginx  软件调用http协议

3,客户端端口号服务端端口号
客户端端口号:随机

服务端端口号:一般固定

4,区分应用程序
自己系统通过pid号区分应用程序  (每打开一个应用程序,会随机产生一个pid号 )

     两台电脑通过 端口区分应用程序

5,7层协议理解
7层协议就是规定了如何打包数据,然后将打包好的数据传到4层,要通过4层发出去,就像你寄快递,你要先打包,再选一家快递公司,然后按照早就选好的快递公司发出去。

     三  控制位:

描述两台电脑目前处于何种状态

          URG   :表示本报文段中发送的数据是否包含紧急数据。后面的紧急指针字段只有当                                     URG=1时才有效

          ACK(确认位):表示是否前面确认号字段是否有效。只有当ACK=1时,前面的确认号字                                           段 才有效。TCP规定,连接建立后,ACK必须为1,带ACK标志的TCP报                                           文段称为确认报文段

           PSH(急切位):提示接收端应用程序应该立即从TCP接收缓冲区中读走数据,为接收后                                            续数据腾出空间。如果为1,则表示对方应当立即把数据提交给上层应                                             用,而不是缓存起来,如果应用程序不将接收到的数据读走,就会一直停                                         留在TCP接收缓冲区中

           RST(重置位):如果收到一个RST=1的报文,说明与主机的连接出现了严重错误(如主                                           机崩溃),必须释放连接,然后再重新建立连接。或者说明上次发送给主                                        机的数据有问题,主机拒绝响应,带RST标志的TCP报文段称为复位报文                                         段

          SYN(同步位):在建立连接时使用,用来同步序号。当SYN=1,ACK=0时,表示这是一                                           个请求建立连接的报文段;当SYN=1,ACK=1时,表示对方同意建立连                                           接。SYN=1,说明这是一个请求建立连接或同意建立连接的报文。只有                                            在 前两次握手中SYN才置为1,带SYN标志的TCP报文段称为同步报文段

          FIN(断开位):表示通知对方本端要关闭连接了,标记数据是否发送完毕。如果FIN=1,                                          即告诉对方:“我的数据已经发送完毕,你可以释放连接了”,带FIN标志的                                       TCP报文段称为结束报文段

            窗口大小:表示现在允许对方发送的数据量,也就是告诉对方,从本报文段的确认号开始                                允许对方发送的数据量,达到此值,需要ACK确认后才能再继续传送后面数                                   据

            校验和:提供额外的可靠性紧急指针:标记紧急数据在数据字段中的位置

            选项部分:其最大长度可根据TCP首部长度进行推算。TCP首部长度用4位表示,

在数据通信之前,发送端与接受端要先建立连接,等数据发送结束后,双方再断开连接,

TCP连接的每一方都是由一个IP地址和一个端口号组成,

二TCP建立连接的过程称为三次握手

传输层协议: TCP 、UDP,tcp/ip,udp,网络

一次握手:当服务端收到请求建立连接的报文,报文号随机产生并且报文中的控制位SYN=1,代                      表请求建立连接,此时客户端处于syn-sent状态

二次握手:服务端收到请求连接的报文会回复一个报文会产生随机序号y,生产一个确认号为

                客户端请求报文的序号+1(x+1),然后控制位syn=1  ack=1  代表同意建立连接,此时

                 服务器处于syn-rcvd状态

三次握手:当客户端收到同意建立连接的报文时会回复一个确认报文会按照对方要求产生序号为                     x+1再生成一个确认号值为对方报文的序号+1(y+1)最后控制位的ack=1,代表收到对                    方同意,此时客户端处于estab-lished状态,

当服务器收到ack报文也处于estab-lished状态,此时双方已建立连接

为什么三次握手?

网络环境复杂,为了确保数据能够到达,2次不够,4次多余,三次正好

三TCP断开连接的四次挥手

        确保双方都知道对方已经准备好关闭连接,防止数据丢失

1 客户端发送一个FIN报文,报文指定一个序列号,此时客户端处于fin-wait-1状态

2 服务端接到报文段后,返回一个带有ACK=1的报文段,确认了收到了客户端断开请求,此时客        户端会将未完成的数据发送给客户端,进入close-wait状态

3  若服务端也想断开连接,和客户端的第一次挥手一样,发给FIN报文,且指定一个序列号,此时      处于last-ack状态

4  客户端收到FIN之后,一样发送一个ACK报文作为回答,且把服务器的序列号值+1作为自己            ACK报文的序列号值,此时客户端处于time-wait

四 有限状态机

  1. CLOSED 没有任何连接状态

  2. LISTEN 侦听状态,等待来自远方TCP端口的连接请求 (服务开启 http(进程) 80端口在帮进程 看着 有没有人找 http )

  3. SYN-SENT 在发送连接请求后,等待对方确认

  4. SYN-RECEIVED 在收到和发送一个连接请求后,等待对方确认

  5. ESTABLISHED 代表传输连接建立,双方进入数据传送状态

  6. FIN-WAIT-1 主动关闭,主机已发送关闭连接请求,等待对方确认

  7. FIN-WAIT-2 主动关闭,主机已收到对方关闭传输连接确认,等待对方发送关闭传输连接请求

  8. TIME-WAIT 完成双向传输连接关闭,等待所有分组消失

  9. CLOSE-WAIT 被动关闭,收到对方发来的关闭连接请求,并已确认

  10. LAST-ACK 被动关闭,等待最后一个关闭传输连接确认,并等待所有分组消失

  11. CLOSING 双方同时尝试关闭传输连接,等待对方确认

五 UDP协议

     无连接   不稳定   快(以下优点记住就行)

  1. 工作在传输层

  2. 面向连接协议

  3. 全双工协议:在同一时间内双向传输

  4. 半关闭

  5. 错误检查

  6. 将数据打包成段,排序

  7. 确认机制

  8. 数据恢复,重传

  9. 流量控制,滑动窗口

  10. TCP UDP
    面向连接 无连接
    由重传机制 无重传机制
    传输速度慢 传输速度快
    可靠 可靠
    重要或大文件 聊天软件,视频会议

udp特性 

六 telent协议

远程连接

TELNET + IP地址

修改用户权限

sys

user-interface vty 0 4

user privilege  level 15

七 WireShark:还没有搞清门道

1 选择网卡

选取你需要抓取的网卡,有波浪线代表有数据流量

2 模式选择


(1)混杂模式: 就是接收所有经过网卡的数据包,包括不是发给本机的包,即不验证MAC地址。

(2)普通模式:网卡只接收发给本机的包(包括广播包)传递给上层程序,其它的包一律丢弃。

                 TIP:混杂模式不会影响网卡正常工作,建议使用混杂模式。文章来源地址https://www.toymoban.com/news/detail-766607.html

3 过滤器的使用  

到了这里,关于传输层协议: TCP 、UDP的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JavaEE】网络原理——传输层协议:UDP和TCP

    目录 1、简单了解应用层协议 2、传输层UDP协议 3、传输层TCP协议  3.1、TCP报文介绍 3.2、TCP实现可靠传输的核心机制 3.2.1、确认应答 3.2.2、超时重传  3.3、连接管理 (三次挥手,四次握手) 3.3.1、建立连接(三次握手) 3.3.2、断开连接(四次挥手)  3.4、滑动窗口  3.5、流量

    2024年02月10日
    浏览(79)
  • 网络基础二——传输层协议UDP与TCP

    ​ 传输层协议有UDP协议、TCP协议等; ​ 两个远端机器通过 使用\\\"源IP\\\",“源端口号”,“目的IP”,“目的端口号”,\\\"协议号\\\"来标识一次通信 ; 9.1端口号的划分 ​ 0-1023:知名端口号,HTTP,HTTPS,FTP,SSH等应用层协议,他们的端口号都是固定的;如:ssh使用的是22号端口,

    2024年04月12日
    浏览(41)
  • 计算机网络笔记:TCP协议 和UDP协议(传输层)

    TCP 和 UDP都是传输层协议,他们都属于TCP/IP协议族。 TCP的全称是 传输控制协议 是一种 面向连接的、可靠的、基于字节流 的 传输层 通信协议。TCP 是面向连接的、可靠的流协议(流就是指不间断的数据结构) TCP报文 是TCP层传输的数据单元,也称为 报文段 ,一个TCP报文段由

    2024年02月02日
    浏览(50)
  • 网络编程——TCP/IP协议族(IP协议、TCP协议和UDP协议……)

    1、IP协议简介 IP协议又称 网际协议 特指为实现在一个相互连接的网络系统上从源地址到目的地传输数据包(互联网数据包)所提供必要功能的协议,是网络层中的协议。 2、特点 不可靠 :它不能保证IP数据包能成功地到达它的目的地,仅提供尽力而为的传输服务 无连接 :IP 并不

    2024年02月13日
    浏览(67)
  • UDP(用户数据报协议)和TCP(传输控制协议)是互联网协议(IP)中两种主要的传输层协议

    您的描述是正确的。UDP(用户数据报协议)和TCP(传输控制协议)是互联网协议(IP)中两种主要的传输层协议。他们之间有几个重要的区别,其中之一就是建立连接的方式。 连接方式: • TCP:在进行数据传输之前,需要通过三次握手(3-way handshake)建立连接。这可以确保

    2024年02月02日
    浏览(111)
  • HTTP/UDP/TCP/IP网络协议

    OSI模型定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),每一层实现各自的功能和协议,并完成与相邻层的接口通信。OSI模型各层的通信协议,大致举例如下表所示: 层次 常见协议 应用层 HTTP、SMTP、SNMP、FTP、Telnet、SIP、SS

    2024年04月11日
    浏览(41)
  • 【网络】传输层——UDP | TCP(协议格式&&确认应答&&超时重传&&连接管理)

    🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言: 你只管努力,剩下的交给时间! 现在是传输层,在应用层中的报文(报头 + 有效载荷)就不能被叫做报文了,而是叫做 数据段 (报头 + 有效载荷),传输层的有效载荷就是应用层的完整报文。 端口号(port):标识了一个主机上

    2024年02月13日
    浏览(42)
  • 数据链路层(MAC)、网络层(IP)、传输层(TCP/UDP)抓包分析

    OSI模型(OSI model),开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI)。 抓包通常抓取数据链路层、网络层、传输层的包。 OSI主要关注5层,数据从上至下逐级封装,加入每层的头部信息,在物理层转换为比特率发送; 接收端使用逆向顺序

    2024年02月16日
    浏览(49)
  • SCTP, TCP, UDP, IP, ICMP都在哪一层?(TCP/IP网络通信协议学习)

    TCP/IP网络通信协议最早是由 罗伯特·卡恩 (Robert E. Kahn)和 文顿·瑟夫 (Vinton G. Cerf)于1972年提出的,它是一个实际的协议栈。 OSI七层网络通信协议最早是 由国际标准化组织 (ISO)于1977年提出的,它是一个理论模型。TCP/IP网络通信协议由于其简单性和实用性,成为 事实上

    2024年01月22日
    浏览(68)
  • Java网络编程之IP,端口号,通信协议(UDP,TCP)

    ① C/S :客户端/服务器 在用户本地需要下载安装客户端程序,在远程有一个服务器端程序。 优点:画面精美,用户体验好 缺点:用户需要下载更新 ② B/S :浏览器/服务器 只需要一个浏览器,用户通过指定网址访问对应的服务器。 优点:不需要开发客户端,只需要页面+服务

    2024年02月03日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包