做网站月度总结,长春有什么好的网站制作公司,世界室内设计公司排名,辽宁建设工程信息网签章四、TCP/IP模型-传输层
一、TCP
1、TCP定义
TCP(Transmission Control Protocol#xff0c;传输控制协议)∶为应用程序提供可靠的面向连接的通信服务。目前#xff0c;许多流行的应用程序都使用TCP。
连接#xff1a;正式发送数据之前#xff0c;提前建立好一种虚拟的传输控制协议)∶为应用程序提供可靠的面向连接的通信服务。目前许多流行的应用程序都使用TCP。
连接正式发送数据之前提前建立好一种虚拟的点到点式的连接 单播的模式
面向连接如果某应用层协议的四层使用TCP端口那么在正式的数据报文传输之前需要先建立连接。只有建立完连接之后才可以传输数据。
全双工的协议:即可以同时发送数据同时接收数据。
架构C/S:客户端/服务器 B/S:浏览器/服务器 2、TCP报文格式 TCP报文头部∶
Source Port∶源端口标识哪个应用程序发送。长度为16比特。
Destination Port∶目的端口标识哪个应用程序接收。长度为16比特。
Sequence Number∶序号字段。TCP链接中传输的数据流每个字节都编上一个序号。序号字段的值指的是本报文段所发送数据的第一个字节的序号。长度为32比特。
Acknowledgment Number∶确认序列号是期望收到对方下一个报文段数据的第1个字节的序号即上次已成功接收到的数据段的最后一个字节数据的序号加1。只有Ack标识为1此字段有效。长度为32比特。
Header Length∶头部长度指出TCP报文头部长度以32比特(4字节)为计算单位。若无选项内容则该字段为5即头部为20字节。
Reserved∶保留必须填0。长度为6比特。
Control bits∶控制位包含FIN、ACK、SYN等标志位代表不同状态下的TCP数据段。
Window∶窗口TCP的流量控制这个值表明当前接收端可接受的最大的数据总数(以字节为单位)。窗口最大为65535字节。长度为16比特。
Checksum∶校验字段是一个强制性的字段由发端计算和存储并由收端进行验证。在计算检验和时要包括TCP头部和TCP数据同时在TCP报文段的前面加上12字节的伪头部。长度为16比特。
Urgent∶紧急指针只有当URG标志置1时紧急指针才有效。TCP的紧急方式是发送端向另一端发送紧急数据的一种方式。紧急指针指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。长度为16比特。
Options∶选项字段(可选)长度为0-40字节。
3、TCP建立与断开
TCP三次握手四次挥手
三次握手面向连接的高层协议在正式传输数据之前需要先建立连接建立连接的过程需要来回发送三个报文我们将建立连接的过程称为三次握手。
第一步TCP会话的建立-三次握手
任何基于TCP的应用在发送数据之前都需要由TCP进行三次握手建立连接。 第二步TCP会话的确认 TCP连接建立的详细过程如下∶
由TCP连接发起方(图中PC1)发送第一个SYN位置1的TCP报文。初始序列号a为一个随机生成的数字因为没收到过来自PC2的任何报文所以确认序列号为0;
接收方(图中PC2)接收到合法的SYN报文之后回复一个SYN和ACK置1的TCP报文。初始序列号b为一个随机生成的数字同时因为此报文是回复给PC1的报文所以确认序列号为a1;
PC1接收到PC2发送的SYN和ACK置位的TCP报文后回复一个ACK置位的报文此时序列号为a1确认序列号为b1。PC2收到之后TCP双向连接建立。
第一次握手SYN 客户端(随机1029)————服务器(80)(下左图) 第二次握手SYNACK 客户端——————服务器(上右图) 第三次握手ACK (确认) 客户端——————服务器(上左图)
第四步TCP会话的终止----四次挥手当数据传输完成TCP需要通过四次挥手机制断开TCP连接释放系统资源。(上右图和下左图) 主机在关闭连接之前要确认收到来自对方的ACK
TCP的序列号与确认序列号
TCP的序列号与确认序列号TCP使用序列号和确认序列号字段实现数据的可靠和有序传输。 假设PC1要给PC2发送一段数据传输过程如下∶
1.PC1将全部待TCP发送的数据按照字节为单位编上号。假设第一个字节的编号为a1第二个字节的序号为a2依次类推。
2.PC1会把每一段数据的第一个字节的编号作为序列号(Sequence number)然后将TCP报文发送出去。
3.PC2在收到PC1发送来的TCP报文后需要给予确认同时请求下一段数据如何确定下一段数据呢?序列号( a1)载荷长度下一段数据的第一个字节的序号(a112)
4.PC1在收到PC2发送的TCP报文之后发现确认序列号为a112说明a1到a12这一段的数据已经被接受需要从a112开始发送。
为了提升发送效率也可以一次性发送多段数据由接收方统一确认。
查看已经建立好的tcp连接 netstat -an 可靠传输
收到对方的数据需要发送一个tcp ack 报文来确认
ack确认包里面包含了接收方需要的下一个报文的序列号
4、TCP的窗口滑动机制
滑动窗口机制: 测试数据传输的带宽瓶颈 尽可能利用带宽的最大值来传输数据。同时还有校验机制保证数据可靠传输。
TCP通过滑动窗口机制来控制数据的传输速率。
使用滑动窗口机制可以探测出双方链路的最大传输能力 5、TCP会话的拥塞和流量控制 1.在TCP三次握手建立连接时双方都会通过Window字段告诉对方本端最大能够接受的字节数(也就是缓冲区大小)。
2.连接建立成功之后发送方会根据接受方宣告的Window大小发送相应字节数的数据。
3.接受方接受到数据之后会放在缓冲区内等待上层应用来取走缓冲的数据。若数据被上
层取走则相应的缓冲空间将被释放。
4.接收方根据自身的缓存空间大小通告当前的可以接受的数据大小(Window)。
5.发送方根据接收方当前的Window大小发送相应数量的数据。 二、UDP
1、UDP定义
UDP(User Datagram Protocol用户数据报协议)∶提供了无连接通信且不对传送数据包进行可靠性的保证。
UDP不提供重传机制占用资源小处理效率高。
一些时延敏感的流量如语音、视频等通常使用UDP作为传输层协议。
2、UDP报文格式 UDP报文头部∶
Source Port∶源端口标识哪个应用程序发送。长度为16比特。
Destination Port∶目的端口标识哪个应用程序接收。长度为16比特。
Length∶该字段指定UDP报头和数据总共占用的长度。可能的最小长度是8字节因为UDP报头已经占用了8字节。由于这个字段的存在UDP报文总长不可能超过65535 字节(包括8字节的报头和65527字节的数据)。
Checksum∶校验字段覆盖UDP头部和UDP数据的校验和长度为16比特。
3、UDP 适用场景
A、传输速度快且高层的应用层对数据传输的可靠性有校验机制。
B、要求极快的传输速度实时性较高延迟敏感即使丢包也无所谓。
例如IPTV、远程教学、音视频会议、现场直播、DNS、DHCP、游戏报文(英雄联盟、QQ飞车)等。
4、TCP和UDP对比 传输控制协议/TCP 用户数据包协议/UDP 面向连接的协议 非面向连接的协议 可靠传输 不可靠传输(尽力而为的传输) 只能适应于单播的数据通信 速度慢准确性高 (打电话) 不提供重传机制速度快准确性差 (群聊) 支持流控及窗口机制 无流控及窗口机制 FTP服务[20/21] SSH远程管理服务[22] Telnet远程管理服务[23] SMTP服务[25] HTTP服务[80] Https[443] DNS服务[53] DHCP[67/68] TFTP[] 可以基于已经建立好的连接灵活的对接下来传递的数据进行控制。 无法满足即时性的要求传递一些大文件稳定性要求极高。 3.自带分片功能。 1.保证数据进行传输但是UDP无法对传递的数据进行控制。 如果相对数据做控制此时借用上层的应用层。 2.可以很好的满足即时性通信的要求。传递即时性流量对时间要求比较高的流量。 3.UDP对于上层传达的数据全盘接收[无分片机制]用于相对比较小的流量。 三、端口
端口号(Port)用来区分不同的网络服务。 端口Port [逻辑端口] 基于应用级别的互访端口到端口的互访 复用/分用
复用多个不同的应用都可以利用传输层的协议进行通信。
分用传输层可以基于不同的端口定位本地的不同的应用服务。 传输层端口范围传输层0-65535 [端口的总数] TCP/UDP
0-1023端口(知名端口/常用端口): 提前保留出来的端口
客户端使用的源端口一般随机分配目标端口则由服务器的应用指定
源端口号一般为系统中未使用的且大于1023
目的端口号为服务端开启的应用(服务)所侦听的端口如HTTP缺省使用80。 四、网关
1、网关(Gateway)基础 网关是用来转发来自不同网段之间的数据包。网关就是一台具有路由功能的三层网络设备如∶路由器、三层交换机、防火墙、服务器等。
网关地址就是设备的接口地址。
位于不同网络间的主机要实现通讯必须把数据包发送给网关。 2、网关的作用
PC访问互联网三要素① IP地址 ② 网关 (gateway) ③ DNS (域名解析)
网关的作用网关相当于缺省路由(默认路由)当PC想访问外网(其他网段)此时PC需要将报文交给网关处理。
局域网互访不需要网关不同网段的PC互访时才需要网关。
网关通常是上游路由器的接口IP。
网关必须是离PC“最近”的路由器接口的IP地址。即网关必须和PC的IP在同一网段。
案例配置接口IP地址 进入系统模式 system-view
进入路由的接口 interface g0/0/0
配置IP地址 ip address 192.168.1.100 255.255.255.0 整个华为数通学习笔记系列中本人是以网络视频与网络文章的方式自学的并按自己理解的方式总结了学习笔记某些笔记段落中可能有部分文字或图片与网络中有雷同并非抄袭。完处于学习态度觉得这段文字更通俗易懂融入了自己的学习笔记中。如有相关文字涉及到某个人的版权利益可以直接联系我我会把相关文字删除。【VXczlingyun 暗号CSDN】