美文网首页
TCP/IP系列1

TCP/IP系列1

作者: 董成鹏 | 来源:发表于2018-07-14 15:30 被阅读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的每一层

    相关文章

      网友评论

          本文标题:TCP/IP系列1

          本文链接:https://www.haomeiwen.com/subject/bkcepftx.html