报文,需要发送的整块数据
报文交换,整个报文先传导向临界点,全部存储下来后查找转发表,转发到下一个结点
分组,报文分成等长的数据段,然后加上必要的首部,即为分组
分组交换,单个分组传送到相邻结点,存储下来后查找转发表,转发下一个结点
实体:任何可以发送或接收信息的硬件或软件进程。
协议:控制两个对等实体(或多个)进行通信的规则的集合。
服务:在协议的控制下,两个对等实体间的通信使得本层能够向上一层供服务。
下面的协议对上面的实体是透明的。
服务访问点:同一系统中相邻两层的实体进行交互(交换信息)的地方。
正数的反码补码都跟自己是一样的
负数的补码是符号位不变,原码取反加1
OSI模型:
应用层,表示层,会话层,运输层,网络层,数据链路层,物理层
五层体系网络模型:
物理层,数据链路层,网络层,运输层,应用层
主机(应用层、运输层、网际层、网络接口层)-->网络-->路由器(网际层、网络接口层)-->网络-->主机
物理层
频分复用,时分复用,统计时分复用
码分复用
ADSL非对称数字用户线
数据链路层
封装成帧,透明传输,差错检测
点对点数据链路层的协议数据单元-帧
链路静止(设备间无链路)-->链路建立(物理链路)-->鉴别(LCP链路)-->网络层协议(已鉴别的LCP)-->链路打开(已鉴别的LCP和NCP链路)-->链路终止
网络层
IP,路由器一般包含以上几层
网际协议IP,配套协议,地址解析协议ARP,网际控制报文协议ICMP,网际组管理协议IGMP
分类IP,四个字节,A类(0),B类(10),C类(110),D类(1110) 网络号+主机号
物理地址,是数据链路层和物理层使用的地址
IP地址,是网络层和以上各层使用的地址,是一种逻辑地址
划分子网,网络号+子网号+主机号
子网掩码,将网络号和子网号全部置为1,主机号为0
增加了灵活性,但减少了能够在网络上的主机总数
构造超网,无分类编址CIDR
网络前缀+主机号
运输层
TCP,UDP,三次握手过程,连接的建立,数据的传输,连接的释放
进程间通信,
UDP:无连接,尽最大能力交付,面向报文,没有拥塞控制,支持一对一、一对多和多对一的交互通信,首部开销小(8)
TCP:面向连接,提供可靠交付,提供全双工通信,面向字节流,
TCP把连接作为最基本的抽象,TCP连接的端点是套接字或者插口
套接字socket=(IP地址:端口号)
建立连接,三次握手,
释放链接,四次握手,
应用层
HTTP超文本传送协议,FTP文件传送协议,SMTP,邮件收发过程,POP3和IMAP
DNS域名系统,TELNET远程终端协议,URL统一资源定位符-<协议>://<主机>:<端口>/<路径>,面向事务,面向文本,
代理服务器,proxy server
HTTP使用了面向连接的TCP作为运输层协议,但本身是无连接的,无状态的,端口号80,
COOKIE表示在服务器和客户之间传递的状态信息,
DHCP动态主机配置协议
系统调用和应用编程接口:
系统调用,在应用程序之间和操作系统之间传递控制权
套接字接口 socket interface
TCP/IP协议软件已被驻留在操作系统中,TCP/IP标准没有规定TCP/IP协议软件应如何实现接口细节,套接字接口是一种著名的API。
套接字描述符,
当应用进程需要使用网络进行通信时,必须首先发出socket系统调用,请求创建一个套接字,这个调用实际上是请求系统把网络通信系统所需要的一些系统资源分配给该应用进程,把这些资源的总和叫做套接字描述符,以后的网络操作,都需要使用这个套接字描述符。
连接建立
数据传送,send系统(套接字描述符,发送数据的地址,数据的长度)调用传送数据,recv系统(套接字描述符,缓存的地址,缓存空间的长度)调用接收数据,
连接释放,撤销套接字,调用close释放连接和套接字
系统调用顺序
客户端 socket-connect-send-recv-close
服务器端 socket-bind-listen-accept-recv-send-close