您当前的位置:首页 > 电脑百科 > 网络技术 > 网络知识

TCP/IP协议:传输层协议

时间:2020-09-02 12:06:45  来源:  作者:

网络层是为主机之间提供逻辑通信,而运输层为应用进程之间(socket:ip+端口)提供端到端的逻辑通信。TCP/IP协议:传输层协议

端口 服务器使用的端口

系统端口号/熟知端口号 (0-1023)FTP: 21

TELNET: 23

SMPT: 25

DNS: 53

TFTP: 69

HTTP: 80

SNMP: 161

SNMP(trap): 162

登记端口号 (1024-49151)

客户端使用的端口号 (49152-65535)

由于这类端口号仅在客户进程运行时才动态选择,因此也叫做短暂端口号

TCP (面向连接,可靠)

socket

socket = (IP地址: 端口号)

每一条TCP连接唯一地被通信两端的两个端点(即两个套接字)所确定。

同一个名词socket却可以表示多种不同的意思

允许应用程序访问连网协议的应用编程接口API,即运输层和应用层之间的一种接口,称为socket API,并简称为socket。

socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。

更多

在socket API中使用的一个函数名也叫做socket。

调用socket函数的端点成为socket,如“创建一个数据报socket”。

调用socket函数时,其返回值称为socket描述符,可简称为socket。

在操作系统内核中连网协议的Berkeley实现,称为socket实现。

上面的这些socket的意思都和(IP地址: 端口号)不同。

特点TCP时面向连接的运输层协议

每一条TCP连接只能有两个端点,每一条TCP连接只能时点对点的。

TCP提供可靠交付的服务。

TCP提供全双工通信。

面向字节流。TCP中的“流”(stream)指的是流入到进程或从进程流出的字节序列。

更多

面向字节流的含义是:

虽然应用程序和TCP的交互是一次一个数据块(大小不等),但TCP把应用程序交下来的数据看成仅仅是一连串的无结构的字节流。TCP不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块具有对应大小的关系(例如,发送方应用程序交给发送方的TCP共10个数据块,但接收方的TCP可能只用了4个数据块就把收到的字节流交付上层的应用程序)。TCP并不关心应用进程一次把多长的报文发送到TCP的缓存中,而是根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(UDP发送的报文长度是应用进程给出的)。如果应用进程传送到TCP缓存的数据块太长,TCP就可以把它划分短一些再传送。如果应用进程一次只发来一个字节,TCP也可以等待积累有足够多的字节后再构成报文段发送出去。可靠传输的工作原理

TCP报文段的首部格式

TCP可靠传输的实现

TCP的流量控制

TCP的拥塞控制

TCP的运输连接管理(三次握手四次挥手)

TCP/IP协议:传输层协议

TCP/IP协议:传输层协议

UDP (无连接,不可靠)

用户数据报协议UDP只在IP的数据报服务之上增加了很少的一点功能,这就是复用和分用的功能以及差错检测的功能。

特点

UDP是无连接的

UDP使用尽最大努力交付

UDP是面向报文的,发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。

UDP对应用层交下来的报文,既不合并,也不拆分。因此,应用程序必须选择合适大小的报文。

若报文太长,UPD把它交给IP层后,IP层在传送时可能要进行分片,这会降低IP层的效率。

若报文太短,UDP把它交给IP层后,会使IP数据报的首部的相对长度太大,这也降低了IP层的效率。

UDP没有拥塞控制

UDP支持一对一/一对多/多对一和多对多的交互通信

UDP的首部开销小,只有8个字节,比TCP的20个字节的首部要短

首部TCP/IP协议:传输层协议

伪首部(12字节)是用来计算校验和的。

检验和

UDP计算检验和的方法和计算IP数据报首部检验和的方法类似。但不同的是:

IP数据报的检验和只检验IP数据报的首部,但UDP的检验和是把首部和数据部分一起都检验。

UDP的检验和即检查了UDP用户数据报的源端口和目的端口以及UDP用户数据报的数据部分,又检查了IP数据报的源IP地址和目的地址。

其他

如果接收方UDP发现收到的报文中的目的端口不存在对应的应用进程,就丢弃该报文,并由网际控制报文协议ICMP发送“端口不可达”差错报文给发送方。

traceroute就是让发送的UDP用户数据报故意使用一个非法的UDP端口,结果ICMP就返回“端口不可达”差错报文,因而达到了测试的目的。



Tags:TCP/IP协议   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议。实际生活当中有时也确实就是指这两种协议。然而在很多情况下,它只是利用 IP 进行通信时所必须用到的协议群...【详细内容】
2021-07-14  Tags: TCP/IP协议  点击:(96)  评论:(0)  加入收藏
IPV4协议提供简单服务,实现从源地址到目的地址的数据转发!(不建立连接,不保证数据传输的可靠性)数据报格式(首部+数据): 首部的长度以4字节为单位,长度范围20-60字节,具体跟首部...【详细内容】
2020-10-16  Tags: TCP/IP协议  点击:(244)  评论:(0)  加入收藏
网络层是为主机之间提供逻辑通信,而运输层为应用进程之间(socket:ip+端口)提供端到端的逻辑通信。端口 服务器使用的端口系统端口号/熟知端口号 (0-1023)FTP: 21TELNET: 23SMPT:...【详细内容】
2020-09-02  Tags: TCP/IP协议  点击:(142)  评论:(0)  加入收藏
TCP/IP 协议作为现代网络的骨架,其在现代生活中的重要性不言而喻。 不同的计算机厂家使用不同的硬件,生产出的不同型号的计算机,搭载不同的操作系统,通过tcp/ip协议可以进行通讯...【详细内容】
2020-08-10  Tags: TCP/IP协议  点击:(69)  评论:(0)  加入收藏
TCP流式套接字的编程步骤:服务器端程序:1、加载套接字库2、创建套接字(socket)。3、将套接字绑定到一个本地地址和端口上(bind)。4、将套接字设为监听模式,准备接收客户请求(listen)...【详细内容】
2020-07-04  Tags: TCP/IP协议  点击:(47)  评论:(0)  加入收藏
0x01 事件背景2020年06月29日,360CERT监测到Treck官方发布了Treck TCP/IPv4/IPv6 软件库的安全更新。Treck TCP/IP 是专门为嵌入式系统设计的高性能TCP/IP协议处理套件。此...【详细内容】
2020-06-30  Tags: TCP/IP协议  点击:(195)  评论:(0)  加入收藏
你可知TCP/IP协议是什么?TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。TCP/IP 协议采用4...【详细内容】
2020-06-21  Tags: TCP/IP协议  点击:(41)  评论:(0)  加入收藏
在互联网中,存在着各种不同层次的协议,它们分别的功能也是不同的。但做为网络工程师,对这些协议的使用以及区分是工作的必备技能。那今天以网络工程师的角度来告诉大家是怎么看...【详细内容】
2020-04-20  Tags: TCP/IP协议  点击:(67)  评论:(0)  加入收藏
在Android网络编程-计算机网络基础一文中得知,IP协议属于网络层,TCP、UDP协议属于传输层。IP协议是TCP/IP协议族的动力,它为上层协议提供无状态、无连接、不可靠的服务。TCP协...【详细内容】
2019-09-18  Tags: TCP/IP协议  点击:(206)  评论:(0)  加入收藏
TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议...【详细内容】
2019-08-30  Tags: TCP/IP协议  点击:(277)  评论:(0)  加入收藏
▌简易百科推荐
HTTP 报文是在应用程序之间发送的数据块,这些数据块将通过以文本形式的元信息开头,用于 HTTP 协议交互。请求端(客户端)的 HTTP 报文叫做请求报文,响应端(服务器端)的叫做响应...【详细内容】
2021-12-27  程序员蛋蛋    Tags:HTTP 报文   点击:(0)  评论:(0)  加入收藏
一 网络概念:1.带宽: 标识网卡的最大传输速率,单位为 b/s,比如 1Gbps,10Gbps,相当于马路多宽2.吞吐量: 单位时间内传输数据量大小单位为 b/s 或 B/s ,吞吐量/带宽,就是网络的使用率...【详细内容】
2021-12-27  码农世界    Tags:网络   点击:(2)  评论:(0)  加入收藏
1.TCP/IP 网络模型有几层?分别有什么用? TCP/IP网络模型总共有五层 1.应用层:我们能接触到的就是应用层了,手机,电脑这些这些设备都属于应用层。 2.传输层:就是为应用层提供网络...【详细内容】
2021-12-22  憨猪哥08    Tags:TCP/IP   点击:(29)  评论:(0)  加入收藏
TCP握手的时候维护的队列 半连接队列(SYN队列) 全连接队列(accepted队列)半连接队列是什么?服务器收到客户端SYN数据包后,Linux内核会把该连接存储到半连接队列中,并响应SYN+ACK报...【详细内容】
2021-12-21  DifferentJava    Tags:TCP   点击:(9)  评论:(0)  加入收藏
你好,这里是科技前哨。 随着“元宇宙”概念的爆火,下一代互联网即将到来,也成了互联网前沿热议的话题,12月9日美国众议院的听证会上,共和党议员Patrick McHenry甚至宣称,要调整现...【详细内容】
2021-12-17  王煜全    Tags:Web3   点击:(14)  评论:(0)  加入收藏
一、demopublic static void main(String[] args) throws Exception { RetryPolicy retryPolicy = new ExponentialBackoffRetry( 1000, 3);...【详细内容】
2021-12-15  程序员阿龙    Tags:Curator   点击:(20)  评论:(0)  加入收藏
一、计算机网络概述 1.1 计算机网络的分类按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);按照网络使用者:公用网络、专用网络。1.2 计算机网络的层次结构 TCP/IP四层模...【详细内容】
2021-12-14  一口Linux    Tags:网络知识   点击:(30)  评论:(0)  加入收藏
无论是在外面还是在家里,许多人都习惯了用手机连接 WiFi 进行上网。不知道大家有没有遇到过这样一种情况, 明明已经显示成功连接 WiFi,却仍然提示“网络不可用”或“不可上网”...【详细内容】
2021-12-14  UGREEN绿联    Tags:WiFi   点击:(25)  评论:(0)  加入收藏
拉了千兆宽带,买了标称 1300Mbps 的无线路由器,为什么 WiFi 还是跑不满千兆?要回答这个问题,我们先得知道这个 1300Mbps 是怎么来的。开始回答之前先说明一下,这期只讲 802.11ac,...【详细内容】
2021-12-14  Ubiquiti优倍快    Tags:WiFi   点击:(83)  评论:(0)  加入收藏
问题背景IPv6环境下,在浏览器中通过http://[vip:port]访问web业务,提示无法访问此网站,[vip]的响应时间过长。分析过程之前碰到过多次在PC浏览器上无法访问vip的情况,排查方法也...【详细内容】
2021-12-13  云原生知识星球    Tags:网络问题   点击:(27)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条