TCP/IP系列1

2018-07-14  本文已影响0人  董成鹏

最近准备整理一些关于Http,Tcp/IP的知识点,这些知识点不会太深,但都是进行Android开发所必须要理解和掌握的。

先从tcp/ip讲起吧。

TCP/IP两个重要特性:

TCP/IP协议簇主要处理的问题有以下几个方面:

逻辑编址

每个网络适配器有一个物理地址,在出厂的时候内置,被称为MAC地址。
在局域网中,低层和硬件相关的协议会使用该地址,以便在局域网内找到该计算机。现在的以太网中,每一个网络适配器都会监听该局域网中每一帧的数据传输,从而来判断数据是否是发送给自己的。

有以上可以看出,这种方式不适用于Internet,如果Internet上每一台计算机都监听每一个数据,整个网络都会瘫痪。
所以我们需要一种可以路由的地址。
何谓路由,就是路径选择,该地址应该具有分层次的结构,能够让数据一层一层的传递,比如可以让数据可以从整个Internet这个大网络先传递到一个小一点的网络,然后在继续往更小的网络传输,直到找到正确的计算机。

IP逻辑地址提供了这样的能力,所以在网络上传输的数据使用的地址都是IP地址。

一个IP地址包含以下分层:

  1. 一个用于识别网络的网络ID
  2. 一个用于识别网络中子网的子网ID
  3. 一个用于识别子网中主机的主机ID。

当我们的计算机和Internet隔离的时候,我们可以使用任何的IP地址,只要格式符合IP地址规范就可以。
但如果我们想要连接Internet,那么我们就需要从网络管理机构申请一个正式的网络ID,该ID会作为IP地址的第一部分。

由于正式的IP地址有限,所以就有了NAT技术

NAT 网络地址转换:他可以把局域网中不可以联网的IP地址转换成可以联网的IP地址。这样可以使用一个正式的IP地址让一个局域网内所有的计算机都有联网能力。

逻辑IP地址最终要转换成MAC地址才能找到正确的计算机,这时候就要用到ARP 地址解析协议,该协议可以把一个IP地址转换成MAC地址。反ARP协议就是用来把MAC地址转换成IP地址的协议。

路由选择
路由器就相当于一扇门,可以让两个不同的子网相互传递数据。TCP/IP协议簇中定义了很多路由协议,可以帮助路由器快速的找到下一个子网。

路由器和HUB有一个很重要的区别就是路由器使用的是IP地址进行路径选择,而HUB使用的是物理地址。

名称解析,由于IP地址是一段32位的数值,不方便人们记忆,所以人们给每个IP地址起了一个便于记忆的别名,比如叫百度,新浪等。
DNS域名解析系统就是用于把别名转换成IP地址。

应用支持
TCP/IP通过端口向应用程序分发程序,不同类型的应用程序监听不同的端口,比如常见的8080端口。

TCP/IP四层模型
四层协议.jpg

数据在四层模型之间的流动,当发送数据时(从上到下)每经过一层,该层都会在数据上加上一层自己的信息,被称为报头。接收数据时正好相反(为什么每一层都要加上自己的报头信息?因为在接收的时候相应的层需要这些报头信息来处理数据)

在应用层的数据被称为消息,当消息来到传输层,会被加上传输层的报头信息,如果 传输层是TCP协议,则被称为数据包,如果是UDP协议,则被称为数据报
数据报或者数据包来到IP层,会被加上IP层的报头信息,同时IP层为了便于传输,还会把大的数据包分成小段,这也是IP层一个很重要的作用。

IP数据段来到网际访问层的时候,可能会被继续分解成更小的片段,并加上网际访问层的信息,此时的数据被称为,最终帧数据会被转换为比特流在局域网传递。

接下来会详细介绍TPC/IP的每一层

上一篇下一篇

猜你喜欢

热点阅读