码迷,mamicode.com
首页 > 其他好文 > 详细

【Day29 】Soket编程

时间:2017-11-27 23:25:04      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:端口   无法   接口   发送请求   无限   发送   log   直接   计算机   

  • 客户端/服务器架构

    1、什么是客户端服务器/服务器架构??

    服务器:意义--就是一系列软硬件的结合,为一个或多个客户端提供服务。目的:接受请求并响应,然后处理更多请求。

    客户端:发送请求,并接收信息,最后关闭他们之间的事务。

  • osi七层协议

     1、互联网层的协议分为osi七层tcp/ip五层或四层

  技术分享图片

 

 每层运行常见物理设备

技术分享图片

  • 什么是网络?

    网络是底层的物理链接介质

 

  • 2.1 物理层

    物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0

 

  • 2.2数据链路层

    其功能:定义了电信号的分组方式

    以太网协议(ethernet)规定:

       每一组数据包含head/data ,

        head(18个字节):源地址6个,目标地址6个,数据类型6个

        data(最小46,最大1500):数据包的具体内容

      head + data 最大长度1518,最短长度64,超过长度分片发送

 

  mac地址:每个电脑都有唯一的mac地址且与ip地址绑定

  广播:有了mac地址,两台电脑可以通过arp协议进行通信,

  enternet 采用广播方式通信,即基本靠吼

 

  • 2.3 网络层

    1、网络层的意义:用来区分不同的广播域/子网,即网络地址

    2、规定网络地址的协议成为ip协议

    一、ip地址分为:网络部分-->标识子网,主机部分--->标识主机

      注意:单纯的ip地址段只是标识了ip地址的种类,从网络部分或主机部分都无法辨识一个ip所处的子网

      例:172.16.10.1与172.16.10.2并不能确定二者处于同一子网

    二、子网掩码(ip网络部分):

      所谓”子网掩码”就是表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全部为1,      主机部分全部为0。比如,IP地址172.16.10.1,如果已知网络部分是前24位,主机部分是后8位,那么子网络掩码就是            11111111.11111111.11111111.00000000,写成十进制就是255.255.255.0。

      知道”子网掩码”,我们就能判断,任意两个IP地址是否处在同一个子网络。方法是将两个IP地址与子网掩码分别进行AND运算(两个      数位都为1,运算结果为1,否则为0),然后比较结果是否相同,如果是的话,就表明它们在同一个子网络中,否则就不是。

      比如,已知IP地址172.16.10.1和172.16.10.2的子网掩码都是255.255.255.0,请问它们是否在同一个子网络?两者与子网掩码分别      进行AND运算,

      172.16.10.1:10101100.00010000.00001010.000000001

      255255.255.255.0:11111111.11111111.11111111.00000000

      AND运算得网络地址结果:10101100.00010000.00001010.000000001->172.16.10.0

      172.16.10.2:10101100.00010000.00001010.000000010

      255255.255.255.0:11111111.11111111.11111111.00000000

      AND运算得网络地址结果:10101100.00010000.00001010.000000001->172.16.10.0

      结果都是172.16.10.0,因此它们在同一个子网络。

      总结一下,IP协议的作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定哪些地址在同一个子网络。

   三、ip数据包

      ip数据包分为head,data部分,无须定义专门的栏目,直接放到以太网的data部分

      ip数据包大小:

          head:长度为20到60字节

          data:最长为65,515字节。

      以太网的数据包最大1500,如果ip数据包超过1500字节,就需要封装成几个以太网数据包分开发送

  四、ARP协议

      arp协议功能:广播的方式发送数据包,获取目标主机的mac地址

   流程:如果两台电脑互相访问(172.168.0.2访问172.168.0.3):首先通过ip地址和子网掩码判断是否在同一子网——>如果在同一子网会以广播的方式在局域网内传播,---->如果不在同一子网会通过 数据包中的目标ip地址 和ARP协议获取网关的mac地址---然后在再子网内进行广播的方式发送,主机拆开包后,发现ip地址是自己的,就响应返回自己的mac地址

  • 2.4 传输层  

    1.传输层的由来:网络层的ip帮我们区分子网,以太网层的mac帮我们找到主机,端口找到应用程序,端口即应用程序与网卡关联的编      号。

    2.传输层功能:建立端口到端口的通信

    3.ip 加mac + 端口 :标识唯一的软件

    4.可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长      度,以确保单个TCP数据包不必再分割。

  • 2.5应用层

     应用层由来:使用的程序都是应用层,各种应用程序规定好数据的组织形式

    应用层的功能:规定应用层数据的格式

 

  • soket

    1.soket 是什么:soket 是应用层与Tcp/ip 通信的中间软件抽象层,他是一组接口

 

【Day29 】Soket编程

标签:端口   无法   接口   发送请求   无限   发送   log   直接   计算机   

原文地址:http://www.cnblogs.com/huyangblog/p/7904803.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!