常见的计算机网络体系
最开始为了互联网网络互通,定义了OSI的机构(学者),但是太过复杂,后来商业化为TCP/IP体系结构,把表示层和会话层删除,重新定义。**网络层又叫网际层
TCP/IP的应用层、运输层、网络层并没有规定具体内容,这也让用户可以连接互联各种网络,有线的以太网,无线的wifi接口。所以本质上TCP/IP的体系结构只有上面三层。
IP协议将不同网络接口互联,并向TCP协议和UDP协议提供网络互联服务。
TCP协议在享受IP协议提供的网络互连的基础上向应用层的相应协议提供可靠的传输服务。
UCP协议在享受IP协议提供的网络互连的基础上向应用层的相应协议提供不可靠的传输服务。
IP协议,1、互连不同网络接口 2、为各种网络应用提供服务
因为IP和TCP是两个最重要的协议,所以用这两个协议来表示整个协议大家族,称为TCP/IP协议族
但是,如果直接学习TCP/IP 是不完整的,所以学习计网的话,将分为 物理层,数据链路层,网络层,运输层,应用层
计算机网络体系结构分层的必要性
物理层
用什么介质传输(网线),什么接口、什么信号?
数据链路层
这里用总线型网络问题作为引导
-
如何标识网络的主机,怎么知道你是谁,谁给你消息(主机编地问题、例如MAC地址)
-
如何在信号所表示的一连串比特流中区分出地址和数据?一长串比特流,你怎么知道哪些是地址,哪些是数据
-
如何协调各主机争用总线?总共就一条总线,那么多的主机要传数据,怎么协调(目前已经不再使用总线型网络,常用使用以太网交换机将多台主机互联形成的交换式以太网)
网络层
前3个十进制标识网络,第4个标识主机,同为N1 所以前三个都是,192.168.1.1
-
如何标识各网络以及网络中的各主机(网络和主机共同编码的问题,例如IP地址)
-
路由如何转发分组,如何进行路由选择
运输层
-
如何解决进程之间基于网络的通信问题?
-
出现传输错误时,如何处理?(误码,丢包)
应用层
通过应用进程间的交互来完成特定网络应用
主机访问web服务器详细过程
应用层构建一个HTTP请求报文
运输层给HTTP请求报文添加一个TCP首部,形成一个TCP报文段
网络层给TCP报文段添加一个IP首部,形成一个IP数据报(作用是可以在互联网上进行传输,被路由器转发)
数据链路层给IP数据报添加一个首部和一个尾部,变成帧。首部作用:是可以让帧在一段链路上或在一个网路上传输,被相应主机接收。尾部的作用:让目的主机检查所接收到的帧是否有误码。
物理层把帧看作比特流,N1是以太网络,所以加上前导码(作用,让目的主机做好接收帧的准备)
路由器处理过程:经过物理层和链路层逐层拆解,网络层拿到IP数据报,并且解析其首部(IP协议) 提取目的网络地址,查找自身路由表,以便转发
链路层添加首部尾部变成帧,和物理层添加一个前导码,变信号,通过传输媒体到达web服务器
web服务器由下到上层层拆解,最后拿到HTTP请求报文,应用层解析,然后给主机返回HTTP响应报文
后续响应报文的传输和前面类似。