OSI 网络七层模型
为使不通计算机厂商的计算机能够互相通信,以便在更大的范围内简历计算机网络,有必要建立一个国际范围的网络体系结构标准
-
各层的主要功能
-
传输控制协议TCP:
TCP是Internet一个重要的传输层协议。TCP提供面向连接、可靠、有序、字节流传输服务。应用程序在使用TCP之前,必须先简历TCP连接。
-
TCP握手机制
-
用户数据报协议UDP
用户数据报协议UDP是Internet传输层协议。提供无连接、不可靠、数据报尽力传输服务。
开发应用人员在UDP上构建应用,关注以下几点:
1. 应用进程更容易控制发送什么数据以及何时发送
2. 无需建立连接
3. 无连接状态
4. 首部开销小
-
TCP和UDP的区别
-
什么情况下用到UDP:
物联网中 路灯信息的上传 , 看视频的时候部分数据丢失清晰度降低等
Socket编程
Internet中应用最广发的网络应用编程接口,实现与3种底层(计算机)协议接口(通常编程语言会帮你封装好这些套接字比如JDK):
数据报类型套接字SOCK_DGRAM(面向USDP接口)
流式套接字SOCK_STREAM(面向TCP接口)
原始套接字SOCK_RAW(面向网络层协议接口IP.ICMP等)
主要Socket API及调用过程:
创建套接字->端口绑定->发送数据->接收数据->释放套接字
Socket API 函数定义(很底层的通用api ):
listen()、accept() 函数只能用于服务器端;
connect() 函数只能用于客户端;
socket()、bind()、send()、recv()、sendto()、recvfrom()、close()