TCP/IP协议简介(二)
来源:互联网 发布:惠惠助手淘宝不显示 编辑:程序博客网 时间:2024/06/05 02:24
TCP/IP协议简介(二)
上篇文章TCP/IP协议简介(一)介绍了计算机网络体系的基本内容,了解了TCP/IP的五层模型及其各层的在网络通信中扮演的角色。本篇文章主要介绍TCP/IP五层模型中的传输层的基本内容。
一丶传输层的基本概念
传输层主要考虑的问题是通信主机双方应用程序之间一对一的通信,为应用程序之间的通信提供提供服务,上接应用层协议,下接网络层协议。下图1是对传输层作用的描述,借图来说明传输层的几个重要的概念——分用,复用,以及IP地址和端口号组成的连接点(sokcet,套接字)。
图1.传输层作用简介
(1)复用,假设通信方A是手持终端,通信方B同样是手持终端,终端A上传输层协议只有一份,但是需要通信的app却有很多,同一个份传输层协议同时多个app的使用,就是传输层协议复用的概念。
(2)分用,通信终端B的传输层会汇集发送到该终端上的所有信息,梳理这些信息,将信息分别发送到指定应用上的过程称为分用。
(3)IP地址和端口号以及socket,IP地址是对网络上主机的唯一标识,端口号是对主机上运行的应用(进程)的唯一标识。通过组合IP地址和端口号可以完成对网络中指定终端上指定应用的定位,而socket就是这样的组合。
socket=IP:端口号
发送端的应用进程,发送数据的时候会指明目的主机的IP地址和端口号,而接受端的应用进程会监听该端口号,这样发送端的应用进程和接收端的应用进程之间就建立了一条逻辑上的通信链路。接受端的传输层收到信息之后,就依据端口号,将数据转发到监听该端口号的应用进程完成分用的功能。
二丶位于传输层的TCP协议
传输层的协议广泛使用的有两种,一种是UDP协议,另外一种是TCP协议,这里简单的介绍以下TCP协议和UDP协议的内容和区别。
图2
TCP协议和UDP协议是传输层运用最广泛的两个协议,TCP协议和UDP协议最大的区别在与TCP是面向接连的可靠传输协议,UDP是无连接的尽最大努力交付(不可靠)的协议。在本系列文章里面主要介绍TCP协议的主要内容,对UDP协议的内容暂时不介绍。TCP(Transmision control protocal)协议的主要内容包括三个部分:差错控制,流量控制以及拥塞控制,其具体的内容组成如下:
图3 TCP协议的主要内容
TCP协议中所涉及的主要内容都体现在上图中。差错控制是用来保证TCP是可靠传输的功能模块。流量控制是TCP发送端和接收端之间的一种协调,目的让发送端的发送速率和接收端的接受速率相匹配,最大的利用信道传输的能力。拥塞控制是TCP协议中最为复杂也是最重要的功能,其目的是让TCP的传输速度匹配当前网络的状态,在网络负载较轻的情况下,使用较快的发送速率,获取网络带宽的最大利用率,在网络负载较大的情况下,使用较低的发送速率,用来避免网络拥塞情况加重,导致不必要的重传,来恶化TCP的性能。上述TCP协议的三个主要内容,后续都会逐一的介绍,在详细的介绍TCP的具体内容之前,必须熟悉TCP的报文头,TCP报文头中的字段是实现TCP功能的核心。
图4 TCP报文段的首部
TCP报文段首部的字节信息如图4所示,在上述的字段中,我们已经学习了两个字段,源端口字段,以及目的端口字段。
1.端口字段代表该报文来自主机上的哪个端口(应用进程)。
2.目的端口字段代表目的主机上端口号。
3.最长40个字节的选项是可扩充选项,并不一定是40字节,是为了日后扩展TCP协议功能所预留的位置。TCP包头的最长长度=固定20字节首部+40字节选项=60字节。
4.数据偏移位, 代表TCP报文的数据部分距离TCP报文的首部的字节数,也就是TCP报文首部长度。因为TCP报文具有可变的选项字节,数据偏题字段是非常重要的。数据偏移字段是四位,可表示的最大十进制数是15,但是该字段的单位不是一个字节,而是四个字节。也就是数据偏移是1,代表1*4个字节而不是一个字节,数据偏移是15,代表15*4=60个字节,这样数据偏移位的范围可以覆盖整个TCP报文头。其他的报文头字段,在后续TCP内容介绍中会全部涉及。- TCP/IP协议简介(二)
- TCP/IP协议简介
- TCP/IP协议简介
- TCP/IP协议简介
- TCP/IP协议简介
- tcp /ip 协议简介
- TCP/IP协议简介
- TCP/IP协议简介
- TCP/IP协议简介
- TCP/IP协议简介
- TCP/IP协议简介
- TCP/IP协议简介
- TCP/IP协议简介
- TCP/IP协议简介
- TCP/IP协议简介
- TCP/IP 协议简介
- tcp/ip简介------TCP协议
- TCP/IP协议 <二>
- JavaScript进阶篇
- nyoj263精挑细选
- ViewPager和ViewFlipper
- 高等概率论(10月10日周二)
- 集合的继承体系
- TCP/IP协议简介(二)
- vim底行模式命令
- JMS(二) 简单介绍和基本的安装
- c语言简单实现三子棋
- Oracle中的dual详解
- 单词排序
- 分布式系统架构
- Oracle创建用户
- HDU 5023 A Corrupt Mayor's Performance Art (线段树 位运算)