TCP/IP网络模型
同一设备上进程间通信,有管道、消息队列、共享内存、信号等多种方式,不同设备上的进程间通信,则需要网络通信。为了兼容多种设备,于是需要通用的网络协议。
计算机网络体系结构:
进程与线程:
进程是对运行的程序的封装,是系统进行资源调度和分配的基本单位,可实现操作系统的并发。
线程是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内部的并发。
OSI七层,TCP/IP四层,五层模型关系:
OSI模型是国际标准化组织制定的,旨在提供一种通用的网络参考模型。而TCP/IP则是在实际互联网的发展中逐渐演化而来,TCP/IP四层模型相当是对OSI模型的简化,而TCP/IP五层模型是专门为介绍网络原理而设计的。
应用层
用户直接接触,应用层专注于为用户提供应用功能,如HTTP,FTP,DNS,SMTP,Telnet等。应用层是工作在操作系统中的用户态、传输层及以下则工作在内核态。
传输层
传输层为应用层提供网络支持,传输层协议有TCP与UDP
TCP:传输控制协议,大部分应用使用的是TCP传输层协议,比如HTTP应用层协议,TCP为保证数据包可靠地传输给对方,相对于UDP多了流量控制、超时重传、拥塞控制等特性。
UDP:只负责发送数据包,实时性更好,传输效率高。
当传输层的数据包大小超过MMS(TCP最大报文段长度),则将数据包分块传输,TCP协议中把每一个分块称为TCP段(TCP Segment)。
端口:用以区分同一台设备上不同应用,比如80端口通常用以Web服务器,22端口通常用以远程登录服务器。
网络层
网络层负责将数据从一个设备传输到另一个设备,利用IP地址寻找设备。网络层最常用的是IP协议,IP协议的重要能力是寻址和路由。
寻址:IP地址与子网掩码按位与运算得到网络号,IP地址与取反后的子网掩码按位与得到主机号。网络号是用来标识该IP地址属于哪个子网,主机号标识同一子网下不同主机。路由器可根据IP地址选择路径,找到目的地址的子网。
网络接口层
网络接口层主要为网络层提供链路级别的传输服务,负责在以太网、WIFI这样的底层网络上发送原始数据包,工作在网卡这个层次。使用MAC地址标识网络设备,MAC头部是以太网使用的头部,包含接收方和发送方的MAC地址等信息,可通过ARP协议获取对方的MAC地址。
网络接口层传输单位是帧(frame),IP层传输单位是包(packet),TCP传输单位是段(segment),HTTP传输单位是消息或者报文(message).这些统称为数据包。
标签:IP,模型,TCP,传输,IP地址,传输层,数据包 From: https://www.cnblogs.com/perngfey-note/p/18143238