学习总结:
对于TCP/IP分层,其好处在于将TCP/IP层次化之后,会使设计更为简单,各个分层之间有着各自的功能,每一层独立于其他层完成自己的工作,而不需要相互依赖,上下层之间通过标准接口来互相通信,简单易用又具有扩展性。当某个地方发生更改时,就只需修改该地方所在的部分,因此比较简单。
TCP/IP协议族分层如下:
1、应用层:该层是与用户进行交互的地方,比如说进行文件传输访问,电子邮件,远程登录等。其中:FTP(文件传输协议)、DNS(域名系统)、HTTP协议都属于该层
2、传输层:该层的作用是,将客户在应用层输入的请求截成各个报文段,然后按序号将每个报文段传输到网络层;在此层有两个性质不同的协议:TCP(传输控制协议),其是建立在IP协议之上,可以在两台计算机之间通过三次握手建立可靠连接,保证数据包按顺序到达。UDP(用户数据报协议),其只需要对方的IP地址和端口号,就可以直接发送数据包。因此数据不一定到达,但是优点就是速度快。
3、网络层:该层是用来处理在网络上流动的数据包,规定通过什么样的路径到达对方计算机,并把数据包传给对方。IP协议就是处于这一层。在这一层有两个重要的条件来确保传输准确,就是IP地址和MAC地址。
首先,要建立一个概念,即电脑通过网卡连接网络,网卡出厂时,会有唯一的MAC码,该码就像是身份证。而电脑的IP地址是由服务器分配给该电脑(网卡)的唯一地址,其内网(局域网)IP是自动分配IP,那么每次拨号,会自动获取可用的IP地址。如果是设定了固定的IP,则IP地址就不会改变,但是如果内网内有人在你前面分配到了这个IP地址,那你就用不了了,如果在学校,人数很多,共用一个局域网,就会遇到这种情况,所以,一般选择自动分配IP。因此,局域网内的IP地址是变化的,即每拨号一次,就会自动分配到一个IP。而MAC地址是不变的。如果是一个家庭内,你买了两台电脑,你想组建一个局域网,你除了要用网线和路由器等设备将两台电脑相连,你还要将两台电脑设置固定IP,比如电脑A设为192.168.3,电脑B设为192.163.4,这样你就可以用这两个IP地址互相访问两台电脑,但这两个IP地址只在这两台电脑间有效,对外网无效。局域网内的每台电脑都共用一个外网IP。每台电脑都有一内一外两个IP。具体的内外网区别,可以参考以下网址:
https://blog.csdn.net/weixin_42724467/article/details/89147214
里面讲得特别清楚,此处不是我所要写的重点,因此不必赘述。
比如说电脑A和电脑B进行数据传输,其间经过了M、N两台路由器,其过程如下:
电脑A–>路由器M–>路由器N–>电脑B
电脑A根据IP地址进行判断,看是否是发送给本机的数据报,如果是的话就直接发送,不是的话就经过路由器M,路由器M再经过计算得出下一跳路由N再进行中转,直至到达电脑B
4、链路层
用来处理连接网络的硬件部分,包括控制操作系统、硬件的设备驱动、网卡及光纤等物理可见部分。硬件的范畴均在链路层的作用范围之内。
ARP协议:将对应的IP地址解析出MAC地址
DNS协议:通过域名查找IP,或通过IP,反查域名
其整个流程可以分为以下几个步骤:
1、客户端通过发送请求,比如请求域名http://baidu.com的页面资源,此时,会通过DNS协议,将IP地址得出并返回,知道了IP地址之后,就会生成针对目标web服务器的HTTP请求报文;
2、为了方便通信,根据TCP协议,将HTTP请求报文分割成报文段,再把每个报文段按顺序可靠地传给对方;
3、根据IP协议,搜索对方的地址,规划处传递路径,一边中转一边传送;
4、TCP协议将接收到的报文段进行重组,得到请求报文;
5、HTTP协议对web服务器请求的内容进行处理,得出客户端的目的
6、服务器做出响应,并将响应信息同样利用TCP/IP协议回传