计算机网络(二十)传输层的作用

1.传输层的定义

IP首部中有一个协议字段,用来标识网络层的上一层所采用的是哪一种传输层协议。根据这个字段的协议号,就可以识别IP传输的数据部分究竟是TCP的内容,还是UDP的内容。
传输层的TCP和UDP, 为了识别自己所传输的数据部分究竟应该发给哪个应用,也设定了这样一个编号。
在TCP/IP的通信当中也是如此,需要指定 “姓氏",即应用程序。而传输层必须指出这个具体的程序,为了实现这一功能,使用端口号这样一种识别码。
根据端口号就可以识别在传输层上一层的应用层中所要进行处理的具体程序。

2.通信处理

一台计算机运行着众多应用程序
“应用程序”其实就是用来进行TCP/IP应用协议的处理。
TCP/IP中所要识别的"姓氏”就可以被理解为应用协议。
TCP/IP的众多应用协议大多以客户端/服务端的形式运行。
客户端类似于客户的意思,是请求的发起端,在计算机网络中是提供服务和使用服务的一方。
服务端则表示提供服务的意思,是请求的处理端,在计算机网络中则意味着提供服务的程序或计算机。
作为服务端的程序有必要提前启动,准备接收客户端的请求。否则即使有客户端的请求发过来,也无法做到相应的处理。

HTTP连接请求
这些服务端程序在UNIX系统当中叫做守护进程。
在UNIX中并不需要将这些守护进程逐个启动,而是启动一个可以代表它们接收客户端请求的inetd(互联网守护进程)服务程序即可。
它是一种超级守护进程。该超级守护进程收到客户端请求以后会创建(fork)新的进程并转换(exec)为sshd等各个守护进程。
确认一个请求究竟发给的是哪个服务端(守护进程),可以通过所收到数据包的目标端口号轻松识别。
传输协议TCP、UDP通过接收数据中的目标端口号识别目标处理程序。

3.两种传输层协议TCP和UDP

a.TCP

TCP是面向连接的、可靠的流协议。
流就是指不间断的数据结构,当应用程序采用TCP发送消息时,虽然可以保证发送的顺序,但还是犹如没有任何间隔的数据流发送给接收端。
TCP为提供可靠性传输,实行 “顺序控制 ” 或 “重发控制 “ 机制 。还具备流控制(流量控制)、"拥塞控制” 、提高网络利用率等众多功能。

b.UDP

UDP是不具有可靠性的数据报协议。
细微的处理它会交给上层的应用去完成。
在UDP的情况下,虽然可以确保发送消息的大小却不能保证消息一定会到达。因此,应用有时会根据自己的需要进行重发处理。

4.TCP与UDP区分

TCP与UDP的优缺点无法简单地、绝对地去做比较。
TCP用于在传输层有必要实现可靠传输的情况。
UDP主要用于那些对高速传输和实时性有较高要求的通信或广播通信。
在多播与广播通信中也使用UDP而不是TCP。
TCP和UDP应该根据应用的目的按需使用 。

5.套接字(Socket)

应用在使用TCP或UDP时,会用到操作系统提供的类库。这种类库一般被称为API。
使用TCP或UDP通信时,又会广泛使用到套接宇(socket)的API。
应用程序利用套接字,可以设置对端的IP地址、端口号,并实现数据的发送与接收。
套接字

猜你喜欢

转载自blog.csdn.net/NEUChords/article/details/91806399