第十六节 网络协议

一、相关概念
1.网络体系结构
协议:控制网络中信息的发送与接收,定义了通信实体之间交换报文的格式和次序,以及在报文传输或接收或其他事件所采取的动作。
网络体系结构:网络的层次结构和每层所使用协议的集合
2.OSI参考模型


OSI.jpg

3.协议分布


协议分布.jpg

4.各层功能
(1)链路层:是把接收到的网络层数据报(也 称IP数据报)通过该层的物理接口发送到传输介质上,或从物理网络上接收数据帧,抽出IP数据报并交给IP层。
(2)网络层:是可以把源主机上的分组发送到互联网中的任何一台目标主机上。
(3)传输层:为运行在不同主机上的应用进程使用逻辑通信功能彼此发送报文,提供逻辑通信功能(TCP/UDP协议在此层)
(4)应用层:向使用网络的用户提供特定的、常用的应用程序。
(5)表示层:通信用户之间数据格式的转换、数据压缩及加解密等。

(6)会话层:对数据传输进行管理,包括数据交换的定界、同步,建立检查点等。

传输层和应用层的进程通过套接字来传递数据,套接字可以有多个,每一个均有唯一的标识符。
2.TCP UDP
(1)UDP
功能:提供用户之间的不可靠、无连接的报文传输。面向数据块,传输单位是数据块,一个数据块只能封装在一个UDP数据包中
优点:无连接创建(减少时延);简单:无连接(在UDP发送方和接收方之间无握手);段首部小;无拥塞控制: UDP能够尽可能快地传输
(2)TCP
功能:提供用户之间的可靠、面向连接的报文传输,面向字节流的服务
优点:一个TCP连接的两个端点之间可以同时发送和接受数据

二、TCP流式套接字的编程步骤:
服务器端程序:
1、加载套接字库
2、创建套接字(socket)。
3、将套接字绑定到一个本地地址和端口上(bind)。
4、将套接字设为监听模式,准备接收客户请求(listen)。
5、等待客户请求到来;当请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept)。
6、用返回的套接字和客户端进行通信(send/recv)。
7、返回,等待另一客户请求。
8、关闭套接字。

客户端程序:
1、加载套接字库
2、创建套接字(socket)。
3、向服务器发出连接请求(connect)。
4、和服务器端进行通信(send/recv)。
5、关闭套接字。

你可能感兴趣的:(第十六节 网络协议)