前言:过年有点无聊,写写博客吧,顺便也总结一下。
1.TCP/IP协议族
1.1 定义
什么是协议?协议是为了解决计算机与网络设备通信所
制定的一种规则,只有使用相同的规则,才能顺利通信。
TCP/IP族协议一般来说指的不单单是TCP和IP两个协议,而是与互联网相关联的协议集合。
1.2 TCP/IP的分层管理
TCP/IP协议族分为四个层,依次是,应用层、传输层、网络层、数据链路层,注意,存在上下层关系。现在的分层模式是对理论分层模式即OSI模型的实际使用,将OSI模型的七层合并为四层,上三层合并,最后的两层合并,便有了现在的四层模型。
分层自然是由其的意义,分层使得不同的任务分离起来,在进行设计时,各层之间相互独立,某一层并不会去关心其他层如何实现,在进行修改时,也只需要修改对应的层就行,并不需要对整体进行修改。而三层中只有最下两层有实体设备,其它层都是软件层面的表示。
1.2.1 应用层
应用层决定了向用户提供应用服务时的通信活动,TCP/IP协议族中预存通用的应用服务,例如FTP、DNS服务,HTTP协议也处于该层。
1.2.2 传输层
传输层提供处于网络连接中的两个计算机间的数据传输,分为TCP协议和UDP协议。
1.2.3 网络层
该层规定了通过什么路径将网络传输的最小单位,数据包传输给对方计算机,即选择一条合适路线进行数据包传递。代表设备:路由器。
1.2.4 数据链路层
主要用于处理网络连接之中的硬件部分,例如网卡,操作系统,硬件的驱动等。代表设备:二层交换机,网卡,网线,光纤,atm线缆等。
1.2.5 TCP/IP的通信传输过程
以HTTP举例,当我们想浏览一个网页时,首先会在应用层(HTTP协议)发出一个HTTP请求再到传输层(TCP协议)。
为了便于传输,会将接受到的HTTP报文进行分割,标记好相应的顺序和端口号,然后发给网络层(IP协议),然后网络层给数据加上目的地的MAC地址后发给数据链路层。
通过数据链路层传输到接受端的服务器,按顺序从下向上传输,一直传输到应用层,才算接受到了HTTP请求。
发送端再层与层之间传输数据时,经过一层会被打上一个该层的首部信息,接收端每经过一层会去掉对应的首部。这种包装信息包的方式被称为封装。