20171120WindowsPrj09

xiaoxiao2021-02-28  9

Socket介绍:

1:对于Socket,编程很简单,难点在于Socket里面的一些东西,里面涉及的一些概念。

Socket概念:

    1:TCP/IP:各种各样的电脑运行不同的操作系统,里面使用的信息是千变万化的,TCP/IP相当于一种统一,是一种协议族,里面包含了IP协议、ICMP协议、TCP协议、FTP协议,HTTP协议、POP3协议……,所有的电脑设备都会这些协议,都按照这些协议进行通讯,就像中国人学了其他外语一样,就可以任意交流了。TCP/IP相当于很多协议的组合。     2:OSI模型:     OSI是网络之间的通讯模型,他将整个网络通讯的过程分为了7层,发送和接收共14个步骤,只要每一层都正常提供自己的服务,就可以达到传输的目的。         应用层:对应的应用程序,只需要实现应用程序之间的交互,不用管信息是如何到对方去的,只管把自己的信息处理完,把自己的话说完就好。HTTP就是应用层的协议,传输是由下面的层次实现的。         表示层,会话层,传输层:在真实使用的协议里面,这三层是不实际存在的,表示层对说的话翻译,会话层进行打包,传输层只负责信息传输,将打包拿到网络层。传输层有两个非常出名的协议TCP、UDP。网络层工作的协议称为IP协议,将之给数据链路层,将数据链路到真实接收的地方。         然后进入物理层,进行真实的传输,物理层关注的信息载体,例如电压信息,电流信息,最终传递给对方主机,对方主机同样的反向解析,得到数据,完成一次通讯。     整个通讯中,上面图中弄个步是在自己电脑完成,网络层相当于交换机,交换机拿到东西就交给数据链路层,数据链路层相当于路由器,最后,将信息通过物理层传输,物理层相当于光纤。     TCP/IP四层协议:链路层,网络层,传输层,应用层,如果说五层,就加上物理层。     上面的模型仅仅是真实Internet模型上面的,而在国内,我们使用的相当于一个很大的局域网,因为IP地址在全球是不够用的,是有限的,全球大部分IP地址都集中在美国、欧美,国内的IP都是伪IP,根据机房的不同,拿到的IP都不同,我们的IP在每次拨号都可能变化,按道理,IP是跟MAC地址绑定的,是不可以变化的。在国内的情况下,就不能说网络遵循什么模型,所有的IP,一层一层往上,最终是一个公网IP,例如:     家里的路由器本身有一个IP:10.110.110.110,在路由器的局域网内还有其他IP:192.168.0.1,如果路由器下有一个路由器,那么下面就又有一个网段,比如10.11.132.116,那么在当前这个往下,可以认为路由器这个IP为公网IP(实际上并不是,上面还可能有一个机房,上面还有大区域的机房……这个IP是通过了很多链路层得到的一个IP),在同一个层次下,可能可以直接连接,但是要连接其他国家的IP,要直接连接基本是不可能的,因为只能通过IP头来连接,要直接连接就需要拿一个公网IP来打洞,所以以后便携重要的程序必须要考虑到这一块。

域名系统DNS:

    域名系统也是工作与网络上的一套系统,会将主机名翻译成所需要的IP地址,访问国外的网站被墙,实际就是DNS这套域名系统被污染了,要正确访问别人的电脑,必须知道别人的正确的IP地址,如果只知道域名,就需要域名翻译成正确的IP地址,如果DNS被污染,就得不到正确的IP地址,因此,连不上,就不能访问别人的主机。某些防火墙就是这样来实现的,比如我们一般无法访问Google网站。

端口号:

    端口号是存在于TCP和UDP当中的一个逻辑接口号码,TCPIP是活动于传输层,传输的时候,必须绑定一个编码,这个编码将确定是那个应用程序,否则,多个应用的网络传输就无法区分,在硬件层面,并没有端口号一说。

应用程序接口:

    想使用TCP/IP就必须使用他的一些应用程序接口,一般这些接口都是固定的。
转载请注明原文地址: https://www.6miu.com/read-2000222.html

最新回复(0)